Build Information
Successful build of swift-android-native, reference 1.4.1 (64a515
), with Swift 6.1 for macOS (SPM) on 5 May 2025 16:51:48 UTC.
Swift 6 data race errors: 4
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.61.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/skiptools/swift-android-native.git
Reference: 1.4.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/skiptools/swift-android-native
* tag 1.4.1 -> FETCH_HEAD
HEAD is now at 64a5158
Cloned https://github.com/skiptools/swift-android-native.git
Revision (git rev-parse @):
64a51586e8caee479ba2e334be242f226730a222
SUCCESS checkout https://github.com/skiptools/swift-android-native.git at 1.4.1
Fetching https://source.skip.tools/swift-jni.git
[1/105] Fetching swift-jni
Fetched https://source.skip.tools/swift-jni.git from cache (1.11s)
Computing version for https://source.skip.tools/swift-jni.git
Computed https://source.skip.tools/swift-jni.git at 0.2.1 (1.59s)
Creating working copy for https://source.skip.tools/swift-jni.git
Working copy of https://source.skip.tools/swift-jni.git resolved at 0.2.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "swift-android-native",
"name": "swift-android-native",
"url": "https://github.com/skiptools/swift-android-native.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-android-native",
"dependencies": [
{
"identity": "swift-jni",
"name": "swift-jni",
"url": "https://source.skip.tools/swift-jni.git",
"version": "0.2.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-jni",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/skiptools/swift-android-native.git
[4/360] Fetching swift-android-native
Fetched https://github.com/skiptools/swift-android-native.git from cache (0.86s)
Fetching https://source.skip.tools/swift-jni.git from cache
Fetched https://source.skip.tools/swift-jni.git from cache (0.89s)
Computing version for https://source.skip.tools/swift-jni.git
Computed https://source.skip.tools/swift-jni.git at 0.2.1 (0.95s)
Creating working copy for https://github.com/skiptools/swift-android-native.git
Working copy of https://github.com/skiptools/swift-android-native.git resolved at 1.4.1 (64a5158)
Creating working copy for https://source.skip.tools/swift-jni.git
Working copy of https://source.skip.tools/swift-jni.git resolved at 0.2.1
warning: '.resolve-product-dependencies': dependency 'swift-android-native' is not used by any target
Found 1 product dependencies
- swift-jni
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/skiptools/swift-android-native.git
https://github.com/skiptools/swift-android-native.git
{
"dependencies" : [
{
"identity" : "swift-jni",
"requirement" : {
"range" : [
{
"lower_bound" : "0.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://source.skip.tools/swift-jni.git"
}
],
"manifest_display_name" : "swift-android-native",
"name" : "swift-android-native",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "AndroidNative",
"targets" : [
"AndroidNative"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AndroidContext",
"targets" : [
"AndroidContext"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AndroidAssetManager",
"targets" : [
"AndroidAssetManager"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AndroidLogging",
"targets" : [
"AndroidLogging"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AndroidLooper",
"targets" : [
"AndroidLooper"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AndroidChoreographer",
"targets" : [
"AndroidLooper"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ConcurrencyRuntimeC",
"module_type" : "ClangTarget",
"name" : "ConcurrencyRuntimeC",
"path" : "Sources/ConcurrencyRuntimeC",
"product_memberships" : [
"AndroidNative",
"AndroidLooper",
"AndroidChoreographer"
],
"sources" : [
"src.c"
],
"type" : "library"
},
{
"c99name" : "AndroidSystemTests",
"module_type" : "SwiftTarget",
"name" : "AndroidSystemTests",
"path" : "Tests/AndroidSystemTests",
"sources" : [
"AndroidSystemTests.swift"
],
"target_dependencies" : [
"AndroidSystem"
],
"type" : "test"
},
{
"c99name" : "AndroidSystem",
"module_type" : "SwiftTarget",
"name" : "AndroidSystem",
"path" : "Sources/AndroidSystem",
"product_memberships" : [
"AndroidNative",
"AndroidLooper",
"AndroidChoreographer"
],
"sources" : [
"Errno.swift",
"ErrnoWindows.swift",
"FileDescriptor.swift",
"FileHelpers.swift",
"FileOperations.swift",
"FilePath/FilePath.swift",
"FilePath/FilePathComponentView.swift",
"FilePath/FilePathComponents.swift",
"FilePath/FilePathParsing.swift",
"FilePath/FilePathString.swift",
"FilePath/FilePathSyntax.swift",
"FilePath/FilePathTemp.swift",
"FilePath/FilePathTempPosix.swift",
"FilePath/FilePathTempWindows.swift",
"FilePath/FilePathWindows.swift",
"FilePermissions.swift",
"Internals/Backcompat.swift",
"Internals/CInterop.swift",
"Internals/Constants.swift",
"Internals/Exports.swift",
"Internals/Mocking.swift",
"Internals/RawBuffer.swift",
"Internals/Syscalls.swift",
"Internals/WindowsSyscallAdapters.swift",
"LockedState.swift",
"MachPort.swift",
"PlatformString.swift",
"SystemString.swift",
"Util+StringArray.swift",
"Util.swift",
"UtilConsumers.swift"
],
"target_dependencies" : [
"AndroidNDK"
],
"type" : "library"
},
{
"c99name" : "AndroidNativeTests",
"module_type" : "SwiftTarget",
"name" : "AndroidNativeTests",
"path" : "Tests/AndroidNativeTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/AndroidNativeTests/Resources/sample_resource.txt",
"rule" : {
"embed_in_code" : {
}
}
}
],
"sources" : [
"AndroidNativeTests.swift"
],
"target_dependencies" : [
"AndroidNative"
],
"type" : "test"
},
{
"c99name" : "AndroidNative",
"module_type" : "SwiftTarget",
"name" : "AndroidNative",
"path" : "Sources/AndroidNative",
"product_memberships" : [
"AndroidNative"
],
"sources" : [
"AndroidNative.swift"
],
"target_dependencies" : [
"AndroidContext",
"AndroidLogging",
"AndroidLooper",
"AndroidChoreographer"
],
"type" : "library"
},
{
"c99name" : "AndroidNDK",
"module_type" : "ClangTarget",
"name" : "AndroidNDK",
"path" : "Sources/AndroidNDK",
"product_memberships" : [
"AndroidNative",
"AndroidContext",
"AndroidAssetManager",
"AndroidLogging",
"AndroidLooper",
"AndroidChoreographer"
],
"sources" : [
"src.c"
],
"type" : "library"
},
{
"c99name" : "AndroidLooperTests",
"module_type" : "SwiftTarget",
"name" : "AndroidLooperTests",
"path" : "Tests/AndroidLooperTests",
"sources" : [
"AndroidLooperTests.swift"
],
"target_dependencies" : [
"AndroidLooper"
],
"type" : "test"
},
{
"c99name" : "AndroidLooper",
"module_type" : "SwiftTarget",
"name" : "AndroidLooper",
"path" : "Sources/AndroidLooper",
"product_memberships" : [
"AndroidNative",
"AndroidLooper",
"AndroidChoreographer"
],
"sources" : [
"AndroidLooper.swift"
],
"target_dependencies" : [
"AndroidSystem",
"AndroidLogging",
"ConcurrencyRuntimeC"
],
"type" : "library"
},
{
"c99name" : "AndroidLoggingTests",
"module_type" : "SwiftTarget",
"name" : "AndroidLoggingTests",
"path" : "Tests/AndroidLoggingTests",
"sources" : [
"AndroidLoggingTests.swift"
],
"target_dependencies" : [
"AndroidLogging"
],
"type" : "test"
},
{
"c99name" : "AndroidLogging",
"module_type" : "SwiftTarget",
"name" : "AndroidLogging",
"path" : "Sources/AndroidLogging",
"product_memberships" : [
"AndroidNative",
"AndroidLogging",
"AndroidLooper",
"AndroidChoreographer"
],
"sources" : [
"AndroidLogging.swift"
],
"target_dependencies" : [
"AndroidNDK"
],
"type" : "library"
},
{
"c99name" : "AndroidContextTests",
"module_type" : "SwiftTarget",
"name" : "AndroidContextTests",
"path" : "Tests/AndroidContextTests",
"sources" : [
"AndroidContextTests.swift"
],
"target_dependencies" : [
"AndroidContext"
],
"type" : "test"
},
{
"c99name" : "AndroidContext",
"module_type" : "SwiftTarget",
"name" : "AndroidContext",
"path" : "Sources/AndroidContext",
"product_memberships" : [
"AndroidNative",
"AndroidContext"
],
"sources" : [
"AndroidContext.swift"
],
"target_dependencies" : [
"AndroidAssetManager",
"AndroidNDK"
],
"type" : "library"
},
{
"c99name" : "AndroidChoreographerTests",
"module_type" : "SwiftTarget",
"name" : "AndroidChoreographerTests",
"path" : "Tests/AndroidChoreographerTests",
"sources" : [
"AndroidChoreographerTests.swift"
],
"target_dependencies" : [
"AndroidChoreographer"
],
"type" : "test"
},
{
"c99name" : "AndroidChoreographer",
"module_type" : "SwiftTarget",
"name" : "AndroidChoreographer",
"path" : "Sources/AndroidChoreographer",
"product_memberships" : [
"AndroidNative"
],
"sources" : [
"AndroidChoreographer.swift"
],
"target_dependencies" : [
"AndroidSystem",
"AndroidLogging"
],
"type" : "library"
},
{
"c99name" : "AndroidAssetManagerTests",
"module_type" : "SwiftTarget",
"name" : "AndroidAssetManagerTests",
"path" : "Tests/AndroidAssetManagerTests",
"sources" : [
"AndroidAssetManagerTests.swift"
],
"target_dependencies" : [
"AndroidAssetManager"
],
"type" : "test"
},
{
"c99name" : "AndroidAssetManager",
"module_type" : "SwiftTarget",
"name" : "AndroidAssetManager",
"path" : "Sources/AndroidAssetManager",
"product_dependencies" : [
"SwiftJNI"
],
"product_memberships" : [
"AndroidNative",
"AndroidContext",
"AndroidAssetManager"
],
"sources" : [
"AndroidAssetManager.swift"
],
"target_dependencies" : [
"AndroidNDK"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/13] Write sources
[8/13] Compiling CJNI cjni.c
[9/13] Write swift-version-2F0A5646E1D333AE.txt
[10/13] Compiling ConcurrencyRuntimeC src.c
[12/46] Emitting module AndroidSystem
[13/49] Compiling AndroidSystem FilePathComponents.swift
[14/49] Compiling AndroidSystem FilePathParsing.swift
[15/49] Compiling AndroidSystem FilePathString.swift
[16/49] Compiling AndroidSystem FileOperations.swift
[17/49] Compiling AndroidSystem FilePath.swift
[18/49] Compiling AndroidSystem FilePathComponentView.swift
[19/49] Compiling AndroidSystem Errno.swift
[20/49] Compiling AndroidSystem ErrnoWindows.swift
[21/49] Compiling AndroidSystem FileDescriptor.swift
[22/49] Compiling AndroidSystem FileHelpers.swift
[23/49] Compiling AndroidSystem FilePathSyntax.swift
[24/49] Compiling AndroidSystem FilePathTemp.swift
[25/49] Compiling AndroidSystem FilePathTempPosix.swift
[26/49] Compiling AndroidSystem Util+StringArray.swift
[27/49] Compiling AndroidSystem Util.swift
[28/49] Compiling AndroidSystem UtilConsumers.swift
[29/49] Compiling AndroidSystem Backcompat.swift
[30/49] Compiling AndroidSystem CInterop.swift
[31/49] Compiling AndroidSystem Constants.swift
[32/49] Compiling AndroidSystem Exports.swift
[33/49] Compiling AndroidSystem Mocking.swift
[34/49] Compiling AndroidSystem RawBuffer.swift
[35/49] Compiling AndroidSystem MachPort.swift
[36/49] Compiling AndroidSystem PlatformString.swift
[37/49] Compiling AndroidSystem SystemString.swift
[38/49] Compiling AndroidSystem Syscalls.swift
[39/49] Compiling AndroidSystem WindowsSyscallAdapters.swift
[40/49] Compiling AndroidSystem LockedState.swift
[41/49] Compiling AndroidSystem FilePathTempWindows.swift
[42/49] Compiling AndroidSystem FilePathWindows.swift
[43/49] Compiling AndroidSystem FilePermissions.swift
[44/49] Emitting module AndroidLogging
[45/49] Compiling AndroidLogging AndroidLogging.swift
[46/49] Emitting module SwiftJNI
[47/49] Compiling SwiftJNI SwiftJNI.swift
[47/49] Write Objects.LinkFileList
[49/53] Compiling AndroidLooper AndroidLooper.swift
[50/53] Emitting module AndroidLooper
[51/53] Compiling AndroidChoreographer AndroidChoreographer.swift
/Users/admin/builder/spi-builder-workspace/Sources/AndroidChoreographer/AndroidChoreographer.swift:22:36: warning: static property 'main' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | ///
21 | /// Must be initialized at startup time with `setupMainChoreographer()`
22 | public private(set) static var main: AndroidChoreographer!
| |- warning: static property 'main' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'main' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'main' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | /// Get the AChoreographer instance for the current thread.
[52/53] Emitting module AndroidChoreographer
/Users/admin/builder/spi-builder-workspace/Sources/AndroidChoreographer/AndroidChoreographer.swift:22:36: warning: static property 'main' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | ///
21 | /// Must be initialized at startup time with `setupMainChoreographer()`
22 | public private(set) static var main: AndroidChoreographer!
| |- warning: static property 'main' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'main' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'main' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | /// Get the AChoreographer instance for the current thread.
[52/53] Linking libSwiftJNI.dylib
[54/55] Emitting module AndroidAssetManager
[55/55] Compiling AndroidAssetManager AndroidAssetManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/AndroidAssetManager/AndroidAssetManager.swift:122:36: warning: no calls to throwing functions occur within 'try' expression
120 | var data = Data(count: len)
121 |
122 | let bytesRead: Int32 = try data.withUnsafeMutableBytes { buffer in
| `- warning: no calls to throwing functions occur within 'try' expression
123 | #if !os(Android)
124 | fatalError("only implemented for Android")
[56/57] Compiling AndroidContext AndroidContext.swift
/Users/admin/builder/spi-builder-workspace/Sources/AndroidContext/AndroidContext.swift:30:23: warning: static property 'contextFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
28 | /// The default value of the factory will be the value of the `SWIFT_ANDROID_CONTEXT_FACTORY` environment variable,
29 | /// and if unset, will fall back to `android.app.ActivityThread.currentApplication()Landroid/app/Application;`.
30 | public static var contextFactory = getenv("SWIFT_ANDROID_CONTEXT_FACTORY").flatMap({ String(cString: $0) }) ?? "android.app.ActivityThread.currentApplication()Landroid/app/Application;"
| |- warning: static property 'contextFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'contextFactory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'contextFactory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |
32 | /// A global pointer to the application context, in case the application environment wants to initialize it directly without going through the factory method.
/Users/admin/builder/spi-builder-workspace/Sources/AndroidContext/AndroidContext.swift:33:23: warning: static property 'contextPointer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// A global pointer to the application context, in case the application environment wants to initialize it directly without going through the factory method.
33 | public static var contextPointer: JavaObjectPointer? = nil
| |- warning: static property 'contextPointer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'contextPointer' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'contextPointer' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
34 |
35 | /// Returns the application context.
/Users/admin/builder/spi-builder-workspace/Sources/AndroidContext/AndroidContext.swift:80:53: warning: reference to class property 'jni' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
78 |
79 | /// The `AndroidAssetManager` for this context
80 | public private(set) lazy var assetManager = JNI.jni.withEnv { _, env in AndroidAssetManager(env: env, peer: self.safePointer()) }
| `- warning: reference to class property 'jni' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
81 |
82 | /// Returns the package name for the current context
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-jni/Sources/SwiftJNI/SwiftJNI.swift:102:23: note: class property declared here
100 | public class JNI {
101 | /// The single shared singleton JNI instance for the process.
102 | public static var jni: JNI! { // this should be set in "OnLoad" and so should always exist
| `- note: class property declared here
103 | didSet {
104 | _ = JClassLoader.globalClassLoader // cache the global class loader on initialization
/Users/admin/builder/spi-builder-workspace/Sources/AndroidContext/AndroidContext.swift:23:14: warning: class 'AndroidContext' must restate inherited '@unchecked Sendable' conformance
21 | @available(tvOS, unavailable)
22 | @available(watchOS, unavailable)
23 | public class AndroidContext : JObject {
| `- warning: class 'AndroidContext' must restate inherited '@unchecked Sendable' conformance
24 | /// The JNI signature for the method to invoke to obtain the global Context.
25 | /// This can be manually changed before initialization to a different signature.
[57/57] Emitting module AndroidContext
/Users/admin/builder/spi-builder-workspace/Sources/AndroidContext/AndroidContext.swift:30:23: warning: static property 'contextFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
28 | /// The default value of the factory will be the value of the `SWIFT_ANDROID_CONTEXT_FACTORY` environment variable,
29 | /// and if unset, will fall back to `android.app.ActivityThread.currentApplication()Landroid/app/Application;`.
30 | public static var contextFactory = getenv("SWIFT_ANDROID_CONTEXT_FACTORY").flatMap({ String(cString: $0) }) ?? "android.app.ActivityThread.currentApplication()Landroid/app/Application;"
| |- warning: static property 'contextFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'contextFactory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'contextFactory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |
32 | /// A global pointer to the application context, in case the application environment wants to initialize it directly without going through the factory method.
/Users/admin/builder/spi-builder-workspace/Sources/AndroidContext/AndroidContext.swift:33:23: warning: static property 'contextPointer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// A global pointer to the application context, in case the application environment wants to initialize it directly without going through the factory method.
33 | public static var contextPointer: JavaObjectPointer? = nil
| |- warning: static property 'contextPointer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'contextPointer' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'contextPointer' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
34 |
35 | /// Returns the application context.
/Users/admin/builder/spi-builder-workspace/Sources/AndroidContext/AndroidContext.swift:80:53: warning: reference to class property 'jni' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
78 |
79 | /// The `AndroidAssetManager` for this context
80 | public private(set) lazy var assetManager = JNI.jni.withEnv { _, env in AndroidAssetManager(env: env, peer: self.safePointer()) }
| `- warning: reference to class property 'jni' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
81 |
82 | /// Returns the package name for the current context
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-jni/Sources/SwiftJNI/SwiftJNI.swift:102:23: note: class property declared here
100 | public class JNI {
101 | /// The single shared singleton JNI instance for the process.
102 | public static var jni: JNI! { // this should be set in "OnLoad" and so should always exist
| `- note: class property declared here
103 | didSet {
104 | _ = JClassLoader.globalClassLoader // cache the global class loader on initialization
/Users/admin/builder/spi-builder-workspace/Sources/AndroidContext/AndroidContext.swift:23:14: warning: class 'AndroidContext' must restate inherited '@unchecked Sendable' conformance
21 | @available(tvOS, unavailable)
22 | @available(watchOS, unavailable)
23 | public class AndroidContext : JObject {
| `- warning: class 'AndroidContext' must restate inherited '@unchecked Sendable' conformance
24 | /// The JNI signature for the method to invoke to obtain the global Context.
25 | /// This can be manually changed before initialization to a different signature.
[58/59] Emitting module AndroidNative
[59/59] Compiling AndroidNative AndroidNative.swift
Build complete! (6.30s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-jni",
"requirement" : {
"range" : [
{
"lower_bound" : "0.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://source.skip.tools/swift-jni.git"
}
],
"manifest_display_name" : "swift-android-native",
"name" : "swift-android-native",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "AndroidNative",
"targets" : [
"AndroidNative"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AndroidContext",
"targets" : [
"AndroidContext"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AndroidAssetManager",
"targets" : [
"AndroidAssetManager"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AndroidLogging",
"targets" : [
"AndroidLogging"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AndroidLooper",
"targets" : [
"AndroidLooper"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "AndroidChoreographer",
"targets" : [
"AndroidLooper"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ConcurrencyRuntimeC",
"module_type" : "ClangTarget",
"name" : "ConcurrencyRuntimeC",
"path" : "Sources/ConcurrencyRuntimeC",
"product_memberships" : [
"AndroidNative",
"AndroidLooper",
"AndroidChoreographer"
],
"sources" : [
"src.c"
],
"type" : "library"
},
{
"c99name" : "AndroidSystemTests",
"module_type" : "SwiftTarget",
"name" : "AndroidSystemTests",
"path" : "Tests/AndroidSystemTests",
"sources" : [
"AndroidSystemTests.swift"
],
"target_dependencies" : [
"AndroidSystem"
],
"type" : "test"
},
{
"c99name" : "AndroidSystem",
"module_type" : "SwiftTarget",
"name" : "AndroidSystem",
"path" : "Sources/AndroidSystem",
"product_memberships" : [
"AndroidNative",
"AndroidLooper",
"AndroidChoreographer"
],
"sources" : [
"Errno.swift",
"ErrnoWindows.swift",
"FileDescriptor.swift",
"FileHelpers.swift",
"FileOperations.swift",
"FilePath/FilePath.swift",
"FilePath/FilePathComponentView.swift",
"FilePath/FilePathComponents.swift",
"FilePath/FilePathParsing.swift",
"FilePath/FilePathString.swift",
"FilePath/FilePathSyntax.swift",
"FilePath/FilePathTemp.swift",
"FilePath/FilePathTempPosix.swift",
"FilePath/FilePathTempWindows.swift",
"FilePath/FilePathWindows.swift",
"FilePermissions.swift",
"Internals/Backcompat.swift",
"Internals/CInterop.swift",
"Internals/Constants.swift",
"Internals/Exports.swift",
"Internals/Mocking.swift",
"Internals/RawBuffer.swift",
"Internals/Syscalls.swift",
"Internals/WindowsSyscallAdapters.swift",
"LockedState.swift",
"MachPort.swift",
"PlatformString.swift",
"SystemString.swift",
"Util+StringArray.swift",
"Util.swift",
"UtilConsumers.swift"
],
"target_dependencies" : [
"AndroidNDK"
],
"type" : "library"
},
{
"c99name" : "AndroidNativeTests",
"module_type" : "SwiftTarget",
"name" : "AndroidNativeTests",
"path" : "Tests/AndroidNativeTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/AndroidNativeTests/Resources/sample_resource.txt",
"rule" : {
"embed_in_code" : {
}
}
}
],
"sources" : [
"AndroidNativeTests.swift"
],
"target_dependencies" : [
"AndroidNative"
],
"type" : "test"
},
{
"c99name" : "AndroidNative",
"module_type" : "SwiftTarget",
"name" : "AndroidNative",
"path" : "Sources/AndroidNative",
"product_memberships" : [
"AndroidNative"
],
"sources" : [
"AndroidNative.swift"
],
"target_dependencies" : [
"AndroidContext",
"AndroidLogging",
"AndroidLooper",
"AndroidChoreographer"
],
"type" : "library"
},
{
"c99name" : "AndroidNDK",
"module_type" : "ClangTarget",
"name" : "AndroidNDK",
"path" : "Sources/AndroidNDK",
"product_memberships" : [
"AndroidNative",
"AndroidContext",
"AndroidAssetManager",
"AndroidLogging",
"AndroidLooper",
"AndroidChoreographer"
],
"sources" : [
"src.c"
],
"type" : "library"
},
{
"c99name" : "AndroidLooperTests",
"module_type" : "SwiftTarget",
"name" : "AndroidLooperTests",
"path" : "Tests/AndroidLooperTests",
"sources" : [
"AndroidLooperTests.swift"
],
"target_dependencies" : [
"AndroidLooper"
],
"type" : "test"
},
{
"c99name" : "AndroidLooper",
"module_type" : "SwiftTarget",
"name" : "AndroidLooper",
"path" : "Sources/AndroidLooper",
"product_memberships" : [
"AndroidNative",
"AndroidLooper",
"AndroidChoreographer"
],
"sources" : [
"AndroidLooper.swift"
],
"target_dependencies" : [
"AndroidSystem",
"AndroidLogging",
"ConcurrencyRuntimeC"
],
"type" : "library"
},
{
"c99name" : "AndroidLoggingTests",
"module_type" : "SwiftTarget",
"name" : "AndroidLoggingTests",
"path" : "Tests/AndroidLoggingTests",
"sources" : [
"AndroidLoggingTests.swift"
],
"target_dependencies" : [
"AndroidLogging"
],
"type" : "test"
},
{
"c99name" : "AndroidLogging",
"module_type" : "SwiftTarget",
"name" : "AndroidLogging",
"path" : "Sources/AndroidLogging",
"product_memberships" : [
"AndroidNative",
"AndroidLogging",
"AndroidLooper",
"AndroidChoreographer"
],
"sources" : [
"AndroidLogging.swift"
],
"target_dependencies" : [
"AndroidNDK"
],
"type" : "library"
},
{
"c99name" : "AndroidContextTests",
"module_type" : "SwiftTarget",
"name" : "AndroidContextTests",
"path" : "Tests/AndroidContextTests",
"sources" : [
"AndroidContextTests.swift"
],
"target_dependencies" : [
"AndroidContext"
],
"type" : "test"
},
{
"c99name" : "AndroidContext",
"module_type" : "SwiftTarget",
"name" : "AndroidContext",
"path" : "Sources/AndroidContext",
"product_memberships" : [
"AndroidNative",
"AndroidContext"
],
"sources" : [
"AndroidContext.swift"
],
"target_dependencies" : [
"AndroidAssetManager",
"AndroidNDK"
],
"type" : "library"
},
{
"c99name" : "AndroidChoreographerTests",
"module_type" : "SwiftTarget",
"name" : "AndroidChoreographerTests",
"path" : "Tests/AndroidChoreographerTests",
"sources" : [
"AndroidChoreographerTests.swift"
],
"target_dependencies" : [
"AndroidChoreographer"
],
"type" : "test"
},
{
"c99name" : "AndroidChoreographer",
"module_type" : "SwiftTarget",
"name" : "AndroidChoreographer",
"path" : "Sources/AndroidChoreographer",
"product_memberships" : [
"AndroidNative"
],
"sources" : [
"AndroidChoreographer.swift"
],
"target_dependencies" : [
"AndroidSystem",
"AndroidLogging"
],
"type" : "library"
},
{
"c99name" : "AndroidAssetManagerTests",
"module_type" : "SwiftTarget",
"name" : "AndroidAssetManagerTests",
"path" : "Tests/AndroidAssetManagerTests",
"sources" : [
"AndroidAssetManagerTests.swift"
],
"target_dependencies" : [
"AndroidAssetManager"
],
"type" : "test"
},
{
"c99name" : "AndroidAssetManager",
"module_type" : "SwiftTarget",
"name" : "AndroidAssetManager",
"path" : "Sources/AndroidAssetManager",
"product_dependencies" : [
"SwiftJNI"
],
"product_memberships" : [
"AndroidNative",
"AndroidContext",
"AndroidAssetManager"
],
"sources" : [
"AndroidAssetManager.swift"
],
"target_dependencies" : [
"AndroidNDK"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.