PromucFlow_constructor/app/server/build.sh
2023-01-06 22:20:58 +05:30

56 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
set -o errexit
min_java_major_version=17
maven_version_output="$(mvn --version)"
echo "$maven_version_output"
if [[ "$maven_version_output" != *"Java version: $min_java_major_version."* ]]; then
echo $'\n'"Maven is not using Java $min_java_major_version. Please install Java $min_java_major_version and set it as the default Java version." >&2
exit 1
fi
# Remove previous dist directory
rm -rf dist/
is_tests_enabled=true
for i in "$@"; do
if [[ $i == "-DskipTests" ]]; then
is_tests_enabled=false
break
fi
done
if $is_tests_enabled; then
# If tests will be run, let's pull some required images that often fail to be pulled from inside Maven's test run.
docker image pull testcontainers/ryuk:0.3.0
fi
if [[ -f .env ]]; then
echo "Found a .env file, loading environment variables from that file."
set -o allexport
source .env
fi
# Build the code. $@ accepts all the parameters from the input command line and uses it in the maven build command
mvn clean package "$@"
if [[ $? -eq 0 ]]; then
echo "mvn Successful"
else
echo "mvn Failed"
exit 1
fi
# Create the dist directory
mkdir -p dist/plugins
# Copy the server jar
cp -v ./appsmith-server/target/server-*.jar dist/
# Copy all the plugins
rsync -av --exclude "original-*.jar" ./appsmith-plugins/*/target/*.jar dist/plugins/