Sha256: 9dd9b9a44eed9b4450995ee27ba453957b2e161f6b0249c2439b4244e33aeb3f

Contents?: true

Size: 891 Bytes

Versions: 59

Compression:

Stored size: 891 Bytes

Contents

import PackageDescription
import Foundation

let path = FileManager.default.currentDirectoryPath + "/config.json"
var allProblems = [String]()

if
    let jsonData = try? Data(contentsOf: URL(fileURLWithPath: path), options: Data.ReadingOptions.mappedIfSafe) ,
    let json = try? JSONSerialization.jsonObject(with: jsonData, options: [])  ,
    let jsonDict = json as? [String: Any],
    let exercisesDict = jsonDict["exercises"] as? [[String:Any]],
    let exercises = exercisesDict.map({$0["slug"]}) as? [String],
    let deprecated = jsonDict["deprecated"] as? [String] {

    allProblems += exercises
    allProblems += deprecated
} else {
    print("Could not parse config.json at \(path)")
}

let dependencies = allProblems.map { Package.Dependency.Package(url: "./exercises/\($0)/", majorVersion: 1) }

let package = Package(
    name: "xswift",
    dependencies: dependencies
    )

Version data entries

59 entries across 59 versions & 1 rubygems

Version Path
trackler-2.0.8.30 tracks/swift/Package.swift
trackler-2.0.8.29 tracks/swift/Package.swift
trackler-2.0.8.28 tracks/swift/Package.swift
trackler-2.0.8.27 tracks/swift/Package.swift
trackler-2.0.8.26 tracks/swift/Package.swift
trackler-2.0.8.24 tracks/swift/Package.swift
trackler-2.0.8.23 tracks/swift/Package.swift
trackler-2.0.8.22 tracks/swift/Package.swift
trackler-2.0.8.21 tracks/swift/Package.swift
trackler-2.0.8.20 tracks/swift/Package.swift
trackler-2.0.8.19 tracks/swift/Package.swift
trackler-2.0.8.18 tracks/swift/Package.swift
trackler-2.0.8.17 tracks/swift/Package.swift
trackler-2.0.8.16 tracks/swift/Package.swift
trackler-2.0.8.15 tracks/swift/Package.swift
trackler-2.0.8.14 tracks/swift/Package.swift
trackler-2.0.8.13 tracks/swift/Package.swift
trackler-2.0.8.12 tracks/swift/Package.swift
trackler-2.0.8.11 tracks/swift/Package.swift
trackler-2.0.8.10 tracks/swift/Package.swift