diff --git a/.github/ISSUE_TEMPLATE/Bug_report.md b/.github/ISSUE_TEMPLATE/Bug_report.md
new file mode 100644
index 00000000..4de26c77
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/Bug_report.md
@@ -0,0 +1,35 @@
+---
+name: Bug report
+about: Create a report to help us improve
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+Steps to reproduce the behavior:
+1. Go to '...'
+2. Click on '....'
+3. Scroll down to '....'
+4. See error
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Screenshots**
+If applicable, add screenshots to help explain your problem.
+
+**Desktop (please complete the following information):**
+ - OS: [e.g. iOS]
+ - Browser [e.g. chrome, safari]
+ - Version [e.g. 22]
+
+**Smartphone (please complete the following information):**
+ - Device: [e.g. iPhone6]
+ - OS: [e.g. iOS8.1]
+ - Browser [e.g. stock browser, safari]
+ - Version [e.g. 22]
+
+**Additional context**
+Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/Feature_request.md b/.github/ISSUE_TEMPLATE/Feature_request.md
new file mode 100644
index 00000000..53842951
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/Feature_request.md
@@ -0,0 +1,17 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+
+---
+
+**Is your feature request related to a problem? Please describe.**
+A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+
+**Describe the solution you'd like**
+A clear and concise description of what you want to happen.
+
+**Describe alternatives you've considered**
+A clear and concise description of any alternative solutions or features you've considered.
+
+**Additional context**
+Add any other context or screenshots about the feature request here.
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000..287b3408
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,214 @@
+name: Build
+
+on:
+ push:
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ build-maven:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ java: [ '8', '11' ]
+ os: [ 'ubuntu-latest', 'macos-latest', 'windows-latest' ]
+ fail-fast: false
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Java ${{ matrix.Java }} (${{ matrix.os }})
+ uses: actions/setup-java@v3
+ with:
+ java-version: ${{ matrix.java }}
+ distribution: 'temurin'
+ - name: Cache Maven packages
+ uses: actions/cache@v3
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2-repository
+ - name: Build with Maven
+ env:
+ MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
+ run: mvn --batch-mode --errors --update-snapshots verify --file pom.xml
+ - name: Upload artifacts
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ matrix.os }}-${{ matrix.java }}
+ retention-days: 5
+ path: |
+ jee-agents-distribution/jee-agents-distribution-appserver-v10/target/*.zip
+ jee-agents-distribution/jee-agents-distribution-jboss-v42/target/*.zip
+ jee-agents-distribution/jee-agents-distribution-jboss-v7/target/*.zip
+ jee-agents-distribution/jee-agents-distribution-jetty-v61/target/*.zip
+ jee-agents-distribution/jee-agents-distribution-jetty-v7/target/*.zip
+ jee-agents-distribution/jee-agents-distribution-jsr196/target/*.zip
+ jee-agents-distribution/jee-agents-distribution-tomcat-v6/target/*.zip
+ build-docker-tomcat-8-5-jre8:
+ runs-on: 'ubuntu-latest'
+ services:
+ registry:
+ image: registry:2
+ ports:
+ - 5000:5000
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Set up Java for publishing to Maven Central Repository OSS
+ uses: actions/setup-java@v3
+ with:
+ java-version: '8'
+ distribution: 'temurin'
+ - name: Cache Maven packages
+ uses: actions/cache@v3
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2-repository
+ - name: Build with Maven
+ env:
+ MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
+ run: mvn --batch-mode --errors --update-snapshots package --file pom.xml
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action@v4
+ with:
+ images: |
+ localhost:5000/${{ github.repository }}
+ tags: |
+ type=raw,value=test
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ with:
+ driver-opts: network=host
+ - name: Build image
+ uses: docker/build-push-action@v3
+ continue-on-error: true
+ with:
+ context: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6
+ file: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
+ platforms: linux/amd64, linux/arm64/8, linux/arm/v7, linux/ppc64le
+ push: true
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
+ - name: Docker test
+ shell: bash
+ run: |
+ docker run -it -d --name=test localhost:5000/${GITHUB_REPOSITORY,,}:test
+ timeout 2m bash -c 'until docker logs test | grep -q "Naming service connection failed"; do sleep 5; done'
+ build-docker-tomcat-9-jre8:
+ runs-on: 'ubuntu-latest'
+ services:
+ registry:
+ image: registry:2
+ ports:
+ - 5000:5000
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Set up Java for publishing to Maven Central Repository OSS
+ uses: actions/setup-java@v3
+ with:
+ java-version: '8'
+ distribution: 'temurin'
+ - name: Cache Maven packages
+ uses: actions/cache@v3
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2-repository
+ - name: Build with Maven
+ env:
+ MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
+ run: |
+ mvn --batch-mode --errors --update-snapshots package --file pom.xml
+ sed -i -e 's/tomcat:8\.5-jre8/tomcat:9-jre8/g' jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action@v4
+ with:
+ images: |
+ localhost:5000/${{ github.repository }}
+ tags: |
+ type=raw,value=test
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ with:
+ driver-opts: network=host
+ - name: Build image
+ uses: docker/build-push-action@v3
+ continue-on-error: true
+ with:
+ context: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6
+ file: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
+ platforms: linux/amd64, linux/arm64/8, linux/arm/v7, linux/ppc64le
+ push: true
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
+ - name: Docker test
+ shell: bash
+ run: |
+ docker run -it -d --name=test localhost:5000/${GITHUB_REPOSITORY,,}:test
+ timeout 2m bash -c 'until docker logs test | grep -q "Naming service connection failed"; do sleep 5; done'
+ build-docker-tomee-7-1-plus-jre8:
+ runs-on: 'ubuntu-latest'
+ services:
+ registry:
+ image: registry:2
+ ports:
+ - 5000:5000
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Set up Java for publishing to Maven Central Repository OSS
+ uses: actions/setup-java@v3
+ with:
+ java-version: '8'
+ distribution: 'temurin'
+ - name: Build with Maven
+ env:
+ MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
+ run: |
+ mvn --batch-mode --errors --update-snapshots package --file pom.xml
+ sed -i -e 's/tomcat:8\.5-jre8/tomee:8-jre-7\.1\.0-plus/g' jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action@v4
+ with:
+ images: |
+ localhost:5000/${{ github.repository }}
+ tags: |
+ type=raw,value=test
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ with:
+ driver-opts: network=host
+ - name: Build image
+ uses: docker/build-push-action@v3
+ continue-on-error: true
+ with:
+ context: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6
+ file: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
+ platforms: linux/amd64
+ push: true
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
+ - name: Docker test
+ shell: bash
+ run: |
+ docker run -it -d --name=test localhost:5000/${GITHUB_REPOSITORY,,}:test
+ timeout 2m bash -c 'until docker logs test | grep -q "Naming service connection failed"; do sleep 5; done'
\ No newline at end of file
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
new file mode 100644
index 00000000..7e8152e6
--- /dev/null
+++ b/.github/workflows/deploy.yml
@@ -0,0 +1,92 @@
+name: Package/Deploy
+
+on:
+ workflow_dispatch:
+ workflow_run:
+ branches: [ master ]
+ workflows: ["Build","Release"]
+ types: [completed]
+jobs:
+ deploy-maven:
+ if: ${{ github.event.workflow_run.conclusion == 'success' }}
+ runs-on: 'ubuntu-latest'
+ steps:
+ - name: Print github context
+ env:
+ GITHUB_CONTEXT: ${{ toJSON(github) }}
+ run: echo "$GITHUB_CONTEXT"
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Set up Java for publishing to Maven Central Repository OSS
+ uses: actions/setup-java@v3
+ with:
+ java-version: '8'
+ distribution: 'temurin'
+ server-id: ossrh
+ server-username: MAVEN_USERNAME
+ server-password: MAVEN_PASSWORD
+ - name: Cache Maven packages
+ uses: actions/cache@v3
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2-repository
+ - name: Install gpg secret key
+ env:
+ GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
+ if: ${{ env.GPG_PRIVATE_KEY!=''}}
+ run: |
+ cat <(echo -e "${{ secrets.GPG_PRIVATE_KEY }}") | gpg --batch --import
+ gpg --list-secret-keys --keyid-format LONG
+ - name: Build package local
+ env:
+ MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
+ MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
+ MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
+ if: ${{ !(github.event.workflow_run.event=='push' && env.MAVEN_USERNAME!='' && env.MAVEN_PASSWORD!='')}}
+ run: mvn --batch-mode --errors --update-snapshots -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} package --file pom.xml
+ - name: Publish to the Maven Central Repository
+ env:
+ MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
+ MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
+ MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
+ if: ${{ github.event.workflow_run.event=='push' && env.MAVEN_USERNAME!='' && env.MAVEN_PASSWORD!=''}}
+ run: mvn --batch-mode --errors --update-snapshots -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} deploy --file pom.xml
+ - name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenAM Java Policy Agent (Appserver v10 ZIP)
+ path: jee-agents-distribution/jee-agents-distribution-appserver-v10/target/*.zip
+ - name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenAM Java Policy Agent (JBoss v42 ZIP)
+ path: jee-agents-distribution/jee-agents-distribution-jboss-v42/target/*.zip
+ - name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenAM Java Policy Agent (JBoss v7 ZIP)
+ path: jee-agents-distribution/jee-agents-distribution-jboss-v7/target/*.zip
+ - name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenAM Java Policy Agent (Jetty v61 ZIP)
+ path: jee-agents-distribution/jee-agents-distribution-jetty-v61/target/*.zip
+ - name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenAM Java Policy Agent (Jetty v7-v8 ZIP)
+ path: jee-agents-distribution/jee-agents-distribution-jetty-v7/target/*.zip
+ - name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenAM Java Policy Agent (JSR196 ZIP)
+ path: jee-agents-distribution/jee-agents-distribution-jsr196/target/*.zip
+ - name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenAM Java Policy Agent (Tomcat v6-v9 ZIP)
+ path: jee-agents-distribution/jee-agents-distribution-tomcat-v6/target/*.zip
+
\ No newline at end of file
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 00000000..38fb596a
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,228 @@
+name: Release
+
+on:
+ workflow_dispatch:
+ inputs:
+ releaseVersion:
+ description: "Default version to use when preparing a release."
+ required: true
+ default: "X.Y.Z"
+ developmentVersion:
+ description: "Default version to use for new local working copy."
+ required: true
+ default: "X.Y.Z-SNAPSHOT"
+jobs:
+ release-maven:
+ runs-on: 'ubuntu-latest'
+ steps:
+ - name: Print github context
+ env:
+ GITHUB_CONTEXT: ${{ toJSON(github) }}
+ run: echo "$GITHUB_CONTEXT"
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Set up Java for publishing to Maven Central Repository OSS
+ uses: actions/setup-java@v3
+ with:
+ java-version: '8'
+ distribution: 'temurin'
+ server-id: ossrh
+ server-username: MAVEN_USERNAME
+ server-password: MAVEN_PASSWORD
+ - name: Cache Maven packages
+ uses: actions/cache@v3
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2-repository
+ - name: Install gpg secret key
+ env:
+ GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
+ if: ${{ env.GPG_PRIVATE_KEY!=''}}
+ run: |
+ cat <(echo -e "${{ secrets.GPG_PRIVATE_KEY }}") | gpg --batch --import
+ gpg --list-secret-keys --keyid-format LONG
+ git config --global user.signingkey B02611B009E5302EB58D102D6C2EDF3C90D33841
+ - name: Configure Git User
+ run: |
+ git config --global user.name "Open Identity Platform Community"
+ git config --global user.email "open-identity-platform-opendj@googlegroups.com"
+ - name: Release and publish to the Maven Central Repository
+ env:
+ GITHUB_ACTOR: ${{ github.actor }}
+ GITHUB_TOKEN: ${{ github.token }}
+ MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
+ MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
+ MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
+ if: ${{ env.MAVEN_USERNAME!='' && env.MAVEN_PASSWORD!='' }}
+ run: mvn --batch-mode -Darguments="-Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}" -DsignTag=true -DtagNameFormat="${{ github.event.inputs.releaseVersion }}" -DreleaseVersion=${{ github.event.inputs.releaseVersion }} -DdevelopmentVersion=${{ github.event.inputs.developmentVersion }} release:prepare release:perform --file pom.xml
+ - name: Release on GitHub
+ uses: softprops/action-gh-release@v1
+ with:
+ name: ${{ github.event.inputs.releaseVersion }}
+ tag_name: ${{ github.event.inputs.releaseVersion }}
+ draft: false
+ prerelease: false
+ fail_on_unmatched_files: false
+ generate_release_notes: true
+ files: |
+ jee-agents-distribution/jee-agents-distribution-appserver-v10/target/*.zip
+ jee-agents-distribution/jee-agents-distribution-jboss-v42/target/*.zip
+ jee-agents-distribution/jee-agents-distribution-jboss-v7/target/*.zip
+ jee-agents-distribution/jee-agents-distribution-jetty-v61/target/*.zip
+ jee-agents-distribution/jee-agents-distribution-jetty-v7/target/*.zip
+ jee-agents-distribution/jee-agents-distribution-jsr196/target/*.zip
+ jee-agents-distribution/jee-agents-distribution-tomcat-v6/target/*.zip
+ release-docker-tomcat-v8:
+ runs-on: 'ubuntu-latest'
+ needs:
+ - release-maven
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ ref: ${{ github.event.inputs.releaseVersion }}
+ fetch-depth: 1
+ submodules: recursive
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action@v4
+ with:
+ images: |
+ ${{ github.repository }}
+ ghcr.io/${{ github.repository }}/${{ github.event.repository.name }}
+ tags: |
+ type=raw,value=tomcat-v8
+ type=raw,value=${{ github.event.inputs.releaseVersion }}-tomcat-v8
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ - name: Login to DockerHub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ - name: Login to GHCR
+ uses: docker/login-action@v2
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ - name: Build and push image
+ uses: docker/build-push-action@v3
+ continue-on-error: true
+ with:
+ context: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6
+ file: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
+ build-args: |
+ VERSION=${{ github.event.inputs.releaseVersion }}
+ platforms: linux/amd64, linux/arm64/8, linux/arm/v7, linux/ppc64le
+ push: true
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
+ release-docker-tomcat-v9:
+ runs-on: 'ubuntu-latest'
+ needs:
+ - release-maven
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ ref: ${{ github.event.inputs.releaseVersion }}
+ fetch-depth: 1
+ submodules: recursive
+ - name: Set source
+ run: sed -i -e 's/tomcat:8\.5-jre8/tomcat:9-jre8/g' jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action@v4
+ with:
+ images: |
+ ${{ github.repository }}
+ ghcr.io/${{ github.repository }}/${{ github.event.repository.name }}
+ tags: |
+ type=raw,value=latest
+ type=raw,value=tomcat
+ type=raw,value=tomcat-v9
+ type=raw,value=${{ github.event.inputs.releaseVersion }}
+ type=raw,value=${{ github.event.inputs.releaseVersion }}-tomcat
+ type=raw,value=${{ github.event.inputs.releaseVersion }}-tomcat-v9
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ - name: Login to DockerHub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ - name: Login to GHCR
+ uses: docker/login-action@v2
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ - name: Build and push image
+ uses: docker/build-push-action@v3
+ continue-on-error: true
+ with:
+ context: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6
+ file: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
+ build-args: |
+ VERSION=${{ github.event.inputs.releaseVersion }}
+ platforms: linux/amd64, linux/arm64/8, linux/arm/v7, linux/ppc64le
+ push: true
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
+ release-docker-tomee:
+ runs-on: 'ubuntu-latest'
+ needs:
+ - release-maven
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ ref: ${{ github.event.inputs.releaseVersion }}
+ fetch-depth: 1
+ submodules: recursive
+ - name: Set source
+ run: sed -i -e 's/tomcat:8\.5-jre8/tomee:8-jre-7\.1\.0-plus/g' jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action@v4
+ with:
+ images: |
+ ${{ github.repository }}
+ ghcr.io/${{ github.repository }}/${{ github.event.repository.name }}
+ tags: |
+ type=raw,value=tomee
+ type=raw,value=tomee-v7
+ type=raw,value=${{ github.event.inputs.releaseVersion }}-tomee
+ type=raw,value=${{ github.event.inputs.releaseVersion }}-tomee-v7
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ - name: Login to DockerHub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ - name: Login to GHCR
+ uses: docker/login-action@v2
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ - name: Build and push image
+ uses: docker/build-push-action@v3
+ continue-on-error: true
+ with:
+ context: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6
+ file: ./jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
+ build-args: |
+ VERSION=${{ github.event.inputs.releaseVersion }}
+ platforms: linux/amd64
+ push: true
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 5a2619ba..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,88 +0,0 @@
-language: java
-cache:
- directories:
- - $HOME/.m2
-git:
- depth: 9999
-matrix:
- include:
- - os: linux
- jdk: openjdk8
- sudo: required
- services:
- - docker
- before_deploy:
- - git config --local user.name "Open Identity Platform Community" && git config --local user.email "open-identity-platform-openam@googlegroups.com"
- - git checkout -f $TRAVIS_BRANCH
- - git tag -f $git_version && git tag -d $git_version
- - mvn -B -q -DreleaseVersion="$git_version" -DtagNameFormat="@{project.version}" -DignoreSnapshots=true -DpushChanges=false -DscmCommentPrefix="[ci skip] " -DskipTests -Darguments=-DskipTests clean release:prepare
- - git log `git describe --tags --abbrev=0 HEAD^ --always`..HEAD --oneline;git push --quiet --force https://$GITHUBKEY@github.com/$TRAVIS_REPO_SLUG.git #>/dev/null 2>&1
- - git push --quiet --force https://$GITHUBKEY@github.com/$TRAVIS_REPO_SLUG.git $git_version #>/dev/null 2>&1
- deploy:
- provider: releases
- draft: false
- prerelease: false
- target_commitish: $(git rev-list -n 1 $git_version)
- tag_name: $git_version
- name: $git_version
- body: "compare: $(git rev-list -n 1 $git_version_last)...$(git rev-list -n 1 $git_version)"
- api_key:
- secure: xSBmIHb8xDN3QJYAHEeJ3RMcROGuquqTXB3PZSNPNesNwPGuZpj9gSHfxp8kCnb17jMImGVlZ1MZSrdbc+MvWi39sWWQHHwbLUzwd+5phSanzMzhHLL6NB93rNCzBzatwNyWjpniVOrStENin38HenO4Rs3z6LFMJmUd4La2Wz41LWNiNhU5ifqwYbxZ7EPuSV9KTGH1P7IUfCLI8u07D4fZF1es4KdzPJFtj3xrLgxaa13vkiC8VpFoCjG2UfNhYplawerpCgVIEpxKDbMPQ32UjZqeSjPxQfR7c0yyceL69Krgm7Go/mtflPqDJmMs10y9oThDrIm5AXtxEjzwTCukA5USBGYbii0mVYxUTMNs36ogO48t2BcHzT/9iMGn8o/h2UGQUUnm58nLEYg7B6kRkSRSPFhL+6zrvYm1ByqIon0dpMrHP/L7Mu5MiVzh0SbZoXmOwT1MdksE7BOI0/ZWRvK9NqtnLfcPCpqlNAomFaZAaHw5U3r0GUVhZ+SWJo0PbvWMFxUe+rNwr+h4pI8GoR3c1u+B2Max8DmveWoGgkyaWxplJIJIZb5wFEdTVG/xdoo0t7dgAKrbkELkSPsYM2ftX5J4EQxqAJfnleIdptKWYFU3VHxHrC1e4uQvKHwIKLVZJixrkaN0QlIkt3v3zm/ZU4C4OOUZtPSo9rE=
- skip_cleanup: true
- overwrite: true
- file_glob: true
- file:
- - "jee-agents-distribution/jee-agents-distribution-appserver-v10/target/*.zip"
- - "jee-agents-distribution/jee-agents-distribution-jboss-v42/target/*.zip"
- - "jee-agents-distribution/jee-agents-distribution-jboss-v7/target/*.zip"
- - "jee-agents-distribution/jee-agents-distribution-jetty-v61/target/*.zip"
- - "jee-agents-distribution/jee-agents-distribution-jetty-v7/target/*.zip"
- - "jee-agents-distribution/jee-agents-distribution-jsr196/target/*.zip"
- - "jee-agents-distribution/jee-agents-distribution-tomcat-v6/target/*.zip"
- on:
- repo: OpenIdentityPlatform/OpenAM-JEE-Agents
- tags: false
- branch:
- - master
- - travis
- after_deploy:
- - echo 'after_deploy'
- - echo 'build and push Docker'
- - cd jee-agents-distribution/jee-agents-distribution-tomcat-v6
- - docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"
- - docker build . -t $DOCKER_USERNAME/openam-j2ee-agent-tomcat -t $DOCKER_USERNAME/openam-j2ee-agent-tomcat:tomcat -t $DOCKER_USERNAME/openam-j2ee-agent-tomcat:$git_version -t $DOCKER_USERNAME/openam-j2ee-agent-tomcat:$git_version-tomcat
- - docker push $DOCKER_USERNAME/openam-j2ee-agent-tomcat:$git_version-tomcat
- - docker push $DOCKER_USERNAME/openam-j2ee-agent-tomcat:$git_version
- - docker push $DOCKER_USERNAME/openam-j2ee-agent-tomcat:tomcat
- - docker push $DOCKER_USERNAME/openam-j2ee-agent-tomcat
- - sed -i -e 's/tomcat:8\.5-jre8/tomee:8-jre-7\.1\.0-plus/g' Dockerfile
- - docker build . -t $DOCKER_USERNAME/openam-j2ee-agent-tomcat:$git_version-tomee-8-jre-7.1.0-plus
- - docker push $DOCKER_USERNAME/openam-j2ee-agent-tomcat:tomee-8-jre-7.1.0-plus
- - os: osx
- osx_image: xcode9.1
- allow_failures:
- - os: osx
-branches:
- except:
- - /[0-9]+\.[0-9]+\.[0-9]+$/
-notifications:
- email:
- - open-identity-platform-openam@googlegroups.com
-before_install:
- - date -u
- - uname -a
- - # if [[ "$TRAVIS_OS_NAME" == "osx" ]] ; then brew install rpm wine; else sudo apt-get install -y rpm wine; fi
- - git fetch -t
- - export git_version_last="$(git describe --abbrev=0 --tags --always)"
- - export git_version="$(echo $git_version_last | awk -F . '{ printf "%d.%d.%d", $1,$2,$3 + 1}')"
- - env | sort
- - git log `git describe --tags --abbrev=0 HEAD^ --always`..HEAD --oneline
-install:
- - mvn -q -B -DskipTests -Dmaven.javadoc.skip=true install -f OpenAM/OpenDJ/forgerock-parent
- - mvn -q -B clean -f OpenAM/OpenDJ/forgerock-parent
- - mvn -q -B -DskipTests -Dmaven.javadoc.skip=true install -f OpenAM/OpenDJ
- - mvn -q -B clean -f OpenAM/OpenDJ
- - mvn -q -B -DskipTests -Dmaven.javadoc.skip=true install -f OpenAM
- - mvn -q -B clean -f OpenAM
-script:
- - mvn -q -B install
\ No newline at end of file
diff --git a/README.md b/README.md
index 97687765..06e4849e 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
## OpenAM Java EE Policy Agents
[![Latest release](https://img.shields.io/github/release/OpenIdentityPlatform/OpenAM-JEE-Agents.svg)](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/releases)
-[![Build Status](https://travis-ci.org/OpenIdentityPlatform/OpenAM-JEE-Agents.svg)](https://travis-ci.org/OpenIdentityPlatform/OpenAM-JEE-Agents)
+[![Build](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/actions/workflows/build.yml/badge.svg)](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/actions/workflows/build.yml)
+[![Deploy](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/actions/workflows/deploy.yml/badge.svg)](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/actions/workflows/deploy.yml)
[![Issues](https://img.shields.io/github/issues/OpenIdentityPlatform/OpenAM-JEE-Agents.svg)](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/issues)
[![Last commit](https://img.shields.io/github/last-commit/OpenIdentityPlatform/OpenAM-JEE-Agents.svg)](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/commits/master)
[![License](https://img.shields.io/badge/license-CDDL-blue.svg)](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/blob/master/LICENSE.md)
@@ -14,7 +15,7 @@ OpenAM Java EE Policy Agents is an OpenAM add-on component that functions as a P
This project is licensed under the [Common Development and Distribution License (CDDL)](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/blob/master/LICENSE.md).
## Downloads
-* [OpenAM Java Policy Agent (Tomcat v6 v7 v8 ZIP)](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/releases) (All OS)
+* [OpenAM Java Policy Agent (Tomcat v6-v9 ZIP)](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/releases) (All OS)
* [OpenAM Java Policy Agent (Jetty v61 ZIP)](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/releases) (All OS)
* [OpenAM Java Policy Agent (Jetty v7-v8 ZIP)](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/releases) (All OS)
* [OpenAM Java Policy Agent (Appserver v10 ZIP)](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/releases) (All OS)
@@ -29,7 +30,6 @@ This project is licensed under the [Common Development and Distribution License
Java 1.8+ required
## How-to build
-Build tested with Java 8 and Java 11.
```bash
git clone https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents.git
@@ -38,15 +38,14 @@ mvn clean install -f OpenAM-JEE-Agents
## Support and Mailing List Information
* OpenAM Java Policy Agent Community Wiki: https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/wiki
-* OpenAM Java Policy Agent Community Mailing List: open-identity-platform-openam@googlegroups.com
-* OpenAM Java Policy Agent Community Archive: https://groups.google.com/d/forum/open-identity-platform-openam
-* OpenAM Java Policy Agent Community on Gitter: https://gitter.im/OpenIdentityPlatform/OpenAM
+* OpenAM Java Policy Agent Community Discussions: https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/discussions
+* OpenAM Java Policy Agent Community Issues: https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/issues
* OpenAM Java Policy Agent Commercial support RFP: support@openam.org.ru (English, Russian)
## Contributing
Please, make [Pull request](https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/pulls)
-## Thanks for OpenAM Java Policy Agent
+## Thanks for OpenAM Java Policy Agent 🥰
* Sun Access Manager
* Sun OpenSSO
* Oracle OpenSSO
diff --git a/jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile b/jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
index 437225fa..8c83eef9 100644
--- a/jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
+++ b/jee-agents-distribution/jee-agents-distribution-tomcat-v6/Dockerfile
@@ -10,13 +10,17 @@ ENV OPENAM_AGENT_URL="http://localhost:8080/agentapp"
ENV USER="tomcat"
ENV CATALINA_OPTS="-Xmx2048m -server -Dcom.iplanet.services.debug.level=error -Dcom.sun.identity.agents.config.local.logfile= -Dcom.iplanet.services.debug.directory"
-ADD target/*.zip .
+COPY . target/*.zip ./
+
ADD run.sh bin/run.sh
-WORKDIR $CATALINA_HOME
+ENV CATALINA_HOME=${CATALINA_HOME:-.}
+
+RUN apt update && apt install -y curl unzip && rm -fr $CATALINA_HOME/webapps/*
-RUN apt update && apt install -y unzip \
- && rm -fr $CATALINA_HOME/webapps/* && unzip *.zip && rm -rf *.zip
+ARG VERSION
+RUN if [ ! -z "$VERSION" ] ; then rm -rf ./*.zip ; curl -L https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/releases/download/$VERSION/tomcat_v6_v7_v8_v9_agent_$VERSION.zip --output $VERSION.zip ; fi
+RUN unzip *.zip && rm -rf *.zip
RUN useradd -m -r -u 1001 -g root $USER \
&& chgrp -R 0 $CATALINA_HOME && chmod -R g=u $CATALINA_HOME \
diff --git a/jee-agents-distribution/jee-agents-distribution-tomcat-v6/pom.xml b/jee-agents-distribution/jee-agents-distribution-tomcat-v6/pom.xml
index 317b1d39..684010e4 100644
--- a/jee-agents-distribution/jee-agents-distribution-tomcat-v6/pom.xml
+++ b/jee-agents-distribution/jee-agents-distribution-tomcat-v6/pom.xml
@@ -46,7 +46,7 @@
single
- tomcat_v6_v7_v8_agent_${project.version}
+ tomcat_v6_v7_v8_v9_agent_${project.version}
false
gnu
diff --git a/pom.xml b/pom.xml
index 91f6a4a2..374468e0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,26 +57,102 @@
jee-agents-sampleapp
jee-agents-distribution
+
+
+ CDDL-1.1
+ https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/blob/master/LICENSE.md
+ Common Development and Distribution License (CDDL) 1.1.
+ This license applies to OpenDJ source code as indicated in the
+ source files.
+
+ repo
+
+
+
+
+ Open Identity Platform Community
+ Open Identity Platform Community
+ open-identity-platform@googlegroups.com
+ Open Identity Platform Community
+ https://www.openidentityplatform.org/
+ https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents
+
+
+
+ github.com
+ https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents/issues
+
scm:git:https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents.git
- scm:git:ssh://git@github.com:OpenIdentityPlatform/OpenAM-JEE-Agents.git
+ scm:git:https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents.git
https://github.com/OpenIdentityPlatform/OpenAM-JEE-Agents
HEAD
-
- jboss-nexus-public
- JBoss Nexus Public Repository
- https://repository.jboss.org/nexus/content/groups/public/
-
-
+
+ ossrh-snapshots
+ Sonatype OSS Repository
+ https://oss.sonatype.org/content/repositories/snapshots/
+ true
+
+
+ jboss-nexus-public
+ JBoss Nexus Public Repository
+ https://repository.jboss.org/nexus/content/groups/public/
+
+
+
+
+ ossrh-snapshots
+ Sonatype OSS Repository
+ https://oss.sonatype.org/content/repositories/snapshots/
+
+ true
+
+
+
+
+
+ ossrh
+ Sonatype OSS Repository
+ https://oss.sonatype.org/service/local/staging/deploy/maven2
+
+
+ ossrh
+ Sonatype OSS Repository
+ https://oss.sonatype.org/content/repositories/snapshots
+
+
+
+
+ org.sonatype.plugins
+ nexus-staging-maven-plugin
+ 1.6.13
+ true
+
+ ossrh
+ https://oss.sonatype.org/
+ false
+ 15
+ true
+ true
+
+
+
+ com.google.guava
+ guava
+ 15.0
+
+
+
+
org.codehaus.gmaven
groovy-maven-plugin
- 2.0
+ 2.1.1
com.google.code.maven-replacer-plugin
@@ -504,5 +580,43 @@
+
+
+ release-sign-artifacts
+
+
+ gpg.passphrase
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ 1.6
+
+ ${gpg.passphrase}
+ true
+
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+
+ --pinentry-mode
+ loopback
+
+
+
+
+
+
+
+
+