2019-09-16 11:21:57 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
2023-01-06 16:50:58 +00:00
|
|
|
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
|
|
|
|
|
|
2019-09-16 11:21:57 +00:00
|
|
|
# Remove previous dist directory
|
2020-06-10 11:11:23 +00:00
|
|
|
rm -rf dist/
|
2019-09-16 11:21:57 +00:00
|
|
|
|
2022-07-19 04:53:27 +00:00
|
|
|
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
|
|
|
|
|
|
2022-08-22 17:57:07 +00:00
|
|
|
if [[ -f .env ]]; then
|
|
|
|
|
echo "Found a .env file, loading environment variables from that file."
|
|
|
|
|
set -o allexport
|
|
|
|
|
source .env
|
|
|
|
|
fi
|
|
|
|
|
|
2024-04-19 04:31:09 +00:00
|
|
|
node scripts/check-field-constants.mjs
|
2022-08-22 17:57:07 +00:00
|
|
|
|
2019-09-16 11:21:57 +00:00
|
|
|
# Build the code. $@ accepts all the parameters from the input command line and uses it in the maven build command
|
|
|
|
|
mvn clean package "$@"
|
|
|
|
|
|
2022-07-19 04:53:27 +00:00
|
|
|
if [[ $? -eq 0 ]]; then
|
2021-09-21 12:05:29 +00:00
|
|
|
echo "mvn Successful"
|
2021-07-26 00:07:10 +00:00
|
|
|
else
|
|
|
|
|
echo "mvn Failed"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2019-09-16 11:21:57 +00:00
|
|
|
# Create the dist directory
|
|
|
|
|
mkdir -p dist/plugins
|
|
|
|
|
|
|
|
|
|
# Copy the server jar
|
2021-09-21 10:29:14 +00:00
|
|
|
cp -v ./appsmith-server/target/server-*.jar dist/
|
2019-09-16 11:21:57 +00:00
|
|
|
|
|
|
|
|
# Copy all the plugins
|
2020-06-10 11:11:23 +00:00
|
|
|
rsync -av --exclude "original-*.jar" ./appsmith-plugins/*/target/*.jar dist/plugins/
|