From 809d5a04c0a89d6a1fc7e517fb0ed97bd845eb79 Mon Sep 17 00:00:00 2001 From: rkerner Date: Mon, 28 Feb 2022 16:14:18 +0100 Subject: [PATCH] DBZ-4800 Fix SchemaGeneratorMojo execution with default values no Windows closes https://issues.redhat.com/browse/DBZ-4800 --- .../schemagenerator/maven/SchemaGeneratorMojo.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/debezium-schema-generator/src/main/java/io/debezium/schemagenerator/maven/SchemaGeneratorMojo.java b/debezium-schema-generator/src/main/java/io/debezium/schemagenerator/maven/SchemaGeneratorMojo.java index 6b671ef6d..edfd8e519 100644 --- a/debezium-schema-generator/src/main/java/io/debezium/schemagenerator/maven/SchemaGeneratorMojo.java +++ b/debezium-schema-generator/src/main/java/io/debezium/schemagenerator/maven/SchemaGeneratorMojo.java @@ -7,6 +7,7 @@ import java.io.File; import java.io.IOException; +import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -49,7 +50,7 @@ public class SchemaGeneratorMojo extends AbstractMojo { @Parameter(defaultValue = "openapi", property = "schema.format") private String format; - @Parameter(defaultValue = "${project.build.directory}/generated-sources", required = true) + @Parameter(defaultValue = "${project.build.directory}${file.separator}generated-sources", required = true) private File outputDirectory; @Parameter(defaultValue = "false") @@ -97,6 +98,7 @@ public void execute() throws MojoExecutionException, MojoFailureException { } private int exec(String className, String classPath, List jvmArgs, List args) throws IOException, InterruptedException { + getLog().debug("Executing SchemaGenerator with classpath: " + classPath); String javaHome = System.getProperty("java.home"); String javaBin = javaHome + File.separator + "bin" + File.separator + "java"; @@ -152,7 +154,12 @@ private Artifact getGeneratorPluginArtifact() { } private String classPathEntryFor(Class clazz) { - return File.pathSeparator + clazz.getProtectionDomain().getCodeSource().getLocation().toString(); + try { + return new File(clazz.getProtectionDomain().getCodeSource().getLocation().toURI()).getAbsolutePath(); + } + catch (URISyntaxException e) { + throw new RuntimeException(e); + } } private Set getDependencies(Artifact inputArtifact) throws MojoExecutionException {