diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..b4dc5a1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,48 @@ +dist: xenial +sudo: required +language: java +jdk: + - openjdk11 + +cache: + directories: + - $HOME/.m2 + +branches: + only: + - develop + - master + - dev-travis-migration + +before_install: + - "cp _ci/.travis.settings.xml $HOME/.m2/settings.xml" + +install: travis_retry mvn install -DskipTests=true -B -V + +stages: + - build + - release + +jobs: + include: + - name: "Build" + stage: build + + - name: "Source Clear Scan (SCA)" + stage: build + # only on SP branches or master and if it is not a PR + if: type != pull_request + # Run Veracode + install: skip + script: travis_wait 30 bash _ci/source_clear.sh + + - stage: release + name: "Push to Nexus" + if: type != pull_request AND commit_message ~ /\[release\]/ + script: + # Use full history for release + - git checkout -B "${TRAVIS_BRANCH}" + # Add email to link commits to user + - git config user.email "${GIT_EMAIL}" + # Skip building of release commits + - mvn --batch-mode -q -DscmCommentPrefix="[maven-release-plugin][skip ci] " -Dusername="${GIT_USERNAME}" -Dpassword="${GIT_PASSWORD}" -DskipTests -Darguments=-DskipTests release:clean release:prepare release:perform diff --git a/_ci/.travis.settings.xml b/_ci/.travis.settings.xml new file mode 100644 index 0000000..38c440b --- /dev/null +++ b/_ci/.travis.settings.xml @@ -0,0 +1,50 @@ + + + + alfresco-internal + + true + + + + alfresco-internal + + true + + + true + + Alfresco Internal Repository + https://artifacts.alfresco.com/nexus/content/groups/internal + + + + + alfresco-internal + Alfresco Internal Repository + https://artifacts.alfresco.com/nexus/content/groups/public + + + + + + + + + docker.io + ${env.DOCKERHUB_USERNAME} + ${env.DOCKERHUB_PASSWORD} + + + quay.io + ${env.QUAY_USERNAME} + ${env.QUAY_PASSWORD} + + + alfresco-internal + ${env.MAVEN_USERNAME} + ${env.MAVEN_PASSWORD} + + + + diff --git a/_ci/source_clear.sh b/_ci/source_clear.sh new file mode 100644 index 0000000..5ad4a37 --- /dev/null +++ b/_ci/source_clear.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +echo "=========================== Starting SourceClear Script ===========================" +PS4="\[\e[35m\]+ \[\e[m\]" +set +e -v -x +pushd "$(dirname "${BASH_SOURCE[0]}")/../" + +mvn -B -q clean install \ + -DskipTests \ + -Dmaven.javadoc.skip=true \ + com.srcclr:srcclr-maven-plugin:scan \ + -Dcom.srcclr.apiToken=$SRCCLR_API_TOKEN > scan.log + +SUCCESS=$? # this will read exit code of the previous command + +cat scan.log | grep -e 'Full Report Details' -e 'Failed' + +popd +set +vex +echo "=========================== Finishing SourceClear Script ==========================" + +exit ${SUCCESS} \ No newline at end of file diff --git a/pom.xml b/pom.xml index f23ec09..e42c162 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ 1.7.7 0.9.29 5.0.4.RELEASE - 2.0.0.M4 + 1.1.6.RELEASE 2.9.5 0.9.4 4.10