diff --git a/.travis.settings.xml b/.travis.settings.xml
index 48b88983e..a0294237a 100644
--- a/.travis.settings.xml
+++ b/.travis.settings.xml
@@ -25,6 +25,10 @@
https://artifacts.alfresco.com/nexus/content/groups/public
+
+
+ ${env.WHITESOURCE_API_KEY}
+
diff --git a/.travis.yml b/.travis.yml
index fc3d4af51..cb6d88c54 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,166 +1,151 @@
-dist: xenial
-os: linux
-language: java
-jdk:
- - openjdk11
-
-services:
- - docker
-
-cache:
- directories:
- - $HOME/.m2
-
-before_cache:
- - rm -rf $HOME/.m2/repository/org/alfresco/acs-community-packaging
-
-env:
- global:
- - TAS_SCRIPTS=../alfresco-community-repo/packaging/tests/scripts
- - TAS_ENVIRONMENT=./tests/environment
- # Edition
- - VERSION_EDITION=Community
- # Must be in the format - ie. 6.3.0-repo-xxxx-x or 6.3.0-Ax
- - RELEASE_VERSION=6.2.2-RC1
- - DEVELOPMENT_VERSION=7.0.0-SNAPSHOT
-
-branches:
- only:
- - master
- - develop
- - feature/REPO-5111_repo_build
-
-stages:
- - name: test
- if: commit_message !~ /\[skip tests\]/
- - release
- - publish
-
-before_install:
- - "cp .travis.settings.xml $HOME/.m2/settings.xml"
- - pushd ..
-# - git clone -b ${TRAVIS_BRANCH} https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/Alfresco/alfresco-community-repo.git
- - git clone https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/Alfresco/alfresco-community-repo.git
- - cd alfresco-community-repo
- - travis_retry mvn install -DskipTests -PcommunityDocker -B -V
- - travis_retry mvn install -f packaging/tests/pom.xml -DskipTests -B -V
- - popd
-
-jobs:
- include:
- - stage: test
- name: "WhiteSource scan"
- # only on master or develop and if it is not a PR
- if: fork = false AND branch =~ ^(master|develop)$ AND type != pull_request
- install:
- - travis_retry travis_wait 30 mvn -q install "-Dversion.edition=${VERSION_EDITION}" -f war/pom.xml
- script:
- # Download the latest version of WhiteSource Unified Agent
- - curl -LJO https://github.com/whitesource/unified-agent-distribution/releases/latest/download/wss-unified-agent.jar
- # Run WhiteSource Unified Agent
- - java -jar wss-unified-agent.jar -apiKey ${WHITESOURCE_API_KEY} -c .wss-unified-agent.config -d ./war
-
- - name: "REST API TAS tests part1"
- jdk: openjdk11
- install:
- - travis_retry travis_wait 40 mvn install -q "-Dversion.edition=${VERSION_EDITION}" -Dmaven.javadoc.skip=true -PcommunityDocker
- - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
- - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
- script:
- - travis_wait 60 mvn install -f tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part1 -Denvironment=default -DrunBugs=false
-
- - name: "REST API TAS tests part2"
- jdk: openjdk11
- install:
- - travis_retry travis_wait 40 mvn install -q "-Dversion.edition=${VERSION_EDITION}" -Dmaven.javadoc.skip=true -PcommunityDocker
- - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
- - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
- script:
- - travis_wait 60 mvn install -f tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part2 -Denvironment=default -DrunBugs=false
-
- - name: "REST API TAS tests part3"
- jdk: openjdk11
- install:
- - travis_retry travis_wait 40 mvn install -q "-Dversion.edition=${VERSION_EDITION}" -Dmaven.javadoc.skip=true -PcommunityDocker
- - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
- - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
- script:
- - travis_wait 60 mvn install -f tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part3 -Denvironment=default -DrunBugs=false
-
- - name: "CMIS TAS tests"
- jdk: openjdk11
- install:
- - travis_retry travis_wait 40 mvn install -q "-Dversion.edition=${VERSION_EDITION}" -Dmaven.javadoc.skip=true -PcommunityDocker
- - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
- - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
- script:
- - travis_wait 40 mvn install -f tests/tas-cmis/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
-
- - name: "Email TAS tests"
- jdk: openjdk11
- install:
- - travis_retry travis_wait 40 mvn install -q "-Dversion.edition=${VERSION_EDITION}" -Dmaven.javadoc.skip=true -PcommunityDocker
- - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
- - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
- script:
- - travis_wait 30 mvn install -f tests/tas-email/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
-
- - name: "WebDAV TAS tests"
- jdk: openjdk11
- install:
- - travis_retry travis_wait 40 mvn install -q "-Dversion.edition=${VERSION_EDITION}" -Dmaven.javadoc.skip=true -PcommunityDocker
- - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
- - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
- script:
- - travis_wait 20 mvn install -f tests/tas-webdav/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
-
- - name: "Integration TAS tests"
- jdk: openjdk11
- install:
- - travis_retry travis_wait 40 mvn install -q "-Dversion.edition=${VERSION_EDITION}" -Dmaven.javadoc.skip=true -PcommunityDocker
- - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
- - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
- script:
- - travis_wait 30 mvn install -f tests/tas-integration/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
-
- - stage: Release
- name: "Maven release"
- if: commit_message ~= /\[release\]/ AND fork = false AND branch =~ ^(master|develop)$ AND type != pull_request
- install: travis_retry travis_wait 40 mvn clean install -DskipTests=true "-Dversion.edition=${VERSION_EDITION}" -Dmaven.javadoc.skip=true -B -V
- # Fail the job if there is a docker image tag that matches the RELEASE_VERSION (or project version in the POM if not set)
- before_script: ./scripts/travis/verify_release_tag.sh
- script: travis_wait 40 ./scripts/travis/maven_release.sh ${RELEASE_VERSION} ${DEVELOPMENT_VERSION}
- # Copy alfresco.war and the distribution zip to deploy_dir
- before_deploy:
- # Move the final artifacts to a single folder (deploy_dir) to be copied to S3
- - mkdir -p deploy_dir
- - cp war/target/alfresco.war deploy_dir
- - cp distribution/target/*-distribution*.zip deploy_dir
- deploy:
- - provider: s3
- access_key_id: ${AWS_STAGING_ACCESS_KEY}
- secret_access_key: ${AWS_STAGING_SECRET_KEY}
- bucket: "alfresco-artefacts-staging"
- region: "eu-west-1"
- skip_cleanup: true
- acl: private
- local_dir: deploy_dir
- upload_dir: "alfresco-content-services-community/release/${TRAVIS_BRANCH}/${TRAVIS_BUILD_NUMBER}"
- on:
- all_branches: true
- condition: $TRAVIS_BRANCH =~ ^(master|develop)$
-
- - stage: "Publish"
- name: "Copy to S3 Release"
- if: commit_message ~= /\[publish\]/ AND fork = false AND branch = master AND type != pull_request
- # Nothing to build/install as we are just copying from S3 buckets
- install: skip
- script: skip
- before_deploy: pip install awscli
- deploy:
- - provider: script
- script: ./scripts/travis/copy_to_release_bucket.sh ${TRAVIS_BUILD_NUMBER} ${TRAVIS_BRANCH}
- on:
- branch: master
-
-
+---
+dist: xenial
+language: java
+jdk: openjdk11
+
+services:
+ - docker
+
+git:
+ depth: false
+ quiet: true
+
+cache:
+ directories:
+ - ${HOME}/.m2/repository
+
+# the cache can grow constantly
+before_cache: bash scripts/travis/cleanup_cache.sh
+
+branches:
+ only:
+ - master
+ - develop
+ - /release\/.*/
+ - feature/REPO-5111_repo_build
+ - feature/ACS-457_travis-release-config
+
+env:
+ global:
+ - TAS_SCRIPTS=../alfresco-community-repo/packaging/tests/scripts
+ - TAS_ENVIRONMENT=./tests/environment
+ # Must be in the format - ie. 6.3.0-repo-xxxx-x or 6.3.0-Ax
+ - RELEASE_VERSION=7.0.0-TEST1
+ - DEVELOPMENT_VERSION=7.0.0-TEST1-SNAPSHOT
+
+stages:
+ - name: test
+ if: commit_message !~ /\[skip tests\]/
+ - name: docker_latest
+ if: fork = false AND type != pull_request AND branch = master
+ - name: release
+ if: commit_message ~= /\[release\]/ AND fork = false AND type != pull_request AND (branch =~ ^(master|develop)$ OR branch =~ /release\/.*/)
+ - name: publish
+ if: commit_message ~= /\[publish\]/ AND fork = false AND type != pull_request AND (branch =~ ^(master|develop)$ OR branch =~ /release\/.*/)
+
+before_install: travis_retry bash scripts/travis/init.sh
+install: travis_retry travis_wait 40 bash scripts/travis/build.sh
+
+jobs:
+ include:
+ - name: "WhiteSource scan"
+ stage: test
+ # only on master or develop and if it is not a PR
+ if: fork = false AND branch =~ ^(master|develop)$ AND type != pull_request
+ install: travis_retry travis_wait 30 mvn -B -q install -f war/pom.xml
+ script:
+ # Download the latest version of WhiteSource Unified Agent
+ - curl -LJO https://github.com/whitesource/unified-agent-distribution/releases/latest/download/wss-unified-agent.jar
+ # Run WhiteSource Unified Agent
+ - java -jar wss-unified-agent.jar -apiKey ${WHITESOURCE_API_KEY} -c .wss-unified-agent.config -d ./war
+
+ - name: "REST API TAS tests part1"
+ before_script:
+ - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
+ - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
+ script:
+ - travis_wait 60 mvn -B install -f tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part1 -Denvironment=default -DrunBugs=false
+
+ - name: "REST API TAS tests part2"
+ before_script:
+ - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
+ - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
+ script:
+ - travis_wait 60 mvn -B install -f tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part2 -Denvironment=default -DrunBugs=false
+
+ - name: "REST API TAS tests part3"
+ before_script:
+ - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
+ - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
+ script:
+ - travis_wait 60 mvn -B install -f tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part3 -Denvironment=default -DrunBugs=false
+
+ - name: "CMIS TAS tests"
+ before_script:
+ - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
+ - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
+ script:
+ - travis_wait 40 mvn -B install -f tests/tas-cmis/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
+
+ - name: "Email TAS tests"
+ before_script:
+ - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
+ - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
+ script:
+ - travis_wait 30 mvn -B install -f tests/tas-email/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
+
+ - name: "WebDAV TAS tests"
+ before_script:
+ - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
+ - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
+ script:
+ - travis_wait 20 mvn -B install -f tests/tas-webdav/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
+
+ - name: "Integration TAS tests"
+ before_script:
+ - ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
+ - ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
+ script:
+ - travis_wait 30 mvn -B install -f tests/tas-integration/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
+
+ - name: "Update Docker latest images"
+ stage: docker_latest
+ script: travis_retry travis_wait 30 mvn -B -V clean install -DskipTests -Dmaven.javadoc.skip=true -Pinternal
+
+ - name: "Release and Copy to S3 Staging"
+ stage: release
+ install: travis_retry travis_wait 40 mvn -B -V clean install -DskipTests -Dmaven.javadoc.skip=true
+ before_script: bash scripts/travis/verify_release_tag.sh
+ script: travis_wait 40 bash scripts/travis/maven_release.sh
+ before_deploy:
+ # Move the final artifacts to a single folder (deploy_dir) to be copied to S3
+ - mkdir -p deploy_dir
+ - cp distribution/target/alfresco.war deploy_dir
+ - cp distribution/target/*-distribution*.zip deploy_dir
+ deploy:
+ - provider: s3
+ access_key_id: "${AWS_STAGING_ACCESS_KEY}"
+ secret_access_key: "${AWS_STAGING_SECRET_KEY}"
+ bucket: "alfresco-artefacts-staging"
+ region: "eu-west-1"
+ skip_cleanup: true
+ acl: private
+ local_dir: "deploy_dir"
+ upload_dir: "alfresco-content-services-community/release/${TRAVIS_BRANCH}/${TRAVIS_BUILD_NUMBER}"
+ on:
+ all_branches: true
+ condition: ${TRAVIS_BRANCH} =~ ^(master|develop)$
+
+ - name: "Copy to S3 Release"
+ stage: publish
+ # Nothing to build/install as we are just copying from S3 buckets
+ install: skip
+ script: skip
+ before_deploy: pip install awscli
+ deploy:
+ - provider: script
+ script: bash scripts/travis/copy_to_release_bucket.sh
+ on:
+ branch: master
+
+
diff --git a/distribution/pom.xml b/distribution/pom.xml
index a6f296604..82ba59872 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -1,174 +1,196 @@
-
- 4.0.0
- alfresco-content-services-community-distribution
- Alfresco Content Services Community Distribution zip
- jar
-
-
- org.alfresco
- acs-community-packaging
- 7.0.0-SNAPSHOT
-
-
-
-
-
- org.alfresco
- content-services-community
- war
-
-
- org.alfresco
- alfresco-repository
-
-
- org.alfresco
- alfresco-data-model
-
-
- org.alfresco
- alfresco-server-root
- war
-
-
- org.alfresco
- alfresco-mmt
-
-
-
- org.postgresql
- postgresql
- ${dependency.postgresql.version}
- compile
-
-
-
- org.alfresco
- alfresco-pdf-renderer
- linux
- tgz
-
-
- org.alfresco
- alfresco-pdf-renderer
- win64
- tgz
-
-
-
- org.alfresco
- alfresco-content-services-share-distribution
- zip
-
-
- *
- *
-
-
-
-
-
-
- ${project.artifactId}-${project.version}
-
-
- src/main/resources
- true
-
-
-
-
- maven-dependency-plugin
-
-
- extract-keystore
- generate-resources
-
- unpack
-
-
-
-
-
- org.alfresco
- alfresco-repository
- alfresco/keystore/**
-
-
-
- org.alfresco
- alfresco-content-services-share-distribution
- zip
-
-
-
-
-
- extract-jlan-dll
- generate-resources
-
- unpack
-
-
-
-
- org.alfresco
- alfresco-jlan-embed
- windll
- *.dll
-
-
-
-
-
-
-
- copy-resources
- generate-resources
-
- copy
-
-
-
-
- org.alfresco
- alfresco-server-root
- war
- ${project.build.outputDirectory}/web-server/webapps
- ROOT.war
-
-
- org.alfresco.aos-module
- alfresco-vti-bin
- war
- ${project.build.outputDirectory}/web-server/webapps
- _vti_bin.war
-
-
-
-
-
-
-
-
- maven-assembly-plugin
-
-
- make-assembly
- package
-
- single
-
-
- false
-
- src/assembly/distribution.xml
-
-
-
-
-
-
-
-
-
+
+ 4.0.0
+ alfresco-content-services-community-distribution
+ Alfresco Content Services Community Distribution zip
+ jar
+
+
+ org.alfresco
+ acs-community-packaging
+ 7.0.0-TEST3-SNAPSHOT
+
+
+
+
+
+ org.alfresco
+ content-services-community
+ war
+
+
+ org.alfresco
+ alfresco-repository
+
+
+ org.alfresco
+ alfresco-data-model
+
+
+ org.alfresco
+ alfresco-server-root
+ war
+
+
+ org.alfresco
+ alfresco-mmt
+
+
+
+ org.postgresql
+ postgresql
+ ${dependency.postgresql.version}
+ compile
+
+
+
+ org.alfresco
+ alfresco-pdf-renderer
+ linux
+ tgz
+
+
+ org.alfresco
+ alfresco-pdf-renderer
+ win64
+ tgz
+
+
+
+ org.alfresco
+ alfresco-content-services-share-distribution
+ zip
+
+
+ *
+ *
+
+
+
+
+
+
+ ${project.artifactId}-${project.version}
+
+
+ src/main/resources
+ true
+
+
+
+
+ maven-dependency-plugin
+
+
+ extract-keystore
+ generate-resources
+
+ unpack
+
+
+
+
+
+ org.alfresco
+ alfresco-repository
+ alfresco/keystore/**
+
+
+
+ org.alfresco
+ alfresco-content-services-share-distribution
+ zip
+
+
+
+
+
+ extract-jlan-dll
+ generate-resources
+
+ unpack
+
+
+
+
+ org.alfresco
+ alfresco-jlan-embed
+ windll
+ *.dll
+
+
+
+
+
+
+
+ copy-resources
+ generate-resources
+
+ copy
+
+
+
+
+ org.alfresco
+ alfresco-server-root
+ war
+ ${project.build.outputDirectory}/web-server/webapps
+ ROOT.war
+
+
+ org.alfresco.aos-module
+ alfresco-vti-bin
+ war
+ ${project.build.outputDirectory}/web-server/webapps
+ _vti_bin.war
+
+
+
+
+
+
+
+ copy-alfresco-war
+ generate-resources
+
+ copy
+
+
+
+
+ org.alfresco
+ content-services-community
+ ${dependency.alfresco-community-repo.version}
+ war
+ false
+ ${project.build.directory}
+ alfresco.war
+
+
+
+
+
+
+
+
+ maven-assembly-plugin
+
+
+ make-assembly
+ package
+
+ single
+
+
+ false
+
+ src/assembly/distribution.xml
+
+
+
+
+
+
+
+
+
diff --git a/docker-alfresco/Dockerfile b/docker-alfresco/Dockerfile
index 11174fe07..2440ad99c 100644
--- a/docker-alfresco/Dockerfile
+++ b/docker-alfresco/Dockerfile
@@ -1,4 +1,4 @@
-FROM alfresco/alfresco-community-repo-base:latest
+FROM alfresco/alfresco-community-repo-base:${upstream.image.tag}
# Set default docker_context. Will / Can be overriden with maven.
ARG resource_path=target
diff --git a/docker-alfresco/pom.xml b/docker-alfresco/pom.xml
index 2bd7d2b8d..b37eb25d9 100644
--- a/docker-alfresco/pom.xml
+++ b/docker-alfresco/pom.xml
@@ -1,356 +1,330 @@
-
- 4.0.0
- content-services-community-docker-alfresco
- ACS Community Docker Image Builder for Alfresco Community
- pom
-
-
- org.alfresco
- acs-community-packaging
- 7.0.0-SNAPSHOT
-
-
-
- alfresco/alfresco-content-repository-community
- quay.io
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-resources-plugin
- 3.1.0
-
-
- copy-licenses
- process-resources
-
- copy-resources
-
-
-
-
-
- ../distribution/src/main/resources/licenses
- false
-
-
- ${project.build.directory}/licenses
-
-
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
- 3.1.2
-
-
- unpack-war-files
- process-resources
-
- unpack
-
-
-
-
-
-
-
-
-
-
-
- org.alfresco
- api-explorer
- ${dependency.alfresco-api-explorer.version}
- war
- ${project.build.directory}/war/api-explorer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- copy-amps
- process-resources
-
- copy
-
-
-
-
- org.alfresco
- alfresco-share-services
- ${alfresco.alfresco-share-services.version}
- amp
- false
- ${project.build.directory}/amps
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- io.fabric8
- fabric8-maven-plugin
- ${dependency.fabric8.version}
-
-
-
- ${image.name}
-
- ${project.basedir}/
-
-
-
-
-
-
-
-
-
-
- communityDocker
-
-
-
- io.fabric8
- fabric8-maven-plugin
- ${dependency.fabric8.version}
-
-
- build-image
- install
-
- build
-
-
-
-
-
-
-
-
-
- internal
-
-
-
- io.fabric8
- fabric8-maven-plugin
- ${dependency.fabric8.version}
-
-
-
- ${image.name}:${image.tag}
- ${image.registry}
-
- ${project.basedir}/
-
-
-
-
-
-
- build-push-image
- install
-
- build
- push
-
-
-
-
-
-
-
-
-
- master
-
-
-
- io.fabric8
- fabric8-maven-plugin
- ${dependency.fabric8.version}
-
-
-
- ${image.name}
- ${image.registry}
-
- ${project.basedir}/
-
-
-
- ${image.name}
-
- ${project.basedir}/
-
-
-
-
-
-
- build-push-image
- install
-
- build
- push
-
-
-
-
-
-
-
-
-
- release
-
-
-
- io.fabric8
- fabric8-maven-plugin
- ${dependency.fabric8.version}
-
-
-
- quay.io
- ${image.name}:${project.version}
- ${image.registry}
-
- ${project.basedir}/
-
-
-
- dockerhub
- ${image.name}:${project.version}
-
- ${project.basedir}/
-
-
-
-
-
-
- build-push-image
- deploy
-
- build
- push
-
-
-
-
-
-
-
-
-
+
+ 4.0.0
+ content-services-community-docker-alfresco
+ ACS Community Docker Image Builder for Alfresco Community
+ pom
+
+
+ org.alfresco
+ acs-community-packaging
+ 7.0.0-TEST3-SNAPSHOT
+
+
+
+ alfresco/alfresco-content-repository-community
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+
+
+ copy-licenses
+ process-resources
+
+ copy-resources
+
+
+
+
+
+ ../distribution/src/main/resources/licenses
+ false
+
+
+ ${project.build.directory}/licenses
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ unpack-war-files
+ process-resources
+
+ unpack
+
+
+
+
+
+
+
+
+
+
+
+ org.alfresco
+ api-explorer
+ ${dependency.alfresco-api-explorer.version}
+ war
+ ${project.build.directory}/war/api-explorer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ copy-amps
+ process-resources
+
+ copy
+
+
+
+
+ org.alfresco
+ alfresco-share-services
+ ${alfresco.alfresco-share-services.version}
+ amp
+ false
+ ${project.build.directory}/amps
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ communityDocker
+
+
+
+
+ io.fabric8
+ fabric8-maven-plugin
+
+
+
+ ${image.name}:${image.tag}
+
+ ${project.basedir}/
+
+ true
+
+
+
+
+
+
+
+ build-image
+ install
+
+ build
+
+
+
+
+
+
+
+
+
+ internal
+
+
+
+
+ io.fabric8
+ fabric8-maven-plugin
+
+
+
+
+ ${image.name}:${image.tag}
+ ${image.registry}
+
+ ${project.basedir}/
+
+ true
+
+
+
+
+
+ ${image.name}:${image.tag}
+
+ ${project.basedir}/
+
+ true
+
+
+
+
+
+
+
+ build-push-image
+ install
+
+ build
+ push
+
+
+
+
+
+
+
+
+
+ release
+
+
+
+
+ io.fabric8
+ fabric8-maven-plugin
+
+
+
+
+ ${image.name}:${project.version}
+ ${image.registry}
+
+ ${project.basedir}/
+
+ true
+
+
+
+
+
+ ${image.name}:${project.version}
+
+ ${project.basedir}/
+
+ true
+
+
+
+
+
+
+
+ build-push-image
+ deploy
+
+ build
+ push
+
+
+
+
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
index 052428514..fc7cf1c09 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,114 +1,123 @@
-
- 4.0.0
- acs-community-packaging
- Alfresco Content Services Community Packaging
- 7.0.0-SNAPSHOT
- pom
-
-
- org.alfresco
- alfresco-community-repo
- ../alfresco-community-repo/pom.xml
- 8.300-SNAPSHOT
-
-
-
- scm:git:https://github.com/Alfresco/acs-community-packaging.git
- scm:git:https://github.com/Alfresco/acs-community-packaging.git
- https://github.com/Alfresco/acs-community-packaging
- HEAD
-
-
-
-
- alfresco-internal
- https://artifacts.alfresco.com/nexus/content/repositories/releases
-
-
- alfresco-internal-snapshots
- https://artifacts.alfresco.com/nexus/content/repositories/snapshots
-
-
-
-
- 8.300-SNAPSHOT
-
-
- Community
- latest
-
- 6.2.2
- 6.2.2
- 7.0.0-A1
-
- ${project.version}
- alfresco-community
- ${alfresco.package.name}-distribution
-
-
-
-
- communityDocker
-
- docker-alfresco
-
-
-
- fullBuild
-
- true
-
-
- distribution
- public-javadoc
- docker-alfresco
-
-
-
- all-tas-tests
-
- tests
-
-
-
-
-
-
-
- org.alfresco
- alfresco-content-services-share-distribution
- ${alfresco.share.version}
- zip
-
-
- org.alfresco
- alfresco-share-services
- ${alfresco.alfresco-share-services.version}
- amp
-
-
- org.alfresco
- share
- ${alfresco.share.version}
- war
-
-
- org.alfresco
- alfresco-wcmqs-distribution
- ${alfresco.share.version}
- zip
-
-
- org.alfresco
- alfresco-wcmqs-web
- ${alfresco.share.version}
- classes
-
-
- org.alfresco
- alfresco-wcmqs-client-api
- ${alfresco.share.version}
-
-
-
-
+
+ 4.0.0
+ acs-community-packaging
+ Alfresco Content Services Community Packaging
+ 7.0.0-TEST3-SNAPSHOT
+ pom
+
+
+ org.alfresco
+ alfresco-community-repo
+ ../alfresco-community-repo/pom.xml
+ 8.300-TEST1-SNAPSHOT
+
+
+
+ scm:git:https://github.com/Alfresco/acs-community-packaging.git
+ scm:git:https://github.com/Alfresco/acs-community-packaging.git
+ https://github.com/Alfresco/acs-community-packaging
+ HEAD
+
+
+
+
+ alfresco-internal
+ https://artifacts.alfresco.com/nexus/content/repositories/releases
+
+
+ alfresco-internal-snapshots
+ https://artifacts.alfresco.com/nexus/content/repositories/snapshots
+
+
+
+
+ 8.300-TEST1-SNAPSHOT
+
+
+ Community
+ latest
+ quay.io
+
+ ${dependency.alfresco-community-repo.version}
+
+ 6.2.2
+ 6.2.2
+ 7.0.0-A1
+
+ ${project.version}
+ alfresco-community
+ ${alfresco.package.name}-distribution
+
+
+
+
+ fullBuild
+
+ true
+
+
+ distribution
+ public-javadoc
+ docker-alfresco
+
+
+
+ communityDocker
+
+ docker-alfresco
+
+
+
+ internal
+
+ docker-alfresco
+
+
+
+ all-tas-tests
+
+ tests
+
+
+
+
+
+
+
+ org.alfresco
+ alfresco-content-services-share-distribution
+ ${alfresco.share.version}
+ zip
+
+
+ org.alfresco
+ alfresco-share-services
+ ${alfresco.alfresco-share-services.version}
+ amp
+
+
+ org.alfresco
+ share
+ ${alfresco.share.version}
+ war
+
+
+ org.alfresco
+ alfresco-wcmqs-distribution
+ ${alfresco.share.version}
+ zip
+
+
+ org.alfresco
+ alfresco-wcmqs-web
+ ${alfresco.share.version}
+ classes
+
+
+ org.alfresco
+ alfresco-wcmqs-client-api
+ ${alfresco.share.version}
+
+
+
+
diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml
index 2439c86eb..b8c12fe9d 100644
--- a/public-javadoc/pom.xml
+++ b/public-javadoc/pom.xml
@@ -5,7 +5,7 @@
org.alfresco
acs-community-packaging
- 7.0.0-SNAPSHOT
+ 7.0.0-TEST3-SNAPSHOT
pom
diff --git a/scripts/travis/build.sh b/scripts/travis/build.sh
new file mode 100644
index 000000000..b255c1613
--- /dev/null
+++ b/scripts/travis/build.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+set -ev
+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
+
+UPSTREAM_REPO="github.com/Alfresco/alfresco-community-repo.git"
+# Search, checkout and build the same branch on the upstream project in case of SNAPSHOT dependencies
+# Otherwise just checkout the upstream dependency sources
+if [[ "${DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] ; then
+ pullAndBuildSameBranchOnUpstream "${UPSTREAM_REPO}" "-PcommunityDocker"
+else
+ pullUpstreamTag "${UPSTREAM_REPO}" "${DEPENDENCY_VERSION}"
+fi
+
+# Build the current project
+mvn -B -V -q install -DskipTests -Dmaven.javadoc.skip=true -PcommunityDocker \
+ $([[ "${DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && echo "-Dupstream.image.tag=latest")
+
+
diff --git a/scripts/travis/build_functions.sh b/scripts/travis/build_functions.sh
new file mode 100644
index 000000000..d769a3148
--- /dev/null
+++ b/scripts/travis/build_functions.sh
@@ -0,0 +1,104 @@
+#!/usr/bin/env bash
+
+function isPullRequestBuild() {
+ test "${TRAVIS_PULL_REQUEST}" != "false"
+}
+
+function isBranchBuild() {
+ test "${TRAVIS_PULL_REQUEST}" = "false"
+}
+
+function cloneRepo() {
+ local REPO="${1}"
+ local TAG_OR_BRANCH="${2}"
+
+ # clone the repository branch/tag
+ pushd "$(dirname "${BASH_SOURCE[0]}")/../../../" >/dev/null
+
+ rm -rf "$(basename "${REPO%.git}")"
+
+ git clone -b "${TAG_OR_BRANCH}" --depth=1 "https://${GIT_USERNAME}:${GIT_PASSWORD}@${REPO}"
+
+ popd >/dev/null
+}
+
+function retrievePomParentVersion() {
+ pushd "$(dirname "${BASH_SOURCE[0]}")/../../" >/dev/null
+
+ sed -n '//,/<\/parent>/p' pom.xml \
+ | sed -n '//,/<\/version>/p' \
+ | tr -d '\n' \
+ | grep -oP '(?<=).*(?=)' \
+ | xargs
+
+ popd >/dev/null
+}
+
+function retrievePomProperty() {
+ local KEY="${1}"
+
+ pushd "$(dirname "${BASH_SOURCE[0]}")/../../" >/dev/null
+
+ sed -n '//,/<\/properties>/p' pom.xml \
+ | sed -n "/<${KEY}>/,/<\/${KEY}>/p" \
+ | tr -d '\n' \
+ | grep -oP "(?<=<${KEY}>).*(?=${KEY}>)" \
+ | xargs
+
+ popd >/dev/null
+}
+
+function evaluatePomProperty() {
+ local KEY="${1}"
+
+ pushd "$(dirname "${BASH_SOURCE[0]}")/../../" >/dev/null
+
+ mvn -B -q help:evaluate -Dexpression="${KEY}" -DforceStdout
+
+ popd >/dev/null
+}
+
+function remoteBranchExists() {
+ local REMOTE_REPO="${1}"
+ local BRANCH="${2}"
+
+ git ls-remote --exit-code --heads "https://${GIT_USERNAME}:${GIT_PASSWORD}@${REMOTE_REPO}" "${BRANCH}"
+}
+
+function pullUpstreamTag() {
+ local UPSTREAM_REPO="${1}"
+ local TAG="${2}"
+
+ cloneRepo "${UPSTREAM_REPO}" "${TAG}"
+}
+
+function pullAndBuildSameBranchOnUpstream() {
+ local UPSTREAM_REPO="${1}"
+ local EXTRA_BUILD_ARGUMENTS="${2}"
+ local SOURCE_BRANCH="$(isBranchBuild && echo "${TRAVIS_BRANCH}" || echo "${TRAVIS_PULL_REQUEST_BRANCH}")"
+
+ if ! remoteBranchExists "${UPSTREAM_REPO}" "${SOURCE_BRANCH}" ; then
+ printf "Branch \"%s\" not found on the %s repository\n" "${SOURCE_BRANCH}" "${UPSTREAM_REPO}"
+ #exit 1
+ fi
+
+ local SOURCE_BRANCH="${TRAVIS_BRANCH}"
+ if ! remoteBranchExists "${UPSTREAM_REPO}" "${SOURCE_BRANCH}" ; then
+ printf "Branch \"%s\" not found on the %s repository\n" "${SOURCE_BRANCH}" "${UPSTREAM_REPO}"
+ #exit 1
+ fi
+ # TODO remove this line and enable the previous "exit" commands:
+ local SOURCE_BRANCH="master"
+
+ cloneRepo "${UPSTREAM_REPO}" "${SOURCE_BRANCH}"
+
+ pushd "$(dirname "${BASH_SOURCE[0]}")/../../../"
+
+ cd "$(basename "${UPSTREAM_REPO%.git}")"
+
+ mvn -B -V -q clean install -DskipTests -Dmaven.javadoc.skip=true ${EXTRA_BUILD_ARGUMENTS}
+ mvn -B -V install -DskipTests -f packaging/tests/pom.xml
+
+ popd
+}
+
diff --git a/scripts/travis/cleanup_cache.sh b/scripts/travis/cleanup_cache.sh
new file mode 100644
index 000000000..33b940e2c
--- /dev/null
+++ b/scripts/travis/cleanup_cache.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+set -ev
+
+rm -rf "${HOME}/.m2/repository/org/alfresco/acs-community-packaging"
+rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-community-repo"
+rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-community-repo-*"
+rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-core"
+rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-data-model"
+rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-enterprise-remote-api"
+rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-enterprise-repo-*"
+rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-enterprise-repository"
+rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-remote-api"
+rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-repository"
+rm -rf "${HOME}/.m2/repository/org/alfresco/content-services"
+rm -rf "${HOME}/.m2/repository/org/alfresco/content-services*"
+rm -rf "${HOME}/.m2/repository/org/alfresco/content-services-community"
+rm -rf "${HOME}/.m2/repository/org/alfresco/tas/alfresco-community-repo-*-test"
+rm -rf "${HOME}/.m2/repository/org/alfresco/tas/alfresco-enterprise-repo-*-test"
+
diff --git a/scripts/travis/copy_to_release_bucket.sh b/scripts/travis/copy_to_release_bucket.sh
index f04dc9516..974db7b59 100755
--- a/scripts/travis/copy_to_release_bucket.sh
+++ b/scripts/travis/copy_to_release_bucket.sh
@@ -1,17 +1,24 @@
#!/usr/bin/env bash
set -ev
-if [ -z ${COMM_RELEASE_VERSION} ] || [ -z ${RELEASE_VERSION} ];
-then
- echo "Please provide a COMM_RELEASE_VERSION and RELEASE_VERSION in the format - (6.3.0-EA or 6.3.0-SNAPSHOT)"
- exit -1
+#
+# Copy from S3 Release bucket to S3 eu.dl bucket
+#
+
+if [ -z "${RELEASE_VERSION}" ]; then
+ echo "Please provide a RELEASE_VERSION in the format - (6.3.0-EA or 6.3.0-SNAPSHOT)"
+ exit 1
fi
-build_number=$1
-branch_name=$2
-build_stage=release
-SOURCE=s3://alfresco-artefacts-staging/alfresco-content-services-community/$build_stage/$branch_name/$build_number
-DESTINATION=s3://eu.dl.alfresco.com/release/community/$COMM_RELEASE_VERSION-build-$build_number
+SOURCE="s3://alfresco-artefacts-staging/alfresco-content-services-community/release/${TRAVIS_BRANCH}/${TRAVIS_BUILD_NUMBER}"
+DESTINATION="s3://eu.dl.alfresco.com/release/community/${RELEASE_VERSION}-build-${TRAVIS_BUILD_NUMBER}"
-aws s3 cp --acl private $SOURCE/alfresco.war $DESTINATION/alfresco.war
-aws s3 cp --acl private $SOURCE/alfresco-content-services-community-distribution-$RELEASE_VERSION.zip $DESTINATION/alfresco-content-services-community-distribution-$RELEASE_VERSION.zip
\ No newline at end of file
+printf "\n%s\n%s\n" "${SOURCE}" "${DESTINATION}"
+
+aws s3 cp --acl private \
+ "${SOURCE}/alfresco.war" \
+ "${DESTINATION}/alfresco.war"
+
+aws s3 cp --acl private \
+ "${SOURCE}/alfresco-content-services-community-distribution-${RELEASE_VERSION}.zip" \
+ "${DESTINATION}/alfresco-content-services-community-distribution-${RELEASE_VERSION}.zip"
\ No newline at end of file
diff --git a/scripts/travis/init.sh b/scripts/travis/init.sh
new file mode 100644
index 000000000..d6dd516c2
--- /dev/null
+++ b/scripts/travis/init.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+set -ev
+pushd "$(dirname "${BASH_SOURCE[0]}")/../../"
+
+# Maven Setup
+mkdir -p "${HOME}/.m2" && cp -f .travis.settings.xml "${HOME}/.m2/settings.xml"
+find "${HOME}/.m2/repository/" -type d -name "*-SNAPSHOT*" | xargs -r -l rm -rf
+
+# Docker Logins
+echo "${QUAY_PASSWORD}" | docker login -u="${QUAY_USERNAME}" --password-stdin quay.io
+
+# Enable experimental docker features (for the image squash option)
+echo '{"experimental":true}' | sudo tee /etc/docker/daemon.json
+sudo service docker restart
+
+# not helpful in this script
+# export HOST_IP=$(hostname -I | cut -f1 -d' ')
+
diff --git a/scripts/travis/maven_release.sh b/scripts/travis/maven_release.sh
index b4e915564..77b18d9c6 100755
--- a/scripts/travis/maven_release.sh
+++ b/scripts/travis/maven_release.sh
@@ -1,31 +1,26 @@
#!/usr/bin/env bash
-set -e
+set -ev
-releaseVersion=$1
-developmentVersion=$2
-scm_path=$(mvn help:evaluate -Dexpression=project.scm.url -q -DforceStdout)
+RELEASE_VERSION=${1}
+DEVELOPMENT_VERSION=${2}
+
+if [ -z "${RELEASE_VERSION}" ] || [ -z "${DEVELOPMENT_VERSION}" ]; then
+ echo "Please provide a Release and Development version in the format - (6.3.0-EA or 6.3.0-SNAPSHOT)"
+ exit 1
+fi
# Use full history for release
git checkout -B "${TRAVIS_BRANCH}"
# Add email to link commits to user
git config user.email "${GIT_EMAIL}"
-if [ -z ${releaseVersion} ] || [ -z ${developmentVersion} ];
- then echo "Please provide a Release and Development verison in the format - (6.3.0-EA or 6.3.0-SNAPSHOT)"
- exit -1
-else
- mvn --batch-mode \
- -PfullBuild,all-tas-tests \
- -Dusername="${GIT_USERNAME}" \
- -Dpassword="${GIT_PASSWORD}" \
- -DreleaseVersion=${releaseVersion} \
- -DdevelopmentVersion=${developmentVersion} \
- -Dbuild-number=${TRAVIS_BUILD_NUMBER} \
- -Dbuild-name="${TRAVIS_BUILD_STAGE_NAME}" \
- -Dscm-path=${scm_path} \
- -DscmCommentPrefix="[maven-release-plugin][skip ci]" \
- -DskipTests \
- "-Darguments=-DskipTests -Dbuild-number=${TRAVIS_BUILD_NUMBER} '-Dbuild-name=${TRAVIS_BUILD_STAGE_NAME}' -Dscm-path=${scm_path} -PfullBuild,all-tas-tests" \
- release:clean release:prepare release:perform \
- -Prelease
-fi
+mvn -B \
+ -Prelease,fullBuild,all-tas-tests \
+ -DreleaseVersion="${RELEASE_VERSION}" \
+ -DdevelopmentVersion="${DEVELOPMENT_VERSION}" \
+ "-Darguments=-Prelease,fullBuild,all-tas-tests -DskipTests -Dbuild-number=${TRAVIS_BUILD_NUMBER}" \
+ release:clean release:prepare release:perform \
+ -DscmCommentPrefix="[maven-release-plugin][skip ci] " \
+ -Dusername="${GIT_USERNAME}" \
+ -Dpassword="${GIT_PASSWORD}"
+
diff --git a/scripts/travis/verify_release_tag.sh b/scripts/travis/verify_release_tag.sh
index 51086b8ec..3af7a5dc3 100755
--- a/scripts/travis/verify_release_tag.sh
+++ b/scripts/travis/verify_release_tag.sh
@@ -1,31 +1,38 @@
#!/usr/bin/env bash
-set -e
+set -ev
-if [ -v ${RELEASE_VERSION} ]||[ -z ${RELEASE_VERSION} ]; then
- echo "Please provide a RELEASE_VERSION in the format - (6.3.0-EA or 6.3.0-SNAPSHOT)"
- exit -1
+#
+# Check that the version to be released does not already have a docker tag.
+#
+
+if [ -z "${RELEASE_VERSION}" ]; then
+ echo "Please provide a RELEASE_VERSION in the format - (6.3.0-EA or 6.3.0-SNAPSHOT)"
+ exit 1
fi
+
# get the image name from the pom file
-alfresco_docker_image=$(mvn help:evaluate -f ./docker-alfresco/pom.xml -Dexpression=image.name -q -DforceStdout)
-docker_image_full_name="$alfresco_docker_image:$RELEASE_VERSION"
+ALFRESCO_DOCKER_IMAGE="$(mvn -B -q help:evaluate -f ./docker-alfresco/pom.xml -Dexpression=image.name -DforceStdout)"
+DOCKER_IMAGE_FULL_NAME="${ALFRESCO_DOCKER_IMAGE}:${RELEASE_VERSION}"
function docker_image_exists() {
- local image_full_name="$1"; shift
- local wait_time="${1:-5}"
- local search_term='Pulling|is up to date|not found'
- echo "Looking to see if $image_full_name already exists..."
- local result="$((timeout --preserve-status "$wait_time" docker 2>&1 pull "$image_full_name" &) | grep -v 'Pulling repository' | egrep -o "$search_term")"
- test "$result" || { echo "Timed out too soon. Try using a wait_time greater than $wait_time..."; return 1 ;}
- if echo $result | grep -vq 'not found'; then
- true
- else
- false
- fi
+ local IMAGE_FULL_NAME="${1}"; shift
+ local WAIT_TIME="${1:-5}"
+ local SEARCH_TERM='Pulling|is up to date|not found'
+
+ echo "Looking to see if ${IMAGE_FULL_NAME} already exists..."
+ local RESULT=$( (timeout --preserve-status "${WAIT_TIME}" docker 2>&1 pull "${IMAGE_FULL_NAME}" &) | grep -v 'Pulling repository' | grep -E -o "${SEARCH_TERM}")
+
+ test "${RESULT}" || { echo "Timed out too soon. Try using a wait_time greater than ${WAIT_TIME}..."; return 1 ;}
+ if echo "${RESULT}" | grep -vq 'not found'; then
+ true
+ else
+ false
+ fi
}
-if docker_image_exists $docker_image_full_name; then
- echo "Tag $RELEASE_VERSION already pushed, release process will interrupt."
- exit -1
+if docker_image_exists "${DOCKER_IMAGE_FULL_NAME}" ; then
+ echo "Tag ${RELEASE_VERSION} already pushed, release process will interrupt."
+ exit 1
else
- echo "The $RELEASE_VERSION tag was not found"
+ echo "The ${RELEASE_VERSION} tag was not found"
fi
diff --git a/tests/pom.xml b/tests/pom.xml
index ed4f00da3..e45bc59e8 100644
--- a/tests/pom.xml
+++ b/tests/pom.xml
@@ -1,24 +1,24 @@
-
- 4.0.0
- content-repository-community-tests
- pom
-
-
- org.alfresco
- acs-community-packaging
- 7.0.0-SNAPSHOT
-
-
-
- tas-restapi
- tas-cmis
- tas-email
- tas-webdav
- tas-integration
-
-
-
-
- 20170516
-
+
+ 4.0.0
+ content-repository-community-tests
+ pom
+
+
+ org.alfresco
+ acs-community-packaging
+ 7.0.0-TEST3-SNAPSHOT
+
+
+
+ tas-restapi
+ tas-cmis
+ tas-email
+ tas-webdav
+ tas-integration
+
+
+
+
+ 20170516
+
\ No newline at end of file
diff --git a/tests/tas-cmis/pom.xml b/tests/tas-cmis/pom.xml
index 79f676d9d..c3ff0338b 100644
--- a/tests/tas-cmis/pom.xml
+++ b/tests/tas-cmis/pom.xml
@@ -1,70 +1,70 @@
-
-
- 4.0.0
- org.alfresco.tas
- content-repository-community-cmis-test
- content-repository-community-cmis-test
- jar
-
-
- org.alfresco
- content-repository-community-tests
- 7.0.0-SNAPSHOT
-
-
-
-
- Paul Brodner
-
- Test Automation Architect
-
-
-
-
-
- ${project.basedir}/src/test/resources/cmis-suite.xml
-
-
-
-
- org.alfresco.tas
- alfresco-community-repo-cmis-test
- tests
- test
-
-
- org.alfresco.tas
- cmis
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
- ${suiteXmlFile}
-
-
- --illegal-access=warn
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
-
- test-jar
-
-
-
-
-
-
-
+
+
+ 4.0.0
+ org.alfresco.tas
+ content-repository-community-cmis-test
+ content-repository-community-cmis-test
+ jar
+
+
+ org.alfresco
+ content-repository-community-tests
+ 7.0.0-TEST3-SNAPSHOT
+
+
+
+
+ Paul Brodner
+
+ Test Automation Architect
+
+
+
+
+
+ ${project.basedir}/src/test/resources/cmis-suite.xml
+
+
+
+
+ org.alfresco.tas
+ alfresco-community-repo-cmis-test
+ tests
+ test
+
+
+ org.alfresco.tas
+ cmis
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ ${suiteXmlFile}
+
+
+ --illegal-access=warn
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ test-jar
+
+
+
+
+
+
+
diff --git a/tests/tas-email/pom.xml b/tests/tas-email/pom.xml
index 7f11a4a2c..dedd2d746 100644
--- a/tests/tas-email/pom.xml
+++ b/tests/tas-email/pom.xml
@@ -1,71 +1,71 @@
-
-
- 4.0.0
- org.alfresco.tas
- content-repository-community-email-test
- content-repository-community-email-test
- jar
-
-
- org.alfresco
- content-repository-community-tests
- 7.0.0-SNAPSHOT
-
-
-
-
- Paul Brodner
-
- Test Automation Architect
-
-
-
-
-
- ${project.basedir}/src/test/resources/email-suite.xml
-
-
-
-
- org.alfresco.tas
- alfresco-community-repo-email-test
- tests
- test
-
-
-
- org.alfresco.tas
- email
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
- ${suiteXmlFile}
-
-
- --illegal-access=warn
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
-
- test-jar
-
-
-
-
-
-
-
+
+
+ 4.0.0
+ org.alfresco.tas
+ content-repository-community-email-test
+ content-repository-community-email-test
+ jar
+
+
+ org.alfresco
+ content-repository-community-tests
+ 7.0.0-TEST3-SNAPSHOT
+
+
+
+
+ Paul Brodner
+
+ Test Automation Architect
+
+
+
+
+
+ ${project.basedir}/src/test/resources/email-suite.xml
+
+
+
+
+ org.alfresco.tas
+ alfresco-community-repo-email-test
+ tests
+ test
+
+
+
+ org.alfresco.tas
+ email
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ ${suiteXmlFile}
+
+
+ --illegal-access=warn
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ test-jar
+
+
+
+
+
+
+
diff --git a/tests/tas-integration/pom.xml b/tests/tas-integration/pom.xml
index 4beb9f951..7c20b7955 100644
--- a/tests/tas-integration/pom.xml
+++ b/tests/tas-integration/pom.xml
@@ -1,139 +1,139 @@
-
-
- 4.0.0
- org.alfresco.tas
- content-repository-community-integration-test
- content-repository-community-integration-test
- jar
-
-
- org.alfresco
- content-repository-community-tests
- 7.0.0-SNAPSHOT
-
-
-
-
- Paul Brodner
-
- Test Automation Architect
-
-
-
-
-
- ${project.basedir}/src/test/resources/integration-suite.xml
- 2.5.9
- 1.6.2
-
-
-
-
- org.alfresco.tas
- alfresco-community-repo-integration-test
- tests
- test
-
-
-
- org.alfresco.tas
- utility
- test
-
-
-
- io.rest-assured
- rest-assured
- test
-
-
-
- javax.mail
- javax.mail-api
- ${dependency.javax.mail.version}
- test
-
-
-
- com.sun.mail
- javax.mail
- ${dependency.javax.mail.version}
-
-
-
- org.codehaus.groovy
- groovy
- ${dependency.groovy.version}
-
-
-
-
- org.alfresco.tas
- ftp
- test
-
-
-
-
- org.alfresco.tas
- restapi
- test
-
-
-
-
- org.alfresco.tas
- cmis
- test
-
-
-
-
- org.alfresco.tas
- email
- test
-
-
-
-
- org.alfresco.tas
- webdav
- test
-
-
-
- com.jayway.jsonpath
- json-path
- 2.4.0
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
- ${suiteXmlFile}
-
-
- --illegal-access=warn
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
-
- test-jar
-
-
-
-
-
-
-
+
+
+ 4.0.0
+ org.alfresco.tas
+ content-repository-community-integration-test
+ content-repository-community-integration-test
+ jar
+
+
+ org.alfresco
+ content-repository-community-tests
+ 7.0.0-TEST3-SNAPSHOT
+
+
+
+
+ Paul Brodner
+
+ Test Automation Architect
+
+
+
+
+
+ ${project.basedir}/src/test/resources/integration-suite.xml
+ 2.5.9
+ 1.6.2
+
+
+
+
+ org.alfresco.tas
+ alfresco-community-repo-integration-test
+ tests
+ test
+
+
+
+ org.alfresco.tas
+ utility
+ test
+
+
+
+ io.rest-assured
+ rest-assured
+ test
+
+
+
+ javax.mail
+ javax.mail-api
+ ${dependency.javax.mail.version}
+ test
+
+
+
+ com.sun.mail
+ javax.mail
+ ${dependency.javax.mail.version}
+
+
+
+ org.codehaus.groovy
+ groovy
+ ${dependency.groovy.version}
+
+
+
+
+ org.alfresco.tas
+ ftp
+ test
+
+
+
+
+ org.alfresco.tas
+ restapi
+ test
+
+
+
+
+ org.alfresco.tas
+ cmis
+ test
+
+
+
+
+ org.alfresco.tas
+ email
+ test
+
+
+
+
+ org.alfresco.tas
+ webdav
+ test
+
+
+
+ com.jayway.jsonpath
+ json-path
+ 2.4.0
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ ${suiteXmlFile}
+
+
+ --illegal-access=warn
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ test-jar
+
+
+
+
+
+
+
diff --git a/tests/tas-restapi/pom.xml b/tests/tas-restapi/pom.xml
index 6834f2aa9..99d0b6113 100644
--- a/tests/tas-restapi/pom.xml
+++ b/tests/tas-restapi/pom.xml
@@ -1,106 +1,106 @@
-
-
- 4.0.0
- org.alfresco.tas
- content-repository-community-restapi-test
- content-repository-community-restapi-test
- jar
-
-
- org.alfresco
- content-repository-community-tests
- 7.0.0-SNAPSHOT
-
-
-
-
- Paul Brodner
-
- Test Automation Architect
-
-
-
-
-
- ${project.basedir}/src/test/resources/restapi-suite.xml
-
-
-
-
- run-restapi-part1
-
- ${project.basedir}/src/test/resources/test-suites/part1-suite.xml
-
-
-
- run-restapi-part2
-
- ${project.basedir}/src/test/resources/test-suites/part2-suite.xml
-
-
-
- run-restapi-part3
-
- ${project.basedir}/src/test/resources/test-suites/part3-suite.xml
-
-
-
-
-
-
- org.alfresco.tas
- alfresco-community-repo-restapi-test
- tests
- test
-
-
- org.alfresco.tas
- restapi
- test
-
-
- io.rest-assured
- rest-assured
- test
-
-
- org.glassfish
- javax.json
- test
-
-
- org.springframework
- spring-test
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
- ${suiteXmlFile}
-
-
- --illegal-access=warn
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
-
- test-jar
-
-
-
-
-
-
-
+
+
+ 4.0.0
+ org.alfresco.tas
+ content-repository-community-restapi-test
+ content-repository-community-restapi-test
+ jar
+
+
+ org.alfresco
+ content-repository-community-tests
+ 7.0.0-TEST3-SNAPSHOT
+
+
+
+
+ Paul Brodner
+
+ Test Automation Architect
+
+
+
+
+
+ ${project.basedir}/src/test/resources/restapi-suite.xml
+
+
+
+
+ run-restapi-part1
+
+ ${project.basedir}/src/test/resources/test-suites/part1-suite.xml
+
+
+
+ run-restapi-part2
+
+ ${project.basedir}/src/test/resources/test-suites/part2-suite.xml
+
+
+
+ run-restapi-part3
+
+ ${project.basedir}/src/test/resources/test-suites/part3-suite.xml
+
+
+
+
+
+
+ org.alfresco.tas
+ alfresco-community-repo-restapi-test
+ tests
+ test
+
+
+ org.alfresco.tas
+ restapi
+ test
+
+
+ io.rest-assured
+ rest-assured
+ test
+
+
+ org.glassfish
+ javax.json
+ test
+
+
+ org.springframework
+ spring-test
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ ${suiteXmlFile}
+
+
+ --illegal-access=warn
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ test-jar
+
+
+
+
+
+
+
diff --git a/tests/tas-webdav/pom.xml b/tests/tas-webdav/pom.xml
index 0ca746234..77f639a1a 100644
--- a/tests/tas-webdav/pom.xml
+++ b/tests/tas-webdav/pom.xml
@@ -1,70 +1,70 @@
-
-
- 4.0.0
- org.alfresco.tas
- content-repository-community-webdav-test
- content-repository-community-webdav-test
- jar
-
-
- org.alfresco
- content-repository-community-tests
- 7.0.0-SNAPSHOT
-
-
-
-
- Paul Brodner
-
- Test Automation Architect
-
-
-
-
-
- ${project.basedir}/src/test/resources/webdav-suite.xml
-
-
-
-
- org.alfresco.tas
- webdav
- test
-
-
- org.alfresco.tas
- alfresco-community-repo-webdav-test
- tests
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
- ${suiteXmlFile}
-
-
- --illegal-access=warn
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
-
- test-jar
-
-
-
-
-
-
-
+
+
+ 4.0.0
+ org.alfresco.tas
+ content-repository-community-webdav-test
+ content-repository-community-webdav-test
+ jar
+
+
+ org.alfresco
+ content-repository-community-tests
+ 7.0.0-TEST3-SNAPSHOT
+
+
+
+
+ Paul Brodner
+
+ Test Automation Architect
+
+
+
+
+
+ ${project.basedir}/src/test/resources/webdav-suite.xml
+
+
+
+
+ org.alfresco.tas
+ webdav
+ test
+
+
+ org.alfresco.tas
+ alfresco-community-repo-webdav-test
+ tests
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ ${suiteXmlFile}
+
+
+ --illegal-access=warn
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ test-jar
+
+
+
+
+
+
+