diff --git a/.gitignore b/.gitignore
index f9983e601..ff8957e87 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,8 @@
*.class
+war/overlays
+alfresco/*
+
# Eclipse
.classpath
.settings
@@ -10,7 +13,7 @@
*.iml
*.iws
-#VSCode
+#VScode
/.vscode
# Mac
@@ -21,7 +24,6 @@ target
*.log
*.log.*
-
# Package Files #
*.jar
*.war
@@ -30,12 +32,9 @@ target
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
-# Alfresco
-alf_data/
-
helm/alfresco-content-services-community/charts/*
helm/alfresco-content-services-community/requirements.lock
helm/alfresco-content-services-community*.tgz
-# Travis deployment folder
-deploy_dir
\ No newline at end of file
+# Travis deployment folder
+deploy_dir
diff --git a/.travis.yml b/.travis.yml
index ab3af57c9..f471584cd 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,5 @@
---
dist: xenial
-sudo: required
language: java
jdk: openjdk11
@@ -29,7 +28,7 @@ env:
global:
- TAS_SCRIPTS=../alfresco-community-repo/packaging/tests/scripts
- TAS_ENVIRONMENT=./tests/environment
- # Release version has to start with real version (7.1.0-....) for the docker image to build successfully.
+ # Release version has to start with real version (7.1.0-....) for the docker image to build successfully.
- RELEASE_VERSION=7.1.0-A4
- DEVELOPMENT_VERSION=7.1.0-SNAPSHOT
@@ -37,11 +36,11 @@ stages:
- name: test
if: commit_message !~ /\[skip tests\]/
- name: docker_latest
- if: fork = false AND type != pull_request AND branch = master
+ if: commit_message !~ /\[skip docker_latest\]/ AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND fork = false
- name: release
- if: commit_message =~ /\[release\]/ AND fork = false AND type != pull_request AND (branch = master OR branch =~ /release\/.*/)
+ if: commit_message =~ /\[release\]/ AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND fork = false
- name: publish
- if: commit_message =~ /\[publish\]/ AND fork = false AND type != pull_request AND (branch = master OR branch =~ /release\/.*/)
+ if: commit_message =~ /\[publish\]/ AND (branch = master OR 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
@@ -49,6 +48,7 @@ install: travis_retry travis_wait 40 bash scripts/travis/build.sh
jobs:
include:
- name: "REST API TAS tests part1"
+ if: commit_message !~ /\[skip 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"
@@ -56,6 +56,7 @@ jobs:
- 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"
+ if: commit_message !~ /\[skip 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"
@@ -63,6 +64,7 @@ jobs:
- 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"
+ if: commit_message !~ /\[skip 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"
@@ -70,6 +72,7 @@ jobs:
- 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 - BROWSER binding"
+ if: commit_message !~ /\[skip 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"
@@ -77,6 +80,7 @@ jobs:
- travis_wait 40 mvn -B install -f tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-browser -Denvironment=default -DrunBugs=false
- name: "CMIS TAS tests - ATOM binding"
+ if: commit_message !~ /\[skip 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"
@@ -84,6 +88,7 @@ jobs:
- travis_wait 40 mvn -B install -f tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-atom -Denvironment=default -DrunBugs=false
- name: "CMIS TAS tests - WEBSERVICES binding"
+ if: commit_message !~ /\[skip 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"
@@ -91,6 +96,7 @@ jobs:
- travis_wait 40 mvn -B install -f tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-webservices -Denvironment=default -DrunBugs=false
- name: "Email TAS tests"
+ if: commit_message !~ /\[skip 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"
@@ -98,6 +104,7 @@ jobs:
- travis_wait 30 mvn -B install -f tests/tas-email/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
- name: "WebDAV TAS tests"
+ if: commit_message !~ /\[skip 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"
@@ -105,15 +112,16 @@ jobs:
- travis_wait 20 mvn -B install -f tests/tas-webdav/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
- name: "Integration TAS tests"
+ if: commit_message !~ /\[skip 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 tests/tas-integration/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
- - name: "Update latest images in quay.io"
+ - name: "Update latest images"
stage: docker_latest
- script: travis_retry travis_wait 30 mvn -B -V clean install -DskipTests -Dmaven.javadoc.skip=true -Pinternal
+ script: travis_retry travis_wait 30 mvn -B -V clean install -DskipTests -Dmaven.javadoc.skip=true -Ppush-docker-images
- name: "Release and Copy to S3 Staging Bucket"
stage: release
@@ -124,6 +132,7 @@ jobs:
- mkdir -p deploy_dir
- cp distribution/target/alfresco.war deploy_dir
- cp distribution/target/*-distribution*.zip deploy_dir
+ - ls -lA deploy_dir
deploy:
- provider: s3
access_key_id: "${AWS_STAGING_ACCESS_KEY}"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8a484069f..f5140e88b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,114 @@
+
7.1.0 Community
+
+
+ New Features
+
+Removal of 3rd party libraries
+
+With the offloading of both transforms and metadata extraction to T-Engines a number of 3rd party libraries
+are no longer needed within the content repository. They do still exist within the T-Engines performing the
+same tasks. Any AMPs that where making use of these will need to provide these libraries themselves. This will
+reduce the footprint of the repository and allow more frequent releases of the T-Engines to take advantage of
+new functionality or security patches in these libraries.
+
+- PdfBox org.apache.pdfbox:pdfbox:2.0.21 removed - transforms are now performed in T-Engines
+- PdfBox org.apache.pdfbox:fontbox:2.0.21 removed - transforms are now performed in T-Engines
+- PdfBox org.apache.pdfbox:pdfbox-tools:2.0.21 removed - transforms are now performed in T-Engines
+
+
+
+ 7.0.0 Community
+
+
+ New Features
+
+
+
+- Metadata Extract
+
+The out of the box extraction of metadata is now generally performed asynchronously via a T-Engine connected to the
+repository either as part of the Alfresco Transform Service or as a Local transformer. This provides better security,
+scalability and reliability. The framework used for metadata extraction within the content repository remains,
+allowing custom extractors / embedders of metadata to still function, as long as they don't extend the extractors
+that have been removed. Ideally such custom code should be gradually moved into a T-Engine. For more information see
+[Metadata Extractors](https://github.com/Alfresco/acs-packaging/blob/master/docs/metadata-extract-embbed.md).
+- Removal of Legacy transformers
+
+In ACS 6, the Alfresco Transform Service and Local transformers where introduced to help offload the transformation
+of content to a separate process. In ACS 7, the out of the box Legacy transformers and transformation framework have
+been removed. This helps provide greater clarity around installation and administration of transformations and
+technically a more scalable, reliable and secure environment.
+
+- Custom Transforms and Renditions
+
+ACS 7 provides a number of content transforms, but also allows custom transforms to be added.
+
+It is possible to create custom transforms that run in separate processes known as T-Engines. The same engines may
+be used in Community and Enterprise Editions.
+
+For more information, see [Custom Transforms and Renditions](https://github.com/Alfresco/acs-packaging/blob/master/docs/custom-transforms-and-renditions.md)
+
+
+- Core All-In-One (AIO) Transform Engine
+
+We have previously used T-Engines for Community and Enterprise Editions that run in separate processes. (https://docs.alfresco.com/transform-service/latest/)
+
+The Core All-In-One (AIO) Transform Engine combines the current 5x core T-Engines (LibreOffice, imagemagick,
+Alfresco PDF Renderer, Tika) packaged together into a single Docker image. Enterprise deployments require
+greater scalability and we anticipate in these situations the individual T-Engines will be preferable.
+
+For Community deployments the AIO T-Engine, running it in a single JVM is recommended. In addition the
+AIO solution has been updated at with the option to build a single AIO T-Engine.
+
+
+- Events related to node and association actions
+
+With Alfresco Content Services 7.0, the Content Repository publishes events related to an initial set of actions
+to nodes and associations. This is the first time that this feature is introduced as part of the ACS Core Services,
+and it will be used in many use cases, as an example by the Alfresco SDK 5. For the moment the supported events
+are related to node creation/update/deletion, secondary child association creation/deletion, peer association
+creation/deletion.
+
+
+- New REST API Endpoints:
+
+ File Rendition Management API is now available under /s
+ POST '/nodes/{nodeId}/s/{Id}/renditions'
+ GET '/nodes/{nodeId}/s/{Id}/renditions'
+ GET '/nodes/{nodeId}/s/{Id}/renditions/{renditionId}'
+ GET '/nodes/{nodeId}/s/{Id}/renditions/{renditionId}/content'
+
+ Site Membership Management API is now available under /sites
+ GET '/sites/{siteId}/group-members'
+ POST '/sites/{siteId}/group-members'
+ GET '/sites/{siteId}/group-members/{groupId}'
+ PUT '/sites/{siteId}/group-members/{groupId}'
+ DELETE '/sites/{siteId}/group-members/{groupId}'
+
+ Model API: https://develop.envalfresco.com/api-explorer/?urls.primaryName=Model API
+
+
+- Recommended Database Patch
+
+ACS 7 contains a recommended database patch, which adds two indexes to the alf_node table and three to alf_transaction.
+This patch is optional, but recommended for larger implementations as it can have a big positive performance impact.
+These indexes are not automatically applied during upgrade, as the amount of time needed to create them might be
+considerable. They should be run manually after the upgrade process completes.
+
+To apply the patch, an admin should set the following Alfresco global property to “true”. Like other patches it will
+only be run once, so there is no need to reset the property afterwards.
+
+ system.new-node-transaction-indexes.ignored=false
+
+Until this step is completed, you will see Schema Validation warnings reported in the alfresco.log on each startup.
+The log will also indicate that the patch was not run.
+
+ INFO [org.alfresco.repo.domain.schema.SchemaBootstrap] [...] Ignoring script patch (post-Hibernate): patch.db-V6.3-add-indexes-node-transaction
+ ...
+ WARN [org.alfresco.repo.domain.schema.SchemaBootstrap] [...] Schema validation found ... potential problems, results written to ...
+
+
+
Release Notes - Alfresco - Version Community Edition 201911 GA
Bug
diff --git a/README.md b/README.md
index 42778de51..e312d92c6 100644
--- a/README.md
+++ b/README.md
@@ -1,36 +1,53 @@
# Alfresco Content Services Community Packaging
-This project is producing packaging for [Alfresco Content Services Repository](https://community.alfresco.com/docs/DOC-6385-project-overview-repository).
+This project is producing packaging for Alfresco Content Services Community.
-The SNAPSHOT version of the artifacts is **never** published.
+The SNAPSHOT version of artifacts are **never** published.
### Contributing guide
Please use [this guide](CONTRIBUTING.md) to make a contribution to the project.
-This produces the docker images for alfresco-content-repository-community and the distribution zip for the entire Alfresco Content Services Community product
-
# General
-### Build:
-* ```mvn clean install``` in the root of the project will build everything.
+This project is the Community equivalent of the [Enterprise Packaging Project](https://github.com/Alfresco/acs-packaging).
+This project creates the `alfresco/alfresco-content-repository-community` docker image and the distribution zip
+for the Alfresco Content Services Community product.
+
+The `alfresco/alfresco-content-repository-community` image extends the `alfresco-community-repo-base` created by the
+`alfresco-community-repo` project to add additional ACS components.
+
+# Build:
+To build the project, including the distribution zip, but not the Docker images, issue the following commands:
+```
+$ # The comP alias includes the following:
+$ cd acs-community-packaging
+$ mvn clean install
+$ cd ..
+```
## Docker Alfresco
-On official releases, the image is published: https://hub.docker.com/r/alfresco/alfresco-content-repository-community/tags/
+Releases are published to https://hub.docker.com/r/alfresco/alfresco-content-repository-community/tags/
-For testing locally:
-1. Go to docker-alfresco folder
-2. Run *mvn clean install* if you have not done so
-3. Build the docker image: ```docker build . --tag acr-community:6.0.tag```
-4. Check that the image has been created locally with your desired name/tag: ```docker images```
+To build the Docker images, you will need to build the `alfresco-community-repo` and
+`acs-community-packaging` projects. The simplest way is to use the `comRD` and `comPD` aliases.
+For more information, see [build aliases](dev/aliases). `latest` images are created locally.
+```
+comRD && comPD
+```
+
+## Docker-compose & Kubernetes
+Use the https://github.com/Alfresco/acs-deployment project as the basis for your own docker-compose or helm chart deployments.
-### Docker-compose & Kubernetes
-Use the deployment project if you want the sample docker-compose or helm: https://github.com/Alfresco/acs-deployment
## Distribution zip
-In this folder the distribution zip is build. It contains all the war files, libraries, certificates and settings files you need to deploy Alfresco Content Services Community on the supported application servers.
+The distribution zip contains the war files, libraries, certificates and settings files you need, to deploy
+Alfresco Content Services on the supported application servers.
-## How to
+# How to
+
+* [Development Tomcat Environment](dev/README.md)
+* [aliases](dev/aliases)
* [Create a custom Docker image](https://github.com/Alfresco/acs-packaging/blob/master/docs/create-custom-image.md)
* [Creating customized Docker images using an existing Docker image](https://github.com/Alfresco/acs-packaging/blob/master/docs/create-custom-image-using-existing-docker-image.md)
* [Verifying that AMPs have been applied](https://github.com/Alfresco/acs-packaging/blob/master/docs/verify-the-amp-has-been-applied.md)
diff --git a/dev/README.md b/dev/README.md
index 959138edf..c473f33a6 100644
--- a/dev/README.md
+++ b/dev/README.md
@@ -5,11 +5,12 @@ It is possible to use Docker containers to test your code, but it is normally mo
repository webapp (`alfresco.war`) in a tomcat instance.
## Build -repo projects
-Build the `alfresco-community-repo` (if you have not done so already), so that your changes are in the enterprise alfresco.war file.
+Build the `alfresco-community-repo` (if you have not
+done so already), so that your changes are in the community alfresco.war file.
~~~
$ # The `comR` alias includes the following commands:
$ cd alfresco-community-repo
-$ mvn clean install -PcommunityDocker -DskipTests=true -Dversion.edition=Community
+$ mvn clean install -Pbuild-docker-images -DskipTests=true -Dversion.edition=Community
$ cd ..
~~~
@@ -20,7 +21,10 @@ The simplest way to create these, is to use the `docker-compose.yml` file in the
$ # The `envUp` alias is the same as the following commands:
$ cd acs-community-packaging
$ docker-compose -f dev/docker-compose.yml up -d
-...
+Creating dev_transform-core-aio_1 ... done
+Creating dev_postgres_1 ... done
+Creating dev_solr6_1 ... done
+Creating dev_activemq_1 ... done
$ cd ..
~~~
@@ -40,17 +44,16 @@ Once started, you will be able to access Share on `http://localhost:8080/share`
endpoints via `http://localhost:8080/alfresco/`. `entT` is an alias for the
following command and `entTDebug` will allow a debugger to be attached.
~~~
-$ # The alias comT is the same as the following mvn command. comTDebug may also be used.
-$ mvn clean install -Prun,withShare
+$ # The alias comT is the same as the following commands. comTDebug may also be used.
+$ cd acs-community-packaging
+$ mvn clean install -Prun -rf dev
+$ cd ..
[INFO] ------------------------------------------------------------------------
-[INFO] Reactor Build Order:
-[INFO]
-[INFO] Alfresco Content Services Community Packaging [pom]
-[INFO] Alfresco Content Services Community Distribution zip [jar]
-[INFO] Alfresco Content Services Public API Javadoc [pom]
-[INFO] ACS Community Docker Image Builder for Alfresco Community [pom]
-[INFO] Scanning for projects...
-[INFO] --------------------------------[ pom ]---------------------------------
+[INFO] Development Tomcat Environment [pom]
+[INFO] Tomcat Configuration [pom]
+[INFO] Repo WAR with amps [war]
+[INFO] Share WAR with amps [war]
+[INFO] Tomcat [war]
...
INFO: Starting ProtocolHandler ["http-bio-8080"]
$ cd ..
@@ -99,9 +102,13 @@ and `dev/dev-acs-amps-overlay/target/dev-instance/tomcat/shared/classes/alfresco
on the next `mvn clean`.
## Aliases
-You may also find the aliases specified in the following file useful, as they may save you some typing.
+You may also find the aliases specified in the following file useful, as they will help you only build selected parts
+of the code base and will save you lots of typing.
-Aliases ending in `D` provide Maven commands for building local Docker images.
+Aliases ending in `D` provide Maven commands for building local Docker images. The AMPS environment variable will be of
+interest, if you wish to build AMPs included in the repo and share projects.
+
+The `aliases` file includes a more detailed description.
~~~
$ source acs-community-packaging/dev/aliases
~~~
diff --git a/dev/aliases b/dev/aliases
index 2cb2d9bc1..77bc94fdf 100755
--- a/dev/aliases
+++ b/dev/aliases
@@ -1,8 +1,8 @@
# The aliases in this script provide simple commands to build projects, start tomcat and combinations of these. This
# give the flexibility to only rebuild or repackage parts of the codebase that have changed.
#
-# Once the repository component has been built, it will need to be combined with other ACS components in the
-# acs_community_packaging projects.
+# Once the repository component has been built, it will need to be combined with other ACS components such as Share
+# in the acs_community_packaging projects.
#
# When developing code, you will normally not be creating repository docker images, or TAS test jar files, but will be
# creating war files and then running them in a local tomcat instance. To provide the environment needed to do this you
@@ -11,15 +11,20 @@
# If need to create Docker images or create TAS test jar files (extended in downstream projects), use the aliases that
# end in D for Docker.
#
+# By default only the share-services AMP is built by these aliases. Additional AMPS may be included by adding their
+# profile to the AMPS environment variable. For example: export AMPS="-Pags"
+#
# Aliases to build a sequence of projects and start tomcat - remember to start a CLEAN docker-compose environment - see envUp
# com - builds alfresco-community-repo & acs-community-packaging
#
# Aliases to build projects WITHOUT creating docker images or TAS tests jars
# comR - alfresco-community-repo
+# comS - share
# comP - acs-community-packaging
#
# Aliases to build projects including DOCKER images and TAS tests jars
# comRD - alfresco-community-repo
+# comSD - share
# comPD - acs-community-packaging
# Aliases to start tomcat in a CLEAN environment - remember to start a docker-compose environment - see envUp
@@ -30,28 +35,40 @@
# comO - acs-community-packaging
# comODebug - acs-community-packaging (uses mvnDebug to allow a debugger to be attached)
-export TAG=latest
+# Set environment variables if not already set
+if [ -z ${AMPS+x} ]
+then
+ export AMPS=""
+fi
+if [ -z ${TAG+x} ]
+then
+ export TAG=latest
+fi
-alias comR='(cd alfresco-community-repo && mvn clean install -DskipTests=true -Dversion.edition=Community)'
-alias comP='(cd acs-community-packaging && mvn clean install -Dmaven.javadoc.skip=true)'
+alias comR='(cd alfresco-community-repo && mvn clean install $AMPS -DskipTests=true -Dversion.edition=Community)'
+alias comS='(cd share && mvn clean install $AMPS -DskipTests -Dmaven.javadoc.skip=true)'
+alias comP='(cd acs-community-packaging && mvn clean install -Dmaven.javadoc.skip=true)'
-alias comRD="(cd alfresco-community-repo && mvn clean install -PcommunityDocker -Pall-tas-tests -DskipTests=true -Dimage.tag=$TAG -Dversion.edition=Community)"
-alias comPD="(cd acs-community-packaging && mvn clean install -PcommunityDocker -Pall-tas-tests -DskipTests=true -Dimage.tag=$TAG -Drepo.image.tag=$TAG -Dmaven.javadoc.skip=true)"
+alias comRD='(cd alfresco-community-repo && mvn clean install -Pbuild-docker-images -Pall-tas-tests $AMPS -DskipTests=true -Dimage.tag=$TAG -Dversion.edition=Community)'
+alias comSD='(cd share && mvn clean install -Pbuild-docker-images -Pall-tas-tests $AMPS -DskipTests -Dimage.tag=$TAG -Drepo.image.tag=$TAG -Dmaven.javadoc.skip=true -DskipTests=true)'
+alias comPD='(cd acs-community-packaging && mvn clean install -Pbuild-docker-images -Pall-tas-tests -DskipTests=true -Dimage.tag=$TAG -Drepo.image.tag=$TAG -Dmaven.javadoc.skip=true)'
-alias comT=' (cd acs-community-packaging && mvn clean install -Prun,withShare)'
-alias comTDebug='(cd acs-community-packaging && mvnDebug clean install -Prun,withShare)'
-alias comO=' (cd acs-community-packaging && mvn install -Prun,withShare -rf dev/dev-acs-amps-overlay)'
-alias comODebug='(cd acs-community-packaging && mvnDebug install -Prun,withShare -rf dev/dev-acs-amps-overlay)'
+alias comT='(cd acs-community-packaging && mvn clean install -Prun $AMPS -rf dev)'
+alias comTDebug='(cd acs-community-packaging && mvnDebug clean install -Prun $AMPS -rf dev)'
+alias comO='(cd acs-community-packaging && mvn install -Prun $AMPS -rf dev/dev-repo-amps-overlay)'
+alias comODebug='(cd acs-community-packaging && mvnDebug install -Prun $AMPS -rf dev/dev-repo-amps-overlay)'
-alias com='comR && comP && comT'
-alias comD='comRD && comPD'
-alias comX='comR && comP'
+alias com='comR && comS && comP && comT'
+alias comD='comRD && comSD && comPD'
+alias comX='comR && comS && comP'
+alias comDR='comRD && comRD && comPD'
+alias comXR='comR && comR && comP'
+alias comXS='comS && comP'
# Clean up of docker images and content stores (alf_data directories)
-alias drm='docker rm -f $(docker ps -q)'
-alias arm='rm -rf `find . -name alf_data`'
-alias envUp='docker-compose -f acs-community-packaging/dev/docker-compose.yml up'
-alias envStop='docker-compose -f acs-community-packaging/dev/docker-compose.yml stop'
-alias envKill='docker-compose -f acs-community-packaging/dev/docker-compose.yml kill'
-alias envRm='docker-compose -f acs-community-packaging/dev/docker-compose.yml rm'
-
+alias drm='docker rm -f $(docker ps -q)'
+alias arm='rm -rf `find . -name alf_data`'
+alias envUp='docker-compose -f acs-community-packaging/dev/docker-compose.yml up'
+alias envStop='docker-compose -f acs-community-packaging/dev/docker-compose.yml stop'
+alias envKill='docker-compose -f acs-community-packaging/dev/docker-compose.yml kill'
+alias envRm='docker-compose -f acs-community-packaging/dev/docker-compose.yml rm'
diff --git a/dev/dev-acs-amps-overlay/pom.xml b/dev/dev-acs-amps-overlay/pom.xml
index f29f4e979..dc49f4e27 100644
--- a/dev/dev-acs-amps-overlay/pom.xml
+++ b/dev/dev-acs-amps-overlay/pom.xml
@@ -2,7 +2,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
dev-acs-community-amps-overlay
- Content Services WAR with amps
+ Run Tomcat
war
@@ -21,14 +21,10 @@
org.alfresco
- content-services-community
+ dev-community-repo-amps-overlay
+ ${project.version}
war
-
- org.alfresco
- alfresco-share-services
- amp
-
org.postgresql
postgresql
@@ -49,14 +45,9 @@
org.alfresco
- content-services-community
+ dev-community-repo-amps-overlay
war
-
- org.alfresco
- alfresco-share-services
- amp
-
false
@@ -68,13 +59,6 @@
-
-
- org.alfresco.maven.plugin
- alfresco-maven-plugin
- 4.1.0
-
-
org.apache.tomcat.maven
@@ -110,7 +94,9 @@
true
- ${project.build.directory}/tomcat/webapps/alfresco-server-root/META-INF/context.xml
+
+ ${project.build.directory}/tomcat/webapps/alfresco-server-root/META-INF/context.xml
+
org.alfresco
@@ -120,6 +106,14 @@
war
true
+
+ org.alfresco
+ dev-community-share-amps-overlay
+ /share
+ ${project.version}
+ war
+ true
+
@@ -213,6 +207,22 @@
tomcat-embed-logging-log4j
${tomcat.version}
+
+
+ org.apache.sis.core
+ sis-utility
+ ${dependency.sis.version}
+
+
+ org.apache.sis.core
+ sis-metadata
+ ${dependency.sis.version}
+
+
+ org.apache.sis.storage
+ sis-storage
+ ${dependency.sis.version}
+
@@ -231,7 +241,7 @@
org.alfresco
- alfresco-dev-community-tomcat
+ alfresco-dev-tomcat
${project.version}
config
true
@@ -265,17 +275,16 @@
generate-resources
-
+
-
+
-
+
-
+
-
+
@@ -315,46 +324,5 @@
-
- withShare
-
-
-
- org.apache.tomcat.maven
- tomcat7-maven-plugin
-
-
-
- org.alfresco
- share
- /share
- ${alfresco.share.version}
- war
- true
-
-
-
-
-
-
- org.apache.sis.core
- sis-utility
- ${dependency.sis.version}
-
-
- org.apache.sis.core
- sis-metadata
- ${dependency.sis.version}
-
-
- org.apache.sis.storage
- sis-storage
- ${dependency.sis.version}
-
-
-
-
-
-
diff --git a/dev/dev-repo-amps-overlay/pom.xml b/dev/dev-repo-amps-overlay/pom.xml
new file mode 100644
index 000000000..91d482967
--- /dev/null
+++ b/dev/dev-repo-amps-overlay/pom.xml
@@ -0,0 +1,141 @@
+
+
+ 4.0.0
+ dev-community-repo-amps-overlay
+ Repo WAR with amps
+ war
+
+
+ org.alfresco
+ alfresco-dev-community-tomcat-env
+ 7.1.0-SNAPSHOT
+
+
+
+ alfresco
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ unpack-war-file
+ process-resources
+
+ unpack
+
+
+
+
+ org.alfresco
+ content-services-community
+ ${dependency.alfresco-community-repo.version}
+ war
+ ${project.build.directory}/alfresco
+
+
+
+
+
+ copy-base-amps
+ process-resources
+
+ copy
+
+
+
+
+ org.alfresco
+ alfresco-share-services
+ ${dependency.alfresco-community-repo.version}
+ amp
+ false
+ ${project.build.directory}/amps
+
+
+
+ org.alfresco.integrations
+ alfresco-googledrive-repo-community
+ amp
+ false
+ ${project.build.directory}/amps
+
+
+
+
+
+
+
+ org.alfresco.maven.plugin
+ alfresco-maven-plugin
+
+
+ install-amps
+
+ install
+
+ prepare-package
+
+ true
+
+ ${project.build.directory}/amps
+
+ ${project.build.directory}/alfresco
+
+
+
+
+ true
+
+
+
+
+
+
+
+ ags
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-ags-amp
+ process-resources
+
+ copy
+
+
+
+
+ org.alfresco
+ alfresco-governance-services-community-repo
+ ${dependency.alfresco-community-repo.version}
+ amp
+ false
+ ${project.build.directory}/amps
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dev/dev-share-amps-overlay/pom.xml b/dev/dev-share-amps-overlay/pom.xml
new file mode 100644
index 000000000..6a978035e
--- /dev/null
+++ b/dev/dev-share-amps-overlay/pom.xml
@@ -0,0 +1,101 @@
+
+
+ 4.0.0
+ dev-community-share-amps-overlay
+ Share WAR with amps
+ war
+
+
+ org.alfresco
+ alfresco-dev-community-tomcat-env
+ 7.1.0-SNAPSHOT
+
+
+
+ share
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ unpack-war-file
+ process-resources
+
+ unpack
+
+
+
+
+ org.alfresco
+ share
+ ${dependency.alfresco-community-share.version}
+ war
+ ${project.build.directory}/share
+
+
+
+
+
+
+
+
+
+
+
+ ags
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-ags-amp
+ process-resources
+
+ copy
+
+
+
+
+ org.alfresco
+ alfresco-governance-services-community-share
+ ${dependency.alfresco-community-share.version}
+ amp
+ false
+ ${project.build.directory}/amps-share
+
+
+
+
+
+
+
+ org.alfresco.maven.plugin
+ alfresco-maven-plugin
+
+
+ install-gs-community-share-amp
+
+ install
+
+ prepare-package
+
+ true
+
+ ${project.build.directory}/amps-share/alfresco-governance-services-community-share-${dependency.alfresco-community-share.version}.amp
+
+ ${project.build.directory}/share
+
+
+
+
+ true
+
+
+
+
+
+
+
diff --git a/dev/dev-tomcat/pom.xml b/dev/dev-tomcat/pom.xml
index c150032d7..07b50eec2 100644
--- a/dev/dev-tomcat/pom.xml
+++ b/dev/dev-tomcat/pom.xml
@@ -1,5 +1,5 @@
-
+
+
4.0.0
alfresco-dev-community-tomcat
diff --git a/dev/dev-tomcat/src/main/tomcat/shared/classes/alfresco-global.properties b/dev/dev-tomcat/src/main/tomcat/shared/classes/alfresco-global.properties
index 3a82d69bb..b3626795f 100644
--- a/dev/dev-tomcat/src/main/tomcat/shared/classes/alfresco-global.properties
+++ b/dev/dev-tomcat/src/main/tomcat/shared/classes/alfresco-global.properties
@@ -116,3 +116,8 @@ share.host=localhost
share.port=8080
+transformer.debug.entries=10
+
+mimetype.config.dir=dev/dev-acs-amps-overlay/target/dev-instance/tomcat/shared/classes/alfresco/extension/mimetypes
+rendition.config.dir=dev/dev-acs-amps-overlay/target/dev-instance/tomcat/shared/classes/alfresco/extension/transform/renditions
+local.transform.pipeline.config.dir=dev/dev-acs-amps-overlay/target/dev-instance/tomcat/shared/classes/alfresco/extension/transform/pipelines
diff --git a/dev/dev-tomcat/src/main/tomcat/shared/classes/alfresco/extension/custom-log4j.properties b/dev/dev-tomcat/src/main/tomcat/shared/classes/alfresco/extension/custom-log4j.properties
index 8915ac56a..106d21f10 100644
--- a/dev/dev-tomcat/src/main/tomcat/shared/classes/alfresco/extension/custom-log4j.properties
+++ b/dev/dev-tomcat/src/main/tomcat/shared/classes/alfresco/extension/custom-log4j.properties
@@ -10,7 +10,6 @@ log4j.logger.org.alfresco.repo.content.transform.TransformerDebug=debug
#log4j.logger.org.alfresco.enterprise.repo.rendition2.RemoteTransformClient=debug
#log4j.logger.org.alfresco.repo.content.transform.LocalTransformServiceRegistry=debug
-#log4j.logger.org.alfresco.enterprise.repo.rendition2.RemoteTransformServiceRegistry=debug
#log4j.logger.org.alfresco.repo.rendition2.RenditionDefinitionRegistry2Impl=debug
#log4j.logger.org.alfresco.repo.content.MimetypeMap=debug
#log4j.logger.org.alfresco.repo.content.transform.LocalTransform=debug
diff --git a/dev/docker-compose.yml b/dev/docker-compose.yml
index 4e246daf8..c590c788a 100644
--- a/dev/docker-compose.yml
+++ b/dev/docker-compose.yml
@@ -51,10 +51,3 @@ services:
- 61616:61616 # OpenWire
- 61613:61613 # STOMP
-# proxy:
-# image: alfresco/acs-community-ngnix:1.0.0
-# mem_limit: 128m
-# depends_on:
-# - alfresco
-# ports:
-# - 8080:8080
diff --git a/dev/pom.xml b/dev/pom.xml
index a6497c47e..20776b747 100644
--- a/dev/pom.xml
+++ b/dev/pom.xml
@@ -1,3 +1,4 @@
+
@@ -21,6 +22,8 @@
dev-tomcat
+ dev-repo-amps-overlay
+ dev-share-amps-overlay
dev-acs-amps-overlay
diff --git a/distribution/src/assembly/distribution.xml b/distribution/src/assembly/distribution.xml
index 5ea2af347..cbbf2067c 100644
--- a/distribution/src/assembly/distribution.xml
+++ b/distribution/src/assembly/distribution.xml
@@ -38,7 +38,7 @@
- ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version}
+ ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${project.version}
web-server/**
@@ -47,7 +47,7 @@
- ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version}/web-extension-samples
+ ${project.build.directory}/dependency/alfresco-content-services-share-distribution-${project.version}/web-extension-samples
web-server/shared/classes/alfresco/web-extension
diff --git a/distribution/src/main/resources/README.txt b/distribution/src/main/resources/README.txt
index 42b0e8f89..ab7a94e3a 100644
--- a/distribution/src/main/resources/README.txt
+++ b/distribution/src/main/resources/README.txt
@@ -4,6 +4,6 @@ Alfresco Community (Build: ${project.version})
Contains:
- Alfresco Content Services Community: ${project.version}
- Alfresco Repository: ${dependency.alfresco-community-repo.version}
- - Alfresco Share: ${alfresco.share.version}
+ - Alfresco Share: ${dependency.alfresco-community-share.version}
For users of Alfresco Community Edition, more information on this release is available at https://community.alfresco.com/community/ecm
diff --git a/docker-alfresco/pom.xml b/docker-alfresco/pom.xml
index f4cba336a..0b6fe6f80 100644
--- a/docker-alfresco/pom.xml
+++ b/docker-alfresco/pom.xml
@@ -49,7 +49,7 @@
org.alfresco
alfresco-share-services
- ${alfresco.alfresco-share-services.version}
+ ${dependency.alfresco-community-repo.version}
amp
false
${project.build.directory}/amps
@@ -64,7 +64,7 @@
- communityDocker
+ build-docker-images
@@ -93,7 +93,7 @@
- internal
+ push-docker-images
@@ -126,7 +126,7 @@
release
-
+
diff --git a/pom.xml b/pom.xml
index 384643c97..75f27ff7e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,18 +9,16 @@
org.alfresco
alfresco-community-repo
../alfresco-community-repo/pom.xml
- 11.44
+ 11.51
- 11.44
+ 11.51
- 7.1.0-M1
- 7.1.0-M1
- 7.0.0
+ 11.7
+ 7.1.0-A4
${dependency.alfresco-community-repo.version}
- ${alfresco.share.version}
@@ -41,32 +39,13 @@
+
+ distribution
+ public-javadoc
+ docker-alfresco
+
+
-
- fullBuild
-
- true
-
-
- distribution
- public-javadoc
- docker-alfresco
-
-
-
- communityDocker
-
- distribution
- docker-alfresco
-
-
-
- internal
-
- distribution
- docker-alfresco
-
-
all-tas-tests
@@ -76,8 +55,7 @@
release
- distribution
- docker-alfresco
+ dev
@@ -185,7 +163,6 @@
tests
test
-
org.alfresco
alfresco-content-services-share-distribution
@@ -195,31 +172,31 @@
org.alfresco
alfresco-share-services
- ${alfresco.alfresco-share-services.version}
+ ${dependency.alfresco-community-repo.version}
amp
org.alfresco
share
- ${alfresco.share.version}
+ ${dependency.alfresco-community-share.version}
war
org.alfresco
alfresco-wcmqs-distribution
- ${alfresco.share.version}
+ ${dependency.alfresco-community-share.version}
zip
org.alfresco
alfresco-wcmqs-web
- ${alfresco.share.version}
+ ${dependency.alfresco-community-share.version}
classes
org.alfresco
alfresco-wcmqs-client-api
- ${alfresco.share.version}
+ ${dependency.alfresco-community-share.version}
diff --git a/public-javadoc/pom.xml b/public-javadoc/pom.xml
index 0732bf985..c5c229211 100644
--- a/public-javadoc/pom.xml
+++ b/public-javadoc/pom.xml
@@ -23,7 +23,7 @@
org.alfresco
share
classes
- ${alfresco.share.version}
+ ${dependency.alfresco-community-share.version}
diff --git a/scripts/travis/build.sh b/scripts/travis/build.sh
index 322d4a23c..bde0b5bed 100644
--- a/scripts/travis/build.sh
+++ b/scripts/travis/build.sh
@@ -6,22 +6,22 @@ pushd "$(dirname "${BASH_SOURCE[0]}")/../../"
source "$(dirname "${BASH_SOURCE[0]}")/build_functions.sh"
-DEPENDENCY_VERSION="$(retrievePomProperty "dependency.alfresco-community-repo.version")"
+COM_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}"
+if [ "${COM_DEPENDENCY_VERSION}" != "$(retrievePomParentVersion)" ]; then
+ printf "Upstream dependency version (%s) is different then the project parent version!\n" "${COM_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
+if [[ $(isPullRequestBuild) && "${COM_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
+if [[ "${COM_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && [ "${TRAVIS_BUILD_STAGE_NAME,,}" = "release" ] ; then
printf "Cannot release project with SNAPSHOT dependencies!\n"
exit 1
fi
@@ -29,22 +29,22 @@ 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
+if isBranchBuild && [ "${TRAVIS_BUILD_STAGE_NAME,,}" = "release" ] && [ "${COM_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"
+if [[ "${COM_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] ; then
+ pullAndBuildSameBranchOnUpstream "${UPSTREAM_REPO}" "-Pbuild-docker-images -Pags"
else
- pullUpstreamTagAndBuildDockerImage "${UPSTREAM_REPO}" "${DEPENDENCY_VERSION}" "-PcommunityDocker"
+ pullUpstreamTagAndBuildDockerImage "${UPSTREAM_REPO}" "${COM_DEPENDENCY_VERSION}" "-Pbuild-docker-images -Pags"
fi
# Build the current project
-mvn -B -V -q install -DskipTests -Dmaven.javadoc.skip=true -PcommunityDocker \
- $([[ "${DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && echo "-Drepo.image.tag=latest")
+mvn -B -V -q install -DskipTests -Dmaven.javadoc.skip=true -Pbuild-docker-images \
+ $([[ "${COM_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && echo "-Drepo.image.tag=latest")
popd
diff --git a/scripts/travis/init.sh b/scripts/travis/init.sh
index 2eb4e3f15..ca1081746 100644
--- a/scripts/travis/init.sh
+++ b/scripts/travis/init.sh
@@ -9,13 +9,8 @@ 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
-if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
- echo "${DOCKERHUB_PASSWORD}" | docker login -u="${DOCKERHUB_USERNAME}" --password-stdin
- 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' ')
+echo "${DOCKERHUB_PASSWORD}" | docker login -u="${DOCKERHUB_USERNAME}" --password-stdin
+echo "${QUAY_PASSWORD}" | docker login -u="${QUAY_USERNAME}" --password-stdin quay.io
popd
set +vex
diff --git a/scripts/travis/maven_release.sh b/scripts/travis/maven_release.sh
index e26b40137..a544583cc 100755
--- a/scripts/travis/maven_release.sh
+++ b/scripts/travis/maven_release.sh
@@ -16,10 +16,10 @@ git checkout -B "${TRAVIS_BRANCH}"
git config user.email "${GIT_EMAIL}"
mvn -B \
- -Prelease,fullBuild,all-tas-tests \
+ -Prelease,all-tas-tests \
-DreleaseVersion="${RELEASE_VERSION}" \
-DdevelopmentVersion="${DEVELOPMENT_VERSION}" \
- "-Darguments=-Prelease,fullBuild,all-tas-tests -DskipTests -Dbuild-number=${TRAVIS_BUILD_NUMBER}" \
+ "-Darguments=-Prelease,all-tas-tests -DskipTests -Dbuild-number=${TRAVIS_BUILD_NUMBER}" \
release:clean release:prepare release:perform \
-DscmCommentPrefix="[maven-release-plugin][skip ci] " \
-Dusername="${GIT_USERNAME}" \