Skip to content

Commit 9f2b432

Browse files
authored
flip Package.swift file versioning (#715)
makes `Package.swift` be the newest, while supporting older versions with concrete versions baked in as mentioned in https://docs.swift.org/swiftpm/documentation/packagemanagerdocs/swiftversionspecificpackaging/#Version-specific-Manifest-Selection
1 parent af88676 commit 9f2b432

2 files changed

Lines changed: 19 additions & 19 deletions

File tree

Package.swift

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version:6.1
1+
// swift-tools-version:6.2
22

33
import CompilerPluginSupport
44
import PackageDescription
@@ -7,6 +7,13 @@ import PackageDescription
77
let shouldBuildForEmbedded = Context.environment["JAVASCRIPTKIT_EXPERIMENTAL_EMBEDDED_WASM"].flatMap(Bool.init) ?? false
88
let useLegacyResourceBundling =
99
Context.environment["JAVASCRIPTKIT_USE_LEGACY_RESOURCE_BUNDLING"].flatMap(Bool.init) ?? false
10+
let enableTracingByEnv = Context.environment["JAVASCRIPTKIT_ENABLE_TRACING"].flatMap(Bool.init) ?? false
11+
12+
let tracingTrait = Trait(
13+
name: "Tracing",
14+
description: "Enable opt-in Swift <-> JavaScript bridge tracing hooks.",
15+
enabledTraits: []
16+
)
1017

1118
let testingLinkerFlags: [LinkerSetting] = [
1219
.unsafeFlags(
@@ -39,6 +46,7 @@ let package = Package(
3946
.plugin(name: "BridgeJS", targets: ["BridgeJS"]),
4047
.plugin(name: "BridgeJSCommandPlugin", targets: ["BridgeJSCommandPlugin"]),
4148
],
49+
traits: [tracingTrait],
4250
dependencies: [
4351
.package(url: "https://github.com/swiftlang/swift-syntax", "600.0.0"..<"603.0.0")
4452
],
@@ -53,8 +61,10 @@ let package = Package(
5361
.unsafeFlags(["-fdeclspec"])
5462
] : nil,
5563
swiftSettings: [
56-
.enableExperimentalFeature("Extern")
64+
.enableExperimentalFeature("Extern"),
65+
.define("Tracing", .when(traits: ["Tracing"])),
5766
]
67+
+ (enableTracingByEnv ? [.define("Tracing")] : [])
5868
+ (shouldBuildForEmbedded
5969
? [
6070
.enableExperimentalFeature("Embedded"),
@@ -74,8 +84,9 @@ let package = Package(
7484
name: "JavaScriptKitTests",
7585
dependencies: ["JavaScriptKit"],
7686
swiftSettings: [
77-
.enableExperimentalFeature("Extern")
78-
],
87+
.enableExperimentalFeature("Extern"),
88+
.define("Tracing", .when(traits: ["Tracing"])),
89+
] + (enableTracingByEnv ? [.define("Tracing")] : []),
7990
linkerSettings: testingLinkerFlags
8091
),
8192

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version:6.2
1+
// swift-tools-version:6.1
22

33
import CompilerPluginSupport
44
import PackageDescription
@@ -7,13 +7,6 @@ import PackageDescription
77
let shouldBuildForEmbedded = Context.environment["JAVASCRIPTKIT_EXPERIMENTAL_EMBEDDED_WASM"].flatMap(Bool.init) ?? false
88
let useLegacyResourceBundling =
99
Context.environment["JAVASCRIPTKIT_USE_LEGACY_RESOURCE_BUNDLING"].flatMap(Bool.init) ?? false
10-
let enableTracingByEnv = Context.environment["JAVASCRIPTKIT_ENABLE_TRACING"].flatMap(Bool.init) ?? false
11-
12-
let tracingTrait = Trait(
13-
name: "Tracing",
14-
description: "Enable opt-in Swift <-> JavaScript bridge tracing hooks.",
15-
enabledTraits: []
16-
)
1710

1811
let testingLinkerFlags: [LinkerSetting] = [
1912
.unsafeFlags(
@@ -46,7 +39,6 @@ let package = Package(
4639
.plugin(name: "BridgeJS", targets: ["BridgeJS"]),
4740
.plugin(name: "BridgeJSCommandPlugin", targets: ["BridgeJSCommandPlugin"]),
4841
],
49-
traits: [tracingTrait],
5042
dependencies: [
5143
.package(url: "https://github.com/swiftlang/swift-syntax", "600.0.0"..<"603.0.0")
5244
],
@@ -61,10 +53,8 @@ let package = Package(
6153
.unsafeFlags(["-fdeclspec"])
6254
] : nil,
6355
swiftSettings: [
64-
.enableExperimentalFeature("Extern"),
65-
.define("Tracing", .when(traits: ["Tracing"])),
56+
.enableExperimentalFeature("Extern")
6657
]
67-
+ (enableTracingByEnv ? [.define("Tracing")] : [])
6858
+ (shouldBuildForEmbedded
6959
? [
7060
.enableExperimentalFeature("Embedded"),
@@ -84,9 +74,8 @@ let package = Package(
8474
name: "JavaScriptKitTests",
8575
dependencies: ["JavaScriptKit"],
8676
swiftSettings: [
87-
.enableExperimentalFeature("Extern"),
88-
.define("Tracing", .when(traits: ["Tracing"])),
89-
] + (enableTracingByEnv ? [.define("Tracing")] : []),
77+
.enableExperimentalFeature("Extern")
78+
],
9079
linkerSettings: testingLinkerFlags
9180
),
9281

0 commit comments

Comments
 (0)