-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPackage.swift
47 lines (40 loc) · 1.65 KB
/
Package.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// swift-tools-version: 5.9
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
import Foundation
var products:[Product] = [
.executable(name: "ModelBuilder", targets: ["ModelBuilder"])
]
var targets:[Target] = [
.executableTarget(
name: "ModelBuilder",
dependencies: [
.product( name: "ArgumentParser", package: "swift-argument-parser" ),
.product( name: "DYXML", package: "DYXML" ),
]
),
.testTarget(
name: "MIOCoreDataToolsTests",
dependencies: ["ModelBuilder"]
)
]
if ( ProcessInfo.processInfo.environment["BUILD_PLUGIN"]?.lowercased() == "true" ) == false {
products.append( .plugin(name: "ModelBuilderPlugin", targets: ["ModelBuilderPlugin"]) )
targets.append( .plugin(name: "ModelBuilderPlugin", capability: .buildTool(), dependencies: ["model-builder"]) )
#if os(Linux)
targets.append( .binaryTarget( name: "model-builder",
url: "https://github.com/miolabs/MIOCoreData/releases/download/v1.0.0/model-builder.artifactbundle.zip",
checksum: "c47c3202ae4f33f4f9bd2f1e182f51cb4607e90ebb6d13e563d20bccd8a04e2b" ) )
#else
targets.append( .binaryTarget( name: "model-builder", path: "Binaries/model-builder.artifactbundle" ) )
#endif
}
let package = Package(
name: "MIOCoreDataTools",
products: products,
dependencies: [
.package(url: "https://github.com/apple/swift-argument-parser.git", from: "1.5.0"),
.package(url: "https://github.com/davidy4ng/DYXML.git", from: "1.0.0")
],
targets: targets
)