Compare commits

...

55 Commits

Author SHA1 Message Date
dependabot-preview[bot]
ecdd3ff346 Bump dependency.alfresco-community-share.version from 11.44 to 11.46 (#1433) 2021-07-26 22:47:53 +00:00
dependabot-preview[bot]
db75f4d3ae Bump dependency.alfresco-community-share.version from 11.38 to 11.44 (#1426) 2021-07-15 22:43:31 +00:00
Alan Davis
f73a8e08bd ACS-1822 ACS 7.1 Supported Platforms: PostgreSQL 13.3 (#1424) 2021-07-15 18:30:42 +01:00
Davide
d1be46250f SEARCH-2878 Update the supported version for SearchService to 2.0.2 (#1421) 2021-07-14 17:43:59 +02:00
Travis CI User
3e3296e4c2 [maven-release-plugin][skip ci] prepare for next development iteration 2021-07-13 18:46:20 +00:00
Travis CI User
a254c83aa0 [maven-release-plugin][skip ci] prepare release 7.1.0-A9 2021-07-13 18:46:13 +00:00
Alex Mukha
dad8e59ede [release] 7.1.0-A9 (second attempt) 2021-07-13 16:02:24 +01:00
Alex Mukha
8bdf339d2d Fix dev tomcat dependency 2021-07-13 15:12:19 +01:00
Alex Mukha
78084ee428 [release] 7.1.0-A9 2021-07-13 10:27:29 +01:00
Alex Mukha
a8268bd090 Update dependencies to latest 2021-07-13 01:34:13 +01:00
Davide
40bffd4e9e SEARCH-2878 Update the SearchService version to 2.0.2-RC2(#1417) 2021-07-09 22:06:59 +01:00
CezarLeahu
d49009bea0 Use LF for Dockerfile(s) and .sh scripts (.gitattributes) [skip ci] (#1412) 2021-07-06 14:19:34 +03:00
Travis CI User
49850d3464 [maven-release-plugin][skip ci] prepare for next development iteration 2021-06-29 22:49:24 +00:00
Travis CI User
70003498f5 [maven-release-plugin][skip ci] prepare release 7.1.0-A8 2021-06-29 22:49:19 +00:00
alandavis
e66c81c74b [release] 7.1.0-A8 2021-06-29 21:40:49 +01:00
alandavis
5cc95889f7 [release] 7.1.0-A8 2021-06-29 21:39:59 +01:00
alandavis
5b98820904 Typo - extra double quotes. 2021-06-29 09:36:02 +01:00
alandavis
01a7fe88a6 acs-community-packaging builds must use the local 'latest' tag of repo working with SNAPSHOTs 2021-06-29 09:10:54 +01:00
Travis CI User
7204bf5b86 [maven-release-plugin][skip ci] prepare for next development iteration 2021-06-26 16:29:37 +00:00
Travis CI User
37f7a5cd03 [maven-release-plugin][skip ci] prepare release 7.1.0-A7 2021-06-26 16:29:32 +00:00
alandavis
07190f3797 [release] ACS 7.1.0-A7 [skip tests] [skip docker_latest]
Remove check "Upstream dependency is not up to date" - this was removed form other project's build.sh but not this one.
2021-06-26 17:14:10 +01:00
alandavis
115e8f7b62 [release] ACS 7.1.0-A7 2021-06-26 15:53:44 +01:00
alandavis
8b9f08fd08 [release] ACS 7.1.0-A7 2021-06-26 15:50:56 +01:00
dependabot-preview[bot]
97d9613b9a Bump dependency.alfresco-community-share.version from 11.24 to 11.27 (#1402) 2021-06-25 22:44:27 +00:00
dependabot-preview[bot]
21d22a3f67 Bump dependency.alfresco-community-share.version from 11.23 to 11.24 (#1394) 2021-06-23 22:44:08 +00:00
Alan Davis
1b7f20f0cb ACS-1710 Let repo developers build the project without having to build AGS first. (#1389) 2021-06-23 12:10:06 +01:00
dependabot-preview[bot]
cdfcc3e75d Bump dependency.alfresco-community-share.version from 11.22 to 11.23 (#1391) 2021-06-22 22:15:21 +00:00
Alan Davis
f34e905938 ACS-1709 Include Share's Google AMP in the tomcat dev env (#1390)
[skip ci] as there are no test for the dev env
2021-06-22 12:53:21 +01:00
CezarLeahu
2f45e682fe APPS-1028 Build&publish an AGS distribution zip during the ACS release (#1374) 2021-06-22 12:46:39 +03:00
dependabot-preview[bot]
10bdfd1b8f Bump alfresco-community-repo from 11.51 to 11.68 (#1388) 2021-06-21 22:19:56 +00:00
dependabot-preview[bot]
da27f98e3a Bump dependency.alfresco-community-share.version from 11.12 to 11.22 (#1387) 2021-06-21 22:18:36 +00:00
dependabot-preview[bot]
8fbd3dd7d1 Bump dependency.alfresco-community-repo.version from 11.51 to 11.68 (#1386) 2021-06-21 22:16:45 +00:00
Tom Page
2808e8478b [release] Release 7.1.0-A6.
Skipping 7.1.0-A5 to match release date of enterprise repo.
2021-06-16 15:49:08 +01:00
alandavis
523687fbae -Dshare.image.tag=latest was missing from comPD
Also reordered arguments in aliases to help spot errors like tis in future.

[skip ci]
2021-06-14 16:19:51 +01:00
dependabot-preview[bot]
78158ae623 Bump dependency.alfresco-community-share.version from 11.7 to 11.12 (#1361) 2021-06-01 22:48:06 +00:00
Travis CI User
fbfa9761dd [maven-release-plugin][skip ci] prepare for next development iteration 2021-06-01 13:42:00 +00:00
Travis CI User
55ea2ca346 [maven-release-plugin][skip ci] prepare release 7.1.0-A4 2021-06-01 13:41:55 +00:00
Alan Davis
a04a90d721 ACS-1611 Add AGS to acs-community-packagingFeature/ags reorg (#1358)
[release] 7.1.0-A4

Co-authored-by: Cezar.Leahu <cezar.leahu@ness.com>
2021-06-01 13:14:14 +01:00
alandavis
20f5f6386f [release] 7.1.0-A4 2021-05-22 08:45:56 +01:00
Travis CI User
28922fc087 [maven-release-plugin][skip ci] prepare for next development iteration 2021-05-20 20:29:30 +00:00
Travis CI User
c9db02d65e [maven-release-plugin][skip ci] prepare release 7.1.0-M1 2021-05-20 20:29:25 +00:00
alandavis
4e479181b4 [release] 7.1.0-M1 2021-05-20 20:07:52 +01:00
alandavis
9dff569a13 Update upstream version to 11.41 2021-05-20 09:56:30 +01:00
montgolfiere
fdf67e2594 ATS-912: Bump to T-Core 2.4.0 (#1325) 2021-05-11 10:47:09 +01:00
Travis CI User
a0cb4ae700 [maven-release-plugin][skip ci] prepare for next development iteration 2021-05-08 15:07:05 +00:00
Travis CI User
78aa2fe4a7 [maven-release-plugin][skip ci] prepare release 7.1.0-A3 2021-05-08 15:07:00 +00:00
alandavis
87f74bb27e [release] 7.1.0-A3 2021-05-08 14:50:12 +01:00
Sara Aspery
212a9e86ea [release] 7.1.0-A2 2021-05-06 16:53:44 +01:00
Travis CI User
dd062d8b00 [maven-release-plugin][skip ci] prepare for next development iteration 2021-04-30 09:55:30 +00:00
Travis CI User
73f1685acb [maven-release-plugin][skip ci] prepare release 7.1.0-A1 2021-04-30 09:55:25 +00:00
alandavis
9febe1e197 [release] 7.1.0-A1 2021-04-30 09:40:37 +01:00
alandavis
c47c9be32d Switch master to support ACS 7.1.0
* incremented pom versions to 11.0 so that 9 may be used by 7.0.1 and 10 for 7.0.2
2021-03-27 18:32:14 +00:00
alandavis
175c3b3cf1 Remove whitesource token as we don't use whitesource any more 2021-03-26 17:50:40 +00:00
Cezar.Leahu
f5ac695ca6 Allow the CI *Publish* step on any branch [skip ci] 2021-03-16 16:17:45 +02:00
alandavis
37b662061f Use master for ACS 7.0.1
* Reset pom.xml version to 7.0.1-SNAPSHOT
* Parent pom to 9.0
2021-03-10 21:53:30 +00:00
37 changed files with 1100 additions and 627 deletions

19
.gitattributes vendored
View File

@@ -1,8 +1,11 @@
# .* eol=crlf
# *.html eol=crlf
# *.java eol=crlf
# *.txt eol=crlf
# *.css eol=crlf
# *.xml eol=crlf
# *.js eol=crlf
# *.properties eol=crlf
# .* eol=crlf
# *.html eol=crlf
# *.java eol=crlf
# *.txt eol=crlf
# *.css eol=crlf
# *.xml eol=crlf
# *.js eol=crlf
# *.properties eol=crlf
# Shell scripts require LF
*.sh text eol=lf
Dockerfile text eol=lf

13
.gitignore vendored
View File

@@ -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
# Travis deployment folder
deploy_dir

View File

@@ -25,10 +25,6 @@
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</pluginRepository>
</pluginRepositories>
<properties>
<!-- WhiteSource token -->
<org.whitesource.orgToken>${env.WHITESOURCE_API_KEY}</org.whitesource.orgToken>
</properties>
</profile>
</profiles>

View File

@@ -1,6 +1,5 @@
---
dist: xenial
sudo: required
language: java
jdk: openjdk11
@@ -29,19 +28,19 @@ env:
global:
- TAS_SCRIPTS=../alfresco-community-repo/packaging/tests/scripts
- TAS_ENVIRONMENT=./tests/environment
# Release version has to start with real version (7.0.0-....) for the docker image to build successfully.
- RELEASE_VERSION=7.0.0-A29
- DEVELOPMENT_VERSION=7.0.0-SNAPSHOT
# Release version has to start with real version (7.1.0-....) for the docker image to build successfully.
- RELEASE_VERSION=7.1.0-A9
- DEVELOPMENT_VERSION=7.1.0-SNAPSHOT
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,10 @@ jobs:
- mkdir -p deploy_dir
- cp distribution/target/alfresco.war deploy_dir
- cp distribution/target/*-distribution*.zip deploy_dir
- ls -lA deploy_dir
- mkdir -p deploy_dir_ags
- cp distribution-ags/target/*.zip deploy_dir_ags
- ls -lA deploy_dir_ags
deploy:
- provider: s3
access_key_id: "${AWS_STAGING_ACCESS_KEY}"
@@ -136,6 +148,17 @@ jobs:
upload_dir: "alfresco-content-services-community/release/${TRAVIS_BRANCH}/${TRAVIS_BUILD_NUMBER}"
on:
all_branches: true
- 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_ags"
upload_dir: "community/RM/${RELEASE_VERSION}"
on:
all_branches: true
after_deploy:
- echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/alfresco-artefacts-staging/alfresco-content-services/release/${TRAVIS_BRANCH}/${TRAVIS_BUILD_NUMBER}"
@@ -149,6 +172,8 @@ jobs:
- provider: script
script: bash scripts/travis/copy_to_release_bucket.sh
on:
branch: master
all_branches: true
- provider: script
script: bash scripts/travis/copy_ags_to_release_bucket.sh
on:
all_branches: true

View File

@@ -1,3 +1,114 @@
<h1> 7.1.0 Community
</h1>
<h2>
New Features
</h2>
<li>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.
<ul>
<li>PdfBox org.apache.pdfbox:pdfbox:2.0.21 removed - transforms are now performed in T-Engines</li>
<li>PdfBox org.apache.pdfbox:fontbox:2.0.21 removed - transforms are now performed in T-Engines</li>
<li>PdfBox org.apache.pdfbox:pdfbox-tools:2.0.21 removed - transforms are now performed in T-Engines</li>
</ul>
<br>
<h1> 7.0.0 Community
</h1>
<h2>
New Features
</h2>
<ul>
<li>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). </li>
<li>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.</li>
<li>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)
</li>
<li>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.
</li>
<li>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.
</li>
<li>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
</li>
<li>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 ...
</li>
<h1> Release Notes - Alfresco - Version Community Edition 201911 GA
</h1>
<h2> Bug

View File

@@ -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)

View File

@@ -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
~~~

View File

@@ -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,36 @@
# 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
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 $AMPS -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 $AMPS -DskipTests=true -Dversion.edition=Community -Pall-tas-tests -Pbuild-docker-images -Dimage.tag=latest)'
alias comSD='(cd share && mvn clean install $AMPS -DskipTests=true -DskipTests -Dmaven.javadoc.skip=true -Pall-tas-tests -Pbuild-docker-images -Dimage.tag=latest -Drepo.image.tag=latest)'
alias comPD='(cd acs-community-packaging && mvn clean install $AMPS -DskipTests=true -Dmaven.javadoc.skip=true -Pall-tas-tests -Pbuild-docker-images -Dimage.tag=latest -Drepo.image.tag=latest -Dshare.image.tag=latest)'
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'

View File

@@ -1,360 +1,327 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>dev-acs-community-amps-overlay</artifactId>
<name>Content Services WAR with amps</name>
<packaging>war</packaging>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
<version>7.0.0-SNAPSHOT</version>
</parent>
<properties>
<dependency.sis.version>1.0</dependency.sis.version>
<tomcat.version>7.0.86</tomcat.version>
<tomcat.default.solr6.port>8983</tomcat.default.solr6.port>
</properties>
<dependencies>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>content-services-community</artifactId>
<type>war</type>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-share-services</artifactId>
<type>amp</type>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<build>
<finalName>alfresco</finalName>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<overlays>
<overlay>
<groupId>org.alfresco</groupId>
<artifactId>content-services-community</artifactId>
<type>war</type>
</overlay>
<overlay>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-share-services</artifactId>
<type>amp</type>
</overlay>
</overlays>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
<executions>
<execution>
<id>prepare-exploded-war</id>
<goals>
<goal>exploded</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>alfresco-maven-plugin</artifactId>
<version>4.1.0</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<systemProperties>
<index.subsystem.name>solr6</index.subsystem.name>
<solr.port>${tomcat.default.solr6.port}</solr.port>
<dir.root>${runtime.data.folder}/alf_data</dir.root>
<solr.host>localhost</solr.host>
<solr.base.url>/solr</solr.base.url>
<solr.secureComms>none</solr.secureComms>
<encryption.keystore.type>pkcs12</encryption.keystore.type>
<encryption.cipherAlgorithm>AES/CBC/PKCS5Padding</encryption.cipherAlgorithm>
<encryption.keyAlgorithm>AES</encryption.keyAlgorithm>
<metadata-keystore.password>mp6yc0UD9e</metadata-keystore.password>
<metadata-keystore.aliases>metadata</metadata-keystore.aliases>
<metadata-keystore.metadata.password>mp6yc0UD9e</metadata-keystore.metadata.password>
<metadata-keystore.metadata.algorithm>AES</metadata-keystore.metadata.algorithm>
</systemProperties>
<delegate>false</delegate>
<useSeparateTomcatClassLoader>true</useSeparateTomcatClassLoader>
<contextFile>${runtime.tomcat.conf.folder}/alfresco-context.xml</contextFile>
<tomcatUsers>${runtime.tomcat.conf.folder}/tomcat-users.xml</tomcatUsers>
<webapps>
<webapp>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-server-root</artifactId>
<version>${dependency.alfresco-server-root.version}</version>
<contextPath>/</contextPath>
<type>war</type>
<asWebapp>true</asWebapp>
<!-- Workaround for https://issues.apache.org/jira/browse/MTOMCAT-269 -->
<!-- tomcat7-maven-plugin does not pick up the context.xml file from META-INF -->
<contextFile>${project.build.directory}/tomcat/webapps/alfresco-server-root/META-INF/context.xml</contextFile>
</webapp>
<webapp>
<groupId>org.alfresco</groupId>
<artifactId>api-explorer</artifactId>
<version>${alfresco.api-explorer.version}</version>
<contextPath>/api-explorer</contextPath>
<type>war</type>
<asWebapp>true</asWebapp>
</webapp>
</webapps>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-util</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-coyote</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-dbcp</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jsp-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jasper</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jasper-el</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-el-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-tribes</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina-ha</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-annotations-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-juli</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-juli</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-log4j</artifactId>
<version>${tomcat.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<!-- Download and unpack the tomcat config zip file -->
<execution>
<id>unpack-tomcat-config</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/tomcat-conf</outputDirectory>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-dev-community-tomcat</artifactId>
<version>${project.version}</version>
<classifier>config</classifier>
<overWrite>true</overWrite>
<type>zip</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<!-- Copy tomcat config from build directory to correct location -->
<!--
Q. Why not unpack directly to ${runtime.tomcat.conf.folder} ?
A. There is no way of telling maven NOT to overwrite the directory if it is already there.
overWrite doesn't work, overWriteIfNewer doesn't work either. The plugin uses marker files
to determine whether the zip has already been unpacked, rather than using the actual folder
where the contents are being unpacked - so if a clean is performed the marker files disappear
and the zip is unpacked regardless (overwriting your customised tomcat config). Whilst you
can change the location of the marker files, doing things this way really is going to be more
reliable, since the existing directory will be respected properly.
-->
<execution>
<id>copy-tomcat-config</id>
<goals>
<goal>run</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<target>
<taskdef resource="net/sf/antcontrib/antcontrib.properties"
classpathref="maven.plugin.classpath"/>
<if>
<available file="${runtime.tomcat.conf.folder}" type="dir"/>
<then>
<echo message="Skipping creation of tomcat configuration, already exists: ${runtime.tomcat.conf.folder}"/>
</then>
<else>
<echo message="Creating tomcat runtime configuration: ${runtime.tomcat.conf.folder}"/>
<copy todir="${runtime.tomcat.conf.folder}">
<fileset dir="${project.build.directory}/tomcat-conf"/>
</copy>
</else>
</if>
</target>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>20020829</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>run</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<executions>
<execution>
<id>run-exploded-webapp</id>
<phase>verify</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>withShare</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<webapps combine.children="append">
<webapp>
<groupId>org.alfresco</groupId>
<artifactId>share</artifactId>
<contextPath>/share</contextPath>
<version>${alfresco.share.version}</version>
<type>war</type>
<asWebapp>true</asWebapp>
</webapp>
</webapps>
</configuration>
<!-- Workaround required to make Share work after Tika upgrade -->
<dependencies>
<dependency>
<groupId>org.apache.sis.core</groupId>
<artifactId>sis-utility</artifactId>
<version>${dependency.sis.version}</version>
</dependency>
<dependency>
<groupId>org.apache.sis.core</groupId>
<artifactId>sis-metadata</artifactId>
<version>${dependency.sis.version}</version>
</dependency>
<dependency>
<groupId>org.apache.sis.storage</groupId>
<artifactId>sis-storage</artifactId>
<version>${dependency.sis.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>dev-acs-community-amps-overlay</artifactId>
<name>Run Tomcat</name>
<packaging>war</packaging>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
<version>7.1.0-SNAPSHOT</version>
</parent>
<properties>
<dependency.sis.version>1.0</dependency.sis.version>
<tomcat.version>7.0.86</tomcat.version>
<tomcat.default.solr6.port>8983</tomcat.default.solr6.port>
</properties>
<dependencies>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>dev-community-repo-amps-overlay</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<build>
<finalName>alfresco</finalName>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<overlays>
<overlay>
<groupId>org.alfresco</groupId>
<artifactId>dev-community-repo-amps-overlay</artifactId>
<type>war</type>
</overlay>
</overlays>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
<executions>
<execution>
<id>prepare-exploded-war</id>
<goals>
<goal>exploded</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<systemProperties>
<index.subsystem.name>solr6</index.subsystem.name>
<solr.port>${tomcat.default.solr6.port}</solr.port>
<dir.root>${runtime.data.folder}/alf_data</dir.root>
<solr.host>localhost</solr.host>
<solr.base.url>/solr</solr.base.url>
<solr.secureComms>none</solr.secureComms>
<encryption.keystore.type>pkcs12</encryption.keystore.type>
<encryption.cipherAlgorithm>AES/CBC/PKCS5Padding</encryption.cipherAlgorithm>
<encryption.keyAlgorithm>AES</encryption.keyAlgorithm>
<metadata-keystore.password>mp6yc0UD9e</metadata-keystore.password>
<metadata-keystore.aliases>metadata</metadata-keystore.aliases>
<metadata-keystore.metadata.password>mp6yc0UD9e</metadata-keystore.metadata.password>
<metadata-keystore.metadata.algorithm>AES</metadata-keystore.metadata.algorithm>
</systemProperties>
<delegate>false</delegate>
<useSeparateTomcatClassLoader>true</useSeparateTomcatClassLoader>
<contextFile>${runtime.tomcat.conf.folder}/alfresco-context.xml</contextFile>
<tomcatUsers>${runtime.tomcat.conf.folder}/tomcat-users.xml</tomcatUsers>
<webapps>
<webapp>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-server-root</artifactId>
<version>${dependency.alfresco-server-root.version}</version>
<contextPath>/</contextPath>
<type>war</type>
<asWebapp>true</asWebapp>
<!-- Workaround for https://issues.apache.org/jira/browse/MTOMCAT-269 -->
<!-- tomcat7-maven-plugin does not pick up the context.xml file from META-INF -->
<contextFile>
${project.build.directory}/tomcat/webapps/alfresco-server-root/META-INF/context.xml
</contextFile>
</webapp>
<webapp>
<groupId>org.alfresco</groupId>
<artifactId>api-explorer</artifactId>
<version>${alfresco.api-explorer.version}</version>
<contextPath>/api-explorer</contextPath>
<type>war</type>
<asWebapp>true</asWebapp>
</webapp>
<webapp>
<groupId>org.alfresco</groupId>
<artifactId>dev-community-share-amps-overlay</artifactId>
<contextPath>/share</contextPath>
<version>${project.version}</version>
<type>war</type>
<asWebapp>true</asWebapp>
</webapp>
</webapps>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-util</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-coyote</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-dbcp</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jsp-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jasper</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jasper-el</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-el-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-tribes</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina-ha</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-annotations-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-juli</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-juli</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-log4j</artifactId>
<version>${tomcat.version}</version>
</dependency>
<!-- Workaround required to make Share work after Tika upgrade -->
<dependency>
<groupId>org.apache.sis.core</groupId>
<artifactId>sis-utility</artifactId>
<version>${dependency.sis.version}</version>
</dependency>
<dependency>
<groupId>org.apache.sis.core</groupId>
<artifactId>sis-metadata</artifactId>
<version>${dependency.sis.version}</version>
</dependency>
<dependency>
<groupId>org.apache.sis.storage</groupId>
<artifactId>sis-storage</artifactId>
<version>${dependency.sis.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<!-- Download and unpack the tomcat config zip file -->
<execution>
<id>unpack-tomcat-config</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/tomcat-conf</outputDirectory>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-dev-community-tomcat</artifactId>
<version>${project.version}</version>
<classifier>config</classifier>
<overWrite>true</overWrite>
<type>zip</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<!-- Copy tomcat config from build directory to correct location -->
<!--
Q. Why not unpack directly to ${runtime.tomcat.conf.folder} ?
A. There is no way of telling maven NOT to overwrite the directory if it is already there.
overWrite doesn't work, overWriteIfNewer doesn't work either. The plugin uses marker files
to determine whether the zip has already been unpacked, rather than using the actual folder
where the contents are being unpacked - so if a clean is performed the marker files disappear
and the zip is unpacked regardless (overwriting your customised tomcat config). Whilst you
can change the location of the marker files, doing things this way really is going to be more
reliable, since the existing directory will be respected properly.
-->
<execution>
<id>copy-tomcat-config</id>
<goals>
<goal>run</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<target>
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="maven.plugin.classpath" />
<if>
<available file="${runtime.tomcat.conf.folder}" type="dir" />
<then>
<echo message="Skipping creation of tomcat configuration, already exists: ${runtime.tomcat.conf.folder}" />
</then>
<else>
<echo message="Creating tomcat runtime configuration: ${runtime.tomcat.conf.folder}" />
<copy todir="${runtime.tomcat.conf.folder}">
<fileset dir="${project.build.directory}/tomcat-conf" />
</copy>
</else>
</if>
</target>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>20020829</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>run</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<executions>
<execution>
<id>run-exploded-webapp</id>
<phase>verify</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>dev-community-repo-amps-overlay</artifactId>
<name>Repo WAR with amps</name>
<packaging>war</packaging>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
<version>7.1.0-SNAPSHOT</version>
</parent>
<build>
<finalName>alfresco</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-war-file</id>
<phase>process-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>content-services-community</artifactId>
<version>${dependency.alfresco-community-repo.version}</version>
<type>war</type>
<outputDirectory>${project.build.directory}/alfresco</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<execution>
<id>copy-base-amps</id>
<phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-share-services</artifactId>
<version>${dependency.alfresco-community-repo.version}</version>
<type>amp</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/amps</outputDirectory>
</artifactItem>
<!-- Inclusion of AOS results in
java.lang.ClassNotFoundException: org.alfresco.repo.web.filter.beans.BeanProxyFilter
This is probably because, the configuration of the dev tomcat, unlike production
is shared between webapps and something (possibly a web.xml fragment) is
incorrectly being picked up by the /share webapp. The previous version did
not include aos or googledrive.
<artifactItem>
<groupId>org.alfresco.aos-module</groupId>
<artifactId>alfresco-aos-module</artifactId>
<type>amp</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/amps</outputDirectory>
</artifactItem>
-->
<artifactItem>
<groupId>org.alfresco.integrations</groupId>
<artifactId>alfresco-googledrive-repo-community</artifactId>
<type>amp</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/amps</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>alfresco-maven-plugin</artifactId>
<executions>
<execution>
<id>install-amps</id>
<goals>
<goal>install</goal>
</goals>
<phase>prepare-package</phase>
<configuration>
<backup>true</backup>
<ampLocation>
${project.build.directory}/amps
</ampLocation>
<warLocation>${project.build.directory}/alfresco</warLocation>
</configuration>
</execution>
</executions>
<configuration>
<includeWebResources>true</includeWebResources>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>ags</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-ags-amp</id>
<phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-governance-services-community-repo</artifactId>
<version>${dependency.alfresco-community-repo.version}</version>
<type>amp</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/amps</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>dev-community-share-amps-overlay</artifactId>
<name>Share WAR with amps</name>
<packaging>war</packaging>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
<version>7.1.0-SNAPSHOT</version>
</parent>
<build>
<finalName>share</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-war-file</id>
<phase>process-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>share</artifactId>
<version>${dependency.alfresco-community-share.version}</version>
<type>war</type>
<outputDirectory>${project.build.directory}/share</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<execution>
<id>copy-base-amps</id>
<phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco.integrations</groupId>
<artifactId>alfresco-googledrive-share</artifactId>
<version>${alfresco.googledrive.version}</version>
<type>amp</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/amps-share</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>alfresco-maven-plugin</artifactId>
<executions>
<execution>
<id>install-amps</id>
<goals>
<goal>install</goal>
</goals>
<phase>prepare-package</phase>
<configuration>
<backup>true</backup>
<ampLocation>
${project.build.directory}/amps-share
</ampLocation>
<warLocation>${project.build.directory}/share</warLocation>
</configuration>
</execution>
</executions>
<configuration>
<includeWebResources>true</includeWebResources>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>ags</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-ags-amp</id>
<phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-governance-services-community-share</artifactId>
<version>${dependency.alfresco-community-share.version}</version>
<type>amp</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/amps-share</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@@ -1,62 +1,62 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>alfresco-dev-community-tomcat</artifactId>
<name>Tomcat Configuration</name>
<packaging>pom</packaging>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
<version>7.0.0-SNAPSHOT</version>
</parent>
<properties>
<dev.tomcat.conf.folder>${basedir}/src/main/tomcat</dev.tomcat.conf.folder>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<inherited>false</inherited>
<executions>
<execution>
<id>dev-tomcat-config-zip</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<attach>true</attach>
<descriptors>
<descriptor>src/assembly/tomcat-conf.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<executions>
<!-- Read alfresco-global.properties if it exists, to use it for cleaning runtime data (e.g. which database?) -->
<execution>
<id>read-alfresco-global-properties</id>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${alfresco.properties.file}</file>
</files>
<quiet>true</quiet>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>alfresco-dev-community-tomcat</artifactId>
<name>Tomcat Configuration</name>
<packaging>pom</packaging>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
<version>7.1.0-SNAPSHOT</version>
</parent>
<properties>
<dev.tomcat.conf.folder>${basedir}/src/main/tomcat</dev.tomcat.conf.folder>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<inherited>false</inherited>
<executions>
<execution>
<id>dev-tomcat-config-zip</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<attach>true</attach>
<descriptors>
<descriptor>src/assembly/tomcat-conf.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<executions>
<!-- Read alfresco-global.properties if it exists, to use it for cleaning runtime data (e.g. which database?) -->
<execution>
<id>read-alfresco-global-properties</id>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${alfresco.properties.file}</file>
</files>
<quiet>true</quiet>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -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

View File

@@ -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

View File

@@ -6,7 +6,7 @@ version: "2"
services:
transform-core-aio:
image: alfresco/alfresco-transform-core-aio:2.3.10
image: alfresco/alfresco-transform-core-aio:2.4.0
mem_limit: 1536m
environment:
JAVA_OPTS: " -Xms256m -Xmx1536m"
@@ -14,7 +14,7 @@ services:
- 8090:8090
postgres:
image: postgres:13.1
image: postgres:13.3
mem_limit: 512m
environment:
- POSTGRES_PASSWORD=alfresco
@@ -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

View File

@@ -1,27 +1,29 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
<name>Development Tomcat Environment</name>
<packaging>pom</packaging>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>7.0.0-SNAPSHOT</version>
</parent>
<properties>
<!-- Development Tomcat runtime environment configuration -->
<runtime.data.folder>${project.build.directory}/dev-instance/runtime</runtime.data.folder>
<runtime.tomcat.conf.folder>${project.build.directory}/dev-instance/tomcat</runtime.tomcat.conf.folder>
<alfresco.properties.file>${runtime.tomcat.conf.folder}/shared/classes/alfresco-global.properties</alfresco.properties.file>
</properties>
<modules>
<module>dev-tomcat</module>
<module>dev-acs-amps-overlay</module>
</modules>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
<name>Development Tomcat Environment</name>
<packaging>pom</packaging>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>7.1.0-SNAPSHOT</version>
</parent>
<properties>
<!-- Development Tomcat runtime environment configuration -->
<runtime.data.folder>${project.build.directory}/dev-instance/runtime</runtime.data.folder>
<runtime.tomcat.conf.folder>${project.build.directory}/dev-instance/tomcat</runtime.tomcat.conf.folder>
<alfresco.properties.file>${runtime.tomcat.conf.folder}/shared/classes/alfresco-global.properties</alfresco.properties.file>
</properties>
<modules>
<module>dev-tomcat</module>
<module>dev-repo-amps-overlay</module>
<module>dev-share-amps-overlay</module>
<module>dev-acs-amps-overlay</module>
</modules>
</project>

60
distribution-ags/pom.xml Normal file
View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>alfresco-governance-services-community-distribution</artifactId>
<name>Alfresco Governance Services Community Distribution Zip</name>
<packaging>pom</packaging>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>7.1.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-governance-services-community-repo</artifactId>
<version>${dependency.alfresco-community-repo.version}</version>
<type>amp</type>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-governance-services-community-rest-api-explorer</artifactId>
<version>${dependency.alfresco-community-repo.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-governance-services-community-share</artifactId>
<version>${dependency.alfresco-community-share.version}</version>
<type>amp</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<inherited>false</inherited>
<executions>
<execution>
<id>create-distribution</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>alfresco-governance-services-community-${project.version}</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/assemble/ags-distribution.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>distribution-ags</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<useTransitiveDependencies>false</useTransitiveDependencies>
<unpack>false</unpack>
</dependencySet>
</dependencySets>
</assembly>

View File

@@ -7,7 +7,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>7.0.0-SNAPSHOT</version>
<version>7.1.0-SNAPSHOT</version>
</parent>
<dependencies>

View File

@@ -38,7 +38,7 @@
<!-- Share -->
<fileSet>
<directory>${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version}</directory>
<directory>${project.build.directory}/dependency/alfresco-content-services-share-distribution-${project.version}</directory>
<outputDirectory/>
<includes>
<include>web-server/**</include>
@@ -47,7 +47,7 @@
</includes>
</fileSet>
<fileSet>
<directory>${project.build.directory}/dependency/alfresco-content-services-share-distribution-${alfresco.share.version}/web-extension-samples</directory>
<directory>${project.build.directory}/dependency/alfresco-content-services-share-distribution-${project.version}/web-extension-samples</directory>
<outputDirectory>web-server/shared/classes/alfresco/web-extension</outputDirectory>
</fileSet>
</fileSets>

View File

@@ -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

View File

@@ -7,7 +7,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>7.0.0-SNAPSHOT</version>
<version>7.1.0-SNAPSHOT</version>
</parent>
<properties>
@@ -49,7 +49,7 @@
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-share-services</artifactId>
<version>${alfresco.alfresco-share-services.version}</version>
<version>${dependency.alfresco-community-repo.version}</version>
<type>amp</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/amps</outputDirectory>
@@ -64,7 +64,7 @@
<profiles>
<profile>
<id>communityDocker</id>
<id>build-docker-images</id>
<!-- builds "image:latest" locally -->
<build>
<plugins>
@@ -93,7 +93,7 @@
</profile>
<profile>
<id>internal</id>
<id>push-docker-images</id>
<!-- publishes "image:latest" to Quay -->
<build>
<plugins>
@@ -126,7 +126,7 @@
<profile>
<id>release</id>
<!-- publishes "image:release_version" to DockerHub -->
<!-- publishes "image:release_version" to DockerHub and Quay -->
<build>
<plugins>
<plugin>

56
pom.xml
View File

@@ -3,24 +3,21 @@
<artifactId>acs-community-packaging</artifactId>
<packaging>pom</packaging>
<name>Alfresco Content Services Community Packaging</name>
<version>7.0.0-SNAPSHOT</version>
<version>7.1.0-SNAPSHOT</version>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo</artifactId>
<relativePath>../alfresco-community-repo/pom.xml</relativePath>
<version>8.423</version>
<version>11.86</version>
</parent>
<properties>
<dependency.alfresco-community-repo.version>8.423</dependency.alfresco-community-repo.version>
<alfresco.share.version>7.0.0</alfresco.share.version>
<alfresco.alfresco-share-services.version>${alfresco.share.version}</alfresco.alfresco-share-services.version>
<alfresco.api-explorer.version>7.0.0</alfresco.api-explorer.version>
<dependency.alfresco-community-repo.version>11.86</dependency.alfresco-community-repo.version>
<dependency.alfresco-community-share.version>11.46</dependency.alfresco-community-share.version>
<alfresco.share.version>7.1.0-M2</alfresco.share.version> <!-- Share distribution zip from acs-packaging -->
<repo.image.tag>${dependency.alfresco-community-repo.version}</repo.image.tag>
<share.image.tag>${alfresco.share.version}</share.image.tag>
</properties>
<scm>
@@ -41,30 +38,17 @@
</snapshotRepository>
</distributionManagement>
<modules>
<module>distribution</module>
<module>public-javadoc</module>
<module>docker-alfresco</module>
</modules>
<profiles>
<profile>
<id>fullBuild</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<id>ags</id>
<modules>
<module>distribution</module>
<module>public-javadoc</module>
<module>docker-alfresco</module>
</modules>
</profile>
<profile>
<id>communityDocker</id>
<modules>
<module>distribution</module>
<module>docker-alfresco</module>
</modules>
</profile>
<profile>
<id>internal</id>
<modules>
<module>distribution</module>
<module>docker-alfresco</module>
<module>distribution-ags</module>
</modules>
</profile>
<profile>
@@ -76,8 +60,7 @@
<profile>
<id>release</id>
<modules>
<module>distribution</module>
<module>docker-alfresco</module>
<module>dev</module>
</modules>
</profile>
<profile>
@@ -185,7 +168,6 @@
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-content-services-share-distribution</artifactId>
@@ -195,31 +177,31 @@
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-share-services</artifactId>
<version>${alfresco.alfresco-share-services.version}</version>
<version>${dependency.alfresco-community-repo.version}</version>
<type>amp</type>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>share</artifactId>
<version>${alfresco.share.version}</version>
<version>${dependency.alfresco-community-share.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-wcmqs-distribution</artifactId>
<version>${alfresco.share.version}</version>
<version>${dependency.alfresco-community-share.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-wcmqs-web</artifactId>
<version>${alfresco.share.version}</version>
<version>${dependency.alfresco-community-share.version}</version>
<classifier>classes</classifier>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-wcmqs-client-api</artifactId>
<version>${alfresco.share.version}</version>
<version>${dependency.alfresco-community-share.version}</version>
</dependency>
</dependencies>
</dependencyManagement>

View File

@@ -5,7 +5,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>7.0.0-SNAPSHOT</version>
<version>7.1.0-SNAPSHOT</version>
</parent>
<packaging>pom</packaging>
@@ -23,7 +23,7 @@
<groupId>org.alfresco</groupId>
<artifactId>share</artifactId>
<classifier>classes</classifier>
<version>${alfresco.share.version}</version>
<version>${dependency.alfresco-community-share.version}</version>
</dependency>
<!-- Downloads the docflex license -->

View File

@@ -6,45 +6,39 @@ 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")"
REPO_IMAGE=$([[ "${COM_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && echo "-Drepo.image.tag=latest" || echo)
# 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
UPSTREAM_REPO="github.com/Alfresco/alfresco-community-repo.git"
# For release jobs, check if the upstream dependency is the latest tag on the upstream repository (on the same branch)
if isBranchBuild && [ "${TRAVIS_BUILD_STAGE_NAME,,}" = "release" ] && [ "${DEPENDENCY_VERSION}" != "$(retieveLatestTag "${UPSTREAM_REPO}" "${TRAVIS_BRANCH}")" ] ; then
printf "Upstream dependency is not up to date with %s / %s\n" "${UPSTREAM_REPO}" "${TRAVIS_BRANCH}"
exit 1
fi
# Search, checkout and build the same branch on the upstream project in case of SNAPSHOT dependencies
# Otherwise, checkout the upstream tag and build its Docker image (use just "mvn package", without "mvn install")
if [[ "${DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] ; then
pullAndBuildSameBranchOnUpstream "${UPSTREAM_REPO}" "-PcommunityDocker"
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 -Pags ${REPO_IMAGE}
popd

View File

@@ -0,0 +1,27 @@
#!/usr/bin/env bash
echo "=========================== Starting Copy to Release Bucket Script ==========================="
PS4="\[\e[35m\]+ \[\e[m\]"
set -vex
#
# Copy from S3 Release bucket to S3 eu.dl bucket
#
if [ -z "${RELEASE_VERSION}" ]; then
echo "Please provide a RELEASE_VERSION in the format <acs-version>-<additional-info> (7.1.0-EA or 7.1.0-SNAPSHOT)"
exit 1
fi
SOURCE="s3://alfresco-artefacts-staging/community/RM/${RELEASE_VERSION}"
DESTINATION="s3://eu.dl.alfresco.com/release/community/RM/${RELEASE_VERSION}"
printf "\n%s\n%s\n" "${SOURCE}" "${DESTINATION}"
aws s3 cp --acl private \
"${SOURCE}/alfresco-governance-services-community-${RELEASE_VERSION}.zip" \
"${DESTINATION}/alfresco-governance-services-community-${RELEASE_VERSION}.zip"
set +vex
echo "=========================== Finishing Copy to Release Bucket Script =========================="

View File

@@ -8,7 +8,7 @@ set -vex
#
if [ -z "${RELEASE_VERSION}" ]; then
echo "Please provide a RELEASE_VERSION in the format <acs-version>-<additional-info> (7.0.0-EA or 7.0.0-SNAPSHOT)"
echo "Please provide a RELEASE_VERSION in the format <acs-version>-<additional-info> (7.1.0-EA or 7.1.0-SNAPSHOT)"
exit 1
fi

View File

@@ -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

View File

@@ -6,7 +6,7 @@ pushd "$(dirname "${BASH_SOURCE[0]}")/../../"
if [ -z "${RELEASE_VERSION}" ] || [ -z "${DEVELOPMENT_VERSION}" ]; then
echo "Please provide a Release and Development version in the format <acs-version>-<additional-info> (7.0.0-EA or 7.0.0-SNAPSHOT)"
echo "Please provide a Release and Development version in the format <acs-version>-<additional-info> (7.1.0-EA or 7.1.0-SNAPSHOT)"
exit 1
fi
@@ -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 -Pags \
-DreleaseVersion="${RELEASE_VERSION}" \
-DdevelopmentVersion="${DEVELOPMENT_VERSION}" \
"-Darguments=-Prelease,fullBuild,all-tas-tests -DskipTests -Dbuild-number=${TRAVIS_BUILD_NUMBER}" \
"-Darguments=-Prelease,all-tas-tests -Pags -DskipTests -Dbuild-number=${TRAVIS_BUILD_NUMBER}" \
release:clean release:prepare release:perform \
-DscmCommentPrefix="[maven-release-plugin][skip ci] " \
-Dusername="${GIT_USERNAME}" \

View File

@@ -9,7 +9,7 @@ pushd "$(dirname "${BASH_SOURCE[0]}")/../../"
#
if [ -z "${RELEASE_VERSION}" ]; then
echo "Please provide a RELEASE_VERSION in the format <acs-version>-<additional-info> (7.0.0-EA or 7.0.0-SNAPSHOT)"
echo "Please provide a RELEASE_VERSION in the format <acs-version>-<additional-info> (7.1.0-EA or 7.1.0-SNAPSHOT)"
exit 1
fi

View File

@@ -1,4 +1,4 @@
TRANSFORMERS_TAG=2.3.10
SOLR6_TAG=2.0.1
POSTGRES_TAG=13.1
TRANSFORMERS_TAG=2.4.0
SOLR6_TAG=2.0.2
POSTGRES_TAG=13.3
ACTIVEMQ_TAG=5.16.1

View File

@@ -6,7 +6,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>7.0.0-SNAPSHOT</version>
<version>7.1.0-SNAPSHOT</version>
</parent>
<modules>

View File

@@ -9,7 +9,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>content-repository-community-tests</artifactId>
<version>7.0.0-SNAPSHOT</version>
<version>7.1.0-SNAPSHOT</version>
</parent>
<developers>

View File

@@ -9,7 +9,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>content-repository-community-tests</artifactId>
<version>7.0.0-SNAPSHOT</version>
<version>7.1.0-SNAPSHOT</version>
</parent>
<developers>

View File

@@ -9,7 +9,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>content-repository-community-tests</artifactId>
<version>7.0.0-SNAPSHOT</version>
<version>7.1.0-SNAPSHOT</version>
</parent>
<developers>

View File

@@ -9,7 +9,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>content-repository-community-tests</artifactId>
<version>7.0.0-SNAPSHOT</version>
<version>7.1.0-SNAPSHOT</version>
</parent>
<developers>

View File

@@ -9,7 +9,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>content-repository-community-tests</artifactId>
<version>7.0.0-SNAPSHOT</version>
<version>7.1.0-SNAPSHOT</version>
</parent>
<developers>