Skip to content

Commit c58f3da

Browse files
kopporjjohannes
andauthored
Fix handling of paths containing spaces (#99)
Co-authored-by: Jendrik Johannes <jendrik@onepiece.software>
1 parent 5885f17 commit c58f3da

2 files changed

Lines changed: 17 additions & 1 deletion

File tree

src/main/java/org/gradlex/javamodule/packaging/tasks/Jpackage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ private void configureJPackageArguments(ExecSpec e, Directory resourcesDir) {
276276
private String createArgsFile(String modulePathAsPath) {
277277
Path argsFile = getTemporaryDir().toPath().resolve("args.txt");
278278
List<String> lines = new ArrayList<>(1);
279-
lines.add("--module-path " + modulePathAsPath);
279+
lines.add("--module-path \"" + modulePathAsPath.replace('\\', '/') + "\"");
280280
try {
281281
Files.write(argsFile, lines);
282282
} catch (IOException e) {

src/test/java/org/gradlex/javamodule/packaging/test/JavaModulePackagingOptionsTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,4 +189,20 @@ void can_build_package_in_one_step() {
189189
assertThat(build.appImageFolder().getAsPath())
190190
.isDirectoryNotContaining(f -> f.toFile().isDirectory());
191191
}
192+
193+
@Test
194+
void works_if_module_path_contains_spaces() {
195+
var lib2BuildFile = build.file("lib 2 with spaces/build.gradle.kts");
196+
var lib2ModuleInfoFile = build.file("lib 2 with spaces/src/main/java/module-info.java");
197+
198+
build.settingsFile.appendText("""
199+
include(":lib2")
200+
project(":lib2").projectDir = file("lib 2 with spaces")
201+
""");
202+
build.appBuildFile.appendText("dependencies { implementation(project(\":lib2\")) }");
203+
lib2BuildFile.writeText("plugins { id(\"java-library\") }");
204+
lib2ModuleInfoFile.writeText("module org.example.libtwo { }");
205+
206+
build.build(":app:jpackage");
207+
}
192208
}

0 commit comments

Comments
 (0)