@@ -116,6 +116,7 @@ struct SwiftJava: AsyncParsableCommand {
116116 return nil
117117 }
118118
119+ print ( " [debug][swift-java] Module base directory based on outputDirectory! " )
119120 return URL ( fileURLWithPath: outputDirectory)
120121 }
121122
@@ -186,21 +187,23 @@ struct SwiftJava: AsyncParsableCommand {
186187
187188 mutating func run( ) async {
188189 print ( " [info][swift-java] Run: \( CommandLine . arguments. joined ( separator: " " ) ) " )
190+ print ( " [info][swift-java] Current work directory: \( URL ( fileURLWithPath: " . " ) ) " )
191+ print ( " [info][swift-java] Module base directory: \( moduleBaseDir) " )
189192 do {
190- var config : Configuration = Configuration ( )
193+ var earlyConfig : Configuration ?
191194 if let moduleBaseDir {
192195 print ( " [debug][swift-java] Load config from module base directory: \( moduleBaseDir. path) " )
193- config = try readConfiguration ( sourceDir: moduleBaseDir. path)
196+ earlyConfig = try readConfiguration ( sourceDir: moduleBaseDir. path)
194197 } else if let inputSwift {
195198 print ( " [debug][swift-java] Load config from module swift input directory: \( inputSwift) " )
196- config = try readConfiguration ( sourceDir: inputSwift)
199+ earlyConfig = try readConfiguration ( sourceDir: inputSwift)
197200 }
201+ var config = earlyConfig ?? Configuration ( )
198202
199203 config. logLevel = self . logLevel
200204 if let javaPackage {
201205 config. javaPackage = javaPackage
202206 }
203- assert ( config. javaPackage != nil , " java-package was nil! " )
204207
205208 // Determine the mode in which we'll execute.
206209 let toolMode : ToolMode
@@ -461,7 +464,10 @@ extension SwiftJava {
461464 return ( false , . init( ) )
462465 case . amend:
463466 let configPath = actualOutputDirectory
464- return ( true , try readConfiguration ( sourceDir: configPath. path) )
467+ guard let config = try readConfiguration ( sourceDir: configPath. path) else {
468+ return ( false , . init( ) )
469+ }
470+ return ( true , config)
465471 }
466472 }
467473}
0 commit comments