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