Compare commits

...

87 Commits

Author SHA1 Message Date
Travis CI User
a260d2938c [maven-release-plugin][skip ci] prepare release 7.2.0-A12 2022-01-12 08:43:17 +00:00
Travis CI User
c3bff50bfe [release] 7.2.0-A12
Update upstream versions
    - alfresco-community-repo:   14.76
    - alfresco-enterprise-share: 14.43
    - acs-packaging:             7.2.0-A12
    - RELEASE_VERSION:           7.2.0-A12
    - DEVELOPMENT_VERSION:       7.2.0-A13-SNAPSHOT
2022-01-12 06:55:19 +00:00
dependabot[bot]
d68920fa16 Bump assertj-core from 3.13.2 to 3.22.0 (#1458)
Bumps [assertj-core](https://github.com/assertj/assertj-core) from 3.13.2 to 3.22.0.
- [Release notes](https://github.com/assertj/assertj-core/releases)
- [Commits](https://github.com/assertj/assertj-core/compare/assertj-core-3.13.2...assertj-core-3.22.0)

---
updated-dependencies:
- dependency-name: org.assertj:assertj-core
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-11 22:27:31 +00:00
dependabot[bot]
22b42d274f Bump maven-model from 3.8.2 to 3.8.4 (#1455)
Bumps [maven-model](https://github.com/apache/maven) from 3.8.2 to 3.8.4.
- [Release notes](https://github.com/apache/maven/releases)
- [Commits](https://github.com/apache/maven/compare/maven-3.8.2...maven-3.8.4)

---
updated-dependencies:
- dependency-name: org.apache.maven:maven-model
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
[skip ci]
2022-01-11 22:27:04 +00:00
dependabot[bot]
0df449e1e0 Bump groovy from 2.5.14 to 3.0.9 (#1448)
Bumps [groovy](https://github.com/apache/groovy) from 2.5.14 to 3.0.9.
- [Release notes](https://github.com/apache/groovy/releases)
- [Commits](https://github.com/apache/groovy/commits)

---
updated-dependencies:
- dependency-name: org.codehaus.groovy:groovy
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
[skip ci]
2022-01-11 22:26:35 +00:00
dependabot[bot]
c07a9d4e22 Bump dependency.sis.version from 1.0 to 1.1 (#1443)
Bumps `dependency.sis.version` from 1.0 to 1.1.

Updates `sis-utility` from 1.0 to 1.1

Updates `sis-metadata` from 1.0 to 1.1

Updates `sis-storage` from 1.0 to 1.1

---
updated-dependencies:
- dependency-name: org.apache.sis.core:sis-utility
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.sis.core:sis-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.sis.storage:sis-storage
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
[skip ci]
2022-01-11 22:25:44 +00:00
Tom Page
00158d6390 Update share to 14.42. 2022-01-11 15:56:20 +00:00
Tom Page
5645836ac4 [skip tests] Skip license header check when building upstream project. 2022-01-10 15:56:21 +00:00
Travis CI User
0b83737fba [maven-release-plugin][skip ci] prepare for next development iteration 2022-01-10 00:19:54 +00:00
Travis CI User
227a82bffd [maven-release-plugin][skip ci] prepare release 7.2.0-A11 2022-01-10 00:19:52 +00:00
Travis CI User
bf453a519d [release] 7.2.0-A11
Update upstream versions
    - alfresco-community-repo:   14.75
    - alfresco-enterprise-share: 14.40
    - acs-packaging:             7.2.0-A11
    - RELEASE_VERSION:           7.2.0-A11
    - DEVELOPMENT_VERSION:       7.2.0-A12-SNAPSHOT
2022-01-09 22:33:10 +00:00
alandavis
5ada61ecef Bump t-engines from 2.5.4 to 2.5.5-A1 2022-01-06 09:35:27 +00:00
Travis CI User
0f8ea28abe [maven-release-plugin][skip ci] prepare for next development iteration 2021-12-21 18:14:00 +00:00
Travis CI User
e6920f0c71 [maven-release-plugin][skip ci] prepare release 7.2.0-A10 2021-12-21 18:13:58 +00:00
Travis CI User
357ed8478c [release] 7.2.0-A10
Update upstream versions
    - alfresco-community-repo:   14.63
    - alfresco-enterprise-share: 14.36
    - acs-packaging:             7.2.0-A10
    - RELEASE_VERSION:           7.2.0-A10
    - DEVELOPMENT_VERSION:       7.2.0-A11-SNAPSHOT
2021-12-21 16:30:25 +00:00
Travis CI User
b9523d659a [release] 7.2.0-A9
Update upstream versions
    - alfresco-community-repo:   14.58
    - alfresco-enterprise-share: 14.32
    - acs-packaging:             7.2.0-A9
    - RELEASE_VERSION:           7.2.0-A9
    - DEVELOPMENT_VERSION:       7.2.0-A10-SNAPSHOT
2021-12-13 15:34:53 +00:00
Piotr Żurek
c2ffbf02ef ATS-969 - mention tika upgrade in the changelog (#1457) 2021-12-08 10:29:18 +01:00
Travis CI User
809b3062cd [release] 7.2.0-A8
Update upstream versions
    - alfresco-community-repo:   14.39
    - alfresco-enterprise-share: 14.25
    - acs-packaging:             7.2.0-A8
    - RELEASE_VERSION:           7.2.0-A8
    - DEVELOPMENT_VERSION:       7.2.0-A9-SNAPSHOT
2021-11-25 17:21:54 +00:00
Travis CI User
fe72a557c5 [release] 7.2.0-A7
Update upstream versions
    - alfresco-community-repo:   14.34
    - alfresco-enterprise-share: 14.23
    - acs-packaging:             7.2.0-A7
    - RELEASE_VERSION:           7.2.0-A7
    - DEVELOPMENT_VERSION:       7.2.0-A8-SNAPSHOT
2021-11-22 18:22:40 +00:00
Travis CI User
8e1bfeb88e [maven-release-plugin][skip ci] prepare for next development iteration 2021-11-22 13:01:58 +00:00
Travis CI User
401fc13d24 [maven-release-plugin][skip ci] prepare release 7.2.0-A7 2021-11-22 13:01:56 +00:00
Travis CI User
93d3e02402 [release] 7.2.0-M1
Update upstream versions
    - alfresco-community-repo:   14.33
    - alfresco-enterprise-share: 14.22
    - acs-packaging:             7.2.0-M1
    - RELEASE_VERSION:           7.2.0-A7
    - DEVELOPMENT_VERSION:       7.2.0-A8-SNAPSHOT
2021-11-22 11:17:43 +00:00
alandavis
9f0cafa954 ACS-2268 Disable Intermittent failure: ImapReadMessagesAcsTests.siteManagerCanViewWikiPages [skip ci] 2021-11-16 14:54:25 +00:00
Abdul Mohammed
8fc08ab6cf ACS-106: No tests check that the distribution zip contains files from the main components (#1452)
* Community Distribution Zip basic tests added

* Includes fix for a real bug found by the new test. The share.war not being unpacked unless the acs-community-packaging and acs-packaging versions were identical

Co-authored-by: alandavis <alan.davis@alfresco.com>
2021-11-16 14:20:40 +00:00
alandavis
c08dd55b8e Pick up 2.5.4 t-engines for testing
[skip docker_latest]
2021-11-16 13:30:58 +00:00
alandavis
f959da443c DEVELOPMENT_VERSION should have been 7.2.0-A7-SNAPSHOT [skip ci] 2021-11-16 10:58:00 +00:00
Travis CI User
66cee04556 [maven-release-plugin][skip ci] prepare for next development iteration 2021-11-16 07:29:39 +00:00
Travis CI User
8b7efa4e94 [maven-release-plugin][skip ci] prepare release 7.2.0-M1 2021-11-16 07:29:36 +00:00
Travis CI User
c193bcaf52 [release] 7.2.0-M1
Update upstream versions
    - alfresco-community-repo:   14.30
    - alfresco-enterprise-share: 14.20
    - acs-packaging:             7.2.0-M1
    - RELEASE_VERSION:           7.2.0-M1
    - DEVELOPMENT_VERSION:       7.2.0-M2-SNAPSHOT
2021-11-16 05:45:12 +00:00
Travis CI User
d9843034ae [maven-release-plugin][skip ci] prepare for next development iteration 2021-11-02 14:17:13 +00:00
Travis CI User
024d3e4d2d [maven-release-plugin][skip ci] prepare release 7.2.0-A6 2021-11-02 14:17:10 +00:00
Travis CI User
55b1580c22 Update upstream versions
- alfresco-community-repo:   14.26
    - alfresco-enterprise-share: 14.16
    - acs-packaging:             7.2.0-A6
    - RELEASE_VERSION:           7.2.0-A6
    - DEVELOPMENT_VERSION:       7.2.0-A7-SNAPSHOT
2021-11-02 11:34:46 +00:00
alandavis
33ebedee3c Update upstream versions
- alfresco-community-repo:   14.26
2021-11-01 23:50:10 +00:00
alandavis
ae40abc1dd Update upstream versions
- alfresco-community-repo:   14.26
2021-11-01 23:39:30 +00:00
Alan Davis
2f7b625465 PRODSEC-4343 Build the MMT tool in alfreaco-community-repo so it picks up the latest libraries (#1453)
* replace dependency.alfresco-mmt.version references with dependency.alfresco-community-repo.version
[skip ci]
2021-11-01 18:49:55 +00:00
alandavis
3b57620a06 Tidy up of README files on how to build projects [skip ci] 2021-10-29 13:55:21 +01:00
Travis CI User
3c95f04005 [maven-release-plugin][skip ci] prepare for next development iteration 2021-10-29 09:39:21 +00:00
Travis CI User
28e18308b4 [maven-release-plugin][skip ci] prepare release 7.2.0-A5 2021-10-29 09:39:19 +00:00
Travis CI User
ff833729fe Update upstream versions
- alfresco-community-repo:   14.25
    - alfresco-enterprise-share: 14.15
    - acs-packaging:             7.2.0-A5
    - RELEASE_VERSION:           7.2.0-A5
    - DEVELOPMENT_VERSION:       7.2.0-A6-SNAPSHOT
2021-10-29 07:52:11 +00:00
alandavis
f2292c288b Addition of linkPoms.sh [skip ci] 2021-10-29 08:07:21 +01:00
Stefan Kopf
a8df8cb7ed Fix community build outside of Alfresco (#1451)
Enable a plain vanilla machine without access to Alfresco internal artifacts to build ACS community
2021-10-28 18:19:14 +01:00
Travis CI User
baf76608f7 [maven-release-plugin][skip ci] prepare for next development iteration 2021-10-20 08:56:29 +00:00
Travis CI User
ddae3ae0ab [maven-release-plugin][skip ci] prepare release 7.2.0-A4 2021-10-20 08:56:26 +00:00
alandavis
b4b6ff0d27 Temporary Change: Need to read 'docflex-javadoc' from Alfresco Internal Releases
Revert "settings.xml should reference .../groups/public not .../groups/internal so an account is not needed"

This reverts commit 7362b4c989.

[release] 7.2.0-A4
2021-10-20 00:08:36 +01:00
Travis CI User
ac00a34bc4 Update upstream versions
- alfresco-community-repo:   14.14
    - alfresco-enterprise-share: 14.10
    - acs-packaging:             7.2.0-A4
    - RELEASE_VERSION:           7.2.0-A4
    - DEVELOPMENT_VERSION:       7.2.0-A5-SNAPSHOT
2021-10-19 19:48:11 +00:00
alandavis
7362b4c989 settings.xml should reference .../groups/public not .../groups/internal so an account is not needed 2021-10-14 12:59:35 +01:00
alandavis
cc86cd2342 Dev tomcat env needs maven-war-plugin < 3.3.0
Versions >= than 3.3.0 were causing ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

[skip ci]
2021-10-13 14:41:12 +01:00
Travis CI User
2c6c14bb62 [maven-release-plugin][skip ci] prepare for next development iteration 2021-10-13 11:07:46 +00:00
Travis CI User
dec86c6d94 [maven-release-plugin][skip ci] prepare release 7.2.0-A1 2021-10-13 11:07:43 +00:00
Travis CI User
888433f498 Update upstream versions
- alfresco-community-repo:   14.12
    - alfresco-enterprise-share: 14.9
    - acs-packaging:             7.2.0-A1
    - RELEASE_VERSION:               - RELEASE_VERSION=7.2.0-A1
    - DEVELOPMENT_VERSION:           - DEVELOPMENT_VERSION=7.2.0-SNAPSHOT
2021-10-13 06:48:36 +00:00
alandavis
8cfb437139 Switch to using dependency.acs-packaging.version property
To help update acs-community-packaging properties on release of acs-packaging

[skip ci]
2021-10-12 15:00:53 +01:00
alandavis
a5aed73a3f Dependabot: Ignore upstream projects [skip ci] 2021-10-08 17:59:24 +01:00
dependabot-preview[bot]
5cacfb329c Upgrade to GitHub-native Dependabot (#1312)
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-10-08 16:10:09 +01:00
alandavis
0fa84b8499 Use a common property for json-path as it is used in community and enterprise repo and packaging
[skip ci] waiting for upstream build
2021-10-08 15:26:37 +01:00
alandavis
b87f0d5c77 prep work 7.1.0 -> 7.2.0 [skip ci] 2021-10-01 07:51:46 +01:00
alandavis
0f3d72179e Update upstream versions
- alfresco-community-repo:  14.5
    - alfresco-enterprise-share: 14.4
2021-10-01 07:37:12 +01:00
alandavis
a94d0c474a Get master ready for 7.2.0 development
[skip ci]
2021-09-28 22:58:25 +01:00
Travis CI User
53874729fb [maven-release-plugin][skip ci] prepare for next development iteration 2021-09-28 18:05:09 +00:00
Travis CI User
3615d4630e [maven-release-plugin][skip ci] prepare release 7.1.0 2021-09-28 18:05:06 +00:00
alandavis
30678974aa [release][publish] 7.1.0
[skip tests] as we have just run them
2021-09-28 17:50:37 +01:00
Travis CI User
da07943c0f [maven-release-plugin][skip ci] prepare for next development iteration 2021-09-28 16:21:41 +00:00
Travis CI User
6f6b6edbfd [maven-release-plugin][skip ci] prepare release 7.1.0-A16 2021-09-28 16:21:38 +00:00
alandavis
1db65b1eff [release] 7.1.0-A16
Update upstream versions

    - alfresco-community-repo:  11.140
    - alfresco-enterprise-share: 11.77
    - share 7.1.0.1
2021-09-28 15:36:48 +01:00
Travis CI User
679fb6613f [maven-release-plugin][skip ci] prepare for next development iteration 2021-09-09 08:01:29 +00:00
Travis CI User
321e417edd [maven-release-plugin][skip ci] prepare release 7.1.0-A14 2021-09-09 08:01:27 +00:00
alandavis
beb57dc709 [release] 7.1.0-A14
[skip docker_latest][skip tests] we have just done this

Previous commit did not include the travis.yml file
2021-09-09 08:01:39 +01:00
Travis CI User
bb2c33aab4 [maven-release-plugin][skip ci] prepare for next development iteration 2021-09-08 21:47:28 +00:00
Travis CI User
c8f68468ad [maven-release-plugin][skip ci] prepare release 7.1.0-A13 2021-09-08 21:47:26 +00:00
alandavis
9a8993220b [release] 7.1.0-A14 2021-09-08 20:37:18 +01:00
alandavis
2a259fa0a5 Use alfresco-community-share in comS and comSD aliases
[skip ci]
2021-09-08 17:06:25 +01:00
pzhyland
667a96354e ACS-1961 Use maven-war-plugin version from community repo in tomcat dev env (#1442)
[skip ci]
2021-09-08 17:01:08 +01:00
alandavis
fd09641729 [release] 7.1.0-A13 2021-09-04 15:23:57 +01:00
Ayman Harake
d54b95abee ATS-958: Bump T-core to 2.5.3 (#1441) 2021-09-03 10:26:39 +01:00
alandavis
06e59f5a57 [release] 7.1.0-A12 2021-09-03 08:57:56 +01:00
CezarLeahu
3aba0d8ec0 APPS-1068 Enable docker updates for AGS latest images (#1440)
Enable the updating of AGS-specific images with the tag `latest` from the **master** branch (on Quay only):
* `quay.io/alfresco/alfresco-governance-repository-community`
* `quay.io/alfresco/alfresco-governance-share-community`
2021-08-26 13:59:23 +03:00
Travis CI User
8dbcb3f209 [maven-release-plugin][skip ci] prepare for next development iteration 2021-08-26 10:33:18 +00:00
Travis CI User
5e08726b87 [maven-release-plugin][skip ci] prepare release 7.1.0-A11 2021-08-26 10:33:16 +00:00
rrajoria
8752368c66 [release] 7.1.0-A11 2021-08-26 14:12:42 +05:30
Travis CI User
55f82d8d18 [maven-release-plugin][skip ci] prepare for next development iteration 2021-08-25 11:38:24 +00:00
Travis CI User
f17749e6ff [maven-release-plugin][skip ci] prepare release 7.1.0-A10 2021-08-25 11:38:22 +00:00
cezar.leahu
92c23a23b5 [release] 7.1.0-A10 2021-08-25 12:52:04 +03:00
Eliza Stan
4baa5a8275 APPS-1068 Publish AGS-specific docker images from acs-packaging (#1431)
Co-authored-by: cezar.leahu <cezar.leahu@ness.com>
2021-08-25 10:23:18 +03:00
dependabot-preview[bot]
ecdd3ff346 Bump dependency.alfresco-community-share.version from 11.44 to 11.46 (#1433) 2021-07-26 22:47:53 +00:00
dependabot-preview[bot]
db75f4d3ae Bump dependency.alfresco-community-share.version from 11.38 to 11.44 (#1426) 2021-07-15 22:43:31 +00:00
Alan Davis
f73a8e08bd ACS-1822 ACS 7.1 Supported Platforms: PostgreSQL 13.3 (#1424) 2021-07-15 18:30:42 +01:00
Davide
d1be46250f SEARCH-2878 Update the supported version for SearchService to 2.0.2 (#1421) 2021-07-14 17:43:59 +02:00
Travis CI User
3e3296e4c2 [maven-release-plugin][skip ci] prepare for next development iteration 2021-07-13 18:46:20 +00:00
42 changed files with 1134 additions and 103 deletions

62
.github/dependabot.yml vendored Normal file
View 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

View File

@@ -28,9 +28,9 @@ 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-A9
- DEVELOPMENT_VERSION=7.1.0-SNAPSHOT
# Release version has to start with real version (7.2.0-....) for the docker image to build successfully.
- RELEASE_VERSION=7.2.0-A12
- DEVELOPMENT_VERSION=7.2.0-A13-SNAPSHOT
stages:
- name: test
@@ -119,9 +119,15 @@ jobs:
script:
- travis_wait 30 mvn -B install -f tests/tas-integration/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
- name: "Community Distribution Zip content tests"
before_script:
- travis_retry travis_wait 20 mvn -B -V clean install -Pags -DskipTests -Dmaven.javadoc.skip=true
script:
- travis_wait 20 mvn -B install -f tests/tas-distribution-zip/pom.xml -Prun-distribution-zip-contents-check -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 -Ppush-docker-images
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

View File

@@ -1,3 +1,26 @@
<h1> 7.2.0 Community
</h1>
<h2>
New Features
</h2>
<li>Upgrade of 3rd party libraries</li>
<br>
The Tika 1.26 library has been upgraded to the Tika 2.1.0. This upgrade brings
some changes in available libraries. If you depend indirectly on transitive
dependencies of Tika 1.26 then you should consider expressing your dependencies
in an explicit way. For more details please see the Tika migration guides:
<a href='https://cwiki.apache.org/confluence/display/TIKA/Migrating+to+Tika+2.0.0'>Migrating
to Tika 2.0.0</a> and
<a href='https://cwiki.apache.org/confluence/display/TIKA/Tika2_0MigrationGuide'>Tika
2.0 Migration Guide</a>
<ul>
<li>org.apache.tika:tika-core:1.26 upgraded to org.apache.tika:tika-core:2.1.0</li>
<li>org.apache.tika:tika-parsers:1.26 replaced by org.apache.tika:tika-parsers-standard-package:2.1.0</li>
</ul>
</br>
<h1> 7.1.0 Community
</h1>
<h2>

View File

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

View File

@@ -2,33 +2,82 @@
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.
~~~
@@ -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,41 +107,32 @@ $ 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
@@ -100,15 +142,3 @@ Any changes made to alfresco-global properties or log4j will not be picked up, u
directly edit `dev/dev-acs-amps-overlay/target/dev-instance/tomcat/shared/classes/alfresco/extension/custom-log4j.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
~~~

View File

@@ -19,12 +19,12 @@
#
# Aliases to build projects WITHOUT creating docker images or TAS tests jars
# comR - alfresco-community-repo
# comS - share
# comS - alfresco-community-share
# comP - acs-community-packaging
#
# Aliases to build projects including DOCKER images and TAS tests jars
# comRD - alfresco-community-repo
# comSD - share
# comSD - alfresco-community-share
# comPD - acs-community-packaging
# Aliases to start tomcat in a CLEAN environment - remember to start a docker-compose environment - see envUp
@@ -42,11 +42,11 @@ then
fi
alias comR='(cd alfresco-community-repo && mvn clean install $AMPS -DskipTests=true -Dversion.edition=Community)'
alias comS='(cd share && mvn clean install $AMPS -DskipTests -Dmaven.javadoc.skip=true)'
alias comS='(cd alfresco-community-share && mvn clean install $AMPS -DskipTests -Dmaven.javadoc.skip=true)'
alias comP='(cd acs-community-packaging && mvn clean install $AMPS -Dmaven.javadoc.skip=true)'
alias comRD='(cd alfresco-community-repo && mvn clean install $AMPS -DskipTests=true -Dversion.edition=Community -Pall-tas-tests -Pbuild-docker-images -Dimage.tag=latest)'
alias comSD='(cd share && mvn clean install $AMPS -DskipTests=true -DskipTests -Dmaven.javadoc.skip=true -Pall-tas-tests -Pbuild-docker-images -Dimage.tag=latest -Drepo.image.tag=latest)'
alias comSD='(cd alfresco-community-share && mvn clean install $AMPS -DskipTests=true -DskipTests -Dmaven.javadoc.skip=true -Pall-tas-tests -Pbuild-docker-images -Dimage.tag=latest -Drepo.image.tag=latest)'
alias comPD='(cd acs-community-packaging && mvn clean install $AMPS -DskipTests=true -Dmaven.javadoc.skip=true -Pall-tas-tests -Pbuild-docker-images -Dimage.tag=latest -Drepo.image.tag=latest -Dshare.image.tag=latest)'
alias comT='(cd acs-community-packaging && mvn clean install -Prun $AMPS -rf dev)'

View File

@@ -7,11 +7,11 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
<version>7.1.0-A9</version>
<version>7.2.0-A12</version>
</parent>
<properties>
<dependency.sis.version>1.0</dependency.sis.version>
<dependency.sis.version>1.1</dependency.sis.version>
<tomcat.version>7.0.86</tomcat.version>
<tomcat.default.solr6.port>8983</tomcat.default.solr6.port>
@@ -39,7 +39,6 @@
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<overlays>
<overlay>

View File

@@ -8,7 +8,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
<version>7.1.0-A9</version>
<version>7.2.0-A12</version>
</parent>
<build>

View File

@@ -8,7 +8,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
<version>7.1.0-A9</version>
<version>7.2.0-A12</version>
</parent>
<build>

View File

@@ -9,7 +9,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
<version>7.1.0-A9</version>
<version>7.2.0-A12</version>
</parent>
<properties>

View File

@@ -6,7 +6,7 @@ version: "2"
services:
transform-core-aio:
image: alfresco/alfresco-transform-core-aio:2.4.0
image: alfresco/alfresco-transform-core-aio:2.5.5-A1
mem_limit: 1536m
environment:
JAVA_OPTS: " -Xms256m -Xmx1536m"
@@ -14,7 +14,7 @@ services:
- 8090:8090
postgres:
image: postgres:13.1
image: postgres:13.3
mem_limit: 512m
environment:
- POSTGRES_PASSWORD=alfresco

View File

@@ -9,7 +9,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>7.1.0-A9</version>
<version>7.2.0-A12</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>

View File

@@ -8,7 +8,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>7.1.0-A9</version>
<version>7.2.0-A12</version>
</parent>
<dependencies>

View File

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

View File

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

View File

@@ -0,0 +1,29 @@
### Apply AGS community repo AMP to ACS image
FROM alfresco/alfresco-content-repository-community:${image.tag}
# Alfresco user does not have permissions to modify webapps or configuration. Switch to root.
# The access will be fixed after all operations are done.
USER root
COPY target/alfresco-governance-services-community-repo-*.amp /usr/local/tomcat/amps/
# Install amps on alfresco.war
RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \
/usr/local/tomcat/amps \
/usr/local/tomcat/webapps/alfresco -directory -nobackup
### Copy gs-api-explorer war into webapps folder
COPY target/gs-api-explorer-*.war /usr/local/tomcat/webapps/
### 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
# 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 && \
find /usr/local/tomcat/webapps -type d -exec chmod 0750 {} \; && \
find /usr/local/tomcat/webapps -type f -exec chmod 0640 {} \; && \
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

View File

@@ -0,0 +1,72 @@
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>content-services-community-docker-ags</artifactId>
<name>Alfresco Content Services Community Docker Image Builder for AGS</name>
<description>Alfresco Governance Services Community Repository Extension</description>
<packaging>pom</packaging>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>content-services-community-docker</artifactId>
<version>7.2.0-A12</version>
</parent>
<properties>
<image.name>alfresco/alfresco-governance-repository-community</image.name>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-war-files</id>
<phase>process-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>api-explorer</artifactId>
<version>${alfresco.api-explorer.version}</version>
<type>war</type>
<outputDirectory>${project.build.directory}/war/api-explorer</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<execution>
<id>copy-amps</id>
<phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-governance-services-community-rest-api-explorer</artifactId>
<version>${dependency.alfresco-community-repo.version}</version>
<type>war</type>
<destFileName>gs-api-explorer-${dependency.alfresco-community-repo.version}.war</destFileName>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-governance-services-community-repo</artifactId>
<version>${dependency.alfresco-community-repo.version}</version>
<type>amp</type>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -7,11 +7,12 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>7.1.0-A9</version>
<version>7.2.0-A12</version>
</parent>
<properties>
<image.name>alfresco/alfresco-content-repository-community</image.name>
<docker.quay-expires.value>NEVER</docker.quay-expires.value>
</properties>
<build>

View File

@@ -0,0 +1,14 @@
### Apply AGS community share AMP to Share image
FROM alfresco/alfresco-share-base:${share.image.tag}
LABEL quay.expires-after=${docker.quay-expires.value}
### Copy the AMP from build context to amps_share
COPY target/alfresco-governance-services-community-share-*.amp /usr/local/tomcat/amps_share/
### Install AMP on share
RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \
/usr/local/tomcat/amps_share/alfresco-governance-services-community-share-*.amp /usr/local/tomcat/webapps/share -nobackup
ENTRYPOINT ["/usr/local/tomcat/shared/classes/alfresco/substituter.sh", "catalina.sh run"]
EXPOSE 8000

158
docker-share/ags/pom.xml Normal file
View File

@@ -0,0 +1,158 @@
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>share-community-docker-ags</artifactId>
<packaging>pom</packaging>
<name>Alfresco Share Community Docker Image Builder for AGS</name>
<description>Alfresco Governance Services Share Community Extension</description>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>share-community-docker</artifactId>
<version>7.2.0-A12</version>
</parent>
<properties>
<image.name>alfresco/alfresco-governance-share-community</image.name>
<docker.quay-expires.value>NEVER</docker.quay-expires.value>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-amps</id>
<phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-governance-services-community-share</artifactId>
<version>${dependency.alfresco-community-share.version}</version>
<type>amp</type>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>build-docker-images</id>
<!-- builds "image:latest" locally -->
<build>
<plugins>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<configuration>
<images>
<image>
<name>${image.name}:${image.tag}</name>
</image>
</images>
</configuration>
<executions>
<execution>
<id>build-image</id>
<phase>install</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>push-docker-images</id>
<!-- publishes "image:latest" to Quay -->
<build>
<plugins>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<configuration>
<images>
<!-- Quay image -->
<image>
<name>${image.name}:${image.tag}</name>
<registry>${image.registry}</registry>
</image>
</images>
</configuration>
<executions>
<execution>
<id>build-push-image</id>
<phase>install</phase>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release</id>
<!-- publishes "image:release_version" to DockerHub and Quay -->
<build>
<plugins>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<executions>
<execution>
<id>build-push-image</id>
<phase>deploy</phase>
<configuration combine.self="override">
<images>
<!-- DockerHub image -->
<image>
<name>${image.name}:${project.version}</name>
</image>
</images>
</configuration>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
<execution>
<id>build-push-quay-image</id>
<phase>deploy</phase>
<configuration combine.self="override">
<images>
<!-- Quay image -->
<image>
<name>${image.name}:${project.version}</name>
<registry>${image.registry}</registry>
</image>
</images>
</configuration>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

12
docker-share/pom.xml Normal file
View File

@@ -0,0 +1,12 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>share-community-docker</artifactId>
<name>Alfresco Share Community Docker Image Builder</name>
<packaging>pom</packaging>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>7.2.0-A12</version>
</parent>
</project>

48
pom.xml
View File

@@ -3,28 +3,29 @@
<artifactId>acs-community-packaging</artifactId>
<packaging>pom</packaging>
<name>Alfresco Content Services Community Packaging</name>
<version>7.1.0-A9</version>
<version>7.2.0-A12</version>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo</artifactId>
<relativePath>../alfresco-community-repo/pom.xml</relativePath>
<version>11.86</version>
<version>14.76</version>
</parent>
<properties>
<dependency.alfresco-community-repo.version>11.86</dependency.alfresco-community-repo.version>
<dependency.alfresco-community-share.version>11.38</dependency.alfresco-community-share.version>
<alfresco.share.version>7.1.0-M2</alfresco.share.version> <!-- Share distribution zip from acs-packaging -->
<dependency.alfresco-community-repo.version>14.76</dependency.alfresco-community-repo.version>
<dependency.alfresco-community-share.version>14.43</dependency.alfresco-community-share.version>
<dependency.acs-packaging.version>7.2.0-A12</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>
</properties>
<scm>
<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-A9</tag>
<tag>7.2.0-A12</tag>
</scm>
<distributionManagement>
@@ -38,10 +39,33 @@
</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>
<profiles>
@@ -49,6 +73,8 @@
<id>ags</id>
<modules>
<module>distribution-ags</module>
<module>docker-alfresco/ags</module>
<module>docker-share/ags</module>
</modules>
</profile>
<profile>
@@ -60,6 +86,7 @@
<profile>
<id>release</id>
<modules>
<module>public-javadoc</module>
<module>dev</module>
</modules>
</profile>
@@ -132,6 +159,11 @@
<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>
@@ -171,7 +203,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>

View File

@@ -5,7 +5,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>7.1.0-A9</version>
<version>7.2.0-A12</version>
</parent>
<packaging>pom</packaging>

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

37
scripts/dev/unlinkPoms.sh Normal file
View 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

View File

@@ -32,13 +32,37 @@ 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}" "-Pbuild-docker-images -Pags -Dlicense.failOnNotUptodateHeader=true"
else
pullUpstreamTagAndBuildDockerImage "${UPSTREAM_REPO}" "${COM_DEPENDENCY_VERSION}" "-Pbuild-docker-images -Pags"
pullUpstreamTagAndBuildDockerImage "${UPSTREAM_REPO}" "${COM_DEPENDENCY_VERSION}" "-Pbuild-docker-images -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
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
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 -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 -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}
mvn -B -V -q install -DskipTests -Dmaven.javadoc.skip=true -Pbuild-docker-images -Pags ${REPO_IMAGE} ${SHARE_IMAGE}
popd

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
TRANSFORMERS_TAG=2.4.0
SOLR6_TAG=2.0.2-RC2
POSTGRES_TAG=13.1
TRANSFORMERS_TAG=2.5.5-A1
SOLR6_TAG=2.0.2
POSTGRES_TAG=13.3
ACTIVEMQ_TAG=5.16.1

View File

@@ -6,7 +6,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>acs-community-packaging</artifactId>
<version>7.1.0-A9</version>
<version>7.2.0-A12</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>

View File

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

View 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.2.0-A12</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.22.0</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.4</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>

View File

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

View File

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

View File

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

View File

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

View File

@@ -9,7 +9,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>content-repository-community-tests</artifactId>
<version>7.1.0-A9</version>
<version>7.2.0-A12</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.9</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>

View File

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

View File

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