@@ -40,23 +40,18 @@ final class JExtractSwiftCommandPlugin: SwiftJavaPluginProtocol, BuildToolPlugin
4040 // Plugin can't have dependencies, so we have some naive argument parsing instead:
4141 self . verbose = arguments. contains ( " -v " ) || arguments. contains ( " --verbose " )
4242
43- let selectedTargets : [ String ] =
44- if let last = arguments. lastIndex ( where: { $0. starts ( with: " - " ) } ) ,
45- last < arguments. endIndex {
46- Array ( arguments [ ..< last] )
47- } else {
48- [ ]
49- }
50-
5143 for target in context. package . targets {
5244 guard getSwiftJavaConfigPath ( target: target) != nil else {
5345 log ( " [swift-java-command] Skipping jextract step: Missing swift-java.config for target ' \( target. name) ' " )
5446 continue
5547 }
5648
5749 do {
50+ let extraArguments = arguments. filter { arg in
51+ arg != " -v " && arg != " --verbose "
52+ }
5853 print ( " [swift-java-command] Extracting Java wrappers from target: ' \( target. name) '... " )
59- try performCommand ( context: context, target: target, extraArguments: arguments )
54+ try performCommand ( context: context, target: target, extraArguments: extraArguments )
6055 } catch {
6156 print ( " [swift-java-command] error: Failed to extract from target ' \( target. name) ': \( error) " )
6257 }
@@ -94,7 +89,7 @@ final class JExtractSwiftCommandPlugin: SwiftJavaPluginProtocol, BuildToolPlugin
9489 }
9590
9691 /// Perform the command on a specific target.
97- func performCommand( context: PluginContext , target: Target , extraArguments _ : [ String ] ) throws {
92+ func performCommand( context: PluginContext , target: Target , extraArguments: [ String ] ) throws {
9893 guard let sourceModule = target. sourceModule else { return }
9994
10095 if self . buildInputs {
@@ -110,7 +105,7 @@ final class JExtractSwiftCommandPlugin: SwiftJavaPluginProtocol, BuildToolPlugin
110105
111106 let arguments = try prepareJExtractArguments ( context: context, target: target)
112107
113- try runExtract ( context: context, target: target, arguments: arguments)
108+ try runExtract ( context: context, target: target, arguments: arguments + extraArguments )
114109
115110 if self . buildOutputs {
116111 // Building the *products* since we need to build the dylib that contains our newly generated sources,
0 commit comments