Compare commits

...
17 Commits
Author SHA1 Message Date
Somnath Deshmukh f568c2d63b [ACS-12085] Release Process Documentation Update (#770) 2026-08-14 12:19:01 +05:30
alfresco-engineering-contributor[bot] 3e27055a8e [skip ci] Prepare next development version 4.17.0-A3-SNAPSHOT 2026-08-13 08:31:37 +00:00
Somnath Deshmukh 89a7315905 [ACS-12085] [release] Alfresco SDK 4.17.0-A2 alpha (#769) 2026-08-13 13:48:31 +05:30
Somnath Deshmukh 9037ad3545 ACS-12085 Migrate SDK Repositories Verified Commits (#768) 2026-08-13 12:01:51 +05:30
Vivek Kumar f65a3f0da1 [ACS-11984]: Release Alfresco SDK 4.17.0-A1 (#763) (#766) 2026-06-15 14:07:42 +05:30
Vivek Kumar ad020fe106 [ACS-11984]: Review security and quality findings on Alfresco SDK (#765) 2026-06-15 13:32:27 +05:30
Gerard Olenski 2dfebc9b9e ACS-12005 Remove Veracode integration (#764) 2026-06-11 10:34:42 +02:00
Arindam Roy 7706b8560a [ACS-11835]: Release and [publish] Alfresco SDK 4.16.0 (#763) 2026-06-10 15:45:59 +05:30
Arindam Roy 0d8b704c21 ACS-11700 - CVE Vulnerabilities in Alfresco SDK (#762) 2026-06-02 14:27:44 +05:30
Arindam Roy 975f017b90 [ACS-11834]: Release Alfresco SDK 4.16.0-A2 (#761) 2026-06-01 12:06:42 +05:30
Arindam Roy 58c0d62248 [ACS-11834]: Release Alfresco SDK 4.16.0-A1 (#760) 2026-05-28 15:50:23 +05:30
Arindam Roy 54091607c5 ACS-11700 - CVE Vulnerabilities in Alfresco SDK (#758) 2026-05-21 14:55:10 +05:30
Satyam Sah 05cc667b51 ACS-11627 Migrate alfresco-sdk to GHAS (#747) 2026-05-14 05:25:41 +05:30
Copilotandgionn 6c749e8d20 Scope GPG_SIGNING_PASSPHRASE to publish job and SHA-pin third-party actions (#744)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gionn <71768+gionn@users.noreply.github.com>
2026-03-26 14:17:15 +01:00
Vivek Kumar 801cb5075b [ACS-11188]: [publish] Release GA Alfresco SDK 4.15.0 (#742) 2026-03-12 17:51:45 +05:30
Vivek Kumar e4db66a066 [ACS-11188]: [publish] Release Alfresco SDK 4.14.0 GA (#741) 2026-03-09 14:25:00 +05:30
tathagta15 3a34eaa201 [ACS-11189] [skip tests] Alfresco SDK 4.14.0 A2 Release (#740) 2026-02-27 20:01:10 +05:30
18 changed files with 468 additions and 210 deletions
+48
View File
@@ -0,0 +1,48 @@
version: 2
registries:
maven-alfresco-internal:
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: "/"
registries:
- maven-alfresco-internal
schedule:
interval: "daily"
time: "22:00"
timezone: "Europe/London"
open-pull-requests-limit: 10
allow:
- dependency-type: "direct"
ignore:
- dependency-name: "org.alfresco.maven:*"
- dependency-name: "org.alfresco.maven.plugin:*"
- dependency-name: "org.alfresco.maven.archetype:*"
groups:
spring:
patterns:
- "org.springframework*"
alfresco:
patterns:
- "org.alfresco*"
apache-maven:
patterns:
- "org.apache.maven*"
commons:
patterns:
- "commons-*"
- "org.apache.commons*"
slf4j:
patterns:
- "org.slf4j*"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
groups:
github-actions:
patterns:
- "*"
+7
View File
@@ -0,0 +1,7 @@
env:
global:
# Both variables are required to be set before the release process starts.
# As the release is triggered by a commit message with "[release]" keyword,
# setting these variables to new values can be done in the same commit and will indicate the release and the dev versions in it.
- RELEASE_VERSION=4.17.0-A2
- DEVELOPMENT_VERSION=4.17.0-A3-SNAPSHOT
+100 -61
View File
@@ -13,36 +13,23 @@ on:
- feature/** - feature/**
workflow_dispatch: workflow_dispatch:
permissions:
contents: read
env: env:
JAVA_VERSION: '21'
MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }} MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} MAVEN_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
MAVEN_CENTRAL_USERNAME: ${{ secrets.OSS_SONATYPE_USERNAME }} MAVEN_CENTRAL_USERNAME: ${{ secrets.OSS_SONATYPE_USERNAME }}
MAVEN_CENTRAL_PASSWORD: ${{ secrets.OSS_SONATYPE_PASSWORD }} MAVEN_CENTRAL_PASSWORD: ${{ secrets.OSS_SONATYPE_PASSWORD }}
GPG_SIGNING_PASSPHRASE: ${{ secrets.GPG_SIGNING_PASSPHRASE }}
GITHUB_ACTIONS_DEPLOY_TIMEOUT: 90 GITHUB_ACTIONS_DEPLOY_TIMEOUT: 90
# Note: RELEASE_VERSION and DEVELOPMENT_VERSION are loaded from .github/release-versions.yml
jobs: jobs:
pre_commit: pre_commit:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v12.11.0 - uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v15.7.1
veracode_sca:
name: "Veracode - Source Clear Scan (SCA)"
runs-on: ubuntu-latest
if: >
github.ref_name == 'master' ||
github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v4
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v12.11.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v12.11.0
- name: "Clean-up SNAPSHOT artifacts"
run: find "${HOME}/.m2/repository/" -type d -name "*-SNAPSHOT*" | xargs -r -l rm -rf
- uses: Alfresco/alfresco-build-tools/.github/actions/veracode@v12.11.0
continue-on-error: true
with:
srcclr-api-token: ${{ secrets.SRCCLR_API_TOKEN }}
build: build:
name: "Build application" name: "Build application"
@@ -53,8 +40,10 @@ jobs:
MAVEN_CLI_OPTS: > MAVEN_CLI_OPTS: >
-B -q -e -fae -V -DinstallAtEnd=true -U -B -q -e -fae -V -DinstallAtEnd=true -U
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v12.11.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
with:
java-version: ${{ env.JAVA_VERSION }}
- name: "Build" - name: "Build"
run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
- name: "Verify" - name: "Verify"
@@ -71,8 +60,17 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- name: "current version Java 17" - name: "current version Java 21"
java-version: 21
- name: "26.1 Enterprise Java 21"
java-version: 21
suite: -Penterprise-261-tests
- name: "26.1 Community Java 21"
java-version: 21
suite: -Pcommunity-261-tests
- name: "25.4 Enterprise Java 17"
java-version: 17 java-version: 17
suite: -Penterprise-254-tests
- name: "25.2 Enterprise Java 17" - name: "25.2 Enterprise Java 17"
java-version: 17 java-version: 17
suite: -Penterprise-252-tests suite: -Penterprise-252-tests
@@ -124,43 +122,19 @@ jobs:
- name: "7.4 Community Java 11" - name: "7.4 Community Java 11"
java-version: 11 java-version: 11
suite: -Pcommunity-74-tests suite: -Pcommunity-74-tests
- name: "7.3 Enterprise Java 17"
java-version: 17
suite: -Penterprise-73-tests
- name: "7.3 Community Java 17"
java-version: 17
suite: -Pcommunity-73-tests
- name: "7.3 Enterprise Java 11"
java-version: 11
suite: -Penterprise-73-tests
- name: "7.3 Community Java 11"
java-version: 11
suite: -Pcommunity-73-tests
- name: "7.2 Enterprise"
java-version: 11
suite: -Penterprise-72-tests
- name: "7.2 Community"
java-version: 11
suite: -Pcommunity-72-tests
- name: "7.1 Enterprise"
java-version: 11
suite: -Penterprise-71-tests
- name: "7.1 Community"
java-version: 11
suite: -Pcommunity-71-tests
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v12.11.0 - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v15.7.1
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v12.11.0 - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
with: with:
java-version: ${{ matrix.java-version }} java-version: ${{ matrix.java-version }}
- name: "Login to Docker Hub" - name: "Login to Docker Hub"
uses: docker/login-action@v3 uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
with: with:
username: ${{ secrets.DOCKER_USERNAME }} username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }} password: ${{ secrets.DOCKER_PASSWORD }}
- name: "Login to Quay.io" - name: "Login to Quay.io"
uses: docker/login-action@v3 uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
with: with:
registry: quay.io registry: quay.io
username: ${{ secrets.QUAY_USERNAME }} username: ${{ secrets.QUAY_USERNAME }}
@@ -168,18 +142,73 @@ jobs:
- name: "Build" - name: "Build"
run: mvn clean install -B ${{ matrix.suite }} run: mvn clean install -B ${{ matrix.suite }}
release:
name: "Release"
runs-on: ubuntu-latest
permissions:
contents: write
needs: [tests]
outputs:
release_tag: ${{ steps.release_meta.outputs.release_tag }}
env:
MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
if: >
needs.tests.result == 'success' &&
(github.ref_name == 'master' || startsWith(github.ref_name, 'fix/') || startsWith(github.ref_name, 'feature/')) &&
!contains(github.event.head_commit.message, '[no release]') &&
github.event_name != 'pull_request' &&
contains(github.event.head_commit.message, '[release]')
steps:
- name: "Generate GitHub App token"
id: app-token
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
client-id: ${{ vars.GH_APP_ENGINEERING_CONTRIB_CLIENT_ID }}
private-key: ${{ secrets.GH_APP_ENGINEERING_CONTRIB_PRIVATE_KEY }}
permission-contents: write
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
token: ${{ steps.app-token.outputs.token }}
fetch-depth: 0
- uses: Alfresco/alfresco-build-tools/.github/actions/env-load-from-yaml@v18.21.2
with:
yml_path: .github/release-versions.yml
- name: "Export release metadata"
id: release_meta
run: echo "release_tag=${RELEASE_VERSION}" >> "$GITHUB_OUTPUT"
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v18.21.2
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v18.21.2
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v18.21.2
with:
java-version: ${{ env.JAVA_VERSION }}
- uses: Alfresco/alfresco-build-tools/.github/actions/maven-release-slim@v18.21.2
with:
token: ${{ steps.app-token.outputs.token }}
release-version: ${{ env.RELEASE_VERSION }}
development-version: ${{ env.DEVELOPMENT_VERSION }}
maven-args: >
-DskipTests
-DbuildNumber=${{ github.run_number }}
check_version: check_version:
name: "Check version" name: "Check version"
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [tests] needs: [tests, release]
if: > if: >
contains(github.event.head_commit.message, '[publish]') needs.tests.result == 'success' &&
contains(github.event.head_commit.message, '[publish]') &&
(needs.release.result == 'success' || needs.release.result == 'skipped')
outputs: outputs:
is_ga: ${{ steps.publish_version.outputs.is_ga }} is_ga: ${{ steps.publish_version.outputs.is_ga }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v12.11.0 with:
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v12.11.0 ref: ${{ needs.release.outputs.release_tag || github.ref }}
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v15.7.1
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
with:
java-version: ${{ env.JAVA_VERSION }}
- name: "Check version" - name: "Check version"
id: publish_version id: publish_version
run: | run: |
@@ -195,13 +224,23 @@ jobs:
publish: publish:
name: "Publish artifacts" name: "Publish artifacts"
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [tests, check_version] needs: [tests, check_version, release]
if: > if: >
contains(github.event.head_commit.message, '[publish]') && needs.check_version.outputs.is_ga == 'true' needs.tests.result == 'success' &&
contains(github.event.head_commit.message, '[publish]') &&
needs.check_version.result == 'success' &&
needs.check_version.outputs.is_ga == 'true' &&
(needs.release.result == 'success' || needs.release.result == 'skipped')
env:
GPG_SIGNING_PASSPHRASE: ${{ secrets.GPG_SIGNING_PASSPHRASE }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v12.11.0 with:
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v12.11.0 ref: ${{ needs.release.outputs.release_tag || github.ref }}
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v15.7.1
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
with:
java-version: ${{ env.JAVA_VERSION }}
- name: "Build" - name: "Build"
run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
- name: Set up Maven Central credentials - name: Set up Maven Central credentials
+27
View File
@@ -0,0 +1,27 @@
name: "Load Dependency Graph"
on:
push:
branches:
- "master"
schedule:
- cron: '0 6 * * *'
workflow_dispatch:
permissions:
contents: write
jobs:
scan-dependencies:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: Alfresco/alfresco-build-tools/.github/actions/maven-dependency-scan@v17.0.0
with:
java-version: '21'
maven-version: '3.9.9'
maven-args: -Dscopes=compile,runtime
maven-username: ${{ secrets.NEXUS_USERNAME }}
maven-password: ${{ secrets.NEXUS_PASSWORD }}
maven-settings-path: ".ci.settings.xml"
+35 -34
View File
@@ -14,6 +14,10 @@ This project is released under the [Apache License, Version 2.0](http://www.apac
If you are an Enterprise customer check the [Support](#alfresco-enterprise-customers-and-partners-support) section. If you are an Enterprise customer check the [Support](#alfresco-enterprise-customers-and-partners-support) section.
## News ## News
- 2026-06: Alfresco SDK 4.16.0 released
- 2026-03: Alfresco SDK 4.15.0 released
- 2026-03: Alfresco SDK 4.14.0 released
- 2026-01: Alfresco SDK 4.13.0 released
- 2025-07: Alfresco SDK 4.12.0 released - 2025-07: Alfresco SDK 4.12.0 released
- 2025-03: Alfresco SDK 4.11.0 released - 2025-03: Alfresco SDK 4.11.0 released
- 2024-11: Alfresco SDK 4.10.0 released - 2024-11: Alfresco SDK 4.10.0 released
@@ -82,11 +86,13 @@ the `alfresco.log` file has also been moved to a more appropriate location (Tomc
In Q4 2020, Alfresco Platform has undergone a major structural refactoring. In Q4 2020, Alfresco Platform has undergone a major structural refactoring.
Depending on the Platform version desired, you might need to use SDK 4.1, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 4.10 or SDK 4.11 instead of SDK 4.12.0. Depending on the Platform version desired, you might need to use SDK 4.1, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 4.10, 4.11, 4.12, 4.13, 4.14, 4.15 instead of SDK 4.16.0.
- For Enterprise and Community versions of 7.x, SDK 4.4 or higher must be used - For Enterprise and Community versions of 7.x, SDK 4.4 or higher must be used
- For Enterprise versions of 6.0.x, 6.1.x, 6.2.x newer than November 2020, SDK 4.3 must be used - For Enterprise versions of 6.0.x, 6.1.x, 6.2.x newer than November 2020, SDK 4.3 must be used
- For Enterprise and Community versions of 6.0.x, 6.1.x, 6.2.x older than November 2020, SDK 4.1 must be used - For Enterprise and Community versions of 6.0.x, 6.1.x, 6.2.x older than November 2020, SDK 4.1 must be used
- For Enterprise and Community versions of 25.1.x and 25.2.x, SDK 4.12 or 4.13 must be used
- For Enterprise and Community versions of 26.1.x, SDK 4.14 must be used
It's also important to remember that: It's also important to remember that:
@@ -96,30 +102,34 @@ It's also important to remember that:
- Enterprise Docker images are published on *Quay.io* - Enterprise Docker images are published on *Quay.io*
### Latest Documentation ### Latest Documentation
To get started with **Alfresco SDK 4.9.x** (latest) visit the [Alfresco Documentation](docs/README.md). To get started with **Alfresco SDK 4.16.x** (latest) visit the [Alfresco Documentation](docs/README.md).
#### Documentation about Previous Versions #### Documentation about Previous Versions
| SDK Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation | | SDK Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation |
|-------------|:---------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |-------------|:----------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------|
| SDK 4.12.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md | | SDK 4.16.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 25.4.x / 26.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.11.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md | | SDK 4.15.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.10 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x / 23.4.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md | | SDK 4.14.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.9 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md | | SDK 4.13.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.8 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md | | SDK 4.12.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.7 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md | | SDK 4.11.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.6 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md | | SDK 4.10 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x / 23.4.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.5 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md | | SDK 4.9 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.4 | Alfresco 7.0.x / 7.1.x / 7.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md | | SDK 4.8 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.3 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x / 7.1.x | Alfresco 7.0.x / 7.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md | | SDK 4.7 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.2 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x | Alfresco 7.0.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md | | SDK 4.6 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.1 | Alfresco 6.0.x / 6.1.x / 6.2.x | Alfresco 6.0.x / 6.1.x / 6.2.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.1/docs/README.md | | SDK 4.5 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.0 | Alfresco 6.0.x / 6.1.x | Alfresco 6.0.x / 6.1.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.0/docs/README.md | | SDK 4.4 | Alfresco 7.0.x / 7.1.x / 7.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 3.1 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html | | SDK 4.3 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x / 7.1.x | Alfresco 7.0.x / 7.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 3.0 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html | | SDK 4.2 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x | Alfresco 7.0.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 2.2 | Alfresco 5.1.x | Alfresco 5.1.x | https://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html | | SDK 4.1 | Alfresco 6.0.x / 6.1.x / 6.2.x | Alfresco 6.0.x / 6.1.x / 6.2.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.1/docs/README.md |
| SDK 2.1 | Alfresco 5.0.1 | Alfresco 5.0.d | https://docs.alfresco.com/sdk2.1/concepts/alfresco-sdk-intro.html | | SDK 4.0 | Alfresco 6.0.x / 6.1.x | Alfresco 6.0.x / 6.1.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.0/docs/README.md |
| SDK 2.0 | Alfresco 5.0.0 | Alfresco 5.0.c | https://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html | | SDK 3.1 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
| SDK 1.1.1 | Alfresco 4.2.x | Alfresco 4.2.x | https://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html | | SDK 3.0 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
| SDK 2.2 | Alfresco 5.1.x | Alfresco 5.1.x | https://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html |
| SDK 2.1 | Alfresco 5.0.1 | Alfresco 5.0.d | https://docs.alfresco.com/sdk2.1/concepts/alfresco-sdk-intro.html |
| SDK 2.0 | Alfresco 5.0.0 | Alfresco 5.0.c | https://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html |
| SDK 1.1.1 | Alfresco 4.2.x | Alfresco 4.2.x | https://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html |
## Reporting Issues and Community Support ## Reporting Issues and Community Support
Report issues (and contribute!) [here](https://github.com/Alfresco/alfresco-sdk/issues?milestone=1&state=open) or join us on the [IRC Channel](http://chat.alfresco.com/). Report issues (and contribute!) [here](https://github.com/Alfresco/alfresco-sdk/issues?milestone=1&state=open) or join us on the [IRC Channel](http://chat.alfresco.com/).
@@ -167,15 +177,6 @@ To test new unreleased (unsupported) features, you can use the following snippet
## For Developers that want to contribute to the SDK ## For Developers that want to contribute to the SDK
See the [Developers Wiki page](https://github.com/Alfresco/alfresco-sdk/wiki/Developer-Wiki). See the [Developers Wiki page](https://github.com/Alfresco/alfresco-sdk/wiki/Developer-Wiki).
## Publishing the release on Maven Central ## Releasing the SDK
- Manually change the version from SNAPSHOT to final (eg. when releasing SDK 4.12.0, replacing all the occurrences of 4.12.0-SNAPSHOT with 4.12.0)
- Commit and push changes to GitHub with the commit message [publish], then it will automatically publish your artifacts to maven central See [docs/release-process.md](docs/release-process.md) for the current automated release process (Nexus, verified commits, tags, and Maven Central publishing).
At this point, we need to manually proceed with the remaining steps:
1- Manually create a release tag on GitHub
2- Manually change the version from final to next SNAPSHOT (eg. replacing all the occurrences of 4.12.0 with 4.13.0-SNAPSHOT (in pom.xml, not in READMEs - if not needed)
3- Commit and push on GitHub
@@ -11,7 +11,7 @@
<parent> <parent>
<groupId>org.alfresco.maven</groupId> <groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId> <artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.14.0-A1</version> <version>4.17.0-A3-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
@@ -5,8 +5,8 @@
<groupId>${groupId}</groupId> <groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId> <artifactId>${artifactId}</artifactId>
<version>${version}</version> <version>${version}</version>
<name>AIO - SDK 4.14.0-A1</name> <name>AIO - SDK 4.16.0</name>
<description>All-In-One (AIO) project for SDK 4.14.0-A1</description> <description>All-In-One (AIO) project for SDK 4.16.0</description>
<packaging>pom</packaging> <packaging>pom</packaging>
<prerequisites> <prerequisites>
@@ -217,7 +217,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId> <artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M1</version> <version>3.5.5</version>
<executions> <executions>
<execution> <execution>
<id>integration-test</id> <id>integration-test</id>
@@ -12,7 +12,7 @@
<parent> <parent>
<groupId>org.alfresco.maven</groupId> <groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId> <artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.14.0-A1</version> <version>4.17.0-A3-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
@@ -324,7 +324,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId> <artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M1</version> <version>3.5.5</version>
<configuration> <configuration>
<systemPropertyVariables> <systemPropertyVariables>
<acs.endpoint.path>${test.acs.endpoint.path}</acs.endpoint.path> <acs.endpoint.path>${test.acs.endpoint.path}</acs.endpoint.path>
@@ -14,7 +14,7 @@
<parent> <parent>
<groupId>org.alfresco.maven</groupId> <groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId> <artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.14.0-A1</version> <version>4.17.0-A3-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
+4 -4
View File
@@ -10,14 +10,14 @@
<properties> <properties>
<slf4j.version>1.7.12</slf4j.version> <slf4j.version>1.7.12</slf4j.version>
<maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.target>11</maven.compiler.target>
</properties> </properties>
<parent> <parent>
<groupId>org.alfresco.maven</groupId> <groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId> <artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.14.0-A1</version> <version>4.17.0-A3-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
@@ -55,7 +55,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId> <artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version> <version>3.5.5</version>
<executions> <executions>
<execution> <execution>
<id>integration-test</id> <id>integration-test</id>
+6 -4
View File
@@ -118,7 +118,7 @@ Choose archetype:
* `org.alfresco.maven.archetype:alfresco-platform-jar-archetype` * `org.alfresco.maven.archetype:alfresco-platform-jar-archetype`
* `org.alfresco.maven.archetype:alfresco-share-jar-archetype` * `org.alfresco.maven.archetype:alfresco-share-jar-archetype`
3. Choose the latest version, such as 4.12.0. 3. Choose the latest version, such as 4.14.0.
``` ```
Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version: Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version:
@@ -147,6 +147,8 @@ Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version:
23: 4.10.0 23: 4.10.0
24: 4.11.0 24: 4.11.0
25: 4.12.0 25: 4.12.0
26: 4.13.0
27: 4.14.0
``` ```
4. Next you will be prompted for additional values, like groupId, artifactId, and package, as shown below: 4. Next you will be prompted for additional values, like groupId, artifactId, and package, as shown below:
@@ -175,7 +177,7 @@ If everything has been configured correctly, you should see something similar to
``` ```
[INFO] ---------------------------------------------------------------------------- [INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: alfresco-allinone-archetype:4.12.0 [INFO] Using following parameters for creating project from Archetype: alfresco-allinone-archetype:4.14.0
[INFO] ---------------------------------------------------------------------------- [INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.acme [INFO] Parameter: groupId, Value: com.acme
[INFO] Parameter: artifactId, Value: my-all-in-one [INFO] Parameter: artifactId, Value: my-all-in-one
@@ -197,7 +199,7 @@ If everything has been configured correctly, you should see something similar to
[INFO] BUILD SUCCESS [INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------
[INFO] Total time: 04:11 min [INFO] Total time: 04:11 min
[INFO] Finished at: 2019-01-10T16:21:46+01:00 [INFO] Finished at: 2026-02-24T16:21:46+01:00
[INFO] Final Memory: 17M/1024M [INFO] Final Memory: 17M/1024M
[INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------
``` ```
@@ -213,4 +215,4 @@ In the terminal window, use:
If this is the first time you are doing this, it will take a while for Maven to download all the required dependencies and for Docker to download all the If this is the first time you are doing this, it will take a while for Maven to download all the required dependencies and for Docker to download all the
required images. required images.
For more information about how to work with the projects, please visit [Working with generated projects](working-with-generated-projects/README.md). For more information about how to work with the projects, please visit [Working with generated projects](working-with-generated-projects/README.md).
+158
View File
@@ -0,0 +1,158 @@
# Alfresco SDK release process
This document describes how to release the Alfresco SDK using the automated CI pipeline introduced in [ACS-12085](https://hyland.atlassian.net/browse/ACS-12085).
Releases are performed on **`master`** via GitHub Actions. The pipeline uses [`maven-release-slim`](https://github.com/Alfresco/alfresco-build-tools) from Alfresco build-tools and a GitHub App installation token to create **verified** commits and tags.
## Version conventions
### Alpha versions (dot notation)
Alpha releases **must** use a dot between `A` and the alpha number:
| Correct | Incorrect |
|---------|-----------|
| `4.17.0-A.1` | `4.17.0-A1` |
| `4.17.0-A.2` | `4.17.0-A2` |
Use this format in `RELEASE_VERSION`, Git tags, and Maven coordinates for all new alpha releases.
### Next development version (`-SNAPSHOT`)
`DEVELOPMENT_VERSION` **must** include the `-SNAPSHOT` suffix. This is the version written to all POMs after the release completes.
| Correct | Incorrect |
|---------|-----------|
| `4.17.0-A.3-SNAPSHOT` | `4.17.0-A.3` |
| `4.18.0-SNAPSHOT` | `4.18.0` |
This applies to both alpha and GA release cycles.
## Overview
| Step | Trigger | CI job | Result |
|------|---------|--------|--------|
| Alpha / Nexus release | `[release]` in commit message | `release` | Deploy to Alfresco Nexus, Git tag, verified bot commits |
| GA Maven Central publish | `[publish]` in commit message | `publish` | Publish to Maven Central (GA versions only) |
Alpha releases (for example `4.17.0-A.2`) are deployed to **Nexus only**. GA releases (for example `4.17.0`) can additionally be published to **Maven Central** using `[publish]`.
## Prerequisites
- Merge your changes to **`master`** (or use a PR merged to `master`).
- Ensure CI tests pass. Do not use `[skip tests]` on a release commit.
- Confirm the repository has the `GH_APP_ENGINEERING_CONTRIB_CLIENT_ID` variable and `GH_APP_ENGINEERING_CONTRIB_PRIVATE_KEY` secret configured (DevOps).
- Protected branches must allow verified commits from the engineering-contrib GitHub App.
## Configure release versions
Version numbers are **not** stored in `.github/workflows/ci.yml`. They live in [`.github/release-versions.yml`](../.github/release-versions.yml):
```yaml
env:
global:
- RELEASE_VERSION=4.17.0-A.2
- DEVELOPMENT_VERSION=4.17.0-A.3-SNAPSHOT
```
| Variable | Purpose | Example (alpha) | Example (GA) |
|----------|---------|-----------------|--------------|
| `RELEASE_VERSION` | Version to release and tag | `4.17.0-A.2` | `4.17.0` |
| `DEVELOPMENT_VERSION` | Next development version written to POMs after release (must end with `-SNAPSHOT`) | `4.17.0-A.3-SNAPSHOT` | `4.18.0-SNAPSHOT` |
Update both values in the **same commit** that triggers the release. The GitHub App bot does **not** modify this file; you must update it again before the next release.
> **Note:** Release versions are kept in `.github/release-versions.yml` (not in workflow files) so the GitHub App token does not require `workflows: write` permission.
## Alpha release (Nexus)
Example: release `4.17.0-A.3` when `master` is on `4.17.0-A.3-SNAPSHOT`.
1. Update [`.github/release-versions.yml`](../.github/release-versions.yml):
```yaml
- RELEASE_VERSION=4.17.0-A.3
- DEVELOPMENT_VERSION=4.17.0-A.4-SNAPSHOT
```
2. Commit and push to **`master`** with `[release]` in the commit message, for example:
```text
[release] Alfresco SDK 4.17.0-A.3 alpha
```
3. Wait for the CI workflow to finish. The `release` job runs only when:
- Tests succeed
- The branch is `master`, `fix/**`, or `feature/**`
- The commit message contains `[release]`
- The commit message does **not** contain `[no release]`
### What happens automatically
When the `release` job succeeds, CI will:
1. Set all POM versions to `RELEASE_VERSION`
2. Deploy artifacts to Alfresco Nexus
3. Create a **verified** bot commit for the release version
4. Create a Git tag named exactly `RELEASE_VERSION` (for example `4.17.0-A.3`)
5. Set all POM versions to `DEVELOPMENT_VERSION`
6. Create a **verified** bot commit for the next development version
You should **not** manually create Git tags or manually bump POM versions for the release and post-release commits; the pipeline handles that.
### After an alpha release
On `master` you should see:
- Git tag: `4.17.0-A.3` (plain version string from `RELEASE_VERSION`)
- Two new **Verified** commits from the engineering-contrib bot
- Root POM version: `4.17.0-A.4-SNAPSHOT`
- Artifacts on Alfresco Nexus for `4.17.0-A.3`
## GA release and Maven Central
For a GA release (version matching `major.minor.patch` with no suffix):
1. Update [`.github/release-versions.yml`](../.github/release-versions.yml), for example:
```yaml
- RELEASE_VERSION=4.17.0
- DEVELOPMENT_VERSION=4.18.0-SNAPSHOT
```
2. Push to **`master`** with both keywords in the **same** commit message:
```text
[release][publish] Alfresco SDK 4.17.0
```
To publish to Maven Central as part of the GA release, include `[publish]` in the **same** commit message as `[release]` so the workflow can publish the tagged `RELEASE_VERSION`.
A standalone `[publish]` commit (without `[release]`) will publish only if the POM version on that commit is already GA. After a release run, `master` is typically bumped to `DEVELOPMENT_VERSION` (`-SNAPSHOT`), so a later `[publish]` commit will be skipped by `check_version`.
The `check_version` job verifies the version matches `^\d+\.\d+\.\d+$` before Maven Central publish runs. Alpha, SNAPSHOT, RC, and other suffixed versions are skipped.
## Commit message keywords
| Keyword | Effect |
|---------|--------|
| `[release]` | Run the automated Nexus release |
| `[publish]` | Attempt Maven Central publish (GA only) |
| `[no release]` | Skip the release job even if `[release]` would otherwise match |
| `[skip tests]` | Skip tests (do **not** use on release commits) |
## Troubleshooting
| Symptom | Likely cause |
|---------|----------------|
| Release job skipped | No `[release]` in commit message, wrong branch, or tests failed/skipped |
| App token step fails | GitHub App credentials not configured on the repository |
| Verified commit rejected | Branch protection or App permissions |
| Tag already exists | `RELEASE_VERSION` was released before |
| Maven Central skipped | Non-GA version, or missing `[publish]` |
## Related files
- [`.github/workflows/ci.yml`](../.github/workflows/ci.yml) — CI pipeline
- [`.github/release-versions.yml`](../.github/release-versions.yml) — release version configuration
- [Alfresco build-tools `maven-release-slim`](https://github.com/Alfresco/alfresco-build-tools)
+4 -4
View File
@@ -10,7 +10,7 @@ Alfresco Share 6.
This was a mayor release oriented to support Alfresco 6, so it is not compatible with previous versions of the SDK. This was a mayor release oriented to support Alfresco 6, so it is not compatible with previous versions of the SDK.
Alfresco SDK 4.12.0 extends the support to Alfresco 25.2. Alfresco SDK 4.14.0 extends the support to Alfresco 26.1.
Use an older SDK version for Alfresco 6. Use an older SDK version for Alfresco 6.
## Embracing containers and Docker ## Embracing containers and Docker
@@ -64,13 +64,13 @@ environment can be more similar to a real one, including whatever other service
Alfresco SDK 4.1 provides support for Alfresco 6.2.x. Alfresco SDK 4.1 provides support for Alfresco 6.2.x.
## Support for Alfresco 7.0.x, 7.1.x, 7.2.x, 7.3.x, 7.4.x. 23.1.x, 23.2.x, 23.3.x, 23.4.x, 25.1.x and 25.2.x ## Support for Alfresco 7.0.x, 7.1.x, 7.2.x, 7.3.x, 7.4.x. 23.1.x, 23.2.x, 23.3.x, 23.4.x, 25.1.x, 25.2.x and 26.1.x
Alfresco SDK 4.12.0 provides support for Alfresco 7.0.x, 7.1.x, 7.2.x, 7.3.x, 7.4.x, 23.1.x, 23.2.x, 23.3.x, 23.4.x, 25.1.x and 25.2.x. Alfresco SDK 4.14.0 provides support for Alfresco 7.0.x, 7.1.x, 7.2.x, 7.3.x, 7.4.x, 23.1.x, 23.2.x, 23.3.x, 23.4.x, 25.1.x, 25.2.x and 26.1.x
## Support for Java 17 ## Support for Java 17
[Java 17](https://openjdk.java.net/projects/jdk/17/) is the latest stable long term (8 year support) version after Java 11. Alfresco 7.3.x already offers [Java 17](https://openjdk.java.net/projects/jdk/17/) is the latest stable long term (8 year support) version after Java 11. Alfresco 7.3.x already offers
support for this version of the Java platform. support for this version of the Java platform.
Alfresco SDK 4.9 has been modified to add support for Java 17 as well. This way, if you're working as a developer in customisations for Alfresco 7.3.x or 7.4.x , 23.1.x, 23.2.x, 23.3.x or 23.4.x you can Alfresco SDK 4.9 has been modified to add support for Java 17 as well. This way, if you're working as a developer in customisations for Alfresco 7.3.x or 7.4.x , 23.1.x, 23.2.x, 23.3.x or 23.4.x you can
now use SDK 4.9 (or greater) + JDK 17 to work on them. The Apache Maven plugins included in the archetypes has been updated to avoid any issue with Java 17. now use SDK 4.9 (or greater) + JDK 17 to work on them. The Apache Maven plugins included in the archetypes has been updated to avoid any issue with Java 17.
+2 -1
View File
@@ -10,7 +10,7 @@
<parent> <parent>
<groupId>org.alfresco.maven</groupId> <groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId> <artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.14.0-A1</version> <version>4.17.0-A3-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
@@ -38,6 +38,7 @@
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId> <artifactId>spring-context</artifactId>
<scope>provided</scope>
</dependency> </dependency>
<!-- Access to JUnit runner classes --> <!-- Access to JUnit runner classes -->
+5 -5
View File
@@ -8,7 +8,7 @@
<parent> <parent>
<groupId>org.alfresco.maven</groupId> <groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId> <artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.14.0-A1</version> <version>4.17.0-A3-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
@@ -17,7 +17,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId> <artifactId>maven-plugin-plugin</artifactId>
<version>3.5</version> <version>3.15.2</version>
<executions> <executions>
<execution> <execution>
<id>generated-helpmojo</id> <id>generated-helpmojo</id>
@@ -81,7 +81,7 @@
<dependency> <dependency>
<groupId>org.apache.maven</groupId> <groupId>org.apache.maven</groupId>
<artifactId>maven-archiver</artifactId> <artifactId>maven-archiver</artifactId>
<version>3.6.0</version> <version>3.6.6</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<artifactId>maven-core</artifactId> <artifactId>maven-core</artifactId>
@@ -92,7 +92,7 @@
<dependency> <dependency>
<groupId>org.codehaus.plexus</groupId> <groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId> <artifactId>plexus-archiver</artifactId>
<version>4.11.0</version> <version>4.12.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.maven</groupId> <groupId>org.apache.maven</groupId>
@@ -162,7 +162,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId> <artifactId>maven-plugin-plugin</artifactId>
<version>3.5</version> <version>3.15.2</version>
</plugin> </plugin>
</plugins> </plugins>
</reporting> </reporting>
+65 -87
View File
@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>org.alfresco.maven</groupId> <groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId> <artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.14.0-A1</version> <version>4.17.0-A3-SNAPSHOT</version>
<name>Alfresco SDK</name> <name>Alfresco SDK</name>
<description>This aggregator Project builds all modules required for the Alfresco SDK</description> <description>This aggregator Project builds all modules required for the Alfresco SDK</description>
<packaging>pom</packaging> <packaging>pom</packaging>
@@ -49,16 +49,16 @@
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.target>11</maven.compiler.target>
<maven.archetype.version>3.0.0</maven.archetype.version> <maven.archetype.version>3.0.0</maven.archetype.version>
<alfresco.sdk.parent.version>${project.version}</alfresco.sdk.parent.version> <alfresco.sdk.parent.version>${project.version}</alfresco.sdk.parent.version>
<alfresco.sdk.tests.exclude>*/*-enterprise*/*</alfresco.sdk.tests.exclude> <alfresco.sdk.tests.exclude>*/*-enterprise*/*</alfresco.sdk.tests.exclude>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId> <alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>25.3.0-A.15</alfresco.platform.version> <alfresco.platform.version>26.1.0</alfresco.platform.version>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user> <alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
<alfresco.share.docker.version>25.3.0-A.15</alfresco.share.docker.version> <alfresco.share.docker.version>26.1.0</alfresco.share.docker.version>
<!-- <!--
The following value is now obtained by looking at the The following value is now obtained by looking at the
- alfresco-community-share.version (eg. https://github.com/Alfresco/acs-community-packaging/blob/25.1.0/pom.xml#L17) - alfresco-community-share.version (eg. https://github.com/Alfresco/acs-community-packaging/blob/25.1.0/pom.xml#L17)
@@ -66,7 +66,7 @@
- alfresco-enterprise-share.version (eg. https://github.com/Alfresco/acs-packaging/blob/25.1.0/pom.xml#L18) - alfresco-enterprise-share.version (eg. https://github.com/Alfresco/acs-packaging/blob/25.1.0/pom.xml#L18)
for the GitHub Tag related to the above Docker version. for the GitHub Tag related to the above Docker version.
--> -->
<alfresco.share.version>25.3.0.36</alfresco.share.version> <alfresco.share.version>26.1.0.45</alfresco.share.version>
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image> <alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image> <alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
<keystore.settings> <keystore.settings>
@@ -94,84 +94,6 @@
</distributionManagement> </distributionManagement>
</profile> </profile>
<!-- 7.1 -->
<profile>
<id>community-71-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.1.1.2</alfresco.platform.version>
<alfresco.share.docker.version>7.1.1.2</alfresco.share.docker.version>
<alfresco.share.version>13.10</alfresco.share.version>
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
</properties>
</profile>
<profile>
<id>enterprise-71-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.1.1.2</alfresco.platform.version>
<alfresco.share.docker.version>7.1.1.2</alfresco.share.docker.version>
<alfresco.share.version>13.10</alfresco.share.version>
<alfresco.platform.docker.image>quay.io/alfresco/alfresco-content-repository</alfresco.platform.docker.image>
<alfresco.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
</properties>
</profile>
<!-- 7.2 -->
<profile>
<id>community-72-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.2.1</alfresco.platform.version>
<alfresco.share.docker.version>7.2.1</alfresco.share.docker.version>
<alfresco.share.version>15.17</alfresco.share.version>
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
</properties>
</profile>
<profile>
<id>enterprise-72-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.2.1</alfresco.platform.version>
<alfresco.share.docker.version>7.2.1</alfresco.share.docker.version>
<alfresco.share.version>15.17</alfresco.share.version>
<alfresco.platform.docker.image>quay.io/alfresco/alfresco-content-repository</alfresco.platform.docker.image>
<alfresco.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
</properties>
</profile>
<!-- 7.3 -->
<profile>
<id>community-73-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.3.0</alfresco.platform.version>
<alfresco.share.docker.version>7.3.0</alfresco.share.docker.version>
<alfresco.share.version>17.137</alfresco.share.version>
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
</properties>
</profile>
<profile>
<id>enterprise-73-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.3.0</alfresco.platform.version>
<alfresco.share.docker.version>7.3.0</alfresco.share.docker.version>
<alfresco.share.version>17.137</alfresco.share.version>
<alfresco.platform.docker.image>quay.io/alfresco/alfresco-content-repository</alfresco.platform.docker.image>
<alfresco.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
</properties>
</profile>
<!-- 7.4 --> <!-- 7.4 -->
<profile> <profile>
<id>community-74-tests</id> <id>community-74-tests</id>
@@ -368,6 +290,46 @@
</properties> </properties>
</profile> </profile>
<!-- 25.4 -->
<profile>
<id>enterprise-254-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>25.4.0</alfresco.platform.version>
<alfresco.share.docker.version>25.4.0</alfresco.share.docker.version>
<alfresco.share.version>25.4.0.61</alfresco.share.version>
<alfresco.platform.docker.image>quay.io/alfresco/alfresco-content-repository</alfresco.platform.docker.image>
<alfresco.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
</properties>
</profile>
<!-- 26.1 -->
<profile>
<id>community-261-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>26.1.0</alfresco.platform.version>
<alfresco.share.docker.version>26.1.0</alfresco.share.docker.version>
<alfresco.share.version>26.1.0.45</alfresco.share.version>
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
</properties>
</profile>
<profile>
<id>enterprise-261-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>26.1.0</alfresco.platform.version>
<alfresco.share.docker.version>26.1.0</alfresco.share.docker.version>
<alfresco.share.version>26.1.0.45</alfresco.share.version>
<alfresco.platform.docker.image>quay.io/alfresco/alfresco-content-repository</alfresco.platform.docker.image>
<alfresco.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
</properties>
</profile>
<profile> <profile>
<id>sdk-release</id> <id>sdk-release</id>
<build> <build>
@@ -375,7 +337,7 @@
<plugin> <plugin>
<groupId>org.sonatype.central</groupId> <groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId> <artifactId>central-publishing-maven-plugin</artifactId>
<version>0.8.0</version> <version>0.10.0</version>
<extensions>true</extensions> <extensions>true</extensions>
<configuration> <configuration>
<publishingServerId>central</publishingServerId> <publishingServerId>central</publishingServerId>
@@ -385,7 +347,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId> <artifactId>maven-source-plugin</artifactId>
<version>3.3.1</version> <version>3.4.0</version>
<executions> <executions>
<execution> <execution>
<id>attach-sources</id> <id>attach-sources</id>
@@ -411,7 +373,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId> <artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version> <version>3.2.8</version>
<executions> <executions>
<execution> <execution>
<id>sign-artifacts</id> <id>sign-artifacts</id>
@@ -487,6 +449,22 @@
</profile> </profile>
</profiles> </profiles>
<!--
Date: 12-06-2026
Force transitive dependencies to safe versions.
Remove this when bumping the "alfresco-repository" 26.2 GA in the future,
as the fixed version of plexus-utils will be included in the dependency tree of the project.
-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.6.1</version>
</dependency>
</dependencies>
</dependencyManagement>
<build> <build>
<pluginManagement> <pluginManagement>
<plugins> <plugins>
-3
View File
@@ -1,3 +0,0 @@
# To avoid the provided dependencies we set the scope to runtime. See: https://docs.veracode.com/r/c_sc_scan_directives
# runtime: to restrict the scan to compile and runtime dependencies.
scope: runtime