The Swift Package Index logo.Swift Package Index

Build Information

Successful build of swift-jni, reference 0.5.0 (fe76ac), with Swift 6.1 for Android on 28 Mar 2026 04:47:16 UTC.

Swift 6 data race errors: 2

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -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 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.69.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/skiptools/swift-jni.git
Reference: 0.5.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/skiptools/swift-jni
 * tag               0.5.0      -> FETCH_HEAD
HEAD is now at fe76ac2
Cloned https://github.com/skiptools/swift-jni.git
Revision (git rev-parse @):
fe76ac21aca639976833b5ea3e875dc072519ac4
SUCCESS checkout https://github.com/skiptools/swift-jni.git at 0.5.0
========================================
Build
========================================
Selected platform:         android
Swift version:             6.1
Building package at path:  $PWD
https://github.com/skiptools/swift-jni.git
https://github.com/skiptools/swift-jni.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "swift-jni",
  "name" : "swift-jni",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SwiftJNI",
      "targets" : [
        "SwiftJNI"
      ],
      "type" : {
        "library" : [
          "dynamic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftJNITests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftJNITests",
      "path" : "Tests/SwiftJNITests",
      "sources" : [
        "SwiftJNITests.swift"
      ],
      "target_dependencies" : [
        "SwiftJNI"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftJNI",
      "module_type" : "SwiftTarget",
      "name" : "SwiftJNI",
      "path" : "Sources/SwiftJNI",
      "product_memberships" : [
        "SwiftJNI"
      ],
      "sources" : [
        "SwiftJNI.swift"
      ],
      "target_dependencies" : [
        "CJNI"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CJNI",
      "module_type" : "ClangTarget",
      "name" : "CJNI",
      "path" : "Sources/CJNI",
      "product_memberships" : [
        "SwiftJNI"
      ],
      "sources" : [
        "cjni.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -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 2>&1
android-6.1-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:8d42880410d691f231f1a6445d3941a4c9d6c7af65062a9750a54d2059944963
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:android-6.1-latest
Building for debugging...
[0/6] Write sources
[1/6] Compiling CJNI cjni.c
[2/6] Write swift-version-24593BA9C3E375BF.txt
[4/8] Emitting module SwiftJNI
/host/spi-builder-workspace/Sources/SwiftJNI/SwiftJNI.swift:141:23: warning: static property 'jni' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 139 | public class JNI {
 140 |     /// The single shared singleton JNI instance for the process.
 141 |     public static var jni: JNI! { // this should be set in "OnLoad" and so should always exist
     |                       |- warning: static property 'jni' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: convert 'jni' to a 'let' constant to make 'Sendable' shared state immutable
     |                       |- note: add '@MainActor' to make static property 'jni' part of global actor 'MainActor'
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 142 |         didSet {
 143 |             jniContext {
/host/spi-builder-workspace/Sources/SwiftJNI/SwiftJNI.swift:753:40: warning: static property 'globalClassLoader' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 751 |     private static let loadClassID = javaClass.getMethodID(name: "loadClass", sig: "(Ljava/lang/String;)Ljava/lang/Class;")!
 752 |
 753 |     public fileprivate(set) static var globalClassLoader: JClassLoader?
     |                                        |- warning: static property 'globalClassLoader' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                                        |- note: convert 'globalClassLoader' to a 'let' constant to make 'Sendable' shared state immutable
     |                                        |- note: add '@MainActor' to make static property 'globalClassLoader' part of global actor 'MainActor'
     |                                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 754 |
 755 |     /// Sets the current thread's ClassLoader to be the single global classLoader
[5/8] Compiling SwiftJNI SwiftJNI.swift
/host/spi-builder-workspace/Sources/SwiftJNI/SwiftJNI.swift:141:23: warning: static property 'jni' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 139 | public class JNI {
 140 |     /// The single shared singleton JNI instance for the process.
 141 |     public static var jni: JNI! { // this should be set in "OnLoad" and so should always exist
     |                       |- warning: static property 'jni' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: convert 'jni' to a 'let' constant to make 'Sendable' shared state immutable
     |                       |- note: add '@MainActor' to make static property 'jni' part of global actor 'MainActor'
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 142 |         didSet {
 143 |             jniContext {
/host/spi-builder-workspace/Sources/SwiftJNI/SwiftJNI.swift:753:40: warning: static property 'globalClassLoader' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 751 |     private static let loadClassID = javaClass.getMethodID(name: "loadClass", sig: "(Ljava/lang/String;)Ljava/lang/Class;")!
 752 |
 753 |     public fileprivate(set) static var globalClassLoader: JClassLoader?
     |                                        |- warning: static property 'globalClassLoader' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                                        |- note: convert 'globalClassLoader' to a 'let' constant to make 'Sendable' shared state immutable
     |                                        |- note: add '@MainActor' to make static property 'globalClassLoader' part of global actor 'MainActor'
     |                                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 754 |
 755 |     /// Sets the current thread's ClassLoader to be the single global classLoader
[6/9] Wrapping AST for SwiftJNI for debugging
[7/9] Write Objects.LinkFileList
[8/9] Linking libSwiftJNI.so
Build complete! (13.38s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "swift-jni",
  "name" : "swift-jni",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SwiftJNI",
      "targets" : [
        "SwiftJNI"
      ],
      "type" : {
        "library" : [
          "dynamic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftJNITests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftJNITests",
      "path" : "Tests/SwiftJNITests",
      "sources" : [
        "SwiftJNITests.swift"
      ],
      "target_dependencies" : [
        "SwiftJNI"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftJNI",
      "module_type" : "SwiftTarget",
      "name" : "SwiftJNI",
      "path" : "Sources/SwiftJNI",
      "product_memberships" : [
        "SwiftJNI"
      ],
      "sources" : [
        "SwiftJNI.swift"
      ],
      "target_dependencies" : [
        "CJNI"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CJNI",
      "module_type" : "ClangTarget",
      "name" : "CJNI",
      "path" : "Sources/CJNI",
      "product_memberships" : [
        "SwiftJNI"
      ],
      "sources" : [
        "cjni.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
android-6.1-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:8d42880410d691f231f1a6445d3941a4c9d6c7af65062a9750a54d2059944963
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:android-6.1-latest
Done.