diff --git a/Dockerfile b/Dockerfile index 8e0598c4b..438635e18 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,9 +33,11 @@ FROM maven:3-jdk-8 AS builder # Install firefox browser for sake of JavaScript unit tests RUN apt-get update && apt-get install -y firefox-esr -# Use args to build radius auth extension such as -# `--build-arg BUILD_PROFILE=lgpl-extensions` -ARG BUILD_PROFILE +# Arbitrary arguments that can be passed to the maven build. By default, an +# argument will be provided to explicitly unskip any skipped tests. To, for +# example, allow the building of the RADIUS auth extension, pass a build profile +# as well: `--build-arg MAVEN_ARGUMENTS="-P lgpl-extensions -DskipTests=false"`. +ARG MAVEN_ARGUMENTS="-DskipTests=false" # Build environment variables ENV \ @@ -48,7 +50,7 @@ COPY guacamole-docker/bin/ /opt/guacamole/bin/ COPY . "$BUILD_DIR" # Run the build itself -RUN /opt/guacamole/bin/build-guacamole.sh "$BUILD_DIR" /opt/guacamole "$BUILD_PROFILE" +RUN /opt/guacamole/bin/build-guacamole.sh "$BUILD_DIR" /opt/guacamole # For the runtime image, we start with the official Tomcat distribution FROM tomcat:${TOMCAT_VERSION}-${TOMCAT_JRE} diff --git a/guacamole-common-js/.gitignore b/guacamole-common-js/.gitignore index 876bf8396..cc194bb9a 100644 --- a/guacamole-common-js/.gitignore +++ b/guacamole-common-js/.gitignore @@ -1,5 +1,4 @@ node/ node_modules/ target/ -.tmp/ *~ diff --git a/guacamole-common-js/pom.xml b/guacamole-common-js/pom.xml index ee969b183..549942605 100644 --- a/guacamole-common-js/pom.xml +++ b/guacamole-common-js/pom.xml @@ -44,7 +44,13 @@ between karma and firefox. The default location, /tmp, does not work if firefox is installed via snap. --> - ${project.basedir}/.tmp + ${project.build.directory}/tmp + + + true @@ -125,18 +131,29 @@ + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + ${skipTests} + + + org.apache.maven.plugins maven-antrun-plugin + 3.1.0 createFirefoxTempdir - test-compile + test - + - + run @@ -174,7 +191,7 @@ install node and npm - test-compile + test install-node-and-npm @@ -183,7 +200,7 @@ npm install - test-compile + test npm diff --git a/guacamole-docker/bin/build-guacamole.sh b/guacamole-docker/bin/build-guacamole.sh index 7924c4e44..090924186 100755 --- a/guacamole-docker/bin/build-guacamole.sh +++ b/guacamole-docker/bin/build-guacamole.sh @@ -38,15 +38,9 @@ ## subdirectories within this directory, and files will thus be grouped by ## extension type. ## -## @param BUILD_PROFILE -## The build profile that will be passed to Maven build process. Defaults -## to empty string. Can be set to "lgpl-extensions" to e.g. include -## RADIUS authentication extension. -## BUILD_DIR="$1" DESTINATION="$2" -BUILD_PROFILE="$3" # # Create destination, if it does not yet exist @@ -60,16 +54,11 @@ mkdir -p "$DESTINATION" cd "$BUILD_DIR" -# Required for build leveraging PhantomJS for unit testing (without this, the -# build fails with "libssl_conf.so: cannot open shared object file: No such -# file or directory") -export OPENSSL_CONF=/etc/ssl +# +# Run the maven build, applying any arbitrary provided maven arguments. +# -if [ -z "$BUILD_PROFILE" ]; then - mvn package -else - mvn -P "$BUILD_PROFILE" package -fi +mvn $MAVEN_ARGUMENTS package # # Copy guacamole.war to destination