SwiftJavaExtract sample apps fail to build on Windows

Abierto
#920 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
55/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
java, swift
Área
build-system

Línea de trabajo

Comienza ejecutando ci-validate.sh en Samples/SwiftJavaExtractJNISampleApp y Samples/SwiftJavaExtractFFMSampleApp en Windows; después, inspecciona cómo cada script invoca al Gradle wrapper y gestiona las rutas Swift generadas. Se considera terminado cuando ambos scripts de validación de ejemplo se completan correctamente en Windows x86_64 sin rutas malformadas a ejecutables ni a fuentes generadas.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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
Lenguaje dominante
Swift
Estrellas
1.3k
Forks
127
Merge medio
2 d 14 h
PR fusionados (30 d)
5

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de swiftlang/swift-java

Todos los issues de swiftlang/swift-java

Issues similares

Más issues de Swift

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.