mirror of
https://github.com/Alfresco/acs-community-packaging.git
synced 2025-09-10 14:12:09 +00:00
Compare commits
363 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
d9b1060dd0 | ||
|
78b5de7006 | ||
|
e72389f087 | ||
|
164a5b6e71 | ||
|
6e493f6fc2 | ||
|
ef0887366b | ||
|
950d064617 | ||
|
e2bfebd0ba | ||
|
0b42ed0a8b | ||
|
7c7189182e | ||
|
0b2ddbb7a0 | ||
|
c864faa9b3 | ||
|
e2479176c2 | ||
|
2f69f23092 | ||
|
31577fba21 | ||
|
d117b56a42 | ||
|
9145d1924f | ||
|
9949eb6ebf | ||
|
4cbed75399 | ||
|
85b7cf4cd5 | ||
|
38a779b421 | ||
|
4e3178cabd | ||
|
e95814acf3 | ||
|
ccfafef37b | ||
|
cd82e74b6d | ||
|
bc65bb6cf7 | ||
|
fb10cf9f8e | ||
|
345b7f9732 | ||
|
282d4ecedb | ||
|
31b6f612f4 | ||
|
8133c20355 | ||
|
8b41b66675 | ||
|
61cf3139ec | ||
|
31879f80e0 | ||
|
c3286dbcbf | ||
|
7559575daf | ||
|
ccf040d55a | ||
|
d532dd2448 | ||
|
ed31cfc681 | ||
|
cf2aee3bb8 | ||
|
105e605060 | ||
|
d4f0de607f | ||
|
2ee42e98fa | ||
|
77e687ced5 | ||
|
d1e5759949 | ||
|
52d988ba94 | ||
|
bddf020b32 | ||
|
2607293ad0 | ||
|
5501eca6a0 | ||
|
5e0598215b | ||
|
b6ee5f0b69 | ||
|
80451f8f0f | ||
|
7075152c76 | ||
|
7657d51662 | ||
|
a7d56d4a8c | ||
|
95108ed7c0 | ||
|
aab83d25f1 | ||
|
297605e8a8 | ||
|
846732c458 | ||
|
6baeff690f | ||
|
223133728a | ||
|
c4815a4aad | ||
|
f7d5854a19 | ||
|
4837d2bf23 | ||
|
44cb44db9f | ||
|
7afc54a81f | ||
|
929ae95c0f | ||
|
4580ed339d | ||
|
c92951f4d1 | ||
|
6e28c92f35 | ||
|
d6f2e803e9 | ||
|
dd7a6641ad | ||
|
5afab82762 | ||
|
b90809c48b | ||
|
29bbfa6fb7 | ||
|
f22d58dc74 | ||
|
a2a8f62cc4 | ||
|
0d39fe65b3 | ||
|
db00c0ebfb | ||
|
83be9672ae | ||
|
43b4f0e9e9 | ||
|
953f216bda | ||
|
d93cdfa871 | ||
|
40b10d3924 | ||
|
6d48c9fe41 | ||
|
355421f25b | ||
|
f72cd2d731 | ||
|
d8274bd04b | ||
|
aa6fef3c40 | ||
|
fb66d3ffb6 | ||
|
ee39c160b8 | ||
|
2115d2c079 | ||
|
25c3151722 | ||
|
ec09fcfd91 | ||
|
435d84e6a2 | ||
|
1d6b90d442 | ||
|
aa475b57b0 | ||
|
eb36ccc8e8 | ||
|
8a6c0315ed | ||
|
85092a63da | ||
|
9bf0d5ca11 | ||
|
fa7a57310f | ||
|
c2bfa12c45 | ||
|
59bb2d4093 | ||
|
151269ed6e | ||
|
d29290bf33 | ||
|
4a81764e77 | ||
|
1df9faf624 | ||
|
dee27344c1 | ||
|
fe797dd89b | ||
|
b84d48ad89 | ||
|
522e9a7ba3 | ||
|
51c51e1622 | ||
|
28846aa431 | ||
|
64eabb0f99 | ||
|
ac8c7dc395 | ||
|
a6ed8984f0 | ||
|
accf389a25 | ||
|
68c11271ec | ||
|
722b8cfad9 | ||
|
090aff5828 | ||
|
011e3a82b2 | ||
|
f24b02c211 | ||
|
0da9de5c98 | ||
|
a47c473aad | ||
|
fe2ad7b057 | ||
|
356fbe5577 | ||
|
5bd822ba7e | ||
|
90fdc9ec5a | ||
|
2e367804a9 | ||
|
95885b8edc | ||
|
99f0aaa907 | ||
|
5ca7f478a8 | ||
|
5887cc4e58 | ||
|
43da5d3ca2 | ||
|
6b96bb61f6 | ||
|
3f3bbb3ce0 | ||
|
b7b5d06c04 | ||
|
6714b55cdb | ||
|
6929e6f971 | ||
|
6832afc263 | ||
|
430e8d2564 | ||
|
c3a66e7a29 | ||
|
09d94b02b8 | ||
|
89c5c170da | ||
|
e96f28bf52 | ||
|
f419a278de | ||
|
ba05785465 | ||
|
0ecbefb478 | ||
|
c3866ed5e8 | ||
|
59ef7335c5 | ||
|
268d4dc27f | ||
|
73223e0287 | ||
|
e0f8742f7e | ||
|
f81407f5a5 | ||
|
48ca11a839 | ||
|
087fc83373 | ||
|
b6a037d529 | ||
|
d9f2694feb | ||
|
e9cb267b73 | ||
|
82f6ee42b6 | ||
|
cfba6fd92f | ||
|
afeed07245 | ||
|
c364ee05cf | ||
|
8e370bf067 | ||
|
4fd4eff8e6 | ||
|
8019bc63f8 | ||
|
0acda9915d | ||
|
de362015da | ||
|
3a570f58ee | ||
|
af906b7031 | ||
|
ae734570fd | ||
|
dd04302da0 | ||
|
c7d450f936 | ||
|
e8729ddfac | ||
|
2305ae7a38 | ||
|
42aaf72c01 | ||
|
f987808bc1 | ||
|
65d624b41e | ||
|
9b32310d5c | ||
|
e5be1f0071 | ||
|
20ad6948fc | ||
|
ca22c4e454 | ||
|
fa5291e120 | ||
|
50af2aed48 | ||
|
9080b69020 | ||
|
04d31a7369 | ||
|
e72a754fa4 | ||
|
400a8b44ca | ||
|
3510d794d8 | ||
|
b8e1f1d11d | ||
|
6cc0116cdf | ||
|
f3038c9609 | ||
|
0ef3819222 | ||
|
c06697bf8f | ||
|
1ab7a88af9 | ||
|
77ec2e3726 | ||
|
12daf19d5b | ||
|
e29bab8ffe | ||
|
1143cd1015 | ||
|
d7ce21b3b4 | ||
|
a94a03cb59 | ||
|
54fc25409e | ||
|
ab4bc47a07 | ||
|
a85d57402c | ||
|
c26fb7d27d | ||
|
170dfeeecd | ||
|
ebe30818e2 | ||
|
1d8123d735 | ||
|
cfa9c4886a | ||
|
de8511e396 | ||
|
55368b5254 | ||
|
db4f20e2f5 | ||
|
b19f892689 | ||
|
34d1221ef7 | ||
|
c439b51275 | ||
|
0041f25619 | ||
|
180e3a353a | ||
|
dbaa53d12e | ||
|
4e2bca8799 | ||
|
dfe6a27785 | ||
|
120b5df54e | ||
|
298c55e75c | ||
|
6f604e8b36 | ||
|
c6813e5831 | ||
|
455e01276f | ||
|
fe5cffe9eb | ||
|
713683fcbe | ||
|
928cab113c | ||
|
8e3309825d | ||
|
ce00290c4a | ||
|
4867fc3184 | ||
|
dd2e4cef45 | ||
|
e3b92fc5be | ||
|
ab26a06320 | ||
|
ad3f81a228 | ||
|
6542cb450f | ||
|
d0f5c71fbd | ||
|
c80456ab22 | ||
|
40c87cfb0a | ||
|
b789531dad | ||
|
b9c9174540 | ||
|
224b8ec58e | ||
|
81531d0b1f | ||
|
7ee72f0d4f | ||
|
1abd367d65 | ||
|
afc69f6599 | ||
|
3aa7c8a85d | ||
|
39fa717e26 | ||
|
e6592268c9 | ||
|
5a970fc51d | ||
|
6b6eace458 | ||
|
85f4e39eda | ||
|
a0f0ea290a | ||
|
b95d722665 | ||
|
cbd6db52c5 | ||
|
a922aeaeac | ||
|
c0cd626441 | ||
|
87702ddb31 | ||
|
0f580b6460 | ||
|
c1d1cdfd77 | ||
|
72cb0fdf23 | ||
|
b3de113739 | ||
|
fa0bb84ef8 | ||
|
8276693097 | ||
|
7cacdb44df | ||
|
de63c15578 | ||
|
be18ab2f5a | ||
|
b5c9df0430 | ||
|
06ccf16cb9 | ||
|
c36068f133 | ||
|
1533fe4e8d | ||
|
0e96410f0a | ||
|
8f3704630f | ||
|
2ce2e12c32 | ||
|
ea66a7ede5 | ||
|
51d294fa21 | ||
|
c8d1503253 | ||
|
dd82d94c69 | ||
|
f090bca704 | ||
|
5176baa5ba | ||
|
4b1b166e1e | ||
|
071da32246 | ||
|
b2f3c5f2f6 | ||
|
1130a5cbcd | ||
|
4cb1d6498a | ||
|
659399a878 | ||
|
80d1af0c67 | ||
|
7ecfae2b75 | ||
|
24322d2de4 | ||
|
57e68ed370 | ||
|
2ca1d8ab25 | ||
|
04389650bc | ||
|
6c6f3c0a2a | ||
|
5d2a9a1aae | ||
|
5b5545c640 | ||
|
a260d2938c | ||
|
c3bff50bfe | ||
|
d68920fa16 | ||
|
22b42d274f | ||
|
0df449e1e0 | ||
|
c07a9d4e22 | ||
|
00158d6390 | ||
|
5645836ac4 | ||
|
0b83737fba | ||
|
227a82bffd | ||
|
bf453a519d | ||
|
5ada61ecef | ||
|
0f8ea28abe | ||
|
e6920f0c71 | ||
|
357ed8478c | ||
|
b9523d659a | ||
|
c2ffbf02ef | ||
|
809b3062cd | ||
|
fe72a557c5 | ||
|
8e1bfeb88e | ||
|
401fc13d24 | ||
|
93d3e02402 | ||
|
9f0cafa954 | ||
|
8fc08ab6cf | ||
|
c08dd55b8e | ||
|
f959da443c | ||
|
66cee04556 | ||
|
8b7efa4e94 | ||
|
c193bcaf52 | ||
|
d9843034ae | ||
|
024d3e4d2d | ||
|
55b1580c22 | ||
|
33ebedee3c | ||
|
ae40abc1dd | ||
|
2f7b625465 | ||
|
3b57620a06 | ||
|
3c95f04005 | ||
|
28e18308b4 | ||
|
ff833729fe | ||
|
f2292c288b | ||
|
a8df8cb7ed | ||
|
baf76608f7 | ||
|
ddae3ae0ab | ||
|
b4b6ff0d27 | ||
|
ac00a34bc4 | ||
|
7362b4c989 | ||
|
cc86cd2342 | ||
|
2c6c14bb62 | ||
|
dec86c6d94 | ||
|
888433f498 | ||
|
8cfb437139 | ||
|
a5aed73a3f | ||
|
5cacfb329c | ||
|
0fa84b8499 | ||
|
b87f0d5c77 | ||
|
0f3d72179e | ||
|
a94d0c474a | ||
|
53874729fb | ||
|
3615d4630e | ||
|
30678974aa | ||
|
da07943c0f | ||
|
6f6b6edbfd | ||
|
1db65b1eff | ||
|
679fb6613f | ||
|
321e417edd | ||
|
beb57dc709 | ||
|
bb2c33aab4 |
62
.github/dependabot.yml
vendored
Normal file
62
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
version: 2
|
||||
registries:
|
||||
maven-repository-artifacts-alfresco-com-nexus-content-groups-int:
|
||||
type: maven-repository
|
||||
url: https://artifacts.alfresco.com/nexus/content/groups/internal
|
||||
username: ${{secrets.NEXUS_USERNAME}}
|
||||
password: ${{secrets.NEXUS_PASSWORD}}
|
||||
|
||||
updates:
|
||||
- package-ecosystem: maven
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "22:00"
|
||||
timezone: Africa/Abidjan
|
||||
open-pull-requests-limit: 99
|
||||
ignore:
|
||||
# Upstream alfresco-community-repo artifacts
|
||||
- dependency-name: org.alfresco:alfresco-community-repo
|
||||
- dependency-name: org.alfresco:alfresco-core
|
||||
- dependency-name: org.alfresco:alfresco-data-model
|
||||
- dependency-name: org.alfresco:alfresco-repository
|
||||
- dependency-name: org.alfresco:alfresco-remote-api
|
||||
- dependency-name: org.alfresco:content-services-community
|
||||
- dependency-name: org.alfresco:alfresco-community-repo-distribution
|
||||
- dependency-name: org.alfresco.tas:alfresco-community-repo-webdav-test:tests
|
||||
- dependency-name: org.alfresco.tas:alfresco-community-repo-restapi-test:tests
|
||||
- dependency-name: org.alfresco.tas:alfresco-community-repo-integration-test:tests
|
||||
- dependency-name: org.alfresco.tas:alfresco-community-repo-email-test:tests
|
||||
- dependency-name: org.alfresco.tas:alfresco-community-repo-cmis-test:tests
|
||||
# Used in dev env - Currently using 7.0.86 but have tried higher versions
|
||||
- dependency-name: org.apache.tomcat.embed
|
||||
versions:
|
||||
- "> 7.0.109"
|
||||
- dependency-name: org.apache.tomcat
|
||||
versions:
|
||||
- "> 7.0.109"
|
||||
# Upstream alfresco-enterprise-share artifacts
|
||||
- dependency-name: org.alfresco:share:classes
|
||||
- dependency-name: org.alfresco:alfresco-wcmqs-web:classes
|
||||
- dependency-name: org.alfresco:alfresco-wcmqs-distribution
|
||||
- dependency-name: org.alfresco:share
|
||||
- dependency-name: org.alfresco:alfresco-content-services-share-distribution
|
||||
- dependency-name: org.alfresco:alfresco-share-services
|
||||
# Others
|
||||
- dependency-name: io.fabric8:fabric8-maven-plugin
|
||||
versions:
|
||||
- "> 4.4.1"
|
||||
- dependency-name: org.alfresco:api-explorer
|
||||
versions:
|
||||
- "> 6.1.0, < 6.2"
|
||||
- dependency-name: org.alfresco.integrations:alfresco-googledocs-repo-community
|
||||
versions:
|
||||
- "> 3.1.0"
|
||||
- dependency-name: org.alfresco.integrations:alfresco-googledocs-share-community
|
||||
versions:
|
||||
- "> 3.1.0"
|
||||
- dependency-name: org.apache.maven.plugins:maven-war-plugin
|
||||
versions:
|
||||
- ">= 3.a, < 4"
|
||||
registries:
|
||||
- maven-repository-artifacts-alfresco-com-nexus-content-groups-int
|
218
.github/workflows/ci.yml
vendored
Normal file
218
.github/workflows/ci.yml
vendored
Normal file
@@ -0,0 +1,218 @@
|
||||
name: ACS Community Packaging CI
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
- release/**
|
||||
- feature/**
|
||||
- fix/**
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- release/**
|
||||
- feature/**
|
||||
- fix/**
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
GIT_USERNAME: ${{ secrets.BOT_GITHUB_USERNAME }}
|
||||
GIT_EMAIL: ${{ secrets.BOT_GITHUB_EMAIL }}
|
||||
GIT_PASSWORD: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
DOCKERHUB_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||
GITHUB_ACTIONS_DEPLOY_TIMEOUT: 60
|
||||
MAVEN_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
|
||||
MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }}
|
||||
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }}
|
||||
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }}
|
||||
TAS_ENVIRONMENT: ./tests/environment
|
||||
TAS_SCRIPTS: ../alfresco-community-repo/packaging/tests/scripts
|
||||
# Release version has to start with real version (7.4.0-....) for the docker image to build successfully.
|
||||
RELEASE_VERSION: 7.4.0-A33
|
||||
DEVELOPMENT_VERSION: 7.4.0-A34-SNAPSHOT
|
||||
|
||||
jobs:
|
||||
tas_tests:
|
||||
name: ${{ matrix.testSuite }} TAS tests
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ !contains(github.event.head_commit.message, '[skip tas]') && !contains(github.event.head_commit.message, '[skip tests]') }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- testSuite: REST API part1
|
||||
pom: tests/tas-restapi/pom.xml
|
||||
profiles: all-tas-tests,run-restapi-part1
|
||||
compose-file: docker-compose-minimal+transforms.yml
|
||||
- testSuite: REST API part2
|
||||
pom: tests/tas-restapi/pom.xml
|
||||
profiles: all-tas-tests,run-restapi-part2
|
||||
compose-file: docker-compose-minimal+transforms.yml
|
||||
- testSuite: REST API part3
|
||||
pom: tests/tas-restapi/pom.xml
|
||||
profiles: all-tas-tests,run-restapi-part3
|
||||
compose-file: docker-compose-minimal+transforms.yml
|
||||
- testSuite: CMIS (BROWSER binding)
|
||||
pom: tests/tas-cmis/pom.xml
|
||||
profiles: all-tas-tests,run-cmis-browser
|
||||
compose-file: docker-compose-minimal+transforms.yml
|
||||
- testSuite: CMIS (ATOM binding)
|
||||
pom: tests/tas-cmis/pom.xml
|
||||
profiles: all-tas-tests,run-cmis-atom
|
||||
compose-file: docker-compose-minimal+transforms.yml
|
||||
- testSuite: CMIS (WEBSERVICES binding)
|
||||
pom: tests/tas-cmis/pom.xml
|
||||
profiles: all-tas-tests,run-cmis-webservices
|
||||
compose-file: docker-compose-minimal+transforms.yml
|
||||
- testSuite: Email
|
||||
pom: tests/tas-email/pom.xml
|
||||
profiles: all-tas-tests
|
||||
compose-file: docker-compose-minimal.yml
|
||||
- testSuite: WebDAV
|
||||
pom: tests/tas-webdav/pom.xml
|
||||
profiles: all-tas-tests
|
||||
compose-file: docker-compose-minimal.yml
|
||||
- testSuite: Integration
|
||||
pom: tests/tas-integration/pom.xml
|
||||
profiles: all-tas-tests
|
||||
compose-file: docker-compose-minimal.yml
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
|
||||
- name: "Init"
|
||||
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
||||
run: |
|
||||
bash ./scripts/ci/init.sh
|
||||
bash ./scripts/ci/build.sh
|
||||
- name: "Setup the environment"
|
||||
run: |
|
||||
${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/${{ matrix.compose-file }}
|
||||
${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
|
||||
- name: "Test"
|
||||
run: mvn -B install -ntp -f ${{ matrix.pom }} -P${{ matrix.profiles }} -Denvironment=default -DrunBugs=false
|
||||
- name: "Clean Maven cache"
|
||||
run: bash ./scripts/ci/cleanup_cache.sh
|
||||
|
||||
community_zip_tests:
|
||||
name: Community Distribution Zip content tests
|
||||
runs-on: ubuntu-latest
|
||||
if: "!contains(github.event.head_commit.message, '[skip tests]')"
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
|
||||
- name: "Init"
|
||||
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
||||
run: |
|
||||
bash ./scripts/ci/init.sh
|
||||
bash ./scripts/ci/build.sh
|
||||
- name: "Build"
|
||||
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
||||
run: mvn -B -ntp -V clean install -Pags -DskipTests -Dmaven.javadoc.skip=true
|
||||
- name: "Test"
|
||||
run: mvn -B install -ntp -f tests/tas-distribution-zip/pom.xml -Prun-distribution-zip-contents-check -DrunBugs=false
|
||||
- name: "Clean Maven cache"
|
||||
run: bash ./scripts/ci/cleanup_cache.sh
|
||||
|
||||
docker_latest:
|
||||
name: Update latest Docker images
|
||||
runs-on: ubuntu-latest
|
||||
needs: [tas_tests, community_zip_tests]
|
||||
if: >
|
||||
!(failure() || cancelled()) &&
|
||||
!contains(github.event.head_commit.message, '[skip docker_latest]') &&
|
||||
(github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) &&
|
||||
github.event_name != 'pull_request'
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
- name: "Init"
|
||||
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
||||
run: |
|
||||
bash ./scripts/ci/init.sh
|
||||
bash ./scripts/ci/build.sh -m
|
||||
- name: "Push Docker images"
|
||||
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
||||
run: mvn -B -ntp -V clean install -DskipTests -Dmaven.javadoc.skip=true -Pags -Ppush-docker-images
|
||||
- name: "Clean Maven cache"
|
||||
run: bash ./scripts/ci/cleanup_cache.sh
|
||||
|
||||
release:
|
||||
name: Release and Copy to S3 Staging Bucket
|
||||
runs-on: ubuntu-latest
|
||||
needs: [docker_latest]
|
||||
if: >
|
||||
!(failure() || cancelled()) &&
|
||||
contains(github.event.head_commit.message, '[release]') &&
|
||||
(github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) &&
|
||||
github.event_name != 'pull_request'
|
||||
services:
|
||||
registry:
|
||||
image: registry:2
|
||||
ports:
|
||||
- 5000:5000
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
persist-credentials: false
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
- name: "Init"
|
||||
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
||||
run: |
|
||||
bash ./scripts/ci/init.sh
|
||||
bash ./scripts/ci/build.sh -m
|
||||
- name: "Release"
|
||||
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
||||
run: |
|
||||
bash scripts/ci/verify_release_tag.sh
|
||||
bash scripts/ci/maven_release.sh
|
||||
source scripts/ci/prepare_staging_deploy.sh
|
||||
- name: "Clean Maven cache"
|
||||
run: bash ./scripts/ci/cleanup_cache.sh
|
||||
- name: "Configure AWS credentials"
|
||||
uses: aws-actions/configure-aws-credentials@v1
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_S3_STAGING_ACCESS_KEY }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_S3_STAGING_SECRET_KEY }}
|
||||
aws-region: eu-west-1
|
||||
- name: "Deploy to S3 Staging Bucket"
|
||||
run: |
|
||||
aws s3 cp --acl private --recursive ./deploy_dir s3://alfresco-artefacts-staging/alfresco-content-services-community/release/${BRANCH_NAME}/${BUILD_NUMBER}
|
||||
aws s3 cp --acl private --recursive ./deploy_dir_ags s3://alfresco-artefacts-staging/community/RM/${RELEASE_VERSION}
|
||||
echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/alfresco-artefacts-staging/alfresco-content-services-community/release/${BRANCH_NAME}/${BUILD_NUMBER}"
|
||||
|
||||
publish:
|
||||
name: Copy to S3 Release Bucket
|
||||
runs-on: ubuntu-latest
|
||||
needs: [release]
|
||||
if: >
|
||||
!(failure() || cancelled()) &&
|
||||
contains(github.event.head_commit.message, '[publish]') &&
|
||||
(github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) &&
|
||||
github.event_name != 'pull_request'
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
|
||||
- name: "Configure AWS credentials"
|
||||
uses: aws-actions/configure-aws-credentials@v1
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_S3_RELEASE_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_S3_RELEASE_SECRET_ACCESS_KEY }}
|
||||
aws-region: eu-west-1
|
||||
- name: "Deploy to S3 Release Bucket"
|
||||
run: |
|
||||
bash scripts/ci/copy_to_release_bucket.sh
|
||||
bash scripts/ci/copy_ags_to_release_bucket.sh
|
3
.gitignore
vendored
3
.gitignore
vendored
@@ -36,5 +36,6 @@ helm/alfresco-content-services-community/charts/*
|
||||
helm/alfresco-content-services-community/requirements.lock
|
||||
helm/alfresco-content-services-community*.tgz
|
||||
|
||||
# Travis deployment folder
|
||||
# Travis deployment folders
|
||||
deploy_dir
|
||||
deploy_dir_ags
|
||||
|
179
.travis.yml
179
.travis.yml
@@ -1,179 +0,0 @@
|
||||
---
|
||||
dist: xenial
|
||||
language: java
|
||||
jdk: openjdk11
|
||||
|
||||
services:
|
||||
- docker
|
||||
|
||||
git:
|
||||
depth: false
|
||||
quiet: true
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- ${HOME}/.m2/repository
|
||||
|
||||
# the cache can grow constantly
|
||||
before_cache: bash scripts/travis/cleanup_cache.sh
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- /release\/.*/
|
||||
- /feature\/.*/
|
||||
- /fix\/.*/
|
||||
|
||||
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=7.1.0-A13
|
||||
- DEVELOPMENT_VERSION=7.1.0-SNAPSHOT
|
||||
|
||||
stages:
|
||||
- name: test
|
||||
if: commit_message !~ /\[skip tests\]/
|
||||
- name: docker_latest
|
||||
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 (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND fork = false
|
||||
- name: publish
|
||||
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
|
||||
|
||||
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"
|
||||
script:
|
||||
- travis_wait 60 mvn -B install -f tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part1 -Denvironment=default -DrunBugs=false
|
||||
|
||||
- name: "REST API TAS tests part2"
|
||||
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"
|
||||
script:
|
||||
- travis_wait 60 mvn -B install -f tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part2 -Denvironment=default -DrunBugs=false
|
||||
|
||||
- name: "REST API TAS tests part3"
|
||||
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"
|
||||
script:
|
||||
- travis_wait 60 mvn -B install -f tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part3 -Denvironment=default -DrunBugs=false
|
||||
|
||||
- name: "CMIS TAS tests - 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"
|
||||
script:
|
||||
- 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"
|
||||
script:
|
||||
- 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"
|
||||
script:
|
||||
- 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"
|
||||
script:
|
||||
- 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"
|
||||
script:
|
||||
- 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"
|
||||
stage: docker_latest
|
||||
script: travis_retry travis_wait 30 mvn -B -V clean install -DskipTests -Dmaven.javadoc.skip=true -Pags -Ppush-docker-images
|
||||
|
||||
- name: "Release and Copy to S3 Staging Bucket"
|
||||
stage: release
|
||||
before_script: bash scripts/travis/verify_release_tag.sh
|
||||
script: travis_wait 60 bash scripts/travis/maven_release.sh
|
||||
before_deploy:
|
||||
# Move the final artifacts to a single folder (deploy_dir) to be copied to S3
|
||||
- mkdir -p deploy_dir
|
||||
- cp distribution/target/alfresco.war deploy_dir
|
||||
- cp distribution/target/*-distribution*.zip deploy_dir
|
||||
- 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}"
|
||||
secret_access_key: "${AWS_STAGING_SECRET_KEY}"
|
||||
bucket: "alfresco-artefacts-staging"
|
||||
region: "eu-west-1"
|
||||
skip_cleanup: true
|
||||
acl: private
|
||||
local_dir: "deploy_dir"
|
||||
upload_dir: "alfresco-content-services-community/release/${TRAVIS_BRANCH}/${TRAVIS_BUILD_NUMBER}"
|
||||
on:
|
||||
all_branches: true
|
||||
- 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}"
|
||||
|
||||
- name: "Copy to S3 Release Bucket"
|
||||
stage: publish
|
||||
# Nothing to build/install as we are just copying from S3 buckets
|
||||
install: skip
|
||||
script: skip
|
||||
before_deploy: pip install awscli
|
||||
deploy:
|
||||
- provider: script
|
||||
script: bash scripts/travis/copy_to_release_bucket.sh
|
||||
on:
|
||||
all_branches: true
|
||||
- provider: script
|
||||
script: bash scripts/travis/copy_ags_to_release_bucket.sh
|
||||
on:
|
||||
all_branches: true
|
329
CHANGELOG.md
329
CHANGELOG.md
@@ -1,329 +0,0 @@
|
||||
<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
|
||||
</h2>
|
||||
<ul>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/MNT-20436'>MNT-20436</a>] - “POST /nodes/{nodeId}/children” RestAPI does not create a node without having a mandatory value object, but it outputs the 201 successful response.
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/MNT-20714'>MNT-20714</a>] - [HotFix] /nodes/{nodeId}/content REST API fails for content created by a deleted user
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/MNT-20770'>MNT-20770</a>] - Share non responsive during direct download from S3 if content store selector is also configured
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/MNT-20863'>MNT-20863</a>] - Changing cm:name with REST API /nodes/{nodeId} does not update Primary Path
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h1> Release Notes - Alfresco - Version Community Edition 201910 EA
|
||||
</h1>
|
||||
<h2>
|
||||
New Features
|
||||
</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<h4>Custom Transforms and Renditions</h4>
|
||||
<p>Alfresco Content Services (ACS) provides a number of content
|
||||
transforms, but also allows custom transforms to be added.
|
||||
<p>It is now possible to create custom transforms that run in
|
||||
separate processes known as T-Engines (short for Transformer
|
||||
Engines). The same engines may be used in Community and
|
||||
Enterprise Editions. They may be directly connected to the ACS
|
||||
repository as Local Transforms, but in the Enterprise edition there
|
||||
is the option to include them as part of the Transform Service
|
||||
which provides more balanced throughput and better administration
|
||||
capabilities.
|
||||
<p>For more information see <a href='https://github.com/Alfresco/acs-packaging/blob/master/docs/custom-transforms-and-renditions.md'>Custom Transforms and Renditions</a>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Open-source Transformation Engines</h4>
|
||||
<p>The core T-Engine images can now be used in Community
|
||||
Edition.</p>
|
||||
<p>T-Engines code has been Open-Sourced and is available on Github:</p>
|
||||
<ul><a href='https://github.com/Alfresco/alfresco-transform-core'>alfresco/alfresco-transform-core</a></ul>
|
||||
<p>Images are available on Docker Hub:</p>
|
||||
<ul><a href='https://hub.docker.com/r/alfresco/alfresco-imagemagick'>alfresco/alfresco-imagemagick</a></ul>
|
||||
<ul><a href='https://hub.docker.com/r/alfresco/alfresco-pdf-renderer'>alfresco/alfresco-pdf-renderer</a></ul>
|
||||
<ul><a href='https://hub.docker.com/r/alfresco/alfresco-libreoffice'>alfresco/alfresco-libreoffice</a></ul>
|
||||
<ul><a href='https://hub.docker.com/r/alfresco/alfresco-tika'>alfresco/alfresco-tika</a></ul>
|
||||
<ul><a href='https://hub.docker.com/r/alfresco/alfresco-transform-misc'>alfresco/alfresco-transform-misc</a></ul>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Removal of external executables from docker image</h4>
|
||||
<p>With the introduction of the new Local Transform Service
|
||||
in Alfresco Community Edition, the capability of executing
|
||||
remote transformations on T-Engines was enabled. Because of
|
||||
this, the external executables (Alfresco-Pdf-renderer, Libreoffice
|
||||
and Imagemagick) have been removed from the docker container to
|
||||
facilitate the usage of out-of-process transformations.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h2> Bug
|
||||
</h2>
|
||||
<ul>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22013'>ALF-22013</a>] - Docker Image for Base Tomcat locale is POSIX
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22060'>ALF-22060</a>] - Reader on the backing store is obtained twice in CachingContentStore
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22056'>ALF-22056</a>] - onCopyCompleteBehaviour not called in order of copy-action
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22073'>ALF-22073</a>] - MailActionExecutor doesn't consider email bodies with a HTML doctype as HTML
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-21988'>ALF-21988</a>] - Tab order for number ranges not ok
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22097'>ALF-22097</a>] - T Engine - add source nodeId parameter
|
||||
</li>
|
||||
</ul>
|
||||
<h2> Improvement
|
||||
</h2>
|
||||
<ul>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/REPO-4318'>REPO-4318</a>] - [COMPLETE] Extraction of transformers and metadata extractors
|
||||
</li>
|
||||
</ul>
|
||||
<h2>
|
||||
|
||||
<h1> Release Notes - Alfresco - Version Community Edition 201901 GA
|
||||
</h1>
|
||||
<h2>
|
||||
New Features
|
||||
</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<h4>ActiveMQ:</h4>
|
||||
Alfresco ActiveMQ Docker images: <a href='https://github.com/Alfresco/alfresco-docker-activemq'>GitHub Repo</a> <a href='https://hub.docker.com/r/alfresco/alfresco-activemq/'>DockerHub Repo</a><p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Alfresco Benchmark Framework:</h4>
|
||||
<p>The benchmark framework project provides a way to run highly scalable, easy-to-run Java-based load and benchmark tests on an Alfresco instance.</p>
|
||||
<p>It comprises the following: <a href='https://github.com/Alfresco/alfresco-bm-manager'>Alfresco BM Manager</a> and Alfresco BM Drivers.</p>
|
||||
<p>The currently provided drivers are:</p>
|
||||
<ul>
|
||||
<li><a href='https://github.com/Alfresco/alfresco-bm-load-data'>Alfresco Benchmark Load Data</a></li>
|
||||
<li><a href='https://github.com/Alfresco/alfresco-bm-rest-api'>Alfresco Benchmark Rest Api</a></li>
|
||||
<li><a href='https://github.com/Alfresco/alfresco-bm-load-users'>Alfresco Benchmark Load Users</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Java 11 support</h4>
|
||||
<p>ACS is now runnable with OpenJDK 11.0.1. It still remains compatible with JDK 1.8.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h2> Bug
|
||||
</h2>
|
||||
<ul>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22049'>ALF-22049</a>] - Alfresco does not start
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22041'>ALF-22041</a>] - EKS deployment - SOLR_ALFRESCO_HOST set to wrong host name
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22031'>ALF-22031</a>] - REST API calls silently rollback after the returning a success status
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-21963'>ALF-21963</a>] - Workflow - backslash in nodeRef properties url.
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-21803'>ALF-21803</a>] - Unable to add users to sites whose 'short name' is a substring of 'site'
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-21664'>ALF-21664</a>] - Exception on workflow image by REST API
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-20854'>ALF-20854</a>] - webdav error opening Spanish Accent files
|
||||
</li>
|
||||
</ul>
|
||||
<h2> Improvement
|
||||
</h2>
|
||||
<ul>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/REPO-3668'>REPO-3668</a>] - Renditions: Transform event consumer
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/REPO-7'>REPO-7</a>] - Embed ActiveMQ in the Platform
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/REPO-1957'>REPO-1957</a>] - Transformations Improvement Plan
|
||||
</li>
|
||||
</ul>
|
||||
<h2>
|
||||
Deprecations
|
||||
</h2>
|
||||
<ul>
|
||||
<li>
|
||||
TransformService and RenditionService: All Java APIs related to TransformService and RenditionService have been deprecated; the ability to perform arbitrary transformations will be phased out as the new DBP Transform Service takes effect. Renditions can be triggered using the existing repository REST API but will be processed asynchronously using the new services.<br/>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>
|
||||
Known issues
|
||||
</h2>
|
||||
<ul>
|
||||
<li>
|
||||
Due to the changes to the RenditionService the Media Management AMP is not supported yet.<br/>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>
|
||||
|
||||
<h1> Release Notes - Alfresco - Version Community Edition 201810 EA
|
||||
</h1>
|
||||
|
||||
<h2> Bug
|
||||
</h2>
|
||||
<ul>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-21783'>ALF-21783</a>] - ScriptAuthorityService: No way to get more than 100 results with some methods
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-21917'>ALF-21917</a>] - Document list edit metadata incorrect url escaping
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22001'>ALF-22001</a>] - Faceted search does not work in Japanese
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22030'>ALF-22030</a>] - ADF UI freezes noticeably on a periodic basis during KeyCloak auth requests
|
||||
</li>
|
||||
</ul>
|
||||
<h2> Improvement
|
||||
</h2>
|
||||
<ul>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/REPO-2491'>REPO-2491</a>] - Renditions: Rendition Testing
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/REPO-3651'>REPO-3651</a>] - AWS Load Tests: Infrastructure and Revamp
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/REPO-3663'>REPO-3663</a>] - AWS Load Tests: Initial AWS Cost Estimation with BMF
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/REPO-3667'>REPO-3667</a>] - Renditions: Transform event producer
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/REPO-3677'>REPO-3677</a>] - AWS Services: Basic Deployment
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/REPO-3703'>REPO-3703</a>] - AWS Services: Native Services of ACS
|
||||
</li>
|
||||
</ul>
|
||||
<h2>
|
||||
|
||||
<h1> Release Notes - Alfresco - Version Community Edition 201808 EA
|
||||
</h1>
|
||||
<h2> Bug
|
||||
</h2>
|
||||
<ul>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-21992'>ALF-21992</a>] - BehaviourFilterImpl.isEnabled(NodeRef, QName) is checking wrong QName in case of subClass
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22006'>ALF-22006</a>] - VersionServicePolicies cannot be disabled on a specific node
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22007'>ALF-22007</a>] - TransactionListeners are executed in unpredictable order
|
||||
</li>
|
||||
</ul>
|
||||
<h2> Improvement
|
||||
</h2>
|
||||
<ul>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22011'>ALF-22011</a>] - Upgrade to XMLBeans 3.0.0
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h1> Release Notes - Alfresco - Version Community Edition 201806 GA
|
||||
</h1>
|
||||
<h2> Bug
|
||||
</h2>
|
||||
<ul>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22000'>ALF-22000</a>] - Docker: HTML link 693ce565f4c4:8080/share but name
|
||||
</li>
|
||||
<li>[<a href='https://issues.alfresco.com/jira/browse/ALF-22008'>ALF-22008</a>] - It is not possible to upload a document without versions using CMIS
|
||||
</li>
|
||||
</ul>
|
@@ -18,6 +18,9 @@ The `alfresco/alfresco-content-repository-community` image extends the `alfresco
|
||||
`alfresco-community-repo` project to add additional ACS components.
|
||||
|
||||
# Build:
|
||||
For more detailed build instructions, see the [Development Tomcat Environment](https://github.com/Alfresco/acs-community-packaging/tree/master/dev/README.md)
|
||||
page.
|
||||
|
||||
To build the project, including the distribution zip, but not the Docker images, issue the following commands:
|
||||
```
|
||||
$ # The comP alias includes the following:
|
||||
@@ -28,11 +31,11 @@ $ cd ..
|
||||
## Docker Alfresco
|
||||
Releases are published to https://hub.docker.com/r/alfresco/alfresco-content-repository-community/tags/
|
||||
|
||||
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.
|
||||
To build the Docker images, you will need to build the `alfresco-community-repo`, `alfresco-community-share` and
|
||||
`acs-community-packaging` projects. The simplest way is to use the `comRD`, `comSD` and `comPD` aliases.
|
||||
For more information, see [build aliases](dev/aliases). `latest` images are created locally.
|
||||
```
|
||||
comRD && comPD
|
||||
comRD && comSD && comPD
|
||||
```
|
||||
|
||||
## Docker-compose & Kubernetes
|
||||
|
134
dev/README.md
134
dev/README.md
@@ -2,37 +2,86 @@
|
||||
|
||||
|
||||
It is possible to use Docker containers to test your code, but it is normally more convenient to simply run the
|
||||
repository webapp (`alfresco.war`) in a tomcat instance.
|
||||
repository webapp (`alfresco.war`) and Share webapp (`share.war`) in a tomcat instance. Options are also available to
|
||||
apply selected AMPs
|
||||
|
||||
## Build -repo projects
|
||||
Build the `alfresco-community-repo` (if you have not
|
||||
## Setting up your development environment
|
||||
Although it is possible to work on individual github projects, we recommend working on
|
||||
the `alfresco-community-repo`, `alfresco-community-share` and `acs-community-packaging`
|
||||
in a single Intellij IDEA project. They depend on each other and typically you
|
||||
will want to make changes to all of them if you are changing the repository code.
|
||||
|
||||
~~~
|
||||
mkdir work
|
||||
cd work
|
||||
git clone git@github.com:Alfresco/alfresco-community-repo.git
|
||||
git clone git@github.com:Alfresco/alfresco-community-share.git
|
||||
git clone git@github.com:Alfresco/acs-community-packaging.git
|
||||
~~~
|
||||
|
||||
## Aliases
|
||||
There are a set of aliases to help with building. You may find them 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. 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
|
||||
~~~
|
||||
|
||||
## Link the projects
|
||||
Generally you will want to link the different projects together by modifying the top level
|
||||
pom.xml files of each downstream project so that they reference the SNAPSHOT versions of the
|
||||
upstream projects. To help do this see the `acs-community-packaging` project's `scripts/dev/linkPoms.sh` and
|
||||
`scripts/dev/unlinkPoms.sh` scripts.
|
||||
|
||||
~~~
|
||||
sh acs-community-packaging/scripts/dev/linkPoms.sh
|
||||
~~~
|
||||
|
||||
## Build the alfresco-community-repo project
|
||||
Build the `alfresco-community-repo` projects (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 -Pbuild-docker-images -DskipTests=true -Dversion.edition=Community
|
||||
$ cd ..
|
||||
# The `comR` alias includes the following commands:
|
||||
cd alfresco-community-repo
|
||||
mvn clean install -DskipTests=true -Dversion.edition=Community
|
||||
cd ..
|
||||
~~~
|
||||
|
||||
## Build the Share project
|
||||
Build the `alfresco-community-share` project (if you have not done so already), so that your
|
||||
changes are in the community share.war file, which also depends on your `alfresco-community-repo` project version.
|
||||
~~~
|
||||
# The `entS` alias is the same as the following commands:
|
||||
cd alfresco-community-share
|
||||
mvn clean install -DskipTests -Dmaven.javadoc.skip=true
|
||||
cd ..
|
||||
~~~
|
||||
|
||||
## Docker test environment
|
||||
The repository code will need to talk to other ACS components, such as a databases, message queue and transformers.
|
||||
The repository code will need to talk to other ACS components, such as a database, message queue and transformers.
|
||||
The simplest way to create these, is to use the `docker-compose.yml` file in the `dev` directory.
|
||||
~~~
|
||||
$ # 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
|
||||
# The `envUp` alias is the same as the following commands. Run these in a new terminal session, or add a `-d` flag to
|
||||
the `docker-compose` command.
|
||||
cd acs-community-packaging
|
||||
docker-compose -f dev/docker-compose.yml up
|
||||
Creating dev_activemq_1 ... done
|
||||
$ cd ..
|
||||
Creating dev_solr6_1 ... done
|
||||
Creating dev_postgres_1 ... done
|
||||
Creating dev_transform-core-aio_1 ... done
|
||||
...
|
||||
cd ..
|
||||
~~~
|
||||
|
||||
## Alfresco Global Properties and Log4j
|
||||
## Alfresco global properties and Log4j
|
||||
Set any alfresco-global.properties or log4j properties you may need in the following files. They will be copied
|
||||
to the `dev/dev-acs-amps-overlay/target` directory. Other customisations may also be placed in the `extension` directory.
|
||||
~~~
|
||||
dev/dev-tomcat/src/main/tomcat/shared/classes/alfresco/extension/custom-log4j.properties
|
||||
dev/dev-tomcat/src/main/tomcat/shared/classes/alfresco/extension/custom-log4j2.properties
|
||||
dev/dev-tomcat/src/main/tomcat/shared/classes/alfresco-global.properties
|
||||
~~~
|
||||
|
||||
@@ -41,14 +90,16 @@ Create the development tomcat environment, apply AMPs on top of the repository c
|
||||
run tomcat. The `run` profile is what starts tomcat. The `withShare` applies
|
||||
the Share services AMP and adds the `share.war` to tomcat.
|
||||
Once started, you will be able to access Share on `http://localhost:8080/share` and various repository
|
||||
endpoints via `http://localhost:8080/alfresco/`. `entT` is an alias for the
|
||||
following command and `entTDebug` will allow a debugger to be attached.
|
||||
endpoints via `http://localhost:8080/alfresco/`. `comT` is an alias for the
|
||||
following command and `comTDebug` will allow a debugger to be attached.
|
||||
~~~
|
||||
$ # 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 ..
|
||||
# The alias comT is the same as the following commands:
|
||||
cd acs-community-packaging
|
||||
mvn clean install -Prun -rf dev
|
||||
[INFO] Scanning for projects...
|
||||
[INFO] ------------------------------------------------------------------------
|
||||
[INFO] Reactor Build Order:
|
||||
[INFO]
|
||||
[INFO] Development Tomcat Environment [pom]
|
||||
[INFO] Tomcat Configuration [pom]
|
||||
[INFO] Repo WAR with amps [war]
|
||||
@@ -56,59 +107,38 @@ $ cd ..
|
||||
[INFO] Tomcat [war]
|
||||
...
|
||||
INFO: Starting ProtocolHandler ["http-bio-8080"]
|
||||
$ cd ..
|
||||
cd ..
|
||||
~~~
|
||||
|
||||
If you kill the tomcat instance (^C) and wish to restart it, use the following command
|
||||
or the `comO` alias, or `comODebug` to attach a debuger.
|
||||
or the `comO` alias, or `comODebug` to attach a debugger.
|
||||
~~~
|
||||
$ mvn install -Prun,withShare -rf dev-acs-amps-overlay
|
||||
mvn install -Prun,withShare -rf dev-acs-amps-overlay
|
||||
~~~
|
||||
|
||||
|
||||
## Clean up
|
||||
When finished, kill the tomcat instance and stop the Docker instances. You will normally also
|
||||
remove the Docker containers, as you will need a clean database if you are going to issue
|
||||
another `mvn clean install` command.
|
||||
another `mvn clean install` command. If you started `docker-compose` in a separate terminal session,
|
||||
simply use `^C` or if you used a `-d` flag, use `docker-compose -f dev/docker-compose.yml stop`.
|
||||
~~~
|
||||
$ ^C
|
||||
^C
|
||||
... Stopped 'sysAdmin' subsystem, ID: [sysAdmin, default]
|
||||
|
||||
$ docker-compose -f dev/docker-compose.yml stop
|
||||
Stopping dev_transform-core-aio_1 ... done
|
||||
Stopping dev_transform-router_1 ... done
|
||||
Stopping dev_solr6_1 ... done
|
||||
Stopping dev_postgres_1 ... done
|
||||
Stopping dev_activemq_1 ... done
|
||||
Stopping dev_shared-file-store_1 ... done
|
||||
|
||||
$ docker-compose -f dev/docker-compose.yml rm
|
||||
docker-compose -f dev/docker-compose.yml rm
|
||||
Going to remove dev_transform-core-aio_1, dev_transform-router_1, dev_solr6_1, dev_postgres_1, dev_activemq_1, dev_shared-file-store_1
|
||||
Are you sure? [yN] y
|
||||
Removing dev_transform-core-aio_1 ... done
|
||||
Removing dev_transform-router_1 ... done
|
||||
Removing dev_solr6_1 ... done
|
||||
Removing dev_postgres_1 ... done
|
||||
Removing dev_activemq_1 ... done
|
||||
Removing dev_shared-file-store_1 ... done
|
||||
~~~
|
||||
|
||||
If you have not removed the containers, it is possible to restart the tomcat instance with
|
||||
a `mvn install` (no `clean`), but this may result in failures if there are incompatibilities
|
||||
between the code, database and content in `dev/dev-acs-amps-overlay/target/dev-instance/runtime/alf_data`.
|
||||
Any changes made to alfresco-global properties or log4j will not be picked up, unless you
|
||||
directly edit `dev/dev-acs-amps-overlay/target/dev-instance/tomcat/shared/classes/alfresco/extension/custom-log4j.properties`
|
||||
directly edit `dev/dev-acs-amps-overlay/target/dev-instance/tomcat/shared/classes/alfresco/extension/custom-log4j2.properties`
|
||||
and `dev/dev-acs-amps-overlay/target/dev-instance/tomcat/shared/classes/alfresco-global.properties`, but they will be thrown away
|
||||
on the next `mvn clean`.
|
||||
|
||||
## Aliases
|
||||
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. 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
|
||||
~~~
|
||||
|
@@ -64,7 +64,7 @@ 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 envUp='./acs-community-packaging/scripts/dev/start-compose.sh'
|
||||
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'
|
||||
|
@@ -7,11 +7,11 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<dependency.sis.version>1.0</dependency.sis.version>
|
||||
<dependency.sis.version>1.2</dependency.sis.version>
|
||||
|
||||
<tomcat.version>7.0.86</tomcat.version>
|
||||
<tomcat.default.solr6.port>8983</tomcat.default.solr6.port>
|
||||
@@ -69,7 +69,8 @@
|
||||
<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>
|
||||
<solr.secureComms>secret</solr.secureComms>
|
||||
<solr.sharedSecret>secret</solr.sharedSecret>
|
||||
<encryption.keystore.type>pkcs12</encryption.keystore.type>
|
||||
<encryption.cipherAlgorithm>AES/CBC/PKCS5Padding</encryption.cipherAlgorithm>
|
||||
<encryption.keyAlgorithm>AES</encryption.keyAlgorithm>
|
||||
@@ -298,6 +299,16 @@
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>license-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>third-party-licenses</id>
|
||||
<phase>none</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
@@ -8,7 +8,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
|
@@ -8,7 +8,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
|
@@ -9,7 +9,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
@@ -1,20 +0,0 @@
|
||||
log4j.logger.org.alfresco.repo.content.transform.TransformerDebug=debug
|
||||
|
||||
#log4j.logger.org.alfresco.util.exec.RuntimeExecBootstrapBean=debug
|
||||
#log4j.logger.org.alfresco.util.exec.RuntimeExec=debug
|
||||
|
||||
#log4j.logger.org.alfresco.repo.rendition2=debug
|
||||
#log4j.logger.org.alfresco.repo.content.metadata=debug
|
||||
#log4j.logger.org.alfresco.repo.rendition2.LocalTransformClient=debug
|
||||
#log4j.logger.org.alfresco.repo.rendition.RenditionServiceImpl=debug
|
||||
#log4j.logger.org.alfresco.enterprise.repo.rendition2.RemoteTransformClient=debug
|
||||
|
||||
#log4j.logger.org.alfresco.repo.content.transform.LocalTransformServiceRegistry=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
|
||||
|
||||
#log4j.logger.org.alfresco.repo.rawevents=debug
|
||||
|
||||
#log4j.logger.org.alfresco.repo.jscript.RhinoScriptProcessor=debug
|
||||
#log4j.logger.RhinoScriptProcessor.calls=debug
|
@@ -0,0 +1,36 @@
|
||||
|
||||
logger.alfresco-repo-content-transform-TransformerDebug.name=org.alfresco.repo.content.transform.TransformerDebug
|
||||
logger.alfresco-repo-content-transform-TransformerDebug.level=debug
|
||||
|
||||
#logger.alfresco-util-exec-RuntimeExecBootstrapBean.name=org.alfresco.util.exec.RuntimeExecBootstrapBean
|
||||
#logger.alfresco-util-exec-RuntimeExecBootstrapBean.level=debug
|
||||
#logger.alfresco-util-exec-RuntimeExec.name=org.alfresco.util.exec.RuntimeExec
|
||||
#logger.alfresco-util-exec-RuntimeExec.level=debug
|
||||
|
||||
#logger.alfresco-repo-rendition2.name=org.alfresco.repo.rendition2
|
||||
#logger.alfresco-repo-rendition2.level=debug
|
||||
#logger.alfresco-repo-content-metadata.name=org.alfresco.repo.content.metadata
|
||||
#logger.alfresco-repo-content-metadata.level=debug
|
||||
#logger.alfresco-repo-rendition2-LocalTransformClient.name=org.alfresco.repo.rendition2.LocalTransformClient
|
||||
#logger.alfresco-repo-rendition2-LocalTransformClient.level=debug
|
||||
#logger.alfresco-repo-rendition-RenditionServiceImpl.name=org.alfresco.repo.rendition.RenditionServiceImpl
|
||||
#logger.alfresco-repo-rendition-RenditionServiceImpl.level=debug
|
||||
#logger.alfresco-enterprise-repo-rendition2-RemoteTransformClient.name=org.alfresco.enterprise.repo.rendition2.RemoteTransformClient
|
||||
#logger.alfresco-enterprise-repo-rendition2-RemoteTransformClient.level=debug
|
||||
|
||||
#logger.alfresco-repo-content-transform-LocalTransformServiceRegistry.name=org.alfresco.repo.content.transform.LocalTransformServiceRegistry
|
||||
#logger.alfresco-repo-content-transform-LocalTransformServiceRegistry.level=debug
|
||||
#logger.alfresco-repo-rendition2-RenditionDefinitionRegistry2Impl.name=org.alfresco.repo.rendition2.RenditionDefinitionRegistry2Impl
|
||||
#logger.alfresco-repo-rendition2-RenditionDefinitionRegistry2Impl.level=debug
|
||||
#logger.alfresco-repo-content-MimetypeMap.name=org.alfresco.repo.content.MimetypeMap
|
||||
#logger.alfresco-repo-content-MimetypeMap.level=debug
|
||||
#logger.alfresco-repo-content-transform-LocalTransform.name=org.alfresco.repo.content.transform.LocalTransform
|
||||
#logger.alfresco-repo-content-transform-LocalTransform.level=debug
|
||||
|
||||
#logger.alfresco-repo-rawevents.name=org.alfresco.repo.rawevents
|
||||
#logger.alfresco-repo-rawevents.level=debug
|
||||
|
||||
#logger.alfresco-repo-jscript-RhinoScriptProcessor.name=org.alfresco.repo.jscript.RhinoScriptProcessor
|
||||
#logger.alfresco-repo-jscript-RhinoScriptProcessor.level=debug
|
||||
#logger.calls.name=RhinoScriptProcessor.calls
|
||||
#logger.calls.level=debug
|
@@ -6,7 +6,7 @@ version: "2"
|
||||
|
||||
services:
|
||||
transform-core-aio:
|
||||
image: alfresco/alfresco-transform-core-aio:2.5.3
|
||||
image: alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG}
|
||||
mem_limit: 1536m
|
||||
environment:
|
||||
JAVA_OPTS: " -Xms256m -Xmx1536m"
|
||||
@@ -14,7 +14,7 @@ services:
|
||||
- 8090:8090
|
||||
|
||||
postgres:
|
||||
image: postgres:13.3
|
||||
image: postgres:14.4
|
||||
mem_limit: 512m
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=alfresco
|
||||
@@ -25,25 +25,29 @@ services:
|
||||
- 5432:5432
|
||||
|
||||
solr6:
|
||||
image: alfresco/alfresco-search-services:2.0.0
|
||||
image: alfresco/alfresco-search-services:2.0.3
|
||||
mem_limit: 2g
|
||||
environment:
|
||||
#Solr needs to know how to register itself with Alfresco
|
||||
- SOLR_ALFRESCO_HOST=alfresco
|
||||
- SOLR_ALFRESCO_PORT=8080
|
||||
SOLR_ALFRESCO_HOST: "alfresco"
|
||||
SOLR_ALFRESCO_PORT: "8080"
|
||||
#Alfresco needs to know how to call solr
|
||||
- SOLR_SOLR_HOST=solr6
|
||||
- SOLR_SOLR_PORT=8983
|
||||
SOLR_SOLR_HOST: "solr6"
|
||||
SOLR_SOLR_PORT: "8983"
|
||||
#Create the default alfresco and archive cores
|
||||
- SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive
|
||||
SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive"
|
||||
#HTTP by default
|
||||
- ALFRESCO_SECURE_COMMS=none
|
||||
- "SOLR_JAVA_MEM=-Xms2g -Xmx2g"
|
||||
ALFRESCO_SECURE_COMMS: "secret"
|
||||
JAVA_TOOL_OPTIONS:
|
||||
"
|
||||
-Dalfresco.secureComms.secret=secret
|
||||
"
|
||||
SOLR_JAVA_MEM: "-Xms2g -Xmx2g"
|
||||
ports:
|
||||
- 8083:8983 #Browser port
|
||||
|
||||
activemq:
|
||||
image: alfresco/alfresco-activemq:5.16.1
|
||||
image: alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
|
||||
mem_limit: 1g
|
||||
ports:
|
||||
- 8161:8161 # Web Console
|
||||
|
14
dev/pom.xml
14
dev/pom.xml
@@ -9,7 +9,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>acs-community-packaging</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
@@ -26,4 +26,16 @@
|
||||
<module>dev-acs-amps-overlay</module>
|
||||
</modules>
|
||||
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<!-- Versions higher than 3.3.0 were causing the tomcat dev environment to fail to start with a
|
||||
ClassNotFoundException: org.springframework.web.context.ContextLoaderListener -->
|
||||
<plugin>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<version>3.2.2</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
</project>
|
||||
|
@@ -8,7 +8,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>acs-community-packaging</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>acs-community-packaging</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
|
@@ -38,7 +38,7 @@
|
||||
|
||||
<!-- Share -->
|
||||
<fileSet>
|
||||
<directory>${project.build.directory}/dependency/alfresco-content-services-share-distribution-${project.version}</directory>
|
||||
<directory>${project.build.directory}/dependency/alfresco-content-services-share-distribution-${dependency.acs-packaging.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-${project.version}/web-extension-samples</directory>
|
||||
<directory>${project.build.directory}/dependency/alfresco-content-services-share-distribution-${dependency.acs-packaging.version}/web-extension-samples</directory>
|
||||
<outputDirectory>web-server/shared/classes/alfresco/web-extension</outputDirectory>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
|
@@ -1,4 +1,5 @@
|
||||
FROM alfresco/alfresco-community-repo-base:${repo.image.tag}
|
||||
ARG BASE_IMAGE
|
||||
FROM ${BASE_IMAGE}
|
||||
|
||||
# Set default docker_context.
|
||||
ARG resource_path=target
|
||||
|
@@ -1,5 +1,19 @@
|
||||
### Apply AGS community repo AMP to ACS image
|
||||
FROM alfresco/alfresco-content-repository-community:${image.tag}
|
||||
ARG BASE_IMAGE
|
||||
# BUILD STAGE AGS
|
||||
FROM debian:11-slim AS AGSBUILDER
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive; \
|
||||
apt-get update -qqy && apt-get -yqq install unzip && \
|
||||
mkdir -p /build/gs-api-explorer
|
||||
|
||||
### Copy the AGS war from the local context
|
||||
COPY target/gs-api-explorer-*.war /build
|
||||
|
||||
RUN unzip -q /build/gs-api-explorer-*.war -d /build/gs-api-explorer && \
|
||||
chmod -R g-w,o= /build
|
||||
|
||||
# ACTUAL IMAGE
|
||||
FROM ${BASE_IMAGE}
|
||||
|
||||
# Alfresco user does not have permissions to modify webapps or configuration. Switch to root.
|
||||
# The access will be fixed after all operations are done.
|
||||
@@ -13,11 +27,7 @@ RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \
|
||||
/usr/local/tomcat/webapps/alfresco -directory -nobackup
|
||||
|
||||
### Copy gs-api-explorer war into webapps folder
|
||||
COPY target/gs-api-explorer-*.war /usr/local/tomcat/webapps/
|
||||
|
||||
### Unpack gs-api-explorer.war
|
||||
RUN mkdir /usr/local/tomcat/webapps/gs-api-explorer && cd /usr/local/tomcat/webapps/gs-api-explorer && \
|
||||
jar -xvf /usr/local/tomcat/webapps/gs-api-explorer-*.war && rm -f /usr/local/tomcat/webapps/gs-api-explorer-*.war
|
||||
COPY --chown=root:Alfresco --from=AGSBUILDER /build/gs-api-explorer /usr/local/tomcat/webapps/gs-api-explorer
|
||||
|
||||
# All files in the tomcat folder must be owned by root user and Alfresco group as mentioned in the parent Dockerfile
|
||||
RUN chgrp -R Alfresco /usr/local/tomcat && \
|
||||
@@ -26,4 +36,4 @@ RUN chgrp -R Alfresco /usr/local/tomcat && \
|
||||
chmod -R g+r /usr/local/tomcat/webapps
|
||||
|
||||
# Switching back to alfresco user after having added amps files to run the container as non-root
|
||||
USER alfresco
|
||||
USER alfresco
|
||||
|
@@ -8,11 +8,13 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>content-services-community-docker</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<image.name>alfresco/alfresco-governance-repository-community</image.name>
|
||||
<base.image>alfresco/alfresco-content-repository-community:${image.tag}</base.image>
|
||||
<scripts.directory>${project.parent.parent.basedir}/scripts/dev</scripts.directory>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
|
@@ -7,12 +7,14 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>acs-community-packaging</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<image.name>alfresco/alfresco-content-repository-community</image.name>
|
||||
<docker.quay-expires.value>NEVER</docker.quay-expires.value>
|
||||
<base.image>alfresco/alfresco-community-repo-base:${repo.image.tag}</base.image>
|
||||
<scripts.directory>${project.parent.basedir}/scripts/dev</scripts.directory>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
@@ -76,6 +78,12 @@
|
||||
<images>
|
||||
<image>
|
||||
<name>${image.name}:${image.tag}</name>
|
||||
<build>
|
||||
<args>
|
||||
<BASE_IMAGE>${base.image}</BASE_IMAGE>
|
||||
</args>
|
||||
<contextDir>${project.basedir}</contextDir>
|
||||
</build>
|
||||
</image>
|
||||
</images>
|
||||
</configuration>
|
||||
@@ -93,6 +101,70 @@
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>build-multiarch-docker-images</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>docker-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<images>
|
||||
<image>
|
||||
<name>${local.registry}/${image.name}:${image.tag}</name>
|
||||
<build>
|
||||
<buildx>
|
||||
<builderName>${builder.name}</builderName>
|
||||
<platforms>
|
||||
<platform>linux/amd64</platform>
|
||||
<platform>linux/arm64</platform>
|
||||
</platforms>
|
||||
</buildx>
|
||||
<dockerFileDir>${project.basedir}</dockerFileDir>
|
||||
<args>
|
||||
<BASE_IMAGE>${local.registry}/${base.image}</BASE_IMAGE>
|
||||
</args>
|
||||
</build>
|
||||
</image>
|
||||
</images>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>build-push-image</id>
|
||||
<phase>install</phase>
|
||||
<goals>
|
||||
<goal>build</goal>
|
||||
<goal>push</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>prepare-buildx</id>
|
||||
<phase>generate-sources</phase>
|
||||
<goals>
|
||||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<executable>${scripts.directory}/prepare_buildx.sh</executable>
|
||||
<arguments>
|
||||
<argument>${builder.name}</argument>
|
||||
<argument>${image.registry}</argument>
|
||||
<argument>${image.name}</argument>
|
||||
<argument>${image.tag}</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>push-docker-images</id>
|
||||
<!-- publishes "image:latest" to Quay -->
|
||||
@@ -105,8 +177,20 @@
|
||||
<images>
|
||||
<!-- Quay image -->
|
||||
<image>
|
||||
<name>${image.name}:${image.tag}</name>
|
||||
<registry>${image.registry}</registry>
|
||||
<name>${image.registry}/${image.name}:${image.tag}</name>
|
||||
<build>
|
||||
<buildx>
|
||||
<builderName>${builder.name}</builderName>
|
||||
<platforms>
|
||||
<platform>linux/amd64</platform>
|
||||
<platform>linux/arm64</platform>
|
||||
</platforms>
|
||||
</buildx>
|
||||
<dockerFileDir>${project.basedir}</dockerFileDir>
|
||||
<args>
|
||||
<BASE_IMAGE>${local.registry}/${base.image}</BASE_IMAGE>
|
||||
</args>
|
||||
</build>
|
||||
</image>
|
||||
</images>
|
||||
</configuration>
|
||||
@@ -121,6 +205,28 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>prepare-buildx</id>
|
||||
<phase>generate-sources</phase>
|
||||
<goals>
|
||||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<executable>${scripts.directory}/prepare_buildx.sh</executable>
|
||||
<arguments>
|
||||
<argument>${builder.name}</argument>
|
||||
<argument>${image.registry}</argument>
|
||||
<argument>${image.name}</argument>
|
||||
<argument>${image.tag}</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
@@ -142,6 +248,19 @@
|
||||
<!-- DockerHub image -->
|
||||
<image>
|
||||
<name>${image.name}:${project.version}</name>
|
||||
<build>
|
||||
<buildx>
|
||||
<builderName>${builder.name}</builderName>
|
||||
<platforms>
|
||||
<platform>linux/amd64</platform>
|
||||
<platform>linux/arm64</platform>
|
||||
</platforms>
|
||||
</buildx>
|
||||
<dockerFileDir>${project.basedir}</dockerFileDir>
|
||||
<args>
|
||||
<BASE_IMAGE>${local.registry}/${base.image}</BASE_IMAGE>
|
||||
</args>
|
||||
</build>
|
||||
</image>
|
||||
</images>
|
||||
</configuration>
|
||||
@@ -157,8 +276,20 @@
|
||||
<images>
|
||||
<!-- Quay image -->
|
||||
<image>
|
||||
<name>${image.name}:${project.version}</name>
|
||||
<registry>${image.registry}</registry>
|
||||
<name>${image.registry}/${image.name}:${project.version}</name>
|
||||
<build>
|
||||
<buildx>
|
||||
<builderName>${builder.name}</builderName>
|
||||
<platforms>
|
||||
<platform>linux/amd64</platform>
|
||||
<platform>linux/arm64</platform>
|
||||
</platforms>
|
||||
</buildx>
|
||||
<dockerFileDir>${project.basedir}</dockerFileDir>
|
||||
<args>
|
||||
<BASE_IMAGE>${local.registry}/${base.image}</BASE_IMAGE>
|
||||
</args>
|
||||
</build>
|
||||
</image>
|
||||
</images>
|
||||
</configuration>
|
||||
@@ -169,6 +300,28 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>prepare-buildx</id>
|
||||
<phase>generate-sources</phase>
|
||||
<goals>
|
||||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<executable>${scripts.directory}/prepare_buildx.sh</executable>
|
||||
<arguments>
|
||||
<argument>${builder.name}</argument>
|
||||
<argument>${image.registry}</argument>
|
||||
<argument>${image.name}</argument>
|
||||
<argument>${image.tag}</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
@@ -1,5 +1,6 @@
|
||||
### Apply AGS community share AMP to Share image
|
||||
FROM alfresco/alfresco-share-base:${share.image.tag}
|
||||
ARG BASE_IMAGE
|
||||
FROM ${BASE_IMAGE}
|
||||
|
||||
LABEL quay.expires-after=${docker.quay-expires.value}
|
||||
|
||||
|
@@ -8,12 +8,14 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>share-community-docker</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<image.name>alfresco/alfresco-governance-share-community</image.name>
|
||||
<docker.quay-expires.value>NEVER</docker.quay-expires.value>
|
||||
<base.image>alfresco/alfresco-share-base:${share.image.tag}</base.image>
|
||||
<scripts.directory>${project.parent.parent.basedir}/scripts/dev</scripts.directory>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
@@ -58,6 +60,12 @@
|
||||
<images>
|
||||
<image>
|
||||
<name>${image.name}:${image.tag}</name>
|
||||
<build>
|
||||
<args>
|
||||
<BASE_IMAGE>${base.image}</BASE_IMAGE>
|
||||
</args>
|
||||
<contextDir>${project.basedir}</contextDir>
|
||||
</build>
|
||||
</image>
|
||||
</images>
|
||||
</configuration>
|
||||
@@ -75,6 +83,70 @@
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>build-multiarch-docker-images</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>docker-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<images>
|
||||
<image>
|
||||
<name>${local.registry}/${image.name}:${image.tag}</name>
|
||||
<build>
|
||||
<buildx>
|
||||
<builderName>${builder.name}</builderName>
|
||||
<platforms>
|
||||
<platform>linux/amd64</platform>
|
||||
<platform>linux/arm64</platform>
|
||||
</platforms>
|
||||
</buildx>
|
||||
<dockerFileDir>${project.basedir}</dockerFileDir>
|
||||
<args>
|
||||
<BASE_IMAGE>${local.registry}/${base.image}</BASE_IMAGE>
|
||||
</args>
|
||||
</build>
|
||||
</image>
|
||||
</images>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>build-push-image</id>
|
||||
<phase>install</phase>
|
||||
<goals>
|
||||
<goal>build</goal>
|
||||
<goal>push</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>prepare-buildx</id>
|
||||
<phase>generate-sources</phase>
|
||||
<goals>
|
||||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<executable>${scripts.directory}/prepare_buildx.sh</executable>
|
||||
<arguments>
|
||||
<argument>${builder.name}</argument>
|
||||
<argument>${image.registry}</argument>
|
||||
<argument>${image.name}</argument>
|
||||
<argument>${image.tag}</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>push-docker-images</id>
|
||||
<!-- publishes "image:latest" to Quay -->
|
||||
@@ -87,8 +159,20 @@
|
||||
<images>
|
||||
<!-- Quay image -->
|
||||
<image>
|
||||
<name>${image.name}:${image.tag}</name>
|
||||
<registry>${image.registry}</registry>
|
||||
<name>${image.registry}/${image.name}:${image.tag}</name>
|
||||
<build>
|
||||
<buildx>
|
||||
<builderName>${builder.name}</builderName>
|
||||
<platforms>
|
||||
<platform>linux/amd64</platform>
|
||||
<platform>linux/arm64</platform>
|
||||
</platforms>
|
||||
</buildx>
|
||||
<dockerFileDir>${project.basedir}</dockerFileDir>
|
||||
<args>
|
||||
<BASE_IMAGE>${local.registry}/${base.image}</BASE_IMAGE>
|
||||
</args>
|
||||
</build>
|
||||
</image>
|
||||
</images>
|
||||
</configuration>
|
||||
@@ -103,6 +187,28 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>prepare-buildx</id>
|
||||
<phase>generate-sources</phase>
|
||||
<goals>
|
||||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<executable>${scripts.directory}/prepare_buildx.sh</executable>
|
||||
<arguments>
|
||||
<argument>${builder.name}</argument>
|
||||
<argument>${image.registry}</argument>
|
||||
<argument>${image.name}</argument>
|
||||
<argument>${image.tag}</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
@@ -124,6 +230,19 @@
|
||||
<!-- DockerHub image -->
|
||||
<image>
|
||||
<name>${image.name}:${project.version}</name>
|
||||
<build>
|
||||
<buildx>
|
||||
<builderName>${builder.name}</builderName>
|
||||
<platforms>
|
||||
<platform>linux/amd64</platform>
|
||||
<platform>linux/arm64</platform>
|
||||
</platforms>
|
||||
</buildx>
|
||||
<dockerFileDir>${project.basedir}</dockerFileDir>
|
||||
<args>
|
||||
<BASE_IMAGE>${local.registry}/${base.image}</BASE_IMAGE>
|
||||
</args>
|
||||
</build>
|
||||
</image>
|
||||
</images>
|
||||
</configuration>
|
||||
@@ -139,8 +258,20 @@
|
||||
<images>
|
||||
<!-- Quay image -->
|
||||
<image>
|
||||
<name>${image.name}:${project.version}</name>
|
||||
<registry>${image.registry}</registry>
|
||||
<name>${image.registry}/${image.name}:${project.version}</name>
|
||||
<build>
|
||||
<buildx>
|
||||
<builderName>${builder.name}</builderName>
|
||||
<platforms>
|
||||
<platform>linux/amd64</platform>
|
||||
<platform>linux/arm64</platform>
|
||||
</platforms>
|
||||
</buildx>
|
||||
<dockerFileDir>${project.basedir}</dockerFileDir>
|
||||
<args>
|
||||
<BASE_IMAGE>${local.registry}/${base.image}</BASE_IMAGE>
|
||||
</args>
|
||||
</build>
|
||||
</image>
|
||||
</images>
|
||||
</configuration>
|
||||
@@ -151,6 +282,28 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>prepare-buildx</id>
|
||||
<phase>generate-sources</phase>
|
||||
<goals>
|
||||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<executable>${scripts.directory}/prepare_buildx.sh</executable>
|
||||
<arguments>
|
||||
<argument>${builder.name}</argument>
|
||||
<argument>${image.registry}</argument>
|
||||
<argument>${image.name}</argument>
|
||||
<argument>${image.tag}</argument>
|
||||
</arguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
@@ -7,6 +7,6 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>acs-community-packaging</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
</project>
|
||||
|
58
pom.xml
58
pom.xml
@@ -3,19 +3,19 @@
|
||||
<artifactId>acs-community-packaging</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<name>Alfresco Content Services Community Packaging</name>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<relativePath>../alfresco-community-repo/pom.xml</relativePath>
|
||||
<version>11.133</version>
|
||||
<version>20.156</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<dependency.alfresco-community-repo.version>11.133</dependency.alfresco-community-repo.version>
|
||||
<dependency.alfresco-community-share.version>11.70</dependency.alfresco-community-share.version>
|
||||
<alfresco.share.version>7.1.0-A14</alfresco.share.version> <!-- Share distribution zip from acs-packaging -->
|
||||
<dependency.alfresco-community-repo.version>20.156</dependency.alfresco-community-repo.version>
|
||||
<dependency.alfresco-community-share.version>20.155</dependency.alfresco-community-share.version>
|
||||
<dependency.acs-packaging.version>7.4.0-A33</dependency.acs-packaging.version> <!-- for Share distribution zip -->
|
||||
|
||||
<repo.image.tag>${dependency.alfresco-community-repo.version}</repo.image.tag>
|
||||
<share.image.tag>${dependency.alfresco-community-share.version}</share.image.tag>
|
||||
@@ -25,7 +25,7 @@
|
||||
<connection>scm:git:https://github.com/Alfresco/acs-community-packaging.git</connection>
|
||||
<developerConnection>scm:git:https://github.com/Alfresco/acs-community-packaging.git</developerConnection>
|
||||
<url>https://github.com/Alfresco/acs-community-packaging</url>
|
||||
<tag>7.1.0-A13</tag>
|
||||
<tag>7.4.0-A33</tag>
|
||||
</scm>
|
||||
|
||||
<distributionManagement>
|
||||
@@ -39,9 +39,31 @@
|
||||
</snapshotRepository>
|
||||
</distributionManagement>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>alfresco-public</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>alfresco-public-snapshots</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<modules>
|
||||
<module>distribution</module>
|
||||
<module>public-javadoc</module>
|
||||
<module>docker-alfresco</module>
|
||||
<module>docker-share</module>
|
||||
</modules>
|
||||
@@ -64,6 +86,7 @@
|
||||
<profile>
|
||||
<id>release</id>
|
||||
<modules>
|
||||
<module>public-javadoc</module>
|
||||
<module>dev</module>
|
||||
</modules>
|
||||
</profile>
|
||||
@@ -136,10 +159,20 @@
|
||||
<artifactId>alfresco-community-repo-distribution</artifactId>
|
||||
<version>${dependency.alfresco-community-repo.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-mmt</artifactId>
|
||||
<version>${dependency.alfresco-community-repo.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.alfresco.tas</groupId>
|
||||
<artifactId>alfresco-community-repo-cmis-test</artifactId>
|
||||
<artifactId>cmis</artifactId>
|
||||
<version>${dependency.alfresco-community-repo.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.alfresco.tas</groupId>
|
||||
<artifactId>cmis</artifactId>
|
||||
<version>${dependency.alfresco-community-repo.version}</version>
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
@@ -160,7 +193,12 @@
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.alfresco.tas</groupId>
|
||||
<artifactId>alfresco-community-repo-restapi-test</artifactId>
|
||||
<artifactId>restapi</artifactId>
|
||||
<version>${dependency.alfresco-community-repo.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.alfresco.tas</groupId>
|
||||
<artifactId>restapi</artifactId>
|
||||
<version>${dependency.alfresco-community-repo.version}</version>
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
@@ -175,7 +213,7 @@
|
||||
<dependency>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-content-services-share-distribution</artifactId>
|
||||
<version>${alfresco.share.version}</version>
|
||||
<version>${dependency.acs-packaging.version}</version>
|
||||
<type>zip</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>acs-community-packaging</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
|
41
scripts/travis/build.sh → scripts/ci/build.sh
Normal file → Executable file
41
scripts/travis/build.sh → scripts/ci/build.sh
Normal file → Executable file
@@ -6,6 +6,28 @@ pushd "$(dirname "${BASH_SOURCE[0]}")/../../"
|
||||
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/build_functions.sh"
|
||||
|
||||
usage() {
|
||||
echo "Builds the upstream projects first, then the current one." 1>&2;
|
||||
echo 1>&2;
|
||||
echo "Usage: $0 [-m]" 1>&2;
|
||||
echo " -m: Flag to build Docker images with multi-architecture" 1>&2;
|
||||
echo " -h: Display the usage information" 1>&2;
|
||||
exit 1;
|
||||
}
|
||||
|
||||
while getopts "mh" option; do
|
||||
case $option in
|
||||
m)
|
||||
DOCKER_BUILD_PROFILE=build-multiarch-docker-images
|
||||
;;
|
||||
h)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
BUILD_PROFILE=${DOCKER_BUILD_PROFILE:-build-docker-images}
|
||||
|
||||
COM_DEPENDENCY_VERSION="$(retrievePomProperty "dependency.alfresco-community-repo.version")"
|
||||
REPO_IMAGE=$([[ "${COM_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && echo "-Drepo.image.tag=latest" || echo)
|
||||
|
||||
@@ -16,13 +38,13 @@ if [ "${COM_DEPENDENCY_VERSION}" != "$(retrievePomParentVersion)" ]; then
|
||||
fi
|
||||
|
||||
# Prevent merging of any SNAPSHOT dependencies into the master or the release/* branches
|
||||
if [[ $(isPullRequestBuild) && "${COM_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ && "${TRAVIS_BRANCH}" =~ ^master$|^release/.+$ ]] ; then
|
||||
if [[ $(isPullRequestBuild) && "${COM_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ && "${BRANCH_NAME}" =~ ^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 [[ "${COM_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && [ "${TRAVIS_BUILD_STAGE_NAME,,}" = "release" ] ; then
|
||||
if [[ "${COM_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && [ "${JOB_NAME,,}" = "release" ] ; then
|
||||
printf "Cannot release project with SNAPSHOT dependencies!\n"
|
||||
exit 1
|
||||
fi
|
||||
@@ -32,37 +54,36 @@ UPSTREAM_REPO="github.com/Alfresco/alfresco-community-repo.git"
|
||||
# Search, checkout and build the same branch on the upstream project in case of SNAPSHOT dependencies
|
||||
# Otherwise, checkout the upstream tag and build its Docker image (use just "mvn package", without "mvn install")
|
||||
if [[ "${COM_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] ; then
|
||||
pullAndBuildSameBranchOnUpstream "${UPSTREAM_REPO}" "-Pbuild-docker-images -Pags"
|
||||
pullAndBuildSameBranchOnUpstream "${UPSTREAM_REPO}" "-P$BUILD_PROFILE -Pags -Dlicense.failOnNotUptodateHeader=true"
|
||||
else
|
||||
pullUpstreamTagAndBuildDockerImage "${UPSTREAM_REPO}" "${COM_DEPENDENCY_VERSION}" "-Pbuild-docker-images -Pags"
|
||||
pullUpstreamTagAndBuildDockerImage "${UPSTREAM_REPO}" "${COM_DEPENDENCY_VERSION}" "-P$BUILD_PROFILE -Pags -Dlicense.failOnNotUptodateHeader=true"
|
||||
fi
|
||||
|
||||
SHARE_DEPENDENCY_VERSION="$(retrievePomProperty "dependency.alfresco-community-share.version")"
|
||||
SHARE_IMAGE=$([[ "${SHARE_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && echo "-Dshare.image.tag=latest" || echo)
|
||||
|
||||
# Prevent merging of any SNAPSHOT dependencies into the master or the release/* branches
|
||||
if [[ $(isPullRequestBuild) && "${SHARE_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ && "${TRAVIS_BRANCH}" =~ ^master$|^release/.+$ ]] ; then
|
||||
if [[ $(isPullRequestBuild) && "${SHARE_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ && "${BRANCH_NAME}" =~ ^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 [[ "${SHARE_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && [ "${TRAVIS_BUILD_STAGE_NAME,,}" = "release" ] ; then
|
||||
if [[ "${SHARE_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && [ "${JOB_NAME,,}" = "release" ] ; then
|
||||
printf "Cannot release project with SNAPSHOT dependencies!\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SHARE_UPSTREAM_REPO="github.com/Alfresco/alfresco-community-share.git"
|
||||
|
||||
# Checkout the upstream share project (tag or branch; + build if the latter)
|
||||
if [[ "${SHARE_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] ; then
|
||||
pullAndBuildSameBranchOnUpstream "${SHARE_UPSTREAM_REPO}" "-Pbuild-docker-images -Pags -Ddocker.quay-expires.value=NEVER ${REPO_IMAGE} -Ddependency.alfresco-community-repo.version=${COM_DEPENDENCY_VERSION}"
|
||||
pullAndBuildSameBranchOnUpstream "${SHARE_UPSTREAM_REPO}" "-P$BUILD_PROFILE -Pags -Dlicense.failOnNotUptodateHeader=true -Ddocker.quay-expires.value=NEVER ${REPO_IMAGE} -Ddependency.alfresco-community-repo.version=${COM_DEPENDENCY_VERSION}"
|
||||
else
|
||||
pullUpstreamTagAndBuildDockerImage "${SHARE_UPSTREAM_REPO}" "${SHARE_DEPENDENCY_VERSION}" "-Pbuild-docker-images -Pags -Ddocker.quay-expires.value=NEVER -Ddependency.alfresco-community-repo.version=${COM_DEPENDENCY_VERSION}"
|
||||
pullUpstreamTagAndBuildDockerImage "${SHARE_UPSTREAM_REPO}" "${SHARE_DEPENDENCY_VERSION}" "-P$BUILD_PROFILE -Pags -Dlicense.failOnNotUptodateHeader=true -Ddocker.quay-expires.value=NEVER -Ddependency.alfresco-community-repo.version=${COM_DEPENDENCY_VERSION}"
|
||||
fi
|
||||
|
||||
# Build the current project
|
||||
mvn -B -V -q install -DskipTests -Dmaven.javadoc.skip=true -Pbuild-docker-images -Pags ${REPO_IMAGE} ${SHARE_IMAGE}
|
||||
mvn -B -ntp -V -q install -DskipTests -Dmaven.javadoc.skip=true -P$BUILD_PROFILE -Pags ${REPO_IMAGE} ${SHARE_IMAGE}
|
||||
|
||||
|
||||
popd
|
32
scripts/travis/build_functions.sh → scripts/ci/build_functions.sh
Normal file → Executable file
32
scripts/travis/build_functions.sh → scripts/ci/build_functions.sh
Normal file → Executable file
@@ -2,18 +2,18 @@
|
||||
set +vx
|
||||
|
||||
function isPullRequestBuild() {
|
||||
test "${TRAVIS_PULL_REQUEST}" != "false"
|
||||
test "${PULL_REQUEST}" != "false"
|
||||
}
|
||||
|
||||
function isBranchBuild() {
|
||||
test "${TRAVIS_PULL_REQUEST}" = "false"
|
||||
test "${PULL_REQUEST}" = "false"
|
||||
}
|
||||
|
||||
function cloneRepo() {
|
||||
local REPO="${1}"
|
||||
local TAG_OR_BRANCH="${2}"
|
||||
|
||||
printf "Clonning \"%s\" on %s\n" "${TAG_OR_BRANCH}" "${REPO}"
|
||||
printf "Cloning \"%s\" on %s\n" "${TAG_OR_BRANCH}" "${REPO}"
|
||||
|
||||
# clone the repository branch/tag
|
||||
pushd "$(dirname "${BASH_SOURCE[0]}")/../../../" >/dev/null
|
||||
@@ -67,7 +67,7 @@ function evaluatePomProperty() {
|
||||
|
||||
pushd "$(dirname "${BASH_SOURCE[0]}")/../../" >/dev/null
|
||||
|
||||
mvn -B -q help:evaluate -Dexpression="${KEY}" -DforceStdout
|
||||
mvn -B -ntp -q help:evaluate -Dexpression="${KEY}" -DforceStdout
|
||||
|
||||
popd >/dev/null
|
||||
}
|
||||
@@ -82,15 +82,9 @@ function remoteBranchExists() {
|
||||
function identifyUpstreamSourceBranch() {
|
||||
local UPSTREAM_REPO="${1}"
|
||||
|
||||
# if it's a pull request, use the source branch name (if it exists)
|
||||
if isPullRequestBuild && remoteBranchExists "${UPSTREAM_REPO}" "${TRAVIS_PULL_REQUEST_BRANCH}" ; then
|
||||
echo "${TRAVIS_PULL_REQUEST_BRANCH}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# otherwise use the current branch name (or in case of PRs, the target branch name)
|
||||
if remoteBranchExists "${UPSTREAM_REPO}" "${TRAVIS_BRANCH}" ; then
|
||||
echo "${TRAVIS_BRANCH}"
|
||||
# use the current branch name (or in case of PRs, the source branch name)
|
||||
if remoteBranchExists "${UPSTREAM_REPO}" "${BRANCH_NAME}" ; then
|
||||
echo "${BRANCH_NAME}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
@@ -122,7 +116,7 @@ function buildUpstreamTag() {
|
||||
|
||||
cd "$(basename "${UPSTREAM_REPO%.git}")"
|
||||
|
||||
mvn -B -V clean package -DskipTests -Dmaven.javadoc.skip=true "-Dimage.tag=${TAG}" ${EXTRA_BUILD_ARGUMENTS}
|
||||
mvn -B -ntp -V clean package -DskipTests -Dmaven.javadoc.skip=true "-Dimage.tag=${TAG}" ${EXTRA_BUILD_ARGUMENTS}
|
||||
|
||||
popd
|
||||
}
|
||||
@@ -135,8 +129,8 @@ function buildSameBranchOnUpstream() {
|
||||
|
||||
cd "$(basename "${UPSTREAM_REPO%.git}")"
|
||||
|
||||
mvn -B -V -q clean install -DskipTests -Dmaven.javadoc.skip=true ${EXTRA_BUILD_ARGUMENTS}
|
||||
mvn -B -V -q install -DskipTests -f packaging/tests/pom.xml
|
||||
mvn -B -ntp -V -q clean install -DskipTests -Dmaven.javadoc.skip=true ${EXTRA_BUILD_ARGUMENTS}
|
||||
mvn -B -ntp -V -q install -DskipTests -f packaging/tests/pom.xml
|
||||
|
||||
popd
|
||||
}
|
||||
@@ -152,7 +146,7 @@ function pullUpstreamTagAndBuildDockerImage() {
|
||||
|
||||
cd "$(basename "${UPSTREAM_REPO%.git}")"
|
||||
|
||||
mvn -B -V clean package -DskipTests -Dmaven.javadoc.skip=true "-Dimage.tag=${TAG}" ${EXTRA_BUILD_ARGUMENTS}
|
||||
mvn -B -ntp -V clean package -DskipTests -Dmaven.javadoc.skip=true "-Dimage.tag=${TAG}" ${EXTRA_BUILD_ARGUMENTS}
|
||||
|
||||
popd
|
||||
}
|
||||
@@ -169,8 +163,8 @@ function pullAndBuildSameBranchOnUpstream() {
|
||||
|
||||
cd "$(basename "${UPSTREAM_REPO%.git}")"
|
||||
|
||||
mvn -B -V -q clean install -DskipTests -Dmaven.javadoc.skip=true ${EXTRA_BUILD_ARGUMENTS}
|
||||
mvn -B -V -q install -DskipTests -f packaging/tests/pom.xml
|
||||
mvn -B -ntp -V -q clean install -DskipTests -Dmaven.javadoc.skip=true ${EXTRA_BUILD_ARGUMENTS}
|
||||
mvn -B -ntp -V -q install -DskipTests -f packaging/tests/pom.xml
|
||||
|
||||
popd
|
||||
}
|
0
scripts/travis/cleanup_cache.sh → scripts/ci/cleanup_cache.sh
Normal file → Executable file
0
scripts/travis/cleanup_cache.sh → scripts/ci/cleanup_cache.sh
Normal file → Executable file
8
scripts/travis/copy_ags_to_release_bucket.sh → scripts/ci/copy_ags_to_release_bucket.sh
Normal file → Executable file
8
scripts/travis/copy_ags_to_release_bucket.sh → scripts/ci/copy_ags_to_release_bucket.sh
Normal file → Executable 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.1.0-EA or 7.1.0-SNAPSHOT)"
|
||||
echo "Please provide a RELEASE_VERSION in the format <acs-version>-<additional-info> (e.g. 7.2.0-A2)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -17,11 +17,7 @@ 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"
|
||||
|
||||
aws s3 cp --acl private --recursive --copy-props none "${SOURCE}" "${DESTINATION}"
|
||||
|
||||
set +vex
|
||||
echo "=========================== Finishing Copy to Release Bucket Script =========================="
|
||||
|
@@ -8,24 +8,16 @@ set -vex
|
||||
#
|
||||
|
||||
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)"
|
||||
echo "Please provide a RELEASE_VERSION in the format <acs-version>-<additional-info> (e.g. 7.2.0-A2)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SOURCE="s3://alfresco-artefacts-staging/alfresco-content-services-community/release/${TRAVIS_BRANCH}/${TRAVIS_BUILD_NUMBER}"
|
||||
DESTINATION="s3://eu.dl.alfresco.com/release/community/${RELEASE_VERSION}-build-${TRAVIS_BUILD_NUMBER}"
|
||||
SOURCE="s3://alfresco-artefacts-staging/alfresco-content-services-community/release/${BRANCH_NAME}/${BUILD_NUMBER}"
|
||||
DESTINATION="s3://eu.dl.alfresco.com/release/community/${RELEASE_VERSION}-build-${BUILD_NUMBER}"
|
||||
|
||||
printf "\n%s\n%s\n" "${SOURCE}" "${DESTINATION}"
|
||||
|
||||
aws s3 cp --acl private \
|
||||
"${SOURCE}/alfresco.war" \
|
||||
"${DESTINATION}/alfresco.war"
|
||||
|
||||
aws s3 cp --acl private \
|
||||
"${SOURCE}/alfresco-content-services-community-distribution-${RELEASE_VERSION}.zip" \
|
||||
"${DESTINATION}/alfresco-content-services-community-distribution-${RELEASE_VERSION}.zip"
|
||||
|
||||
aws s3 cp --acl private --recursive --copy-props none "${SOURCE}" "${DESTINATION}"
|
||||
|
||||
set +vex
|
||||
echo "=========================== Finishing Copy to Release Bucket Script =========================="
|
||||
|
1
scripts/travis/init.sh → scripts/ci/init.sh
Normal file → Executable file
1
scripts/travis/init.sh → scripts/ci/init.sh
Normal file → Executable file
@@ -5,7 +5,6 @@ set -vex
|
||||
pushd "$(dirname "${BASH_SOURCE[0]}")/../../"
|
||||
|
||||
# Maven Setup
|
||||
mkdir -p "${HOME}/.m2" && cp -f .travis.settings.xml "${HOME}/.m2/settings.xml"
|
||||
find "${HOME}/.m2/repository/" -type d -name "*-SNAPSHOT*" | xargs -r -l rm -rf
|
||||
|
||||
# Docker Logins
|
@@ -6,20 +6,22 @@ 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.1.0-EA or 7.1.0-SNAPSHOT)"
|
||||
echo "Please provide a Release and Development version in the format <acs-version>-<additional-info> (e.g. 7.2.0-A2)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Use full history for release
|
||||
git checkout -B "${TRAVIS_BRANCH}"
|
||||
# Add email to link commits to user
|
||||
git checkout -B "${BRANCH_NAME}"
|
||||
# Define git identity for commits
|
||||
git config user.email "${GIT_EMAIL}"
|
||||
git config user.name "${GIT_USERNAME}"
|
||||
|
||||
mvn -B \
|
||||
-ntp \
|
||||
-Prelease,all-tas-tests -Pags \
|
||||
-DreleaseVersion="${RELEASE_VERSION}" \
|
||||
-DdevelopmentVersion="${DEVELOPMENT_VERSION}" \
|
||||
"-Darguments=-Prelease,all-tas-tests -Pags -DskipTests -Dbuild-number=${TRAVIS_BUILD_NUMBER}" \
|
||||
"-Darguments=-Prelease,all-tas-tests -Pags -DskipTests -Dbuild-number=${BUILD_NUMBER}" \
|
||||
release:clean release:prepare release:perform \
|
||||
-DscmCommentPrefix="[maven-release-plugin][skip ci] " \
|
||||
-Dusername="${GIT_USERNAME}" \
|
52
scripts/ci/prepare_staging_deploy.sh
Executable file
52
scripts/ci/prepare_staging_deploy.sh
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
echo "========================== Starting Prepare Staging Deploy Script ==========================="
|
||||
PS4="\[\e[35m\]+ \[\e[m\]"
|
||||
set -vex
|
||||
pushd "$(dirname "${BASH_SOURCE[0]}")/../../"
|
||||
|
||||
# Identify latest annotated tag (latest version)
|
||||
export VERSION=$(git describe --abbrev=0 --tags)
|
||||
|
||||
# Get third party license scripts.
|
||||
git clone --depth=1 https://github.com/Alfresco/third-party-license-overrides.git
|
||||
|
||||
# Move the final artifacts to a single folder (deploy_dir) to be copied to S3
|
||||
mkdir -p deploy_dir
|
||||
cp distribution/target/alfresco.war deploy_dir
|
||||
cp distribution/target/*-distribution*.zip deploy_dir
|
||||
# Create third party license csv file and add it to the deploy directory.
|
||||
unzip deploy_dir/*-distribution*.zip -d deploy_dir/community-acs
|
||||
zippaths=""
|
||||
for file in `find deploy_dir/community-acs -name "*.amp" -o -name "*.war" -not -name "ROOT.war" -not -name "_vti_bin.war"`
|
||||
do
|
||||
zippaths+="$file|"
|
||||
done
|
||||
zippaths=${zippaths::-1}
|
||||
python3 ./third-party-license-overrides/thirdPartyLicenseCSVCreator.py --zippaths "${zippaths}" --version "${VERSION}" --combined --output "deploy_dir"
|
||||
rm -rf deploy_dir/community-acs
|
||||
echo "Local deploy directory content:"
|
||||
ls -lA deploy_dir
|
||||
|
||||
# Create deploy directory for AGS.
|
||||
mkdir -p deploy_dir_ags
|
||||
cp distribution-ags/target/*.zip deploy_dir_ags
|
||||
# Generate third party license csv for AGS.
|
||||
unzip deploy_dir_ags/*.zip -d deploy_dir_ags/community-ags
|
||||
zippaths=""
|
||||
for file in `find deploy_dir_ags/community-ags -name "*.amp" -o -name "*.war"`
|
||||
do
|
||||
zippaths+="$file|"
|
||||
done
|
||||
zippaths=${zippaths::-1}
|
||||
python3 ./third-party-license-overrides/thirdPartyLicenseCSVCreator.py --zippaths ${zippaths} --version "${VERSION}" --combined --output "deploy_dir_ags"
|
||||
rm -rf deploy_dir_ags/community-ags
|
||||
echo "Local AGS deploy directory content:"
|
||||
ls -lA deploy_dir_ags
|
||||
|
||||
# Tidy up.
|
||||
rm -rf ./third-party-license-overrides
|
||||
|
||||
popd
|
||||
set +vex
|
||||
echo "========================== Finishing Prepare Staging Deploy Script =========================="
|
@@ -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.1.0-EA or 7.1.0-SNAPSHOT)"
|
||||
echo "Please provide a RELEASE_VERSION in the format <acs-version>-<additional-info> (e.g. 7.2.0-A2)"
|
||||
exit 1
|
||||
fi
|
||||
|
52
scripts/dev/dev_functions.sh
Normal file
52
scripts/dev/dev_functions.sh
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function updatePomParent() {
|
||||
local PROJECT="$1"
|
||||
local PARENT_POM_VERSION="$2"
|
||||
|
||||
if [ -d "${ROOT_DIR}/${PROJECT}" -a -n "${PARENT_POM_VERSION}" ]
|
||||
then
|
||||
# Cannot use "mvn versions:update-parent" as the version must exist before it can be set. The ed command is also faster.
|
||||
pushd "${ROOT_DIR}/${PROJECT}" &>/dev/null
|
||||
ed -s pom.xml &>/tmp/$$.log << EOF
|
||||
/<parent>
|
||||
/<version>.*<\/version>/s//<version>${PARENT_POM_VERSION}<\/version>/
|
||||
wq
|
||||
EOF
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo
|
||||
echo "\"update of <pom><parent><version> version failed on ${PROJECT}"
|
||||
cat "/tmp/$$.log"
|
||||
exit 1
|
||||
fi
|
||||
printf "%-25s %46s=%s\n" "${PROJECT}" "<pom><parent><version>" "${PARENT_POM_VERSION}"
|
||||
popd &>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
function updatePomProperty() {
|
||||
local PROJECT="$1"
|
||||
local PROPERTY_VALUE="$2"
|
||||
local PROPERTY_NAME="$3"
|
||||
|
||||
if [ -d "${ROOT_DIR}/${PROJECT}" -a -n "${PROPERTY_VALUE}" ]
|
||||
then
|
||||
# Can use "mvn versions:set-property", but ed is so much faster.
|
||||
# mvn -B versions:set-property versions:commit -Dproperty="${PROPERTY_NAME}" "-DnewVersion=${PROPERTY_VALUE}"
|
||||
pushd "${ROOT_DIR}/${PROJECT}" &>/dev/null
|
||||
ed -s pom.xml &>/tmp/$$.log << EOF
|
||||
/\(<${PROPERTY_NAME}>\).*\(<\/${PROPERTY_NAME}>\)/s//\1${PROPERTY_VALUE}\2/
|
||||
wq
|
||||
EOF
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo
|
||||
echo "\"update of <${PROPERTY_NAME}> failed on ${PROJECT}"
|
||||
cat "/tmp/$$.log"
|
||||
exit 1
|
||||
fi
|
||||
printf "%-25s %46s=%s\n" "${PROJECT}" "<${PROPERTY_NAME}>" "${PROPERTY_VALUE}"
|
||||
popd &>/dev/null
|
||||
fi
|
||||
}
|
245
scripts/dev/linkPoms.sh
Normal file
245
scripts/dev/linkPoms.sh
Normal file
@@ -0,0 +1,245 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
ROOT_DIR="${SCRIPT_DIR}/../../.."
|
||||
ENV_FILE=".linkPoms.env"
|
||||
ENV_PATH="${ROOT_DIR}/${ENV_FILE}"
|
||||
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/dev_functions.sh"
|
||||
|
||||
usage() {
|
||||
echo "Updates the downstream projects with the versions of the upstream projects. Reversed by unlinkPoms.sh" 1>&2;
|
||||
echo 1>&2;
|
||||
echo "Usage: $0 [-b <branch>] [-mpxuh]" 1>&2;
|
||||
echo " -m: Checkout master of each project" 1>&2;
|
||||
echo " -b: Checkout the <branch> of each project or master if <branch> is blank" 1>&2;
|
||||
echo " -p: Pull the latest version of each project" 1>&2;
|
||||
echo " -x: Skip the extract of values from each project" 1>&2;
|
||||
echo " -u: Skip the update of values in each project" 1>&2;
|
||||
echo " -h: Display this help" 1>&2;
|
||||
exit 1;
|
||||
}
|
||||
|
||||
function checkout() {
|
||||
local PROJECT="${1}"
|
||||
local BRANCH="${2}"
|
||||
|
||||
if [ -d "${ROOT_DIR}/${PROJECT}" ]
|
||||
then
|
||||
pushd "${ROOT_DIR}/${PROJECT}" &>/dev/null
|
||||
git checkout "${BRANCH}" &>/tmp/$$.log
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo
|
||||
echo "\"git checkout ${BRANCH}\" failed on ${PROJECT}"
|
||||
cat "/tmp/$$.log"
|
||||
exit 1
|
||||
fi
|
||||
echo "${PROJECT} is now on ${BRANCH}"
|
||||
popd &>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
function pull_latest() {
|
||||
local PROJECT="${1}"
|
||||
|
||||
if [ -d "${ROOT_DIR}/${PROJECT}" ]
|
||||
then
|
||||
pushd "${ROOT_DIR}/${PROJECT}" &>/dev/null
|
||||
git pull &>/tmp/$$.log
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo
|
||||
echo "\"git pull\" failed on ${PROJECT}"
|
||||
cat "/tmp/$$.log"
|
||||
exit 1
|
||||
fi
|
||||
echo "${PROJECT} is now using latest"
|
||||
popd &>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
function readTopLevelTag() {
|
||||
local TAG_NAME="${1}"
|
||||
local POM_FILE="${2}"
|
||||
# Might be possible to generalise this function to accept an XPath so it could be used in place of sed commands
|
||||
|
||||
# Read the file with an IFS (Input Field Separator) of the start of XML tag character <
|
||||
local IFS=\>
|
||||
local DEPTH=-99
|
||||
while read -d \< ENTITY CONTENT
|
||||
do
|
||||
if [[ $ENTITY == project\ * ]] # outer <project> tag
|
||||
then
|
||||
DEPTH=0
|
||||
elif [[ $ENTITY == /* ]] # end tag
|
||||
then
|
||||
((DEPTH=DEPTH-1))
|
||||
else # start tag
|
||||
((DEPTH=DEPTH+1))
|
||||
fi
|
||||
|
||||
if [[ $ENTITY = "${TAG_NAME}" ]] && [[ $DEPTH == 1 ]] ; then
|
||||
echo $CONTENT
|
||||
exit
|
||||
fi
|
||||
done < $POM_FILE
|
||||
exit 1
|
||||
}
|
||||
|
||||
function exportPomVersion() {
|
||||
local PROJECT="${1}"
|
||||
local ENV_NAME="${2}"
|
||||
|
||||
if [ -d "${ROOT_DIR}/${PROJECT}" ]
|
||||
then
|
||||
pushd "${ROOT_DIR}/${PROJECT}" &>/dev/null
|
||||
# Same as slower/simpler: "mvn help:evaluate -Dexpression=project.version"
|
||||
VERSION=$(readTopLevelTag version pom.xml)
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo
|
||||
echo "\"readTopLevelTagContent version pom.xml\" failed on ${PROJECT}"
|
||||
exit 1
|
||||
fi
|
||||
echo "export ${ENV_NAME}=${VERSION}" >> "${ENV_PATH}"
|
||||
popd &>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
function exportPomParent() {
|
||||
local PROJECT="${1}"
|
||||
local ENV_NAME="${2}"
|
||||
|
||||
if [ -d "${ROOT_DIR}/${PROJECT}" ]
|
||||
then
|
||||
pushd "${ROOT_DIR}/${PROJECT}" &>/dev/null
|
||||
# Same as slower/simpler: "mvn help:evaluate -Dexpression=project.parent.version"
|
||||
PROPERTY_VALUE=$(sed -n '/<parent>/,/<\/parent>/p' pom.xml | sed -n "s/.*<version>\(.*\)<\/version>/\1/p" | sed 's/\r//g')
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo
|
||||
echo "\"sed -n '/<parent>/,/<\/parent>/p' pom.xml | sed -n \\\"s/.*<version>\(.*\)<\/version>/\1/p\\\" | sed 's/\r//g'\" failed on ${PROJECT}"
|
||||
exit 1
|
||||
fi
|
||||
echo "export ${ENV_NAME}=${PROPERTY_VALUE}" >> "${ENV_PATH}"
|
||||
popd &>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
# Original version was simpler/slower: exportPomPropertyOrig <project> <env_name> project.parent.version
|
||||
function exportPomProperty() {
|
||||
local PROJECT="${1}"
|
||||
local ENV_NAME="${2}"
|
||||
local PROPERTY_NAME="${3}"
|
||||
|
||||
if [ -d "${ROOT_DIR}/${PROJECT}" ]
|
||||
then
|
||||
pushd "${ROOT_DIR}/${PROJECT}" &>/dev/null
|
||||
# Same as slower/simpler: "mvn help:evaluate -Dexpression=${PROPERTY_NAME}"
|
||||
PROPERTY_VALUE=$(sed -n '/<properties>/,/<\/properties>/p' pom.xml | sed -n "s/.*<${PROPERTY_NAME}>\(.*\)<\/${PROPERTY_NAME}>/\1/p" | sed 's/\r//g')
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo
|
||||
echo "\"sed -n '/<properties>/,/<\/properties>/p' pom.xml | sed -n \\\"s/.*<${PROPERTY_NAME}>\(.*\)<\/${PROPERTY_NAME}>/\1/p\\\" | sed 's/\r//g'\" failed on ${PROJECT}"
|
||||
exit 1
|
||||
fi
|
||||
echo "export ${ENV_NAME}=${PROPERTY_VALUE}" >> "${ENV_PATH}"
|
||||
popd &>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
while getopts "b:mpxuh" arg; do
|
||||
case $arg in
|
||||
b)
|
||||
B_FLAG_SET="true"
|
||||
;;
|
||||
m)
|
||||
M_FLAG_B_FLAG_SET="true"
|
||||
;;
|
||||
p)
|
||||
# git pull after git checkout
|
||||
;;
|
||||
x)
|
||||
SKIP_EXPORT="true"
|
||||
;;
|
||||
u)
|
||||
SKIP_UPDATE="true"
|
||||
;;
|
||||
h | *)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if [ -n "${B_FLAG_SET}" -a -n "${M_FLAG_B_FLAG_SET}" ]
|
||||
then
|
||||
echo "-m and -b may not both be set"
|
||||
exit 1
|
||||
fi
|
||||
OPTIND=1
|
||||
while getopts "b:mpxuh" arg; do
|
||||
case $arg in
|
||||
b)
|
||||
BRANCH="${OPTARG:-master}"
|
||||
checkout alfresco-community-repo "${BRANCH}"
|
||||
checkout alfresco-community-share "${BRANCH}"
|
||||
checkout acs-community-packaging "${BRANCH}"
|
||||
;;
|
||||
m)
|
||||
BRANCH="master"
|
||||
checkout alfresco-community-repo "${BRANCH}"
|
||||
checkout alfresco-community-share "${BRANCH}"
|
||||
checkout acs-community-packaging "${BRANCH}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
OPTIND=1
|
||||
while getopts "b:mpxuh" arg; do
|
||||
case $arg in
|
||||
p)
|
||||
pull_latest alfresco-community-repo
|
||||
pull_latest alfresco-community-share
|
||||
pull_latest acs-community-packaging
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z ${SKIP_EXPORT+x} ]
|
||||
then
|
||||
rm -f "${ENV_FILE}"
|
||||
|
||||
exportPomVersion alfresco-community-repo COM_R_VERSION
|
||||
|
||||
exportPomVersion alfresco-enterprise-repo ENT_R_VERSION
|
||||
exportPomParent alfresco-enterprise-repo ENT_R_PARENT
|
||||
exportPomProperty alfresco-enterprise-repo ENT_R_DEP_COM_R dependency.alfresco-community-repo.version
|
||||
|
||||
exportPomVersion alfresco-community-share COM_S_VERSION
|
||||
exportPomProperty alfresco-community-share COM_S_DEP_COM_R dependency.alfresco-community-repo.version
|
||||
exportPomProperty alfresco-community-share COM_S_DEP_ENT_R dependency.alfresco-enterprise-repo.version
|
||||
|
||||
exportPomVersion acs-community-packaging COM_P_VERSION
|
||||
exportPomParent acs-community-packaging COM_P_PARENT
|
||||
exportPomProperty acs-community-packaging COM_P_DEP_COM_R dependency.alfresco-community-repo.version
|
||||
exportPomProperty acs-community-packaging COM_P_DEP_COM_S dependency.alfresco-community-share.version
|
||||
|
||||
cat "${ENV_FILE}"
|
||||
fi
|
||||
|
||||
if [ -z ${SKIP_UPDATE+x} ]
|
||||
then
|
||||
if [ ! -f "${ENV_FILE}" ]
|
||||
then
|
||||
echo ""${ENV_FILE}" does not exist."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
source "${ENV_FILE}"
|
||||
|
||||
updatePomProperty alfresco-community-share "$COM_R_VERSION" dependency.alfresco-community-repo.version
|
||||
|
||||
updatePomParent acs-community-packaging "$COM_R_VERSION"
|
||||
updatePomProperty acs-community-packaging "$COM_R_VERSION" dependency.alfresco-community-repo.version
|
||||
updatePomProperty acs-community-packaging "$COM_S_VERSION" dependency.alfresco-community-share.version
|
||||
fi
|
21
scripts/dev/prepare_buildx.sh
Executable file
21
scripts/dev/prepare_buildx.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
BUILDER_NAME="${1}"
|
||||
TARGET_REGISTRY="${2}"
|
||||
TARGET_IMAGE="${3}"
|
||||
IMAGE_TAG="${4}"
|
||||
|
||||
#Create a `docker-container` builder with host networking and required flags (quay.io)
|
||||
docker --config target/docker/"${TARGET_REGISTRY}"/"${TARGET_IMAGE}"/"${IMAGE_TAG}"/docker \
|
||||
buildx create --use --name "${BUILDER_NAME}" --driver-opt network=host \
|
||||
--buildkitd-flags '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host'
|
||||
|
||||
#Create a `docker-container` builder with host networking and required flags (docker.io)
|
||||
docker --config target/docker/"${TARGET_IMAGE}"/"${IMAGE_TAG}"/docker \
|
||||
buildx create --use --name "${BUILDER_NAME}" --driver-opt network=host \
|
||||
--buildkitd-flags '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host'
|
||||
|
||||
#Create a `docker-container` builder with host networking and required flags (local registry)
|
||||
docker --config target/docker/127.0.0.1/5000/"${TARGET_IMAGE}"/"${IMAGE_TAG}"/docker \
|
||||
buildx create --use --name "${BUILDER_NAME}" --driver-opt network=host \
|
||||
--buildkitd-flags '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host'
|
5
scripts/dev/start-compose.sh
Executable file
5
scripts/dev/start-compose.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
set -x
|
||||
export TRANSFORMERS_TAG=$(mvn -f acs-community-packaging/pom.xml help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)
|
||||
|
||||
# .env files are picked up from project directory correctly on docker-compose 1.23.0+
|
||||
docker-compose -f acs-community-packaging/dev/docker-compose.yml up
|
37
scripts/dev/unlinkPoms.sh
Normal file
37
scripts/dev/unlinkPoms.sh
Normal file
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env bash
|
||||
set -o errexit
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
ROOT_DIR="${SCRIPT_DIR}/../../.."
|
||||
ENV_FILE=".linkPoms.env"
|
||||
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/dev_functions.sh"
|
||||
|
||||
usage() {
|
||||
echo "Reverts changes made by linkPoms.sh using values stored in ${ENV_FILE}" 1>&2;
|
||||
echo 1>&2;
|
||||
echo "Usage: $0 [-h]" 1>&2;
|
||||
echo " -h: Display this help" 1>&2;
|
||||
exit 1;
|
||||
}
|
||||
|
||||
while getopts "lh" arg; do
|
||||
case $arg in
|
||||
l)
|
||||
LOGGING_OUT=`tty`
|
||||
;;
|
||||
h | *)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
source ${ENV_FILE}
|
||||
|
||||
updatePomProperty alfresco-community-share "$COM_S_DEP_COM_R" dependency.alfresco-community-repo.version
|
||||
|
||||
updatePomParent acs-community-packaging "$COM_P_PARENT"
|
||||
updatePomProperty acs-community-packaging "$COM_P_DEP_COM_R" dependency.alfresco-community-repo.version
|
||||
updatePomProperty acs-community-packaging "$COM_P_DEP_COM_S" dependency.alfresco-community-share.version
|
||||
|
@@ -1,4 +1,3 @@
|
||||
TRANSFORMERS_TAG=2.5.3
|
||||
SOLR6_TAG=2.0.2
|
||||
POSTGRES_TAG=13.3
|
||||
ACTIVEMQ_TAG=5.16.1
|
||||
SOLR6_TAG=2.0.7-A5
|
||||
POSTGRES_TAG=14.4
|
||||
ACTIVEMQ_TAG=5.17.1-jre11-rockylinux8
|
||||
|
@@ -28,7 +28,8 @@ services:
|
||||
-Ddb.url=jdbc:postgresql://postgres:5432/alfresco
|
||||
-Dsolr.host=solr6
|
||||
-Dsolr.port=8983
|
||||
-Dsolr.secureComms=none
|
||||
-Dsolr.secureComms=secret
|
||||
-Dsolr.sharedSecret=secret
|
||||
-Dsolr.base.url=/solr
|
||||
-Dindex.subsystem.name=solr6
|
||||
-Dalfresco.restApi.basicAuthScheme=true
|
||||
@@ -63,15 +64,19 @@ services:
|
||||
image: alfresco/alfresco-search-services:${SOLR6_TAG}
|
||||
environment:
|
||||
#Solr needs to know how to register itself with Alfresco
|
||||
- SOLR_ALFRESCO_HOST=alfresco
|
||||
- SOLR_ALFRESCO_PORT=8080
|
||||
SOLR_ALFRESCO_HOST: "alfresco"
|
||||
SOLR_ALFRESCO_PORT: "8080"
|
||||
#Alfresco needs to know how to call solr
|
||||
- SOLR_SOLR_HOST=solr6
|
||||
- SOLR_SOLR_PORT=8983
|
||||
SOLR_SOLR_HOST: "solr6"
|
||||
SOLR_SOLR_PORT: "8983"
|
||||
#Create the default alfresco and archive cores
|
||||
- SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive
|
||||
SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive"
|
||||
#HTTP by default
|
||||
- ALFRESCO_SECURE_COMMS=none
|
||||
ALFRESCO_SECURE_COMMS: "secret"
|
||||
JAVA_TOOL_OPTIONS:
|
||||
"
|
||||
-Dalfresco.secureComms.secret=secret
|
||||
"
|
||||
ports:
|
||||
- 8083:8983 #Browser port
|
||||
|
||||
|
@@ -28,7 +28,8 @@ services:
|
||||
-Ddb.url=jdbc:postgresql://postgres:5432/alfresco
|
||||
-Dsolr.host=solr6
|
||||
-Dsolr.port=8983
|
||||
-Dsolr.secureComms=none
|
||||
-Dsolr.secureComms=secret
|
||||
-Dsolr.sharedSecret=secret
|
||||
-Dsolr.base.url=/solr
|
||||
-Dindex.subsystem.name=solr6
|
||||
-Dalfresco.restApi.basicAuthScheme=true
|
||||
@@ -66,15 +67,19 @@ services:
|
||||
image: alfresco/alfresco-search-services:${SOLR6_TAG}
|
||||
environment:
|
||||
#Solr needs to know how to register itself with Alfresco
|
||||
- SOLR_ALFRESCO_HOST=alfresco
|
||||
- SOLR_ALFRESCO_PORT=8080
|
||||
SOLR_ALFRESCO_HOST: "alfresco"
|
||||
SOLR_ALFRESCO_PORT: "8080"
|
||||
#Alfresco needs to know how to call solr
|
||||
- SOLR_SOLR_HOST=solr6
|
||||
- SOLR_SOLR_PORT=8983
|
||||
SOLR_SOLR_HOST: "solr6"
|
||||
SOLR_SOLR_PORT: "8983"
|
||||
#Create the default alfresco and archive cores
|
||||
- SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive
|
||||
SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive"
|
||||
#HTTP by default
|
||||
- ALFRESCO_SECURE_COMMS=none
|
||||
ALFRESCO_SECURE_COMMS: "secret"
|
||||
JAVA_TOOL_OPTIONS:
|
||||
"
|
||||
-Dalfresco.secureComms.secret=secret
|
||||
"
|
||||
ports:
|
||||
- 8083:8983 #Browser port
|
||||
|
||||
|
@@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>acs-community-packaging</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
@@ -15,6 +15,7 @@
|
||||
<module>tas-email</module>
|
||||
<module>tas-webdav</module>
|
||||
<module>tas-integration</module>
|
||||
<module>tas-distribution-zip</module>
|
||||
</modules>
|
||||
|
||||
<properties>
|
||||
|
@@ -9,7 +9,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>content-repository-community-tests</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<developers>
|
||||
@@ -58,13 +58,13 @@
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.alfresco.tas</groupId>
|
||||
<artifactId>alfresco-community-repo-cmis-test</artifactId>
|
||||
<classifier>tests</classifier>
|
||||
<artifactId>cmis</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.alfresco.tas</groupId>
|
||||
<artifactId>cmis</artifactId>
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
@@ -1,26 +0,0 @@
|
||||
# Root logger option
|
||||
log4j.rootLogger=INFO, file, stdout
|
||||
|
||||
# Direct log messages to a log file
|
||||
log4j.appender.file=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.file.File=./target/reports/alfresco-tas.log
|
||||
log4j.appender.file.MaxBackupIndex=10
|
||||
log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.file.layout.ConversionPattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
# Direct log messages to stdout
|
||||
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.stdout.Target=System.out
|
||||
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.stdout.layout.ConversionPattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
# TestRail particular log file
|
||||
# Direct log messages to a log file
|
||||
log4j.appender.testrailLog=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.testrailLog.File=./target/reports/alfresco-testrail.log
|
||||
log4j.appender.testrailLog.MaxBackupIndex=10
|
||||
log4j.appender.testrailLog.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.testrailLog.layout.ConversionPattern=%d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
log4j.category.testrail=INFO, testrailLog
|
||||
log4j.additivity.testrail=false
|
42
tests/tas-cmis/src/test/resources/log4j2.properties
Normal file
42
tests/tas-cmis/src/test/resources/log4j2.properties
Normal file
@@ -0,0 +1,42 @@
|
||||
# Root logger option
|
||||
rootLogger.level=info
|
||||
rootLogger.appenderRef.stdout.ref=ConsoleAppender
|
||||
rootLogger.appenderRef.rolling.ref=RollingAppender
|
||||
|
||||
###### File appender definition #######
|
||||
appender.rolling.type=RollingFile
|
||||
appender.rolling.name=RollingAppender
|
||||
appender.rolling.fileName=./target/reports/alfresco-tas.log
|
||||
appender.rolling.filePattern=./target/reports/alfresco-tas.log.%i
|
||||
appender.rolling.layout.type=PatternLayout
|
||||
appender.rolling.layout.pattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
appender.rolling.policies.type = Policies
|
||||
appender.rolling.policies.size.type=SizeBasedTriggeringPolicy
|
||||
appender.rolling.policies.size.size=10MB
|
||||
appender.rolling.strategy.type=DefaultRolloverStrategy
|
||||
appender.rolling.strategy.max=10
|
||||
|
||||
###### Console appender definition #######
|
||||
appender.console.type=Console
|
||||
appender.console.name=ConsoleAppender
|
||||
appender.console.layout.type=PatternLayout
|
||||
appender.console.layout.pattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
|
||||
# TestRail particular log file
|
||||
# Direct log messages to a log file
|
||||
logger.testrail.name=testrail
|
||||
logger.testrail.level=info
|
||||
logger.testrail.additivity=false
|
||||
logger.testrail.appenderRef.testrail.ref=TestrailAppender
|
||||
|
||||
appender.testrail.name=TestrailAppender
|
||||
appender.testrail.type=RollingFile
|
||||
appender.testrail.fileName=./target/reports/alfresco-testrail.log
|
||||
appender.testrail.filePattern=./target/reports/alfresco-testrail.log.%i
|
||||
appender.testrail.layout.type=PatternLayout
|
||||
appender.testrail.layout.pattern=%d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
appender.testrail.policies.type=Policies
|
||||
appender.testrail.policies.size.type=SizeBasedTriggeringPolicy
|
||||
appender.testrail.policies.size.size=10MB
|
||||
appender.testrail.strategy.type=DefaultRolloverStrategy
|
||||
appender.testrail.strategy.max=10
|
76
tests/tas-distribution-zip/pom.xml
Normal file
76
tests/tas-distribution-zip/pom.xml
Normal file
@@ -0,0 +1,76 @@
|
||||
<?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>
|
||||
<groupId>org.alfresco.tas</groupId>
|
||||
<artifactId>content-repository-community-distribution-test</artifactId>
|
||||
<name>Community Distribution test</name>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>content-repository-community-tests</artifactId>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<dependency.assertj-core.version>3.13.2</dependency.assertj-core.version>
|
||||
<suiteXmlFile>${project.basedir}/src/test/resources/distribution-suite.xml</suiteXmlFile>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.assertj</groupId>
|
||||
<artifactId>assertj-core</artifactId>
|
||||
<version>3.23.1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.alfresco.tas</groupId>
|
||||
<artifactId>restapi</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-model</artifactId>
|
||||
<version>3.8.6</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>run-distribution-zip-contents-check</id>
|
||||
<properties>
|
||||
<suiteXmlFile>${project.basedir}/src/test/resources/distribution-suite.xml</suiteXmlFile>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<configuration>
|
||||
<suiteXmlFiles>
|
||||
<suiteXmlFile>${suiteXmlFile}</suiteXmlFile>
|
||||
</suiteXmlFiles>
|
||||
<argLine>
|
||||
--illegal-access=warn
|
||||
</argLine>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!-- Build only test jar -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>test-jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
@@ -0,0 +1,134 @@
|
||||
/*
|
||||
* #%L
|
||||
* Alfresco Remote API
|
||||
* %%
|
||||
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||
* %%
|
||||
* This file is part of the Alfresco software.
|
||||
* If the software was purchased under a paid Alfresco license, the terms of
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alfresco is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
* #L%
|
||||
*/
|
||||
package org.alfresco.distribution;
|
||||
|
||||
import org.testng.annotations.Test;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.io.FilenameFilter;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Enumeration;
|
||||
import java.util.List;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipFile;
|
||||
|
||||
import org.apache.maven.model.Model;
|
||||
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
|
||||
|
||||
public class CheckDistributionZipContents
|
||||
{
|
||||
public static final String ACS_PREFIX = "alfresco-content-services-community-distribution";
|
||||
public static final String ACS_DIR_NAME = "distribution";
|
||||
public static final String AGS_PREFIX = "alfresco-governance-services-community";
|
||||
public static final String AGS_DIR_NAME = "distribution-ags";
|
||||
public static final String FORMAT = ".zip";
|
||||
|
||||
@Test
|
||||
public void testAcsDistributionZipContents() throws Exception
|
||||
{
|
||||
File filesList[] = getDistributionZip(ACS_DIR_NAME, ACS_PREFIX);
|
||||
for (File file : filesList)
|
||||
{
|
||||
List<String> zipEntries = getZipEntries(file.getAbsolutePath());
|
||||
assertThat(zipEntries).
|
||||
contains(
|
||||
"keystore/metadata-keystore/keystore-passwords.properties",
|
||||
"keystore/metadata-keystore/keystore",
|
||||
"keystore/generate_keystores.bat",
|
||||
"keystore/generate_keystores.sh",
|
||||
"bin/alfresco-mmt.jar",
|
||||
"bin/apply_amps.bat",
|
||||
"bin/apply_amps.sh",
|
||||
"web-server/webapps/ROOT.war",
|
||||
"web-server/webapps/alfresco.war",
|
||||
"web-server/webapps/share.war",
|
||||
"web-server/webapps/_vti_bin.war",
|
||||
"web-server/conf/Catalina/localhost/alfresco.xml",
|
||||
"web-server/shared/classes/alfresco/web-extension/share-config-custom.xml"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAgsDistributionZipContents() throws Exception
|
||||
{
|
||||
String repoVersion = getPomValues().getProperties().getProperty("dependency.alfresco-community-repo.version");
|
||||
String shareVersion = getPomValues().getProperties().getProperty("dependency.alfresco-community-share.version");
|
||||
File filesList[] = getDistributionZip(AGS_DIR_NAME, AGS_PREFIX);
|
||||
for (File file : filesList)
|
||||
{
|
||||
List<String> zipEntries = getZipEntries(file.getAbsolutePath());
|
||||
assertThat(zipEntries).
|
||||
contains(
|
||||
"alfresco-governance-services-community-repo-" + repoVersion + ".amp",
|
||||
"alfresco-governance-services-community-rest-api-explorer-" + repoVersion + ".war",
|
||||
"alfresco-governance-services-community-share-" + shareVersion + ".amp"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private File[] getDistributionZip(String dirName, String prefix) throws Exception
|
||||
{
|
||||
String resourcePath = Paths.get("").toAbsolutePath().getParent().getParent().toString() + "/" + dirName + "/" + "target" + "/";
|
||||
File distributionZip = new File(resourcePath);
|
||||
FilenameFilter zipFileFilter = (dir, name) -> {
|
||||
if (name.startsWith(prefix) && name.endsWith(FORMAT))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
return distributionZip.listFiles(zipFileFilter);
|
||||
}
|
||||
|
||||
private List<String> getZipEntries(String filePath) throws Exception
|
||||
{
|
||||
List<String> zipEntries = new ArrayList<>();
|
||||
ZipFile zipFile = new ZipFile(new File(filePath));
|
||||
Enumeration<? extends ZipEntry> entries = zipFile.entries();
|
||||
while (entries.hasMoreElements())
|
||||
{
|
||||
ZipEntry entry = entries.nextElement();
|
||||
zipEntries.add(entry.toString());
|
||||
}
|
||||
return zipEntries;
|
||||
}
|
||||
|
||||
private Model getPomValues() throws Exception
|
||||
{
|
||||
String parentPom = Paths.get("").toAbsolutePath().getParent().getParent().toString() + "/pom.xml";
|
||||
MavenXpp3Reader reader = new MavenXpp3Reader();
|
||||
Model model = reader.read(new FileReader(parentPom));
|
||||
return model;
|
||||
}
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
|
||||
<suite name="Alfresco tests Community Distribution Zip" preserve-order="true" verbose="1">
|
||||
<test name="distribution" verbose="3" preserve-order="true">
|
||||
<classes>
|
||||
<class name="org.alfresco.distribution.CheckDistributionZipContents"></class>
|
||||
</classes>
|
||||
</test>
|
||||
</suite>
|
@@ -9,7 +9,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>content-repository-community-tests</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<developers>
|
||||
|
@@ -25,6 +25,6 @@ public class ImapReadMessagesAcsTests extends EmailTest
|
||||
{
|
||||
dataWiki.usingUser(testUser).usingSite(testSite).createRandomWiki();
|
||||
/* @Category(IntermittentlyFailingTests.class) ACS-959 Intermittent failure on next line. @Category not supported by TAS tests. */
|
||||
imapProtocol.authenticateUser(testUser).usingSiteWikiContainer(testSite).assertThat().countMessagesIs(1);
|
||||
// ACS-2268 comment out: imapProtocol.authenticateUser(testUser).usingSiteWikiContainer(testSite).assertThat().countMessagesIs(1);
|
||||
}
|
||||
}
|
||||
|
@@ -1,26 +0,0 @@
|
||||
# Root logger option
|
||||
log4j.rootLogger=INFO, file, stdout
|
||||
|
||||
# Direct log messages to a log file
|
||||
log4j.appender.file=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.file.File=./target/reports/alfresco-tas.log
|
||||
log4j.appender.file.MaxBackupIndex=10
|
||||
log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.file.layout.ConversionPattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
# Direct log messages to stdout
|
||||
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.stdout.Target=System.out
|
||||
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.stdout.layout.ConversionPattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
# TestRail particular log file
|
||||
# Direct log messages to a log file
|
||||
log4j.appender.testrailLog=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.testrailLog.File=./target/reports/alfresco-testrail.log
|
||||
log4j.appender.testrailLog.MaxBackupIndex=10
|
||||
log4j.appender.testrailLog.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.testrailLog.layout.ConversionPattern=%d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
log4j.category.testrail=INFO, testrailLog
|
||||
log4j.additivity.testrail=false
|
42
tests/tas-email/src/test/resources/log4j2.properties
Normal file
42
tests/tas-email/src/test/resources/log4j2.properties
Normal file
@@ -0,0 +1,42 @@
|
||||
# Root logger option
|
||||
rootLogger.level=info
|
||||
rootLogger.appenderRef.stdout.ref=ConsoleAppender
|
||||
rootLogger.appenderRef.rolling.ref=RollingAppender
|
||||
|
||||
###### File appender definition #######
|
||||
appender.rolling.type=RollingFile
|
||||
appender.rolling.name=RollingAppender
|
||||
appender.rolling.fileName=./target/reports/alfresco-tas.log
|
||||
appender.rolling.filePattern=./target/reports/alfresco-tas.log.%i
|
||||
appender.rolling.layout.type=PatternLayout
|
||||
appender.rolling.layout.pattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
appender.rolling.policies.type = Policies
|
||||
appender.rolling.policies.size.type=SizeBasedTriggeringPolicy
|
||||
appender.rolling.policies.size.size=10MB
|
||||
appender.rolling.strategy.type=DefaultRolloverStrategy
|
||||
appender.rolling.strategy.max=10
|
||||
|
||||
###### Console appender definition #######
|
||||
appender.console.type=Console
|
||||
appender.console.name=ConsoleAppender
|
||||
appender.console.layout.type=PatternLayout
|
||||
appender.console.layout.pattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
|
||||
# TestRail particular log file
|
||||
# Direct log messages to a log file
|
||||
logger.testrail.name=testrail
|
||||
logger.testrail.level=info
|
||||
logger.testrail.additivity=false
|
||||
logger.testrail.appenderRef.testrail.ref=TestrailAppender
|
||||
|
||||
appender.testrail.name=TestrailAppender
|
||||
appender.testrail.type=RollingFile
|
||||
appender.testrail.fileName=./target/reports/alfresco-testrail.log
|
||||
appender.testrail.filePattern=./target/reports/alfresco-testrail.log.%i
|
||||
appender.testrail.layout.type=PatternLayout
|
||||
appender.testrail.layout.pattern=%d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
appender.testrail.policies.type=Policies
|
||||
appender.testrail.policies.size.type=SizeBasedTriggeringPolicy
|
||||
appender.testrail.policies.size.size=10MB
|
||||
appender.testrail.strategy.type=DefaultRolloverStrategy
|
||||
appender.testrail.strategy.max=10
|
@@ -9,7 +9,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>content-repository-community-tests</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<developers>
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
<properties>
|
||||
<suiteXmlFile>${project.basedir}/src/test/resources/integration-suite.xml</suiteXmlFile>
|
||||
<dependency.groovy.version>2.5.14</dependency.groovy.version>
|
||||
<dependency.groovy.version>3.0.12</dependency.groovy.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
@@ -101,7 +101,7 @@
|
||||
<dependency>
|
||||
<groupId>com.jayway.jsonpath</groupId>
|
||||
<artifactId>json-path</artifactId>
|
||||
<version>2.5.0</version>
|
||||
<version>${dependency.jakarta-json-path.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -114,8 +114,10 @@
|
||||
<suiteXmlFiles>
|
||||
<suiteXmlFile>${suiteXmlFile}</suiteXmlFile>
|
||||
</suiteXmlFiles>
|
||||
<!-- Keeping illegal-access=warn for Java 11 compatibility, even though it has no effect on JDK 17 -->
|
||||
<argLine>
|
||||
--illegal-access=warn
|
||||
--add-opens=java.base/java.lang=ALL-UNNAMED
|
||||
</argLine>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
@@ -1,26 +0,0 @@
|
||||
# Root logger option
|
||||
log4j.rootLogger=INFO, file, stdout
|
||||
|
||||
# Direct log messages to a log file
|
||||
log4j.appender.file=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.file.File=./target/reports/alfresco-tas.log
|
||||
log4j.appender.file.MaxBackupIndex=10
|
||||
log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.file.layout.ConversionPattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
# Direct log messages to stdout
|
||||
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.stdout.Target=System.out
|
||||
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.stdout.layout.ConversionPattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
# TestRail particular log file
|
||||
# Direct log messages to a log file
|
||||
log4j.appender.testrailLog=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.testrailLog.File=./target/reports/alfresco-testrail.log
|
||||
log4j.appender.testrailLog.MaxBackupIndex=10
|
||||
log4j.appender.testrailLog.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.testrailLog.layout.ConversionPattern=%d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
log4j.category.testrail=INFO, testrailLog
|
||||
log4j.additivity.testrail=false
|
42
tests/tas-integration/src/test/resources/log4j2.properties
Normal file
42
tests/tas-integration/src/test/resources/log4j2.properties
Normal file
@@ -0,0 +1,42 @@
|
||||
# Root logger option
|
||||
rootLogger.level=info
|
||||
rootLogger.appenderRef.stdout.ref=ConsoleAppender
|
||||
rootLogger.appenderRef.rolling.ref=RollingAppender
|
||||
|
||||
###### File appender definition #######
|
||||
appender.rolling.type=RollingFile
|
||||
appender.rolling.name=RollingAppender
|
||||
appender.rolling.fileName=./target/reports/alfresco-tas.log
|
||||
appender.rolling.filePattern=./target/reports/alfresco-tas.log.%i
|
||||
appender.rolling.layout.type=PatternLayout
|
||||
appender.rolling.layout.pattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
appender.rolling.policies.type = Policies
|
||||
appender.rolling.policies.size.type=SizeBasedTriggeringPolicy
|
||||
appender.rolling.policies.size.size=10MB
|
||||
appender.rolling.strategy.type=DefaultRolloverStrategy
|
||||
appender.rolling.strategy.max=10
|
||||
|
||||
###### Console appender definition #######
|
||||
appender.console.type=Console
|
||||
appender.console.name=ConsoleAppender
|
||||
appender.console.layout.type=PatternLayout
|
||||
appender.console.layout.pattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
|
||||
# TestRail particular log file
|
||||
# Direct log messages to a log file
|
||||
logger.testrail.name=testrail
|
||||
logger.testrail.level=info
|
||||
logger.testrail.additivity=false
|
||||
logger.testrail.appenderRef.testrail.ref=TestrailAppender
|
||||
|
||||
appender.testrail.name=TestrailAppender
|
||||
appender.testrail.type=RollingFile
|
||||
appender.testrail.fileName=./target/reports/alfresco-testrail.log
|
||||
appender.testrail.filePattern=./target/reports/alfresco-testrail.log.%i
|
||||
appender.testrail.layout.type=PatternLayout
|
||||
appender.testrail.layout.pattern=%d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
appender.testrail.policies.type=Policies
|
||||
appender.testrail.policies.size.type=SizeBasedTriggeringPolicy
|
||||
appender.testrail.policies.size.size=10MB
|
||||
appender.testrail.strategy.type=DefaultRolloverStrategy
|
||||
appender.testrail.strategy.max=10
|
@@ -9,7 +9,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>content-repository-community-tests</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<developers>
|
||||
@@ -49,7 +49,7 @@
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.alfresco.tas</groupId>
|
||||
<artifactId>alfresco-community-repo-restapi-test</artifactId>
|
||||
<artifactId>restapi</artifactId>
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
@@ -84,8 +84,10 @@
|
||||
<suiteXmlFiles>
|
||||
<suiteXmlFile>${suiteXmlFile}</suiteXmlFile>
|
||||
</suiteXmlFiles>
|
||||
<!-- Keeping illegal-access=warn for Java 11 compatibility, even though it has no effect on JDK 17 -->
|
||||
<argLine>
|
||||
--illegal-access=warn
|
||||
--add-opens=java.base/java.lang=ALL-UNNAMED
|
||||
</argLine>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
@@ -1,26 +0,0 @@
|
||||
# Root logger option
|
||||
log4j.rootLogger=INFO, file, stdout
|
||||
|
||||
# Direct log messages to a log file
|
||||
log4j.appender.file=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.file.File=./target/reports/alfresco-tas.log
|
||||
log4j.appender.file.MaxBackupIndex=10
|
||||
log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.file.layout.ConversionPattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
# Direct log messages to stdout
|
||||
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.stdout.Target=System.out
|
||||
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.stdout.layout.ConversionPattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
# TestRail particular log file
|
||||
# Direct log messages to a log file
|
||||
log4j.appender.testrailLog=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.testrailLog.File=./target/reports/alfresco-testrail.log
|
||||
log4j.appender.testrailLog.MaxBackupIndex=10
|
||||
log4j.appender.testrailLog.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.testrailLog.layout.ConversionPattern=%d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
log4j.category.testrail=INFO, testrailLog
|
||||
log4j.additivity.testrail=false
|
42
tests/tas-restapi/src/test/resources/log4j2.properties
Normal file
42
tests/tas-restapi/src/test/resources/log4j2.properties
Normal file
@@ -0,0 +1,42 @@
|
||||
# Root logger option
|
||||
rootLogger.level=info
|
||||
rootLogger.appenderRef.stdout.ref=ConsoleAppender
|
||||
rootLogger.appenderRef.rolling.ref=RollingAppender
|
||||
|
||||
###### File appender definition #######
|
||||
appender.rolling.type=RollingFile
|
||||
appender.rolling.name=RollingAppender
|
||||
appender.rolling.fileName=./target/reports/alfresco-tas.log
|
||||
appender.rolling.filePattern=./target/reports/alfresco-tas.log.%i
|
||||
appender.rolling.layout.type=PatternLayout
|
||||
appender.rolling.layout.pattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
appender.rolling.policies.type = Policies
|
||||
appender.rolling.policies.size.type=SizeBasedTriggeringPolicy
|
||||
appender.rolling.policies.size.size=10MB
|
||||
appender.rolling.strategy.type=DefaultRolloverStrategy
|
||||
appender.rolling.strategy.max=10
|
||||
|
||||
###### Console appender definition #######
|
||||
appender.console.type=Console
|
||||
appender.console.name=ConsoleAppender
|
||||
appender.console.layout.type=PatternLayout
|
||||
appender.console.layout.pattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
|
||||
# TestRail particular log file
|
||||
# Direct log messages to a log file
|
||||
logger.testrail.name=testrail
|
||||
logger.testrail.level=info
|
||||
logger.testrail.additivity=false
|
||||
logger.testrail.appenderRef.testrail.ref=TestrailAppender
|
||||
|
||||
appender.testrail.name=TestrailAppender
|
||||
appender.testrail.type=RollingFile
|
||||
appender.testrail.fileName=./target/reports/alfresco-testrail.log
|
||||
appender.testrail.filePattern=./target/reports/alfresco-testrail.log.%i
|
||||
appender.testrail.layout.type=PatternLayout
|
||||
appender.testrail.layout.pattern=%d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
appender.testrail.policies.type=Policies
|
||||
appender.testrail.policies.size.type=SizeBasedTriggeringPolicy
|
||||
appender.testrail.policies.size.size=10MB
|
||||
appender.testrail.strategy.type=DefaultRolloverStrategy
|
||||
appender.testrail.strategy.max=10
|
@@ -9,7 +9,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>content-repository-community-tests</artifactId>
|
||||
<version>7.1.0-A13</version>
|
||||
<version>7.4.0-A33</version>
|
||||
</parent>
|
||||
|
||||
<developers>
|
||||
|
@@ -1,26 +0,0 @@
|
||||
# Root logger option
|
||||
log4j.rootLogger=INFO, file, stdout
|
||||
|
||||
# Direct log messages to a log file
|
||||
log4j.appender.file=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.file.File=./target/reports/alfresco-tas.log
|
||||
log4j.appender.file.MaxBackupIndex=10
|
||||
log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.file.layout.ConversionPattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
# Direct log messages to stdout
|
||||
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.stdout.Target=System.out
|
||||
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.stdout.layout.ConversionPattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
# TestRail particular log file
|
||||
# Direct log messages to a log file
|
||||
log4j.appender.testrailLog=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.testrailLog.File=./target/reports/alfresco-testrail.log
|
||||
log4j.appender.testrailLog.MaxBackupIndex=10
|
||||
log4j.appender.testrailLog.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.testrailLog.layout.ConversionPattern=%d{HH:mm:ss} %-5p %c{1}:%L - %m%n
|
||||
|
||||
log4j.category.testrail=INFO, testrailLog
|
||||
log4j.additivity.testrail=false
|
42
tests/tas-webdav/src/test/resources/log4j2.properties
Normal file
42
tests/tas-webdav/src/test/resources/log4j2.properties
Normal file
@@ -0,0 +1,42 @@
|
||||
# Root logger option
|
||||
rootLogger.level=info
|
||||
rootLogger.appenderRef.stdout.ref=ConsoleAppender
|
||||
rootLogger.appenderRef.rolling.ref=RollingAppender
|
||||
|
||||
###### File appender definition #######
|
||||
appender.rolling.type=RollingFile
|
||||
appender.rolling.name=RollingAppender
|
||||
appender.rolling.fileName=./target/reports/alfresco-tas.log
|
||||
appender.rolling.filePattern=./target/reports/alfresco-tas.log.%i
|
||||
appender.rolling.layout.type=PatternLayout
|
||||
appender.rolling.layout.pattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
appender.rolling.policies.type = Policies
|
||||
appender.rolling.policies.size.type=SizeBasedTriggeringPolicy
|
||||
appender.rolling.policies.size.size=10MB
|
||||
appender.rolling.strategy.type=DefaultRolloverStrategy
|
||||
appender.rolling.strategy.max=10
|
||||
|
||||
###### Console appender definition #######
|
||||
appender.console.type=Console
|
||||
appender.console.name=ConsoleAppender
|
||||
appender.console.layout.type=PatternLayout
|
||||
appender.console.layout.pattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
|
||||
# TestRail particular log file
|
||||
# Direct log messages to a log file
|
||||
logger.testrail.name=testrail
|
||||
logger.testrail.level=info
|
||||
logger.testrail.additivity=false
|
||||
logger.testrail.appenderRef.testrail.ref=TestrailAppender
|
||||
|
||||
appender.testrail.name=TestrailAppender
|
||||
appender.testrail.type=RollingFile
|
||||
appender.testrail.fileName=./target/reports/alfresco-testrail.log
|
||||
appender.testrail.filePattern=./target/reports/alfresco-testrail.log.%i
|
||||
appender.testrail.layout.type=PatternLayout
|
||||
appender.testrail.layout.pattern=%d{HH:mm:ss} %-5p %c{1}:%L - %replace{%m}{[\r\n]+}{}%n
|
||||
appender.testrail.policies.type=Policies
|
||||
appender.testrail.policies.size.type=SizeBasedTriggeringPolicy
|
||||
appender.testrail.policies.size.size=10MB
|
||||
appender.testrail.strategy.type=DefaultRolloverStrategy
|
||||
appender.testrail.strategy.max=10
|
Reference in New Issue
Block a user