|
11 | 11 | import PackageDescription
|
12 | 12 |
|
13 | 13 | let package = Package(
|
14 |
| - name: "SwiftPackageManager", |
| 14 | + name: "SwiftPM", |
15 | 15 | targets: [
|
16 | 16 | Target(
|
17 |
| - name: "sys", |
18 |
| - dependencies: [.Target(name: "POSIX")]), |
19 |
| - Target( |
| 17 | + /** “Swifty” POSIX functions from libc */ |
20 | 18 | name: "POSIX",
|
21 |
| - dependencies: [.Target(name: "libc")]), |
| 19 | + dependencies: ["libc"]), |
| 20 | + Target( |
| 21 | + /** Abstractions for common operations */ |
| 22 | + name: "Utility", |
| 23 | + dependencies: ["POSIX"]), |
| 24 | + Target( |
| 25 | + /** Base types for the package-engine */ |
| 26 | + name: "PackageType", |
| 27 | + dependencies: ["PackageDescription", "Utility"]), //FIXME dependency on PackageDescription sucks |
| 28 | + Target( //FIXME Carpet is too general, we only need `Path` |
| 29 | + name: "ManifestParser", |
| 30 | + dependencies: ["PackageDescription", "PackageType"]), |
| 31 | + Target( |
| 32 | + /** Turns Packages into Modules & Products */ |
| 33 | + name: "Transmute", |
| 34 | + dependencies: ["PackageDescription", "PackageType"]), |
| 35 | + Target( |
| 36 | + /** Fetches Packages and their dependencies */ |
| 37 | + name: "Get", |
| 38 | + dependencies: ["ManifestParser"]), |
22 | 39 | Target(
|
23 |
| - name: "dep", |
24 |
| - dependencies: [.Target(name: "sys"), .Target(name: "PackageDescription")]), |
| 40 | + /** Builds Modules and Products */ |
| 41 | + name: "Build", |
| 42 | + dependencies: ["PackageType"]), |
25 | 43 | Target(
|
26 |
| - name: "swift-get", |
27 |
| - dependencies: [.Target(name: "dep")]), |
| 44 | + /** Common components of both executables */ |
| 45 | + name: "Multitool", |
| 46 | + dependencies: ["PackageType"]), |
28 | 47 | Target(
|
29 | 48 | name: "swift-build",
|
30 |
| - dependencies: [.Target(name: "dep")]), |
| 49 | + dependencies: ["Get", "Transmute", "Build", "Multitool"]), |
| 50 | + Target( |
| 51 | + name: "swift-test", |
| 52 | + dependencies: ["Multitool"]), |
31 | 53 | ])
|
| 54 | + |
| 55 | + |
| 56 | +// otherwise executables are auto-determined you could |
| 57 | +// prevent this by asking for the auto-determined list |
| 58 | +// here and editing it. |
| 59 | + |
| 60 | +let dylib = Product(name: "PackageDescription", type: .Library(.Dynamic), modules: "PackageDescription") |
| 61 | + |
| 62 | +products.append(dylib) |
0 commit comments