Skip to content

SwiftJavaExtract sample apps fail to build on Windows #920

Description

@1mash0

Commit hash: 4cf5605a03219fc7c99149020b0923c0a73a4f3c

Context:

I was trying to build the SwiftJavaExtractJNISampleApp and SwiftJavaExtractFFMSampleApp samples on Windows x86_64.

Both samples fail during their validation process on Windows.

Steps to reproduce:

  1. Clone the repository:
    git clone https://github.com/swiftlang/swift-java.git
  2. Run the JNI sample validation:
    cd swift-java/Samples/SwiftJavaExtractJNISampleApp
    ./ci-validate.sh
  3. Run the FFM sample validation:
    cd ../SwiftJavaExtractFFMSampleApp
    ./ci-validate.sh
  4. Observe that the validation does not complete successfully on Windows.

Result:

For example, one of the failures I encountered was while invoking the Gradle wrapper. A path such as:

/C:/Users/user/swift-java/gradlew

was passed to the Windows process and could not be executed correctly.

SwiftJavaExtractFFMSampleApp also fails during validation. For example, generated Swift output can end up with an invalid path containing an absolute Windows path as part of the filename:

C:/Users/user/swift-java/Samples/SwiftJavaExtractFFMSampleApp/.build/plugins/outputs/swiftjavaextractffmsampleapp/MySwiftLibrary/destination/JExtractSwiftPlugin/Sources/C:/Users/user/swift-java/Samples/SwiftJavaExtractFFMSampleApp/Sources/MySwiftLibrary/MySwiftClass+SwiftJava.swift

resulting in:

Error Domain=NSCocoaErrorDomain Code=512 "(null)"
UserInfo={
  NSUnderlyingError=Error Domain=NSPOSIXErrorDomain Code=22 "Invalid argument",
  NSUserStringVariant=["Folder"],
  ...
}

Expected result:

The sample validation scripts should complete successfully on Windows x86_64.

$ swift --version

Swift version 6.3.3 (swift-6.3.3-RELEASE)
Target: x86_64-unknown-windows-msvc
Build config: +assertions

Operating system: Windows x86_64

$ uname -a

MINGW64_NT-10.0-26200 DESKTOP-C8619AE 3.6.9-b4195d69.x86_64 2026-06-06 17:49 UTC x86_64 Msys

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions