Compare commits

...

45 Commits

Author SHA1 Message Date
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
36 changed files with 799 additions and 40 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-A5
- DEVELOPMENT_VERSION=7.2.0-A6-SNAPSHOT
stages:
- name: test
@@ -121,7 +121,7 @@ jobs:
- 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,8 @@
<h1> 7.2.0 Community
</h1>
<h2>
New Features
</h2>
<h1> 7.1.0 Community
</h1>
<h2>

View File

@@ -4,6 +4,16 @@
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.
## Link the projects
Generally you will want to link the different projects together by modifing the top level
pom.xml files of each downstream project so that they references 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/linkPoms.sh
~~~
## Build -repo projects
Build the `alfresco-community-repo` (if you have not
done so already), so that your changes are in the community alfresco.war file.

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,7 +7,7 @@
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-dev-community-tomcat-env</artifactId>
<version>7.1.0-SNAPSHOT</version>
<version>7.2.0-A5</version>
</parent>
<properties>
@@ -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-SNAPSHOT</version>
<version>7.2.0-A5</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-SNAPSHOT</version>
<version>7.2.0-A5</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-SNAPSHOT</version>
<version>7.2.0-A5</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.3
mem_limit: 1536m
environment:
JAVA_OPTS: " -Xms256m -Xmx1536m"

View File

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

View File

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

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-A5</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-SNAPSHOT</version>
<version>7.2.0-A5</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-A5</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-A5</version>
</parent>
</project>

43
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-SNAPSHOT</version>
<version>7.2.0-A5</version>
<parent>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-community-repo</artifactId>
<relativePath>../alfresco-community-repo/pom.xml</relativePath>
<version>11.86</version>
<version>14.25</version>
</parent>
<properties>
<dependency.alfresco-community-repo.version>11.86</dependency.alfresco-community-repo.version>
<dependency.alfresco-community-share.version>11.46</dependency.alfresco-community-share.version>
<alfresco.share.version>7.1.0-M2</alfresco.share.version> <!-- Share distribution zip from acs-packaging -->
<dependency.alfresco-community-repo.version>14.25</dependency.alfresco-community-repo.version>
<dependency.alfresco-community-share.version>14.15</dependency.alfresco-community-share.version>
<dependency.acs-packaging.version>7.2.0-A5</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>HEAD</tag>
<tag>7.2.0-A5</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>
@@ -171,7 +198,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-SNAPSHOT</version>
<version>7.2.0-A5</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

@@ -37,8 +37,32 @@ else
pullUpstreamTagAndBuildDockerImage "${UPSTREAM_REPO}" "${COM_DEPENDENCY_VERSION}" "-Pbuild-docker-images -Pags"
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 -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}"
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
TRANSFORMERS_TAG=2.5.3
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-SNAPSHOT</version>
<version>7.2.0-A5</version>
</parent>
<modules>

View File

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

View File

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

View File

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

View File

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