The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

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.