From 14cc2af755f64e7c62675048038aab99c8d960cb Mon Sep 17 00:00:00 2001 From: Iceman Date: Tue, 27 Jan 2026 12:21:47 +0900 Subject: [PATCH 1/3] Load config file according to package --- Plugins/JExtractSwiftPlugin/JExtractSwiftPlugin.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Plugins/JExtractSwiftPlugin/JExtractSwiftPlugin.swift b/Plugins/JExtractSwiftPlugin/JExtractSwiftPlugin.swift index 0b5847210..7d465b2d1 100644 --- a/Plugins/JExtractSwiftPlugin/JExtractSwiftPlugin.swift +++ b/Plugins/JExtractSwiftPlugin/JExtractSwiftPlugin.swift @@ -66,6 +66,7 @@ struct JExtractSwiftBuildToolPlugin: SwiftJavaPluginProtocol, BuildToolPlugin { var arguments: [String] = [ /*subcommand=*/"jextract", + "--config", configFile.path(percentEncoded: false), "--swift-module", sourceModule.name, "--input-swift", sourceDir, "--output-java", outputJavaDirectory.path(percentEncoded: false), From 452e31952863c8b1a53e5ad0e4a52a273bb3806b Mon Sep 17 00:00:00 2001 From: Iceman Date: Tue, 27 Jan 2026 12:32:43 +0900 Subject: [PATCH 2/3] Read javaPackage from config --- Plugins/JExtractSwiftPlugin/JExtractSwiftPlugin.swift | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/Plugins/JExtractSwiftPlugin/JExtractSwiftPlugin.swift b/Plugins/JExtractSwiftPlugin/JExtractSwiftPlugin.swift index 7d465b2d1..4ac1a4e5d 100644 --- a/Plugins/JExtractSwiftPlugin/JExtractSwiftPlugin.swift +++ b/Plugins/JExtractSwiftPlugin/JExtractSwiftPlugin.swift @@ -50,12 +50,6 @@ struct JExtractSwiftBuildToolPlugin: SwiftJavaPluginProtocol, BuildToolPlugin { // which we are generating Swift wrappers for Java classes. let configFile = URL(filePath: sourceDir).appending(path: "swift-java.config") let configuration = try readConfiguration(sourceDir: "\(sourceDir)") - - guard let javaPackage = configuration?.javaPackage else { - // throw SwiftJavaPluginError.missingConfiguration(sourceDir: "\(sourceDir)", key: "javaPackage") - log("Skipping jextract step, no 'javaPackage' configuration in \(getSwiftJavaConfigPath(target: target) ?? "")") - return [] - } // We use the the usual maven-style structure of "src/[generated|main|test]/java/..." // that is common in JVM ecosystem @@ -89,10 +83,6 @@ struct JExtractSwiftBuildToolPlugin: SwiftJavaPluginProtocol, BuildToolPlugin { } arguments += dependentConfigFilesArguments - if !javaPackage.isEmpty { - arguments += ["--java-package", javaPackage] - } - let swiftFiles = sourceModule.sourceFiles.map { $0.url }.filter { $0.pathExtension == "swift" } From 2933b66acef8a2f8d43c93686ca8474fb29a8c08 Mon Sep 17 00:00:00 2001 From: Iceman Date: Wed, 28 Jan 2026 10:11:11 +0900 Subject: [PATCH 3/3] Remove unnecessary plugin dependency --- Samples/JavaKitSampleApp/Package.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/Samples/JavaKitSampleApp/Package.swift b/Samples/JavaKitSampleApp/Package.swift index b4313c18f..2e312c2c4 100644 --- a/Samples/JavaKitSampleApp/Package.swift +++ b/Samples/JavaKitSampleApp/Package.swift @@ -120,7 +120,6 @@ let package = Package( ], plugins: [ .plugin(name: "JavaCompilerPlugin", package: "swift-java"), - .plugin(name: "JExtractSwiftPlugin", package: "swift-java"), .plugin(name: "SwiftJavaPlugin", package: "swift-java"), ] ),