37 lines
998 B
Bash
37 lines
998 B
Bash
|
#!/bin/bash
|
||
|
set -euxo pipefail
|
||
|
|
||
|
# Java 14+ java.lang.Record is ambiguous with hssf.Record :'(
|
||
|
[ $JAVA_VERSION -lt 7 -o $JAVA_VERSION -gt 13 ] && echo "build does not support JAVA_VERSION: $JAVA_VERSION" && exit 0
|
||
|
|
||
|
echo "starting build for JAVA_VERSION: $JAVA_VERSION"
|
||
|
|
||
|
# grab all deps with java 8
|
||
|
[ $JAVA_VERSION -eq 7 ] && run-java 8 mvn dependency:go-offline
|
||
|
|
||
|
# install deps
|
||
|
mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
|
||
|
|
||
|
if [ $JAVA_VERSION -lt 12 ]
|
||
|
then
|
||
|
# clean and test
|
||
|
mvn clean test -B
|
||
|
else
|
||
|
# clean and test
|
||
|
mvn clean test -B -Djava.version=7 # java12+ minimum target is 7, not 6
|
||
|
fi
|
||
|
|
||
|
# publish only from java 6 and master branch
|
||
|
if [ "$BRANCH_NAME" == "master" -a $JAVA_VERSION -eq 7 ]
|
||
|
then
|
||
|
echo 'deploying to maven'
|
||
|
# java 7 cannot do modern SSL, use java 8 to deploy
|
||
|
run-java 8 mvn deploy -Dmaven.test.skip=true -B
|
||
|
|
||
|
mkdir -p release
|
||
|
find -type f -name '*.jar' -print0 | xargs -0n1 -I {} mv '{}' 'release/'
|
||
|
fi
|
||
|
|
||
|
echo 'build success!'
|
||
|
exit 0
|