From d2c4dcc0155345652454a4e7e468db443eb0ef43 Mon Sep 17 00:00:00 2001 From: Jose Luis Osorno Date: Wed, 9 Jan 2019 17:43:09 +0100 Subject: [PATCH 1/9] Archetypes - Add logs to build_test task in scripts Modify the run scripts to add docker-compose tail to the build_test task in order to have more context of the execution of the tests in docker. --- .../src/main/resources/archetype-resources/run.bat | 4 ++++ .../src/main/resources/archetype-resources/run.sh | 5 +++++ .../src/main/resources/archetype-resources/run.bat | 4 ++++ .../src/main/resources/archetype-resources/run.sh | 5 +++++ .../src/main/resources/archetype-resources/run.bat | 4 ++++ .../src/main/resources/archetype-resources/run.sh | 5 +++++ 6 files changed, 27 insertions(+) diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.bat b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.bat index 582c521d..1af00c77 100644 --- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.bat +++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.bat @@ -50,6 +50,7 @@ IF %1==build_test ( CALL :build CALL :start CALL :test + CALL :tail_all CALL :down GOTO END ) @@ -96,6 +97,9 @@ EXIT /B 0 :tail docker-compose -f "%COMPOSE_FILE_PATH%" logs -f EXIT /B 0 +:tail_all + docker-compose -f "%COMPOSE_FILE_PATH%" logs --tail="all" +EXIT /B 0 :test call mvn verify -pl integration-tests EXIT /B 0 diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh index 7659621f..d196ef1f 100755 --- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh +++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh @@ -52,6 +52,10 @@ tail() { docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH logs -f } +tail_all() { + docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH logs --tail="all" +} + test() { mvn verify -pl integration-tests } @@ -92,6 +96,7 @@ case "${symbol_dollar}1" in build start test + tail_all down ;; test) diff --git a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.bat b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.bat index 0c1ee408..2735ac13 100644 --- a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.bat +++ b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.bat @@ -38,6 +38,7 @@ IF %1==build_test ( CALL :build CALL :start CALL :test + CALL :tail_all CALL :down GOTO END ) @@ -65,6 +66,9 @@ EXIT /B 0 :tail docker-compose -f "%COMPOSE_FILE_PATH%" logs -f EXIT /B 0 +:tail_all + docker-compose -f "%COMPOSE_FILE_PATH%" logs --tail="all" +EXIT /B 0 :test call mvn verify EXIT /B 0 diff --git a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.sh b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.sh index 3789d951..1e92d991 100755 --- a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.sh +++ b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.sh @@ -29,6 +29,10 @@ tail() { docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH logs -f } +tail_all() { + docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH logs --tail="all" +} + test() { mvn verify } @@ -59,6 +63,7 @@ case "${symbol_dollar}1" in build start test + tail_all down ;; test) diff --git a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.bat b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.bat index 43a3da73..6a3e73f8 100644 --- a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.bat +++ b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.bat @@ -44,6 +44,7 @@ IF %1==build_test ( CALL :build CALL :start CALL :test + CALL :tail_all CALL :down GOTO END ) @@ -81,6 +82,9 @@ EXIT /B 0 :tail docker-compose -f "%COMPOSE_FILE_PATH%" logs -f EXIT /B 0 +:tail_all + docker-compose -f "%COMPOSE_FILE_PATH%" logs --tail="all" +EXIT /B 0 :test call mvn verify EXIT /B 0 diff --git a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.sh b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.sh index 8702f69c..135f8f54 100755 --- a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.sh +++ b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.sh @@ -40,6 +40,10 @@ tail() { docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH logs -f } +tail_all() { + docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH logs --tail="all" +} + test() { mvn verify } @@ -75,6 +79,7 @@ case "${symbol_dollar}1" in build start test + tail_all down ;; test) From 4722c1412120cedd881b08cc68440edba5a4e138 Mon Sep 17 00:00:00 2001 From: Jose Luis Osorno Date: Wed, 9 Jan 2019 17:44:18 +0100 Subject: [PATCH 2/9] Archetypes - Add logs to archetype ITs Add more logs with the result of the execution of the projects generation and building in the archetype ITs. --- archetypes/archetypes-it/pom.xml | 26 +++++++++++++++++++ .../maven/archetype/AbstractArchetypeIT.java | 23 +++++++++++++++- .../maven/archetype/AllInOneArchetypeIT.java | 11 +++++++- .../archetype/PlatformJarArchetypeIT.java | 11 +++++++- .../maven/archetype/ShareJarArchetypeIT.java | 11 +++++++- 5 files changed, 78 insertions(+), 4 deletions(-) diff --git a/archetypes/archetypes-it/pom.xml b/archetypes/archetypes-it/pom.xml index e27bd223..75419f6f 100644 --- a/archetypes/archetypes-it/pom.xml +++ b/archetypes/archetypes-it/pom.xml @@ -9,6 +9,12 @@ Archetypes IT Archetypes Integration Tests + + 1.7.12 + 1.8 + 1.8 + + org.alfresco.maven alfresco-sdk-aggregator @@ -29,6 +35,18 @@ 4.8.1 test + + org.slf4j + slf4j-api + ${slf4j.version} + test + + + org.slf4j + slf4j-simple + ${slf4j.version} + test + @@ -55,6 +73,14 @@ + + + DEBUG + false + false + false + + diff --git a/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AbstractArchetypeIT.java b/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AbstractArchetypeIT.java index 0a1d9bcd..efa4856b 100644 --- a/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AbstractArchetypeIT.java +++ b/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AbstractArchetypeIT.java @@ -3,6 +3,8 @@ package org.alfresco.maven.archetype; import org.apache.maven.it.VerificationException; import org.apache.maven.it.Verifier; import org.junit.Before; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.File; import java.io.IOException; @@ -14,6 +16,8 @@ import java.io.IOException; */ public abstract class AbstractArchetypeIT { + private static final Logger LOG = LoggerFactory.getLogger(AbstractArchetypeIT.class); + protected static final File ROOT = new File("target/test-classes/"); protected static final String LOG_FILENAME = "log.txt"; protected static final String ERROR_FILENAME = "error.txt"; @@ -46,11 +50,16 @@ public abstract class AbstractArchetypeIT { /** * Generate a new project from an archetype and verify the generation was successful. */ - protected void generateProjectFromArchetype() throws Exception { + protected void generateProjectFromArchetype(final Logger logger) throws Exception { + LOG.info("---------------------------------------------------------------------"); + LOG.info("Generating a new project from the archetype {}:{}:{}", archetypeProperties.getArchetypeGroupId(), archetypeProperties.getArchetypeArtifactId(), + archetypeProperties.getArchetypeVersion()); + LOG.info("---------------------------------------------------------------------"); Verifier verifier = new Verifier(ROOT.getAbsolutePath()); verifier.setSystemProperties(archetypeProperties.getSystemProperties()); verifier.setAutoclean(false); verifier.executeGoal("archetype:generate"); + printVerifierLog("PROJECT GENERATION", verifier, logger); verifier.verifyErrorFreeLog(); } @@ -62,12 +71,24 @@ public abstract class AbstractArchetypeIT { */ protected ProcessBuilder getProcessBuilder(final String goalToExecute) { ProcessBuilder pb = new ProcessBuilder(getCommand(), goalToExecute); + LOG.info("ProcessBuilder environment: {}", pb.environment().toString()); pb.directory(new File(projectPath)); pb.redirectOutput(new File(projectPath + File.separator + LOG_FILENAME)); pb.redirectError(new File(projectPath + File.separator + ERROR_FILENAME)); return pb; } + /** + * Print the content of the log file of a {@link Verifier} into a specific {@link Logger}. + * + * @param prefix the prefix to print before each line + * @param verifier the {@link Verifier} to print its log file content + * @param logger the {@link Logger} to print the log content + */ + protected void printVerifierLog(final String prefix, final Verifier verifier, final Logger logger) throws Exception { + verifier.loadFile(verifier.getBasedir(), verifier.getLogFileName(), false).forEach(line -> logger.info("[{}] - {}", prefix, line)); + } + private String getCommand() { return projectPath + File.separator + (System.getProperty("os.name").startsWith("Windows") ? WINDOWS_EXEC : LINUX_EXEC); } diff --git a/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AllInOneArchetypeIT.java b/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AllInOneArchetypeIT.java index db0a5cdc..d4e40f00 100644 --- a/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AllInOneArchetypeIT.java +++ b/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AllInOneArchetypeIT.java @@ -2,12 +2,16 @@ package org.alfresco.maven.archetype; import org.apache.maven.it.Verifier; import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Integration tests for the all-in-one archetype. */ public class AllInOneArchetypeIT extends AbstractArchetypeIT { + private static final Logger LOGGER = LoggerFactory.getLogger(AllInOneArchetypeIT.class); + @Override protected ArchetypeProperties createArchetypeProperties() { return ArchetypeProperties.builder() @@ -23,7 +27,11 @@ public class AllInOneArchetypeIT extends AbstractArchetypeIT { @Test public void whenGenerateProjectFromArchetypeThenAProperProjectIsCreated() throws Exception { - generateProjectFromArchetype(); + generateProjectFromArchetype(LOGGER); + + LOGGER.info("---------------------------------------------------------------------"); + LOGGER.info("Building the generated project {}", archetypeProperties.getProjectArtifactId()); + LOGGER.info("---------------------------------------------------------------------"); // Since creating the archetype was successful, we now want to actually build the generated project executing the integration tests // Execute a purge to ensure old data don't make the test fail @@ -36,6 +44,7 @@ public class AllInOneArchetypeIT extends AbstractArchetypeIT { Verifier verifier = new Verifier(projectPath); verifier.setAutoclean(false); verifier.setLogFileName(LOG_FILENAME); + printVerifierLog("PROJECT BUILD", verifier, LOGGER); verifier.verifyErrorFreeLog(); verifier.verifyTextInLog("Tests run: 5, Failures: 0, Errors: 0, Skipped: 0"); } diff --git a/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/PlatformJarArchetypeIT.java b/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/PlatformJarArchetypeIT.java index 4f824ef7..1aee782f 100644 --- a/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/PlatformJarArchetypeIT.java +++ b/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/PlatformJarArchetypeIT.java @@ -2,12 +2,16 @@ package org.alfresco.maven.archetype; import org.apache.maven.it.Verifier; import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Integration tests for the platform jar archetype. */ public class PlatformJarArchetypeIT extends AbstractArchetypeIT { + private static final Logger LOGGER = LoggerFactory.getLogger(PlatformJarArchetypeIT.class); + @Override protected ArchetypeProperties createArchetypeProperties() { return ArchetypeProperties.builder() @@ -22,12 +26,17 @@ public class PlatformJarArchetypeIT extends AbstractArchetypeIT { @Test public void whenGenerateProjectFromArchetypeThenAProperProjectIsCreated() throws Exception { - generateProjectFromArchetype(); + generateProjectFromArchetype(LOGGER); + + LOGGER.info("---------------------------------------------------------------------"); + LOGGER.info("Building the generated project {}", archetypeProperties.getProjectArtifactId()); + LOGGER.info("---------------------------------------------------------------------"); // Since creating the archetype was successful, we now want to actually build the generated project Verifier verifier = new Verifier(projectPath); verifier.setAutoclean(false); verifier.executeGoal("install"); + printVerifierLog("PROJECT BUILD", verifier, LOGGER); verifier.verifyErrorFreeLog(); } } diff --git a/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/ShareJarArchetypeIT.java b/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/ShareJarArchetypeIT.java index 063d39d4..fbdfdb30 100644 --- a/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/ShareJarArchetypeIT.java +++ b/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/ShareJarArchetypeIT.java @@ -2,12 +2,16 @@ package org.alfresco.maven.archetype; import org.apache.maven.it.Verifier; import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Integration tests for the share jar archetype. */ public class ShareJarArchetypeIT extends AbstractArchetypeIT { + private static final Logger LOGGER = LoggerFactory.getLogger(ShareJarArchetypeIT.class); + @Override protected ArchetypeProperties createArchetypeProperties() { return ArchetypeProperties.builder() @@ -22,12 +26,17 @@ public class ShareJarArchetypeIT extends AbstractArchetypeIT { @Test public void whenGenerateProjectFromArchetypeThenAProperProjectIsCreated() throws Exception { - generateProjectFromArchetype(); + generateProjectFromArchetype(LOGGER); + + LOGGER.info("---------------------------------------------------------------------"); + LOGGER.info("Building the generated project {}", archetypeProperties.getProjectArtifactId()); + LOGGER.info("---------------------------------------------------------------------"); // Since creating the archetype was successful, we now want to actually build the generated project Verifier verifier = new Verifier(projectPath); verifier.setAutoclean(false); verifier.executeGoal("install"); + printVerifierLog("PROJECT BUILD", verifier, LOGGER); verifier.verifyErrorFreeLog(); } } From 6e5bf3a757fbe7abb5dd81a5ae9a6a924fda2aa5 Mon Sep 17 00:00:00 2001 From: Jose Luis Osorno Date: Wed, 9 Jan 2019 18:27:40 +0100 Subject: [PATCH 3/9] Archetypes - Add extra information in sh script --- .../src/main/resources/archetype-resources/run.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh index d196ef1f..20f5217f 100755 --- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh +++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh @@ -2,6 +2,8 @@ #!/bin/sh export COMPOSE_FILE_PATH=${symbol_dollar}{PWD}/target/classes/docker/docker-compose.yml +mvn -v +env start() { docker volume create ${rootArtifactId}-acs-volume From efbfc8fbba7c888a7f1b1a247d6247aa93dfa036 Mon Sep 17 00:00:00 2001 From: Jose Luis Osorno Date: Wed, 9 Jan 2019 18:37:27 +0100 Subject: [PATCH 4/9] Archetypes - Modify AbstractArchetypeIT to print error output Modify AbstractArchetypeIT to print the rror output as well as the standard output in the execution of the integration tests. --- .../java/org/alfresco/maven/archetype/AbstractArchetypeIT.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AbstractArchetypeIT.java b/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AbstractArchetypeIT.java index efa4856b..0b6ce8a2 100644 --- a/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AbstractArchetypeIT.java +++ b/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AbstractArchetypeIT.java @@ -86,7 +86,10 @@ public abstract class AbstractArchetypeIT { * @param logger the {@link Logger} to print the log content */ protected void printVerifierLog(final String prefix, final Verifier verifier, final Logger logger) throws Exception { + logger.info("[{}] - {}", prefix, "Standard output"); verifier.loadFile(verifier.getBasedir(), verifier.getLogFileName(), false).forEach(line -> logger.info("[{}] - {}", prefix, line)); + logger.info("[{}] - {}", prefix, "Error output"); + verifier.loadFile(verifier.getBasedir(), ERROR_FILENAME, false).forEach(line -> logger.info("[{}] - {}", prefix, line)); } private String getCommand() { From c7c4c49446218905157751aa212fceb3559c4710 Mon Sep 17 00:00:00 2001 From: Ole Hejlskov Date: Wed, 9 Jan 2019 18:57:38 +0100 Subject: [PATCH 5/9] Try to force a Maven path from M2_HOME --- .../src/main/resources/archetype-resources/run.sh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh index 20f5217f..1188e9e9 100755 --- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh +++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh @@ -2,7 +2,11 @@ #!/bin/sh export COMPOSE_FILE_PATH=${symbol_dollar}{PWD}/target/classes/docker/docker-compose.yml -mvn -v + + + +${symbol_dollar}M2_HOME/bin/mvn -v 2>&1 + env start() { @@ -33,21 +37,21 @@ purge() { build() { docker rmi alfresco-content-services-${rootArtifactId}:development docker rmi alfresco-share-${rootArtifactId}:development - mvn clean install -DskipTests=true + ${symbol_dollar}M2_HOME/bin/mvn clean install -DskipTests=true } build_share() { docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH kill ${rootArtifactId}-share yes | docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH rm -f ${rootArtifactId}-share docker rmi alfresco-share-${rootArtifactId}:development - mvn clean install -DskipTests=true -pl ${rootArtifactId}-share-jar + ${symbol_dollar}M2_HOME/bin/mvn clean install -DskipTests=true -pl ${rootArtifactId}-share-jar } build_acs() { docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH kill ${rootArtifactId}-acs yes | docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH rm -f ${rootArtifactId}-acs docker rmi alfresco-content-services-${rootArtifactId}:development - mvn clean install -DskipTests=true -pl ${rootArtifactId}-platform-jar + ${symbol_dollar}M2_HOME/bin/mvn clean install -DskipTests=true -pl ${rootArtifactId}-platform-jar } tail() { @@ -59,7 +63,7 @@ tail_all() { } test() { - mvn verify -pl integration-tests + ${symbol_dollar}M2_HOME/bin/mvn verify -pl integration-tests } case "${symbol_dollar}1" in From 6ae42f8fc0d562cf110d6f9d2140908fec7478d3 Mon Sep 17 00:00:00 2001 From: Jose Luis Osorno Date: Wed, 9 Jan 2019 19:27:41 +0100 Subject: [PATCH 6/9] Archetypes - Improve mvn executable localisation Change the run script to use M2_HOME environment variable if it is set to locate the mvn executable. If it is not set, then the script uses a plain mvn command. So if the M2_HOME env variable is not set, then the mvn executable must be in the path. --- .../main/resources/archetype-resources/run.bat | 16 ++++++++++++---- .../main/resources/archetype-resources/run.sh | 18 +++++++++--------- .../main/resources/archetype-resources/run.bat | 12 ++++++++++-- .../main/resources/archetype-resources/run.sh | 10 ++++++++-- .../main/resources/archetype-resources/run.bat | 14 +++++++++++--- .../main/resources/archetype-resources/run.sh | 12 +++++++++--- 6 files changed, 59 insertions(+), 23 deletions(-) diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.bat b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.bat index 1af00c77..9377558c 100644 --- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.bat +++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.bat @@ -3,6 +3,14 @@ SET COMPOSE_FILE_PATH=%CD%\target\classes\docker\docker-compose.yml +IF [%M2_HOME%]==[] ( + SET MVN_EXEC=mvn +) + +IF NOT [%M2_HOME%]==[] ( + SET MVN_EXEC=%M2_HOME%\bin\mvn +) + IF [%1]==[] ( echo "Usage: %0 {build_start|start|stop|purge|tail|reload_share|reload_acs|build_test|test}" GOTO END @@ -80,19 +88,19 @@ EXIT /B 0 :build docker rmi alfresco-content-services-${rootArtifactId}:development docker rmi alfresco-share-${rootArtifactId}:development - call mvn clean install -DskipTests + call "%MVN_EXEC%" clean install -DskipTests EXIT /B 0 :build_share docker-compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-share docker-compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-share docker rmi alfresco-share-${rootArtifactId}:development - call mvn clean install -DskipTests -pl ${rootArtifactId}-share-jar + call "%MVN_EXEC%" clean install -DskipTests -pl ${rootArtifactId}-share-jar EXIT /B 0 :build_acs docker-compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-acs docker-compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-acs docker rmi alfresco-content-services-${rootArtifactId}:development - call mvn clean install -DskipTests -pl ${rootArtifactId}-platform-jar + call "%MVN_EXEC%" clean install -DskipTests -pl ${rootArtifactId}-platform-jar EXIT /B 0 :tail docker-compose -f "%COMPOSE_FILE_PATH%" logs -f @@ -101,7 +109,7 @@ EXIT /B 0 docker-compose -f "%COMPOSE_FILE_PATH%" logs --tail="all" EXIT /B 0 :test - call mvn verify -pl integration-tests + call "%MVN_EXEC%" verify -pl integration-tests EXIT /B 0 :purge docker volume rm ${rootArtifactId}-acs-volume diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh index 1188e9e9..876c1a75 100755 --- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh +++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh @@ -3,11 +3,11 @@ export COMPOSE_FILE_PATH=${symbol_dollar}{PWD}/target/classes/docker/docker-compose.yml - - -${symbol_dollar}M2_HOME/bin/mvn -v 2>&1 - -env +if [[ -z "${symbol_dollar}{M2_HOME}" ]]; then + export MVN_EXEC="mvn" +else + export MVN_EXEC="${symbol_dollar}{M2_HOME}/bin/mvn" +fi start() { docker volume create ${rootArtifactId}-acs-volume @@ -37,21 +37,21 @@ purge() { build() { docker rmi alfresco-content-services-${rootArtifactId}:development docker rmi alfresco-share-${rootArtifactId}:development - ${symbol_dollar}M2_HOME/bin/mvn clean install -DskipTests=true + ${symbol_dollar}MVN_EXEC clean install -DskipTests=true } build_share() { docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH kill ${rootArtifactId}-share yes | docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH rm -f ${rootArtifactId}-share docker rmi alfresco-share-${rootArtifactId}:development - ${symbol_dollar}M2_HOME/bin/mvn clean install -DskipTests=true -pl ${rootArtifactId}-share-jar + ${symbol_dollar}MVN_EXEC clean install -DskipTests=true -pl ${rootArtifactId}-share-jar } build_acs() { docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH kill ${rootArtifactId}-acs yes | docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH rm -f ${rootArtifactId}-acs docker rmi alfresco-content-services-${rootArtifactId}:development - ${symbol_dollar}M2_HOME/bin/mvn clean install -DskipTests=true -pl ${rootArtifactId}-platform-jar + ${symbol_dollar}MVN_EXEC clean install -DskipTests=true -pl ${rootArtifactId}-platform-jar } tail() { @@ -63,7 +63,7 @@ tail_all() { } test() { - ${symbol_dollar}M2_HOME/bin/mvn verify -pl integration-tests + ${symbol_dollar}MVN_EXEC verify -pl integration-tests } case "${symbol_dollar}1" in diff --git a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.bat b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.bat index 2735ac13..3567be9d 100644 --- a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.bat +++ b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.bat @@ -3,6 +3,14 @@ SET COMPOSE_FILE_PATH=%CD%\target\classes\docker\docker-compose.yml +IF [%M2_HOME%]==[] ( + SET MVN_EXEC=mvn +) + +IF NOT [%M2_HOME%]==[] ( + SET MVN_EXEC=%M2_HOME%\bin\mvn +) + IF [%1]==[] ( echo "Usage: %0 {build_start|start|stop|purge|tail|build_test|test}" GOTO END @@ -61,7 +69,7 @@ EXIT /B 0 EXIT /B 0 :build docker rmi alfresco-content-services-${rootArtifactId}:development - call mvn clean install -DskipTests + call "%MVN_EXEC%" clean install -DskipTests EXIT /B 0 :tail docker-compose -f "%COMPOSE_FILE_PATH%" logs -f @@ -70,7 +78,7 @@ EXIT /B 0 docker-compose -f "%COMPOSE_FILE_PATH%" logs --tail="all" EXIT /B 0 :test - call mvn verify + call "%MVN_EXEC%" verify EXIT /B 0 :purge docker volume rm ${rootArtifactId}-acs-volume diff --git a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.sh b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.sh index 1e92d991..bf4fb86f 100755 --- a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.sh +++ b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.sh @@ -3,6 +3,12 @@ export COMPOSE_FILE_PATH=${symbol_dollar}{PWD}/target/classes/docker/docker-compose.yml +if [[ -z "${symbol_dollar}{M2_HOME}" ]]; then + export MVN_EXEC="mvn" +else + export MVN_EXEC="${symbol_dollar}{M2_HOME}/bin/mvn" +fi + start() { docker volume create ${rootArtifactId}-acs-volume docker volume create ${rootArtifactId}-db-volume @@ -22,7 +28,7 @@ purge() { build() { docker rmi alfresco-content-services-${rootArtifactId}:development - mvn clean install -DskipTests=true + ${symbol_dollar}MVN_EXEC clean install -DskipTests=true } tail() { @@ -34,7 +40,7 @@ tail_all() { } test() { - mvn verify + ${symbol_dollar}MVN_EXEC verify } case "${symbol_dollar}1" in diff --git a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.bat b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.bat index 6a3e73f8..e4196512 100644 --- a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.bat +++ b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.bat @@ -3,6 +3,14 @@ SET COMPOSE_FILE_PATH=%CD%\target\classes\docker\docker-compose.yml +IF [%M2_HOME%]==[] ( + SET MVN_EXEC=mvn +) + +IF NOT [%M2_HOME%]==[] ( + SET MVN_EXEC=%M2_HOME%\bin\mvn +) + IF [%1]==[] ( echo "Usage: %0 {build_start|start|stop|purge|tail|reload_share|build_test|test}" GOTO END @@ -71,13 +79,13 @@ EXIT /B 0 :build docker rmi alfresco-content-services-${rootArtifactId}:development docker rmi alfresco-share-${rootArtifactId}:development - call mvn clean install -DskipTests + call "%MVN_EXEC%" clean install -DskipTests EXIT /B 0 :build_share docker-compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-share docker-compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-share docker rmi alfresco-share-${rootArtifactId}:development - call mvn clean install -DskipTests + call "%MVN_EXEC%" clean install -DskipTests EXIT /B 0 :tail docker-compose -f "%COMPOSE_FILE_PATH%" logs -f @@ -86,7 +94,7 @@ EXIT /B 0 docker-compose -f "%COMPOSE_FILE_PATH%" logs --tail="all" EXIT /B 0 :test - call mvn verify + call "%MVN_EXEC%" verify EXIT /B 0 :purge docker volume rm ${rootArtifactId}-acs-volume diff --git a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.sh b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.sh index 135f8f54..2e0b0374 100755 --- a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.sh +++ b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.sh @@ -3,6 +3,12 @@ export COMPOSE_FILE_PATH=${symbol_dollar}{PWD}/target/classes/docker/docker-compose.yml +if [[ -z "${symbol_dollar}{M2_HOME}" ]]; then + export MVN_EXEC="mvn" +else + export MVN_EXEC="${symbol_dollar}{M2_HOME}/bin/mvn" +fi + start() { docker volume create ${rootArtifactId}-acs-volume docker volume create ${rootArtifactId}-db-volume @@ -26,14 +32,14 @@ purge() { build() { docker rmi alfresco-share-${rootArtifactId}:development - mvn clean install -DskipTests=true + ${symbol_dollar}MVN_EXEC clean install -DskipTests=true } build_share() { docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH kill ${rootArtifactId}-share yes | docker-compose -f ${symbol_dollar}COMPOSE_FILE_PATH rm -f ${rootArtifactId}-share docker rmi alfresco-share-${rootArtifactId}:development - mvn clean install -DskipTests=true + ${symbol_dollar}MVN_EXEC clean install -DskipTests=true } tail() { @@ -45,7 +51,7 @@ tail_all() { } test() { - mvn verify + ${symbol_dollar}MVN_EXEC verify } case "${symbol_dollar}1" in From a2b5e64848ded321c6e9bf802b4165cb78a164cf Mon Sep 17 00:00:00 2001 From: Jose Luis Osorno Date: Wed, 9 Jan 2019 20:39:52 +0100 Subject: [PATCH 7/9] Archetypes - Fix bash scripts --- .../src/main/resources/archetype-resources/run.sh | 2 +- .../src/main/resources/archetype-resources/run.sh | 2 +- .../src/main/resources/archetype-resources/run.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh index 876c1a75..86a1ab0d 100755 --- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh +++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.sh @@ -3,7 +3,7 @@ export COMPOSE_FILE_PATH=${symbol_dollar}{PWD}/target/classes/docker/docker-compose.yml -if [[ -z "${symbol_dollar}{M2_HOME}" ]]; then +if [ -z "${symbol_dollar}{M2_HOME}" ]; then export MVN_EXEC="mvn" else export MVN_EXEC="${symbol_dollar}{M2_HOME}/bin/mvn" diff --git a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.sh b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.sh index bf4fb86f..7192937a 100755 --- a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.sh +++ b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.sh @@ -3,7 +3,7 @@ export COMPOSE_FILE_PATH=${symbol_dollar}{PWD}/target/classes/docker/docker-compose.yml -if [[ -z "${symbol_dollar}{M2_HOME}" ]]; then +if [ -z "${symbol_dollar}{M2_HOME}" ]; then export MVN_EXEC="mvn" else export MVN_EXEC="${symbol_dollar}{M2_HOME}/bin/mvn" diff --git a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.sh b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.sh index 2e0b0374..86ac8474 100755 --- a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.sh +++ b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.sh @@ -3,7 +3,7 @@ export COMPOSE_FILE_PATH=${symbol_dollar}{PWD}/target/classes/docker/docker-compose.yml -if [[ -z "${symbol_dollar}{M2_HOME}" ]]; then +if [ -z "${symbol_dollar}{M2_HOME}" ]; then export MVN_EXEC="mvn" else export MVN_EXEC="${symbol_dollar}{M2_HOME}/bin/mvn" From 424e6a5a2638f8e760a7015a1428441413fb8ad8 Mon Sep 17 00:00:00 2001 From: Jose Luis Osorno Date: Thu, 10 Jan 2019 07:35:55 +0100 Subject: [PATCH 8/9] Archetypes - Fix batch scripts --- .../src/main/resources/archetype-resources/run.bat | 8 ++++---- .../src/main/resources/archetype-resources/run.bat | 4 ++-- .../src/main/resources/archetype-resources/run.bat | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.bat b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.bat index 9377558c..0d40a2fc 100644 --- a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.bat +++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/run.bat @@ -88,19 +88,19 @@ EXIT /B 0 :build docker rmi alfresco-content-services-${rootArtifactId}:development docker rmi alfresco-share-${rootArtifactId}:development - call "%MVN_EXEC%" clean install -DskipTests + call %MVN_EXEC% clean install -DskipTests EXIT /B 0 :build_share docker-compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-share docker-compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-share docker rmi alfresco-share-${rootArtifactId}:development - call "%MVN_EXEC%" clean install -DskipTests -pl ${rootArtifactId}-share-jar + call %MVN_EXEC% clean install -DskipTests -pl ${rootArtifactId}-share-jar EXIT /B 0 :build_acs docker-compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-acs docker-compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-acs docker rmi alfresco-content-services-${rootArtifactId}:development - call "%MVN_EXEC%" clean install -DskipTests -pl ${rootArtifactId}-platform-jar + call %MVN_EXEC% clean install -DskipTests -pl ${rootArtifactId}-platform-jar EXIT /B 0 :tail docker-compose -f "%COMPOSE_FILE_PATH%" logs -f @@ -109,7 +109,7 @@ EXIT /B 0 docker-compose -f "%COMPOSE_FILE_PATH%" logs --tail="all" EXIT /B 0 :test - call "%MVN_EXEC%" verify -pl integration-tests + call %MVN_EXEC% verify -pl integration-tests EXIT /B 0 :purge docker volume rm ${rootArtifactId}-acs-volume diff --git a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.bat b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.bat index 3567be9d..4e07e284 100644 --- a/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.bat +++ b/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/run.bat @@ -69,7 +69,7 @@ EXIT /B 0 EXIT /B 0 :build docker rmi alfresco-content-services-${rootArtifactId}:development - call "%MVN_EXEC%" clean install -DskipTests + call %MVN_EXEC% clean install -DskipTests EXIT /B 0 :tail docker-compose -f "%COMPOSE_FILE_PATH%" logs -f @@ -78,7 +78,7 @@ EXIT /B 0 docker-compose -f "%COMPOSE_FILE_PATH%" logs --tail="all" EXIT /B 0 :test - call "%MVN_EXEC%" verify + call %MVN_EXEC% verify EXIT /B 0 :purge docker volume rm ${rootArtifactId}-acs-volume diff --git a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.bat b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.bat index e4196512..b7d79d74 100644 --- a/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.bat +++ b/archetypes/alfresco-share-jar-archetype/src/main/resources/archetype-resources/run.bat @@ -79,13 +79,13 @@ EXIT /B 0 :build docker rmi alfresco-content-services-${rootArtifactId}:development docker rmi alfresco-share-${rootArtifactId}:development - call "%MVN_EXEC%" clean install -DskipTests + call %MVN_EXEC% clean install -DskipTests EXIT /B 0 :build_share docker-compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-share docker-compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-share docker rmi alfresco-share-${rootArtifactId}:development - call "%MVN_EXEC%" clean install -DskipTests + call %MVN_EXEC% clean install -DskipTests EXIT /B 0 :tail docker-compose -f "%COMPOSE_FILE_PATH%" logs -f @@ -94,7 +94,7 @@ EXIT /B 0 docker-compose -f "%COMPOSE_FILE_PATH%" logs --tail="all" EXIT /B 0 :test - call "%MVN_EXEC%" verify + call %MVN_EXEC% verify EXIT /B 0 :purge docker volume rm ${rootArtifactId}-acs-volume From 49b489f18113cde071a8d05001ad104269048f44 Mon Sep 17 00:00:00 2001 From: Jose Luis Osorno Date: Thu, 10 Jan 2019 07:36:16 +0100 Subject: [PATCH 9/9] Archetypes - Change log message to trace Change the log message showing the environment variables of the ProcessBuilder to trace. --- .../java/org/alfresco/maven/archetype/AbstractArchetypeIT.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AbstractArchetypeIT.java b/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AbstractArchetypeIT.java index 0b6ce8a2..c5f89ded 100644 --- a/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AbstractArchetypeIT.java +++ b/archetypes/archetypes-it/src/test/java/org/alfresco/maven/archetype/AbstractArchetypeIT.java @@ -71,7 +71,7 @@ public abstract class AbstractArchetypeIT { */ protected ProcessBuilder getProcessBuilder(final String goalToExecute) { ProcessBuilder pb = new ProcessBuilder(getCommand(), goalToExecute); - LOG.info("ProcessBuilder environment: {}", pb.environment().toString()); + LOG.trace("ProcessBuilder environment: {}", pb.environment().toString()); pb.directory(new File(projectPath)); pb.redirectOutput(new File(projectPath + File.separator + LOG_FILENAME)); pb.redirectError(new File(projectPath + File.separator + ERROR_FILENAME));