mirror of
https://github.com/Alfresco/acs-community-packaging.git
synced 2025-09-10 14:12:09 +00:00
Original version was: 7.0.0-A3 (but keystore changes where cherry picked into the branch) Uses alfresco-community-repo project structure rather than alfresco-core, alfresco-data-model, alfresco-repository and alfresco-remote-api. Simplify dependencies, which flow downstream rather than being overridden in packaging. Content repo base image separated from acs-community-packaging. Licenses and default key store moved upstream. Allows use in upstream images. TAS tests moved upstream, where they are content repository specific.
54 lines
2.4 KiB
Bash
54 lines
2.4 KiB
Bash
#!/usr/bin/env bash
|
|
echo "=========================== Starting Build Script ==========================="
|
|
PS4="\[\e[35m\]+ \[\e[m\]"
|
|
set -vex
|
|
pushd "$(dirname "${BASH_SOURCE[0]}")/../../"
|
|
|
|
source "$(dirname "${BASH_SOURCE[0]}")/build_functions.sh"
|
|
|
|
DEPENDENCY_VERSION="$(retrievePomProperty "dependency.alfresco-community-repo.version")"
|
|
|
|
# Either both the parent and the upstream dependency are the same, or else fail the build
|
|
if [ "${DEPENDENCY_VERSION}" != "$(retrievePomParentVersion)" ]; then
|
|
printf "Upstream dependency version (%s) is different then the project parent version!\n" "${DEPENDENCY_VERSION}"
|
|
exit 1
|
|
fi
|
|
|
|
# Prevent merging of any SNAPSHOT dependencies into the master or the release/* branches
|
|
if [[ $(isPullRequestBuild) && "${DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ && "${TRAVIS_BRANCH}" =~ ^master$|^release/.+$ ]] ; then
|
|
printf "PRs with SNAPSHOT dependencies are not allowed into master or release branches\n"
|
|
exit 1
|
|
fi
|
|
|
|
# Prevent release jobs from starting when there are SNAPSHOT upstream dependencies
|
|
if [[ "${DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && [ "${TRAVIS_BUILD_STAGE_NAME,,}" = "release" ] ; then
|
|
printf "Cannot release project with SNAPSHOT dependencies!\n"
|
|
exit 1
|
|
fi
|
|
|
|
UPSTREAM_REPO="github.com/Alfresco/alfresco-community-repo.git"
|
|
|
|
# For release jobs, check if the upstream dependency is the latest tag on the upstream repository (on the same branch)
|
|
if isBranchBuild && [ "${TRAVIS_BUILD_STAGE_NAME,,}" = "release" ] && [ "${DEPENDENCY_VERSION}" != "$(retieveLatestTag "${UPSTREAM_REPO}" "${TRAVIS_BRANCH}")" ] ; then
|
|
printf "Upstream dependency is not up to date with %s / %s\n" "${UPSTREAM_REPO}" "${TRAVIS_BRANCH}"
|
|
exit 1
|
|
fi
|
|
|
|
# Search, checkout and build the same branch on the upstream project in case of SNAPSHOT dependencies
|
|
# Otherwise, checkout the upstream tag and build its Docker image (use just "mvn package", without "mvn install")
|
|
if [[ "${DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] ; then
|
|
pullAndBuildSameBranchOnUpstream "${UPSTREAM_REPO}" "-PcommunityDocker"
|
|
else
|
|
pullUpstreamTagAndBuildDockerImage "${UPSTREAM_REPO}" "${DEPENDENCY_VERSION}" "-PcommunityDocker"
|
|
fi
|
|
|
|
# Build the current project
|
|
mvn -B -V -q install -DskipTests -Dmaven.javadoc.skip=true -PcommunityDocker \
|
|
$([[ "${DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && echo "-Drepo.image.tag=latest")
|
|
|
|
|
|
popd
|
|
set +vex
|
|
echo "=========================== Finishing Build Script =========================="
|
|
|