@@ -40,23 +40,18 @@ final class JExtractSwiftCommandPlugin: SwiftJavaPluginProtocol, BuildToolPlugin
40
40
// Plugin can't have dependencies, so we have some naive argument parsing instead:
41
41
self . verbose = arguments. contains ( " -v " ) || arguments. contains ( " --verbose " )
42
42
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
-
51
43
for target in context. package . targets {
52
44
guard getSwiftJavaConfigPath ( target: target) != nil else {
53
45
log ( " [swift-java-command] Skipping jextract step: Missing swift-java.config for target ' \( target. name) ' " )
54
46
continue
55
47
}
56
48
57
49
do {
50
+ let extraArguments = arguments. filter { arg in
51
+ arg != " -v " && arg != " --verbose "
52
+ }
58
53
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 )
60
55
} catch {
61
56
print ( " [swift-java-command] error: Failed to extract from target ' \( target. name) ': \( error) " )
62
57
}
@@ -94,7 +89,7 @@ final class JExtractSwiftCommandPlugin: SwiftJavaPluginProtocol, BuildToolPlugin
94
89
}
95
90
96
91
/// 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 {
98
93
guard let sourceModule = target. sourceModule else { return }
99
94
100
95
if self . buildInputs {
@@ -110,7 +105,7 @@ final class JExtractSwiftCommandPlugin: SwiftJavaPluginProtocol, BuildToolPlugin
110
105
111
106
let arguments = try prepareJExtractArguments ( context: context, target: target)
112
107
113
- try runExtract ( context: context, target: target, arguments: arguments)
108
+ try runExtract ( context: context, target: target, arguments: arguments + extraArguments )
114
109
115
110
if self . buildOutputs {
116
111
// Building the *products* since we need to build the dylib that contains our newly generated sources,
0 commit comments