diff --git a/client/src/main/java/org/jboss/fuse/mvnd/client/ClientLayout.java b/client/src/main/java/org/jboss/fuse/mvnd/client/ClientLayout.java index 07a0d968..3c741587 100644 --- a/client/src/main/java/org/jboss/fuse/mvnd/client/ClientLayout.java +++ b/client/src/main/java/org/jboss/fuse/mvnd/client/ClientLayout.java @@ -54,7 +54,7 @@ public class ClientLayout extends Layout { final Path mvndH = Paths.get(cmd.get()).getParent().getParent(); if (mvndH != null) { final Path mvndDaemonLib = mvndH - .resolve("lib/ext/mvnd-daemon-" + BuildProperties.getInstance().getVersion() + .resolve("mvn/lib/ext/mvnd-daemon-" + BuildProperties.getInstance().getVersion() + ".jar"); if (Files.exists(mvndDaemonLib)) { return mvndH.toString(); diff --git a/client/src/main/java/org/jboss/fuse/mvnd/client/DaemonConnector.java b/client/src/main/java/org/jboss/fuse/mvnd/client/DaemonConnector.java index cbd914ef..479c6e0e 100644 --- a/client/src/main/java/org/jboss/fuse/mvnd/client/DaemonConnector.java +++ b/client/src/main/java/org/jboss/fuse/mvnd/client/DaemonConnector.java @@ -292,7 +292,7 @@ public class DaemonConnector { } private Path findCommonJar(Path mavenHome) { - final Path result = mavenHome.resolve("lib/ext/mvnd-common-" + buildProperties.getVersion() + ".jar"); + final Path result = mavenHome.resolve("mvn/lib/ext/mvnd-common-" + buildProperties.getVersion() + ".jar"); if (!Files.isRegularFile(result)) { throw new RuntimeException("File must exist and must be a regular file: " + result); } diff --git a/common/src/main/java/org/jboss/fuse/mvnd/common/ServerMain.java b/common/src/main/java/org/jboss/fuse/mvnd/common/ServerMain.java index 734260a4..3fc247ae 100644 --- a/common/src/main/java/org/jboss/fuse/mvnd/common/ServerMain.java +++ b/common/src/main/java/org/jboss/fuse/mvnd/common/ServerMain.java @@ -26,11 +26,11 @@ public class ServerMain { public static void main(String[] args) throws Exception { final String uidStr = Environment.DAEMON_UID.systemProperty().orFail().asString(); - final Path mavenHome = Environment.MVND_HOME.systemProperty().orFail().asPath(); + final Path mvndHome = Environment.MVND_HOME.systemProperty().orFail().asPath(); URL[] classpath = Stream.concat( /* jars */ - Stream.of("lib/ext", "lib", "boot") - .map(mavenHome::resolve) + Stream.of("mvn/lib/ext", "mvn/lib", "mvn/boot") + .map(mvndHome::resolve) .flatMap((Path p) -> { try { return Files.list(p); @@ -41,7 +41,7 @@ public class ServerMain { .filter(p -> p.getFileName().toString().endsWith(".jar")) .filter(Files::isRegularFile), /* resources */ - Stream.of(mavenHome.resolve("conf"), mavenHome.resolve("conf/logging"))) + Stream.of(mvndHome.resolve("mvn/conf"), mvndHome.resolve("mvn/conf/logging"))) .map(Path::normalize) .map(Path::toUri) diff --git a/daemon/src/main/distro/bin/mvns b/daemon/src/main/distro/bin/mvns index 7b38bbc9..d59dd250 100755 --- a/daemon/src/main/distro/bin/mvns +++ b/daemon/src/main/distro/bin/mvns @@ -196,7 +196,7 @@ exec "$JAVACMD" \ -Dmvnd.logging=mvns \ "-Dclassworlds.conf=${MAVEN_HOME}/bin/m2.conf" \ "-Dmvnd.home=${MAVEN_HOME}" \ - "-Dmaven.home=${MAVEN_HOME}" \ + "-Dmaven.home=${MAVEN_HOME}/mvn" \ "-Dlibrary.jansi.path=${MAVEN_HOME}/lib/jansi-native" \ "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${CLASSWORLDS_LAUNCHER} --builder smart --threads 0.5C "$@" diff --git a/daemon/src/main/distro/bin/m2.conf b/daemon/src/main/distro/mvn/bin/m2.conf similarity index 100% rename from daemon/src/main/distro/bin/m2.conf rename to daemon/src/main/distro/mvn/bin/m2.conf diff --git a/daemon/src/main/distro/bin/mvn b/daemon/src/main/distro/mvn/bin/mvn similarity index 100% rename from daemon/src/main/distro/bin/mvn rename to daemon/src/main/distro/mvn/bin/mvn diff --git a/daemon/src/main/distro/bin/mvn.cmd b/daemon/src/main/distro/mvn/bin/mvn.cmd similarity index 100% rename from daemon/src/main/distro/bin/mvn.cmd rename to daemon/src/main/distro/mvn/bin/mvn.cmd diff --git a/daemon/src/main/distro/conf/logging/logback-mvn.xml b/daemon/src/main/distro/mvn/conf/logging/logback-mvn.xml similarity index 100% rename from daemon/src/main/distro/conf/logging/logback-mvn.xml rename to daemon/src/main/distro/mvn/conf/logging/logback-mvn.xml diff --git a/daemon/src/main/distro/conf/logging/logback.xml b/daemon/src/main/distro/mvn/conf/logging/logback.xml similarity index 100% rename from daemon/src/main/distro/conf/logging/logback.xml rename to daemon/src/main/distro/mvn/conf/logging/logback.xml diff --git a/daemon/src/main/java/org/apache/maven/cli/DaemonMavenCli.java b/daemon/src/main/java/org/apache/maven/cli/DaemonMavenCli.java index c4443d25..b1a4df26 100644 --- a/daemon/src/main/java/org/apache/maven/cli/DaemonMavenCli.java +++ b/daemon/src/main/java/org/apache/maven/cli/DaemonMavenCli.java @@ -200,11 +200,11 @@ public class DaemonMavenCli { // Make sure the Maven home directory is an absolute path to save us from confusion with say drive-relative // Windows paths. // - String mavenHome = System.getProperty("mvnd.home"); + String mvndHome = System.getProperty("mvnd.home"); - if (mavenHome != null) { - System.setProperty("mvnd.home", new File(mavenHome).getAbsolutePath()); - System.setProperty("maven.home", new File(mavenHome).getAbsolutePath()); + if (mvndHome != null) { + System.setProperty("mvnd.home", new File(mvndHome).getAbsolutePath()); + System.setProperty("maven.home", new File(mvndHome + "/mvn").getAbsolutePath()); } } diff --git a/daemon/src/main/provisio/maven-distro.xml b/daemon/src/main/provisio/maven-distro.xml index f8555d23..c03b1204 100644 --- a/daemon/src/main/provisio/maven-distro.xml +++ b/daemon/src/main/provisio/maven-distro.xml @@ -17,14 +17,14 @@ --> - + - + diff --git a/daemon/src/test/java/org/jboss/fuse/mvnd/dist/DistroIT.java b/daemon/src/test/java/org/jboss/fuse/mvnd/dist/DistroIT.java index f63bc6cd..ab2d96aa 100644 --- a/daemon/src/test/java/org/jboss/fuse/mvnd/dist/DistroIT.java +++ b/daemon/src/test/java/org/jboss/fuse/mvnd/dist/DistroIT.java @@ -37,17 +37,18 @@ public class DistroIT { @Test void noDuplicateJars() { final Path mavenHome = Paths.get(System.getProperty("mvnd.home")); - Set mavenLibs = streamJars(mavenHome, "lib", "boot").collect(Collectors.toCollection(TreeSet::new)); + Set mavenLibs = streamJars(mavenHome, "mvn/lib", "mvn/boot").collect(Collectors.toCollection(TreeSet::new)); Assertions.assertFalse(mavenLibs.isEmpty()); - final List mvndJars = streamJars(mavenHome, "lib/ext").collect(Collectors.toList()); + final List mvndJars = streamJars(mavenHome, "mvn/lib/ext").collect(Collectors.toList()); Assertions.assertFalse(mvndJars.isEmpty()); final List dups = mvndJars.stream() .filter(avc -> mavenLibs.stream().anyMatch(mvnAvc -> mvnAvc.sameArtifactId(avc))) .collect(Collectors.toList()); - final String msg = mavenHome.resolve("lib/ext") + " contains duplicates available in " + mavenHome.resolve("lib") - + " or " + mavenHome.resolve("lib"); + final String msg = mavenHome.resolve("mvn/lib/ext") + " contains duplicates available in " + + mavenHome.resolve("mvn/lib") + + " or " + mavenHome.resolve("mvn/lib"); Assertions.assertEquals(new ArrayList(), dups, msg); }