Skip to content

Commit 222d1e2

Browse files
Skip BridgeJS macros for non-BridgeJS examples
1 parent 440feb4 commit 222d1e2

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

Package.swift

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,19 @@
33
import CompilerPluginSupport
44
import PackageDescription
55

6+
func envFlag(_ name: String) -> Bool {
7+
guard let value = Context.environment[name]?.lowercased() else {
8+
return false
9+
}
10+
return value == "1" || value == "true" || value == "yes" || value == "on"
11+
}
12+
613
// NOTE: needed for embedded customizations, ideally this will not be necessary at all in the future, or can be replaced with traits
714
let shouldBuildForEmbedded = Context.environment["JAVASCRIPTKIT_EXPERIMENTAL_EMBEDDED_WASM"].flatMap(Bool.init) ?? false
815
let useLegacyResourceBundling =
916
Context.environment["JAVASCRIPTKIT_USE_LEGACY_RESOURCE_BUNDLING"].flatMap(Bool.init) ?? false
1017
let enableTracingByEnv = Context.environment["JAVASCRIPTKIT_ENABLE_TRACING"].flatMap(Bool.init) ?? false
18+
let disableBridgeJSMacros = envFlag("JAVASCRIPTKIT_DISABLE_BRIDGEJS_MACROS")
1119

1220
let tracingTrait = Trait(
1321
name: "Tracing",
@@ -53,8 +61,10 @@ let package = Package(
5361
targets: [
5462
.target(
5563
name: "JavaScriptKit",
56-
dependencies: ["_CJavaScriptKit", "BridgeJSMacros"],
57-
exclude: useLegacyResourceBundling ? [] : ["Runtime"],
64+
dependencies: ["_CJavaScriptKit"]
65+
+ (disableBridgeJSMacros ? [] : ["BridgeJSMacros"]),
66+
exclude: (useLegacyResourceBundling ? [] : ["Runtime"])
67+
+ (disableBridgeJSMacros ? ["Macros.swift"] : []),
5868
resources: useLegacyResourceBundling ? [.copy("Runtime")] : [],
5969
cSettings: shouldBuildForEmbedded
6070
? [

Utilities/build-examples.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ for example in Examples/*; do
2222
if [ -d "$example" ] && [ -f "$example/build.sh" ]; then
2323
echo "Building $example"
2424
set -x
25-
(cd "$example" && ./build.sh release)
25+
if [ -f "$example/Package.swift" ] && grep -q 'plugin(name: "BridgeJS"' "$example/Package.swift"; then
26+
(cd "$example" && ./build.sh release)
27+
else
28+
(cd "$example" && JAVASCRIPTKIT_DISABLE_BRIDGEJS_MACROS=1 ./build.sh release)
29+
fi
2630
{ set +x; } 2>/dev/null
2731
fi
2832
done

0 commit comments

Comments
 (0)