diff --git a/.travis.yml b/.travis.yml index ef48e6baec..798ccdbfd4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,11 +33,11 @@ stages: - name: test if: commit_message !~ /\[skip tests\]/ - name: release - if: fork = false AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND commit_message !~ /\[no release\]/ + if: commit_message !~ /\[no release\]/ AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND fork = false - name: update_downstream - if: fork = false AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND commit_message !~ /\[no downstream\]/ + if: commit_message !~ /\[no downstream\]/ AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND fork = false - name: trigger_downstream - if: fork = false AND (branch != master AND branch !~ /release\/.*/) AND type != pull_request AND commit_message !~ /\[no downstream\]/ + if: commit_message !~ /\[no downstream\]/ AND (branch != master AND branch !~ /release\/.*/) AND type != pull_request AND fork = false before_install: travis_retry bash scripts/travis/init.sh install: travis_retry travis_wait 40 bash scripts/travis/build.sh @@ -220,72 +220,67 @@ jobs: 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 packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part1 -Denvironment=default -DrunBugs=false + script: travis_wait 60 mvn -B install -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part1 -Denvironment=default -DrunBugs=false - name: "REST API TAS tests part2" if: branch = master OR commit_message =~ /\[tas\]/ 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 packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part2 -Denvironment=default -DrunBugs=false + script: travis_wait 60 mvn -B install -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part2 -Denvironment=default -DrunBugs=false - name: "REST API TAS tests part3" if: branch = master OR commit_message =~ /\[tas\]/ 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 packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part3 -Denvironment=default -DrunBugs=false + script: travis_wait 60 mvn -B install -f packaging/tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part3 -Denvironment=default -DrunBugs=false - name: "CMIS TAS tests - BROWSER binding" if: branch = master OR commit_message =~ /\[tas\]/ 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 packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-browser -Denvironment=default -DrunBugs=false + script: travis_wait 40 mvn -B install -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-browser -Denvironment=default -DrunBugs=false - name: "CMIS TAS tests - ATOM binding" if: branch = master OR commit_message =~ /\[tas\]/ 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 packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-atom -Denvironment=default -DrunBugs=false + script: travis_wait 40 mvn -B install -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-atom -Denvironment=default -DrunBugs=false - name: "CMIS TAS tests - WEBSERVICES binding" if: branch = master OR commit_message =~ /\[tas\]/ 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 packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-webservices -Denvironment=default -DrunBugs=false + script: travis_wait 40 mvn -B install -f packaging/tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-webservices -Denvironment=default -DrunBugs=false - name: "Email TAS tests" if: branch = master OR commit_message =~ /\[tas\]/ 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 packaging/tests/tas-email/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false + script: travis_wait 30 mvn -B install -f packaging/tests/tas-email/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false - name: "WebDAV TAS tests" if: branch = master OR commit_message =~ /\[tas\]/ 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 packaging/tests/tas-webdav/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false + script: travis_wait 30 mvn -B install -f packaging/tests/tas-webdav/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false - name: "Integration TAS tests" if: branch = master OR commit_message =~ /\[tas\]/ 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 packaging/tests/tas-integration/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false + script: travis_wait 30 mvn -B install -f packaging/tests/tas-integration/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false + + - name: "AGS Unit & Integration Tests" + if: branch = master OR commit_message =~ /\[ags\]/ + script: travis_retry travis_wait mvn -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pstart-db -f amps/ags/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - name: "Push to Nexus" stage: release diff --git a/amps/ags/.travis.settings.xml b/amps/ags/.travis.settings.xml deleted file mode 100644 index 0fd5d8eb68..0000000000 --- a/amps/ags/.travis.settings.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - alfresco-internal - - true - - - - central - Central Repository - https://repo.maven.apache.org/maven2 - default - - false - - - - alfresco-internal - - true - - - true - - Alfresco Internal Repository - https://artifacts.alfresco.com/nexus/content/groups/internal - - - - - central - Central Repository - https://repo.maven.apache.org/maven2 - default - - false - - - never - - - - 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} - - - alfresco-public - ${env.MAVEN_USERNAME} - ${env.MAVEN_PASSWORD} - - - alfresco-internal-snapshots - ${env.MAVEN_USERNAME} - ${env.MAVEN_PASSWORD} - - - diff --git a/amps/ags/.travis.yml b/amps/ags/.travis.yml index 0f5521d84f..d699ea43d7 100644 --- a/amps/ags/.travis.yml +++ b/amps/ags/.travis.yml @@ -4,8 +4,6 @@ import: - source: travis/.travis.tests-stage.yml - source: travis/.travis.integration-test-MySQL.yml - source: travis/.travis.deploy-stage.yml - - source: travis/.travis.release-stage.yml - - source: travis/.travis.publish-stage.yml dist: xenial sudo: required language: java @@ -32,12 +30,6 @@ cache: before_cache: rm -rf ${HOME}/.m2/repository/org/alfresco/alfresco-governance-services* -before_install: - - 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 - - echo "${DOCKERHUB_PASSWORD}" | docker login -u="${DOCKERHUB_USERNAME}" --password-stdin - - echo "${QUAY_PASSWORD}" | docker login -u="${QUAY_USERNAME}" --password-stdin quay.io - install: skip stages: diff --git a/amps/ags/README.md b/amps/ags/README.md index 9b95dc8322..3f952da331 100644 --- a/amps/ags/README.md +++ b/amps/ags/README.md @@ -119,7 +119,7 @@ Technical documentation is available at [rm-community/documentation/README.md](/ In order to execute the integration tests run the following command (unit tests will be executed every time before you start Alfresco/Share): ``` -mvn clean install -Dskip.integrationtests=false +mvn clean install -Pstart-db ``` ## Running UI Automation tests diff --git a/amps/ags/pom.xml b/amps/ags/pom.xml index 553bbbe31f..64d1c92d79 100644 --- a/amps/ags/pom.xml +++ b/amps/ags/pom.xml @@ -1,7 +1,5 @@ - 4.0.0 - org.alfresco alfresco-governance-services-community-parent pom Alfresco Governance Services Community Parent @@ -9,7 +7,7 @@ org.alfresco alfresco-community-repo-amps - 11.21-ags-1.0-SNAPSHOT + 11.7-ags-1.0-SNAPSHOT @@ -17,333 +15,6 @@ rm-automation - - - - publicapi - - 1.6.1 - - - - - com.docflex - docflex-alfresco-license - 1.0 - license - - - - - - - maven-dependency-plugin - 3.1.1 - - - - default-cli - generate-sources - - unpack - - - - - com.docflex - docflex-javadoc - ${docflex.version} - zip - - - ${project.build.directory} - - - - - - - maven-javadoc-plugin - ${maven.javadoc.version} - - com.docflex.javadoc.Doclet - ${project.build.directory}/docflex-javadoc-${docflex.version}/lib/docflex-javadoc.jar - none - - - -license ${settings.localRepository}/com/docflex/docflex-alfresco-license/1.0/docflex-alfresco-license-1.0.license - -template ${project.build.directory}/docflex-javadoc-${docflex.version}/templates/JavadocPro/FramedDoc.tpl - -nodialog - -launchviewer=false - -p:filter.byAnns.include.classes=org.alfresco.api.AlfrescoPublicApi - -p:docTitle "${project.name} ${project.version} Public API" - -p:windowTitle "${project.name} ${project.version} Public API" - - - - - - - - - enterprise-release - - - alfresco-internal - https://artifacts.alfresco.com/nexus/content/repositories/enterprise-releases/ - - - - - hotfix-release - - - alfresco-internal - https://artifacts.alfresco.com/nexus/content/repositories/hotfix-releases/ - - - - - community-release - - - alfresco-internal - https://artifacts.alfresco.com/nexus/content/repositories/releases/ - - - - - - - enable-test-properties-filtering - - - - src/test/properties - - - - - - org.codehaus.mojo - build-helper-maven-plugin - ${maven.buildhelper.version} - - - add-env-test-properties - generate-resources - - add-test-resource - - - - - ${app.properties.test.folder} - - ${app.properties.test.include} - - ${app.filtering.enabled} - - - - - - - - - - - - - buildDockerImage - - - - - io.fabric8 - docker-maven-plugin - - - build-image - - verify - - build - - - - - ${image.name} - - ${project.basedir}/ - - - - - - - - - - - - - - - - - release-enterprise - - - - - io.fabric8 - docker-maven-plugin - - - build-push-image - deploy - - build - push - - - - - ${image.name}:${project.version} - ${image.registry} - - ${project.basedir}/ - - - - - - - - - - - - - - - release-community - - - - - io.fabric8 - docker-maven-plugin - - - build-push-image - deploy - - build - push - - - - - ${image.name}:${project.version} - ${image.registry} - - ${project.basedir}/ - - - - ${image.name}:${project.version} - - ${project.basedir}/ - - - - - - - - - - - - - start-db - - - skip.integrationtests - false - - - - - - - io.fabric8 - docker-maven-plugin - - - start - pre-integration-test - - stop - start - - - - - test-database - postgres:${postgres.version} - - - ${database.port}:${postgresql.port} - - - ${alfresco.db.password} - ${alfresco.db.username} - ${alfresco.test.db.name} - - - -c max_connections=300 - - - database system is ready to accept connections - - - - - - alfresco/alfresco-activemq:${activemq.version} - - - ${activemq.port1}:${activemq.port1} - ${activemq.port2}:${activemq.port2} - - - - - - - - stop - post-integration-test - - stop - - - - - - - - - - /alfresco ${session.executionRootDirectory}/alf_data_dev @@ -358,8 +29,6 @@ 0.0 - true - 9.4.12 5.15.8 61616 5672 @@ -409,16 +78,19 @@ ** src/test/properties/local - imageNameNotSet - latest - quay.io - 2.4.0-b180830.0359 3.0.0-M4 4.0.1 1.19 + + + alfresco-internal + https://artifacts.alfresco.com/nexus/content/repositories/releases/ + + + @@ -1009,13 +681,121 @@ - - - io.fabric8 - docker-maven-plugin - ${fabric8.docker.version} - + + + + + publicapi + + 1.6.1 + + + + + com.docflex + docflex-alfresco-license + 1.0 + license + + + + + + + maven-dependency-plugin + 3.1.1 + + + + default-cli + generate-sources + + unpack + + + + + com.docflex + docflex-javadoc + ${docflex.version} + zip + + + ${project.build.directory} + + + + + + + maven-javadoc-plugin + ${maven.javadoc.version} + + com.docflex.javadoc.Doclet + ${project.build.directory}/docflex-javadoc-${docflex.version}/lib/docflex-javadoc.jar + none + + + -license ${settings.localRepository}/com/docflex/docflex-alfresco-license/1.0/docflex-alfresco-license-1.0.license + -template ${project.build.directory}/docflex-javadoc-${docflex.version}/templates/JavadocPro/FramedDoc.tpl + -nodialog + -launchviewer=false + -p:filter.byAnns.include.classes=org.alfresco.api.AlfrescoPublicApi + -p:docTitle "${project.name} ${project.version} Public API" + -p:windowTitle "${project.name} ${project.version} Public API" + + + + + + + + + + + enable-test-properties-filtering + + + + src/test/properties + + + + + + org.codehaus.mojo + build-helper-maven-plugin + ${maven.buildhelper.version} + + + add-env-test-properties + generate-resources + + add-test-resource + + + + + ${app.properties.test.folder} + + ${app.properties.test.include} + + ${app.filtering.enabled} + + + + + + + + + + diff --git a/amps/ags/rm-automation/pom.xml b/amps/ags/rm-automation/pom.xml index 909ef5eb06..43def161a3 100644 --- a/amps/ags/rm-automation/pom.xml +++ b/amps/ags/rm-automation/pom.xml @@ -1,22 +1,15 @@ - 4.0.0 - alfresco-governance-services-automation-community - Alfresco Governance Services Automation Community + alfresco-governance-services-automation-community-repo pom + Alfresco Governance Services Automation Community org.alfresco alfresco-governance-services-community-parent - 11.21-ags-1.0-SNAPSHOT + 11.7-ags-1.0-SNAPSHOT - - - LGPL 3 - - - rm-automation-community-rest-api @@ -26,6 +19,12 @@ true + + + LGPL 3 + + + diff --git a/amps/ags/rm-automation/rm-automation-community-rest-api/pom.xml b/amps/ags/rm-automation/rm-automation-community-rest-api/pom.xml index 0901808ac4..a012644fcc 100644 --- a/amps/ags/rm-automation/rm-automation-community-rest-api/pom.xml +++ b/amps/ags/rm-automation/rm-automation-community-rest-api/pom.xml @@ -1,22 +1,19 @@ - 4.0.0 alfresco-governance-services-automation-community-rest-api Alfresco Governance Services Automation Community REST API org.alfresco - alfresco-governance-services-automation-community - 11.21-ags-1.0-SNAPSHOT + alfresco-governance-services-automation-community-repo + 11.7-ags-1.0-SNAPSHOT false alfresco-governance-services-community-share alfresco-governance-services-community-repo - 1.51 - 3.0.41 2.0.0 2.7.9.1 @@ -56,8 +53,7 @@ org.alfresco.tas restapi - ${tas.restapi.version} - provided + ${dependency.tas-restapi.version} com.fasterxml.jackson.core @@ -72,8 +68,7 @@ org.alfresco.tas utility - provided - ${tas.utility.version} + ${dependency.tas-utility.version} org.projectlombok @@ -107,19 +102,5 @@ jackson-databind ${jackson.databind.version} - - org.json - json - - - org.alfresco.test - dataprep - compile - - - io.rest-assured - rest-assured - compile - diff --git a/amps/ags/rm-community/pom.xml b/amps/ags/rm-community/pom.xml index 691cd84721..bb3d57b624 100644 --- a/amps/ags/rm-community/pom.xml +++ b/amps/ags/rm-community/pom.xml @@ -1,27 +1,32 @@ - 4.0.0 - alfresco-governance-services-community - Alfresco Governance Services Community + alfresco-governance-services-community-repo-parent pom + Alfresco Governance Services Community org.alfresco alfresco-governance-services-community-parent - 11.21-ags-1.0-SNAPSHOT + 11.7-ags-1.0-SNAPSHOT + + rm-community-rest-api-explorer + rm-community-repo + + + + 5.3.3 + 7.0.0 + true + + LGPL 3 - - rm-community-rest-api-explorer - rm-community-repo - - @@ -63,53 +68,4 @@ - - - 5.3.3 - 7.0.0 - true - - - - - publish-docker-latest - - - - - io.fabric8 - docker-maven-plugin - - - build-push-image - deploy - - build - push - - - - - ${image.name}:${image.tag} - ${image.registry} - - ${project.basedir}/ - - - - ${image.name}:${image.tag} - - ${project.basedir}/ - - - - - - - - - - - - diff --git a/amps/ags/rm-community/rm-community-repo/.maven-dockerignore b/amps/ags/rm-community/rm-community-repo/.maven-dockerignore index 18bb2a12d0..112bd18249 100644 --- a/amps/ags/rm-community/rm-community-repo/.maven-dockerignore +++ b/amps/ags/rm-community/rm-community-repo/.maven-dockerignore @@ -1 +1 @@ -target/docker/** \ No newline at end of file +target/docker/ \ No newline at end of file diff --git a/amps/ags/rm-community/rm-community-repo/Dockerfile b/amps/ags/rm-community/rm-community-repo/Dockerfile index c84555e497..751002a18b 100644 --- a/amps/ags/rm-community/rm-community-repo/Dockerfile +++ b/amps/ags/rm-community/rm-community-repo/Dockerfile @@ -1,14 +1,17 @@ ### Apply AGS community repo AMP to ACS image -FROM quay.io/alfresco/alfresco-content-repository-community:7.0.0 +FROM alfresco/alfresco-community-repo-base:${image.tag} # Alfresco user does not have permissions to modify webapps or configuration. Switch to root. # The access will be fixed after all operations are done. USER root COPY target/alfresco-governance-services-community-repo-*.amp /usr/local/tomcat/amps/ +COPY target/alfresco-share-services-*.amp /usr/local/tomcat/amps/ +# Install amps on alfresco.war RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \ - /usr/local/tomcat/amps/alfresco-governance-services-community-repo-*.amp /usr/local/tomcat/webapps/alfresco -nobackup + /usr/local/tomcat/amps \ + /usr/local/tomcat/webapps/alfresco -directory -nobackup ### Copy gs-api-explorer war into webapps folder COPY target/gs-api-explorer-*.war /usr/local/tomcat/webapps/ diff --git a/amps/ags/rm-community/rm-community-repo/pom.xml b/amps/ags/rm-community/rm-community-repo/pom.xml index 09148f583f..1853473192 100644 --- a/amps/ags/rm-community/rm-community-repo/pom.xml +++ b/amps/ags/rm-community/rm-community-repo/pom.xml @@ -1,19 +1,17 @@ - 4.0.0 alfresco-governance-services-community-repo - Alfresco Governance Services Community Repository - Alfresco Governance Services Repository Extension amp + Alfresco Governance Services Community Repository AMP + Alfresco Governance Services Repository Extension org.alfresco - alfresco-governance-services-community - 11.21-ags-1.0-SNAPSHOT + alfresco-governance-services-community-repo-parent + 11.7-ags-1.0-SNAPSHOT - ${basedir}/target/alf_test_data org.alfresco.repo.domain.dialect.MySQLInnoDBDialect alfresco @@ -24,15 +22,141 @@ alfresco-platform 9.1-901.jdbc4 alfresco-governance-services-community-repo - - - 7.0.0-A18 + alfresco/alfresco-governance-repository-community false - + + + org.alfresco + alfresco-data-model + ${project.version} + provided + + + org.alfresco + alfresco-remote-api + ${project.version} + provided + + + org.alfresco + alfresco-repository + ${project.version} + provided + + + org.alfresco + alfresco-repository + ${project.version} + tests + test + + + org.alfresco + alfresco-remote-api + ${project.version} + tests + test + + + org.alfresco + alfresco-core + ${project.version} + tests + test + + + javax.servlet + javax.servlet-api + provided + + + org.alfresco.surf + spring-webscripts + tests + test + + + io.takari.junit + takari-cpsuite + 1.2.7 + test + + + junit + junit + test + + + postgresql + postgresql + test + + + mysql + mysql-connector-java + test + + + org.reflections + reflections + 0.9.12 + test + + + + io.swagger + swagger-parser + 1.0.52 + test + + + + com.github.fge + json-schema-validator + 2.2.6 + test + + + org.mockito + mockito-all + test + + + com.fasterxml.jackson.core + jackson-core + provided + + + com.fasterxml.jackson.core + jackson-annotations + provided + + + com.fasterxml.jackson.core + jackson-databind + provided + + + com.fasterxml.jackson.datatype + jackson-datatype-joda + provided + + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + provided + + + org.springframework + spring-test + test + + + source/java test/java @@ -50,6 +174,7 @@ test/resources + org.codehaus.mojo @@ -125,11 +250,7 @@ - - - io.fabric8 - docker-maven-plugin - + org.apache.maven.plugins maven-failsafe-plugin @@ -148,7 +269,6 @@ jdbc:postgresql://localhost:${database.port}/${alfresco.test.db.name} ${project.build.directory}/alf-data-test - ${skip.integrationtests} **/AllTestSuite.class @@ -174,7 +294,7 @@ org.alfresco alfresco-share-services - ${alfresco.alfresco-share-services.version} + ${project.version} amp @@ -221,7 +341,6 @@ true true true - @@ -239,7 +358,7 @@ prepare-package true - ${project.build.directory}/alfresco-share-services-${alfresco.alfresco-share-services.version}.amp + ${project.build.directory}/alfresco-share-services-${project.version}.amp ${app.amp.client.war.folder} @@ -277,6 +396,7 @@ + @@ -319,137 +439,7 @@ - - - org.alfresco - alfresco-data-model - ${project.version} - provided - - - org.alfresco - alfresco-remote-api - ${project.version} - provided - - - org.alfresco - alfresco-repository - ${project.version} - provided - - - org.alfresco - alfresco-repository - ${project.version} - tests - test - - - org.alfresco - alfresco-remote-api - ${project.version} - tests - test - - - org.alfresco - alfresco-core - ${project.version} - tests - test - - - javax.servlet - javax.servlet-api - provided - - - org.alfresco.surf - spring-webscripts - tests - test - - - io.takari.junit - takari-cpsuite - 1.2.7 - test - - - junit - junit - test - - - postgresql - postgresql - test - - - mysql - mysql-connector-java - test - - - org.reflections - reflections - 0.9.12 - test - - - - io.swagger - swagger-parser - 1.0.52 - test - - - - com.github.fge - json-schema-validator - 2.2.6 - test - - - org.mockito - mockito-all - test - - - com.fasterxml.jackson.core - jackson-core - provided - - - com.fasterxml.jackson.core - jackson-annotations - provided - - - com.fasterxml.jackson.core - jackson-databind - provided - - - com.fasterxml.jackson.datatype - jackson-datatype-joda - provided - - - com.fasterxml.jackson.dataformat - jackson-dataformat-yaml - provided - - - org.springframework - spring-test - test - - - - use-mysql @@ -474,6 +464,71 @@ org.postgresql.Driver + + + start-db + + + + io.fabric8 + docker-maven-plugin + + + + + postgres:9.4.12 + + + + ${database.port}:${postgresql.port} + + + ${alfresco.db.password} + ${alfresco.db.username} + ${alfresco.test.db.name} + + + -c max_connections=300 + + + database system is ready to accept connections + + + + + + alfresco/alfresco-activemq:${dependency.activemq.version} + + + ${activemq.port1}:${activemq.port1} + ${activemq.port2}:${activemq.port2} + + + + + + + + before-integration-tests + pre-integration-test + + stop + start + + + + after-integration-tests + post-integration-test + + stop + + + + + + + + start-repo @@ -574,6 +629,7 @@ + wipeDB @@ -626,56 +682,70 @@ - + - buildDockerImage - - - - io.fabric8 - docker-maven-plugin - - - + + communityDocker + + + + io.fabric8 + docker-maven-plugin + + + + ${image.name}:${image.tag} + + + + + + build-image + package + + build + + + + + + + - publish-docker-latest - - - - io.fabric8 - docker-maven-plugin - - - + internal + + + + + io.fabric8 + docker-maven-plugin + + + + + ${image.name}:${image.tag} + ${image.registry} + + + + ${image.name}:${image.tag} + + + + + + build-push-image + install + + build + push + + + + + + - - release-community - - - - io.fabric8 - docker-maven-plugin - - - - - - start-db - - - skip.integrationtests - false - - - - - - io.fabric8 - docker-maven-plugin - - - - diff --git a/amps/ags/rm-community/rm-community-rest-api-explorer/pom.xml b/amps/ags/rm-community/rm-community-rest-api-explorer/pom.xml index 1e6950cc4f..ea502f70e8 100644 --- a/amps/ags/rm-community/rm-community-rest-api-explorer/pom.xml +++ b/amps/ags/rm-community/rm-community-rest-api-explorer/pom.xml @@ -1,22 +1,22 @@ - 4.0.0 - alfresco-governance-services-community-rest-api-explorer - Alfresco Governance Services Community REST API Explorer - war + 4.0.0 + alfresco-governance-services-community-rest-api-explorer + war + Alfresco Governance Services Community REST API Explorer - - org.alfresco - alfresco-governance-services-community - 11.21-ags-1.0-SNAPSHOT - + + org.alfresco + alfresco-governance-services-community-repo-parent + 11.7-ags-1.0-SNAPSHOT + - - false - UTF-8 - UTF-8 - + + false + UTF-8 + UTF-8 + - + org.apache.maven.plugins diff --git a/amps/ags/travis/.travis.integration-test-MySQL.yml b/amps/ags/travis/.travis.integration-test-MySQL.yml index a27f9613d9..f4a083baa9 100644 --- a/amps/ags/travis/.travis.integration-test-MySQL.yml +++ b/amps/ags/travis/.travis.integration-test-MySQL.yml @@ -8,12 +8,12 @@ jobs: name: "Community Integrations Tests on MySQL" stage: Tests if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ + install: travis_retry travis_wait 60 mvn -B -V -q clean install ${MVN_SKIP} before_script: - docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mysql:5.7.23 --transaction-isolation='READ-COMMITTED' - docker run -d -p 61617:61617 -p 5673:5673 alfresco/alfresco-activemq:5.15.8 - script: travis_retry travis_wait 80 mvn -B -q clean verify ${MVN_SKIP} -Puse-mysql -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3307 -f rm-community/pom.xml -amd ${LOG_WARN} + script: travis_retry travis_wait 80 mvn -B -q clean verify ${MVN_SKIP} -Puse-mysql -Dmy.db.name=alfresco -Dmy.db.port=3307 -f rm-community/pom.xml -amd ${LOG_WARN} - <<: *integration_test_on_MYSQL name: "Enterprise Integrations Tests on MySQL" - install: travis_retry travis_wait 60 mvn -B -V -q clean install ${MVN_SKIP} - script: travis_retry travis_wait 80 mvn -B -q clean verify ${MVN_SKIP} -Puse-mysql -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3307 -f rm-enterprise/pom.xml -amd ${LOG_WARN} + script: travis_retry travis_wait 80 mvn -B -q clean verify ${MVN_SKIP} -Puse-mysql -Dmy.db.name=alfresco -Dmy.db.port=3307 -f rm-enterprise/pom.xml -amd ${LOG_WARN} diff --git a/amps/ags/travis/.travis.publish-stage.yml b/amps/ags/travis/.travis.publish-stage.yml deleted file mode 100644 index a2a73c09c3..0000000000 --- a/amps/ags/travis/.travis.publish-stage.yml +++ /dev/null @@ -1,43 +0,0 @@ -jobs: - include: - - name: "Community Publish to S3 Release Bucket" - stage: Publish - if: commit_message =~ /\[community release .*\]/ AND commit_message =~ /\[publish\]/ - before_script: source travis/scripts/set-release-variables.sh - script: skip - before_deploy: bash travis/scripts/zip-artifacts-release.sh "community" - deploy: - - provider: s3 - access_key_id: ${RELEASE_AWS_ACCESS_KEY} - secret_access_key: ${RELEASE_AWS_SECRET_KEY} - region: "eu-west-1" - bucket: "eu.dl.alfresco.com" - upload_dir: "release/community/RM/${RELEASE_VERSION}" - skip_cleanup: true - acl: private - local_dir: artifacts_dir - on: - all_branches: true - after_deploy: - - echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/eu.dl.alfresco.com/release/community/RM/${RELEASE_VERSION}" - - - name: "Enterprise Publish to S3 Release Bucket" - stage: Publish - if: commit_message =~ /\[enterprise release .*\]/ AND commit_message =~ /\[publish\]/ - before_script: source travis/scripts/set-release-variables.sh - script: skip - before_deploy: bash travis/scripts/zip-artifacts-release.sh "enterprise" - deploy: - - provider: s3 - access_key_id: ${RELEASE_AWS_ACCESS_KEY} - secret_access_key: ${RELEASE_AWS_SECRET_KEY} - region: "eu-west-1" - bucket: "eu.dl.alfresco.com" - upload_dir: "release/enterprise/RM/${RELEASE_VERSION}" - skip_cleanup: true - acl: private - local_dir: artifacts_dir - on: - all_branches: true - after_deploy: - - echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/eu.dl.alfresco.com/release/enterprise/RM/${RELEASE_VERSION}" diff --git a/amps/ags/travis/.travis.release-stage.yml b/amps/ags/travis/.travis.release-stage.yml deleted file mode 100644 index 8d2301df95..0000000000 --- a/amps/ags/travis/.travis.release-stage.yml +++ /dev/null @@ -1,52 +0,0 @@ -jobs: - include: - - name: "Community Release and Publish to S3 Staging Bucket" - stage: Release - if: commit_message =~ /\[community release .*\]/ - before_script: - - source travis/scripts/set-release-variables.sh - - bash travis/scripts/check-existing-tags.sh "alfresco/alfresco-governance-share-community" - script: - - bash travis/scripts/community_release.sh - before_deploy: - - bash travis/scripts/zip-artifacts-staging.sh "community" - - bash travis/scripts/pushDockerDigestTag.sh -i quay.io/alfresco/alfresco-governance-repository-community -i quay.io/alfresco/alfresco-governance-share-community -r quay.io -t ${RELEASE_VERSION} - deploy: - - provider: s3 - access_key_id: ${STAGING_AWS_ACCESS_KEY} - secret_access_key: ${STAGING_AWS_SECRET_KEY} - region: "eu-west-1" - bucket: "alfresco-artefacts-staging" - upload_dir: "community/RM/${RELEASE_VERSION}" - skip_cleanup: true - acl: private - local_dir: artifacts_dir - on: - all_branches: true - after_deploy: - - echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/alfresco-artefacts-staging/community/RM/${RELEASE_VERSION}" - - - name: "Enterprise Release and Publish to S3 Staging Bucket" - stage: Release - if: commit_message =~ /\[enterprise release .*\]/ - before_script: - - source travis/scripts/set-release-variables.sh - script: - - bash travis/scripts/enterprise_release.sh - before_deploy: - - bash travis/scripts/zip-artifacts-staging.sh "enterprise" - - bash travis/scripts/pushDockerDigestTag.sh -i quay.io/alfresco/alfresco-governance-repository-enterprise -i quay.io/alfresco/alfresco-governance-share-enterprise -r quay.io -t ${RELEASE_VERSION} - deploy: - - provider: s3 - access_key_id: ${STAGING_AWS_ACCESS_KEY} - secret_access_key: ${STAGING_AWS_SECRET_KEY} - region: "eu-west-1" - bucket: "alfresco-artefacts-staging" - upload_dir: "enterprise/RM/${RELEASE_VERSION}" - skip_cleanup: true - acl: private - local_dir: artifacts_dir - on: - all_branches: true - after_deploy: - - echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/alfresco-artefacts-staging/enterprise/RM/${RELEASE_VERSION}" diff --git a/amps/ags/travis/.travis.tests-stage.yml b/amps/ags/travis/.travis.tests-stage.yml index 9b1fca53e2..4d217c4bbf 100644 --- a/amps/ags/travis/.travis.tests-stage.yml +++ b/amps/ags/travis/.travis.tests-stage.yml @@ -8,7 +8,7 @@ jobs: - name: "Unit & Integration Tests" stage: Tests install: travis_retry travis_wait 60 mvn -B -V -q clean install ${MVN_SKIP} - script: travis_retry travis_wait 120 mvn -B -q verify -Dskip.integrationtests=false ${LOG_WARN} + script: travis_retry travis_wait 120 mvn -B -q verify ${LOG_WARN} - name: "Community Rest API Tests" stage: Tests diff --git a/amps/ags/travis/scripts/check-existing-tags.sh b/amps/ags/travis/scripts/check-existing-tags.sh deleted file mode 100644 index dee1edabc3..0000000000 --- a/amps/ags/travis/scripts/check-existing-tags.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -alfresco_docker_image=$1 -# Verify release tags -get_tags="$(curl https://hub.docker.com/r/$alfresco_docker_image/tags/ | grep -o '\"result\".*\"]')" -arrayTags=($get_tags) - -echo "Existing Tags: $get_tags" - -for tag in "${arrayTags[@]}" -do - if [[ $tag = ${RELEASE_VERSION} ]]; then - echo "Tag ${RELEASE_VERSION} already pushed, release process will interrupt." - exit 0 - fi -done - -echo "The ${RELEASE_VERSION} tag was not found" diff --git a/amps/ags/travis/scripts/community_release.sh b/amps/ags/travis/scripts/community_release.sh deleted file mode 100644 index 07d8f70e77..0000000000 --- a/amps/ags/travis/scripts/community_release.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -set -e - -# Use full history for release -git checkout -B "${TRAVIS_BRANCH}" - -git config user.email "${GIT_EMAIL}" - -if [ -z ${RELEASE_VERSION} ] || [ -z ${DEVELOPMENT_VERSION} ]; then - echo "Please provide a Release and Development version" - exit 1 -fi - -mvn -B \ - -Dusername="${GIT_USERNAME}" \ - -Dpassword="${GIT_PASSWORD}" \ - -DreleaseVersion=${RELEASE_VERSION} \ - -DdevelopmentVersion=${DEVELOPMENT_VERSION} \ - -DscmCommentPrefix="[maven-release-plugin][skip ci] " \ - -DuseReleaseProfile=false \ - "-Darguments=-DskipTests -P\!enterprise -Prelease-community,community-release" \ - release:clean release:prepare release:perform diff --git a/amps/ags/travis/scripts/set-release-variables.sh b/amps/ags/travis/scripts/set-release-variables.sh deleted file mode 100644 index 9d38ed7e4c..0000000000 --- a/amps/ags/travis/scripts/set-release-variables.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash -set -e - -echo "Travis commit message: $TRAVIS_COMMIT_MESSAGE" -release_message=$(echo "$TRAVIS_COMMIT_MESSAGE" | grep -Po '(\[(community|enterprise)\srelease\s((\d)+\.)+((\d)+|[a-z])(-[A-Z](\d)+){0,1}\s((\d)+\.)+(\d)+-SNAPSHOT\])') - -if [ ! -n "$release_message" ]; then - echo "The commit message is in the wrong format or it does not contain all the required properties." - exit 1 -fi - -export RELEASE_VERSION=$(echo $release_message | grep -Po '((\d)+\.)+((\d)+|[a-z])(-[A-Z](\d)+){0,1}' | head -1) -export DEVELOPMENT_VERSION=$(echo $release_message | grep -Po '((\d)+\.)+(\d)+-SNAPSHOT') - -echo "Release version is set to $RELEASE_VERSION" -echo "Development version is set to $DEVELOPMENT_VERSION" \ No newline at end of file diff --git a/amps/ags/travis/scripts/zip-artifacts-release.sh b/amps/ags/travis/scripts/zip-artifacts-release.sh deleted file mode 100644 index b62faef5f0..0000000000 --- a/amps/ags/travis/scripts/zip-artifacts-release.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash -set -e - -release_type=$1 - -mkdir "artifacts_dir" - -mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.1.1:copy \ - -Dartifact=org.alfresco:alfresco-governance-services-${release_type}-repo:${RELEASE_VERSION}:amp \ - -DoutputDirectory=artifacts_dir - -mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.1.1:copy \ - -Dartifact=org.alfresco:alfresco-governance-services-${release_type}-share:${RELEASE_VERSION}:amp \ - -DoutputDirectory=artifacts_dir - -mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.1.1:copy \ - -Dartifact=org.alfresco:alfresco-governance-services-${release_type}-rest-api-explorer:${RELEASE_VERSION}:war \ - -DoutputDirectory=artifacts_dir - -cd artifacts_dir -zip alfresco-governance-services-${release_type}-${RELEASE_VERSION}.zip * - -# rm *.amp *.war -f -ls \ No newline at end of file diff --git a/amps/ags/travis/scripts/zip-artifacts-staging.sh b/amps/ags/travis/scripts/zip-artifacts-staging.sh deleted file mode 100644 index 439d9619c7..0000000000 --- a/amps/ags/travis/scripts/zip-artifacts-staging.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash -set -e - -release_type=$1 - -mkdir "artifacts_dir" -cp rm-${release_type}/rm-${release_type}-repo/target/alfresco-governance-services-${release_type}-repo-*.amp artifacts_dir -cp rm-${release_type}/rm-${release_type}-share/target/alfresco-governance-services-${release_type}-share-*.amp artifacts_dir -cp rm-${release_type}/rm-${release_type}-rest-api-explorer/target/alfresco-governance-services-${release_type}-rest-api-explorer-*.war artifacts_dir - -cd artifacts_dir -zip alfresco-governance-services-${release_type}-${RELEASE_VERSION}.zip * - -# rm *.amp *.war -f -ls \ No newline at end of file diff --git a/amps/pom.xml b/amps/pom.xml index 9395558b4f..008e0e8889 100644 --- a/amps/pom.xml +++ b/amps/pom.xml @@ -7,10 +7,11 @@ org.alfresco alfresco-community-repo - 11.21-ags-1.0-SNAPSHOT + 11.7-ags-1.0-SNAPSHOT + share-services ags diff --git a/amps/share-services/pom.xml b/amps/share-services/pom.xml index 6b65e8dc91..5aceb9ba2a 100644 --- a/amps/share-services/pom.xml +++ b/amps/share-services/pom.xml @@ -4,17 +4,23 @@ Alfresco Share Services AMP Module to be applied to alfresco.war, containing APIs for Alfresco Share amp + - alfresco-share-parent org.alfresco - 11.1-SNAPSHOT + alfresco-community-repo-amps + 11.7-ags-1.0-SNAPSHOT + + ${project.parent.scm.url} + ${buildNumber} + + org.alfresco alfresco-remote-api - ${dependency.alfresco-community-repo.version} + ${project.version} provided @@ -35,7 +41,7 @@ org.alfresco alfresco-core - ${dependency.alfresco-community-repo.version} + ${project.version} provided @@ -62,13 +68,12 @@ junit junit - 4.13.1 test org.alfresco alfresco-repository - ${dependency.alfresco-community-repo.version} + ${project.version} tests test @@ -94,7 +99,7 @@ org.alfresco alfresco-remote-api - ${dependency.alfresco-community-repo.version} + ${project.version} tests test @@ -117,21 +122,9 @@ ${dependency.spring.version} test - javax.servlet javax.servlet-api - 4.0.1 provided @@ -188,13 +181,13 @@ true - ${version.major}.${version.minor}.${version.revision} + ${acs.version.major}.${acs.version.minor}.${acs.version.revision} ${project.version} ${maven.build.timestamp} ${bamboo_planName} ${bamboo_fullBuildKey} - ${bamboo_buildNumber} - ${bamboo_repository_revision_number} + ${build-number} + ${scm-revision} @@ -205,6 +198,7 @@ default-test + diff --git a/pom.xml b/pom.xml index d93baafaae..67e288dad8 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 alfresco-community-repo - 11.21-ags-1.0-SNAPSHOT + 11.7-ags-1.0-SNAPSHOT pom Alfresco Community Repo Parent @@ -105,7 +105,7 @@ 2.7.2 3.0.44 3.3.0 - 1.58 + 1.57 1.29 1.8 1.6 @@ -335,6 +335,11 @@ commons-codec 1.15 + + commons-lang + commons-lang + 2.6 + commons-io commons-io @@ -633,19 +638,16 @@ org.alfresco.tas utility ${dependency.tas-utility.version} - test io.rest-assured rest-assured ${dependency.rest-assured.version} - test org.alfresco.tas restapi ${dependency.tas-restapi.version} - test org.alfresco.tas @@ -675,7 +677,6 @@ org.alfresco.test dataprep ${dependency.tas-dataprep.version} - test joda-time @@ -789,6 +790,21 @@ ${dependency.camel.version} test + + org.apache.taglibs + taglibs-standard-spec + ${dependency.apache.taglibs.version} + + + org.apache.taglibs + taglibs-standard-impl + ${dependency.apache.taglibs.version} + + + org.apache.taglibs + taglibs-standard-jstlel + ${dependency.apache.taglibs.version} + @@ -830,5 +846,4 @@ - diff --git a/repository/pom.xml b/repository/pom.xml index 3065f9aff8..7308041ec2 100644 --- a/repository/pom.xml +++ b/repository/pom.xml @@ -7,7 +7,7 @@ org.alfresco alfresco-community-repo - 11.21-ags-1.0-SNAPSHOT + 11.7-ags-1.0-SNAPSHOT @@ -841,17 +841,14 @@ org.apache.taglibs taglibs-standard-spec - ${dependency.apache.taglibs.version} org.apache.taglibs taglibs-standard-impl - ${dependency.apache.taglibs.version} org.apache.taglibs taglibs-standard-jstlel - ${dependency.apache.taglibs.version} diff --git a/scripts/travis/init.sh b/scripts/travis/init.sh index 2eb4e3f158..8692d8d1eb 100644 --- a/scripts/travis/init.sh +++ b/scripts/travis/init.sh @@ -14,9 +14,6 @@ if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then echo "${QUAY_PASSWORD}" | docker login -u="${QUAY_USERNAME}" --password-stdin quay.io fi -# not helpful in this script -# export HOST_IP=$(hostname -I | cut -f1 -d' ') - popd set +vex echo "=========================== Finishing Init Script ==========================" diff --git a/scripts/travis/maven_release.sh b/scripts/travis/maven_release.sh index beb01fb830..b3bd716b5e 100755 --- a/scripts/travis/maven_release.sh +++ b/scripts/travis/maven_release.sh @@ -13,7 +13,7 @@ git config user.email "${GIT_EMAIL}" # Run the release plugin - with "[skip ci]" in the release commit message mvn -B \ -PfullBuild,all-tas-tests \ - "-Darguments=-PfullBuild,all-tas-tests -DskipTests -Dbuild-number=${TRAVIS_BUILD_NUMBER}" \ + "-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}" \