SwiftJavaExtract sample apps fail to build on Windows

Aperta
#920 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
java, swift
Ambito
build-system

Direzione di ricerca

Inizia eseguendo ci-validate.sh in Samples/SwiftJavaExtractJNISampleApp e Samples/SwiftJavaExtractFFMSampleApp su Windows, quindi esamina come ogni script invoca il wrapper Gradle e gestisce i percorsi Swift generati. Il lavoro è completato quando entrambi gli script di convalida degli esempi vengono completati correttamente su Windows x86_64 senza percorsi malformati verso eseguibili o sorgenti generate.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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
Lingua principale
Swift
Stelle
1.3k
Fork
127
Merge medio
2g 14h
PR unite (30g)
5

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di swiftlang/swift-java

Tutte le issue di swiftlang/swift-java

Issue simili

Altre issue su Swift

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.