From 7cfd0304154ed36f395e678c694ca3dffb73f81d Mon Sep 17 00:00:00 2001
From: vharseko <vharseko@3a-systems.ru>
Date: Tue, 19 Apr 2022 13:05:44 +0000
Subject: [PATCH] Migrate release from Travis to GitHub (#217)
---
opendj-packages/opendj-docker/pom.xml | 3
opendj-packages/opendj-docker/Dockerfile-alpine | 0
opendj-packages/pom.xml | 16 +
opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateMessageFileMojo.java | 2
opendj-packages/opendj-msi/opendj-msi-standard/pom.xml | 67 +++++--
opendj-doc-generated-ref/pom.xml | 2
opendj-packages/opendj-msi/pom.xml | 6
.github/workflows/deploy.yml | 116 +++++++++++-
pom.xml | 13 +
opendj-packages/opendj-docker/Dockerfile | 11
/dev/null | 102 -----------
opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateRefEntriesMojo.java | 7
.github/workflows/release.yml | 135 +++++++++++++++
.github/workflows/build.yml | 43 ++++
14 files changed, 368 insertions(+), 155 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 05bbd0b..578bba1 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -15,14 +15,28 @@
java: [ '8', '11']
os: [ 'ubuntu-latest', 'macos-latest', 'windows-latest' ]
steps:
- - uses: actions/checkout@v2
+ - name: Install wine+rpm for ditribution
+ if: runner.os == 'Linux'
+ shell: bash
+ run: |
+ sudo dpkg --add-architecture i386
+ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 86B72ED9
+ sudo add-apt-repository 'deb [arch=amd64] https://mirror.mxe.cc/repos/apt focal main'
+ sudo apt -qq update
+ sudo apt install -y --allow-downgrades libpcre2-8-0=10.34-7
+ sudo apt install -y wine32
+ wine --version
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ submodules: recursive
- name: Java ${{ matrix.Java }} (${{ matrix.os }})
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java }}
distribution: 'adopt'
- name: Cache Maven packages
- uses: actions/cache@v2
+ uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }}
@@ -30,4 +44,27 @@
- 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 --update-snapshots package --file pom.xml
\ No newline at end of file
+ run: mvn --batch-mode --errors --update-snapshots package --file pom.xml
+ - name: Docker build
+ if: runner.os == 'Linux'
+ shell: bash
+ run: |
+ git fetch -t; export git_version_last="$(git describe --abbrev=0 --tags)" ; echo "last release: $git_version_last"
+ docker build opendj-packages/opendj-docker -f opendj-packages/opendj-docker/Dockerfile -t ${GITHUB_REPOSITORY,,}:$git_version_last --build-arg VERSION=$git_version_last
+ docker build opendj-packages/opendj-docker -f opendj-packages/opendj-docker/Dockerfile-alpine -t ${GITHUB_REPOSITORY,,}:$git_version_last-alpine --build-arg VERSION=$git_version_last
+ - name: Upload artifacts OpenDJ Server
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ matrix.os }}-${{ matrix.java }}
+ retention-days: 5
+ path: |
+ opendj-server-legacy/target/package/*.zip
+ opendj-ldap-toolkit/target/*.zip
+ opendj-packages/opendj-deb/opendj-deb-standard/target/*.deb
+ opendj-packages/opendj-rpm/opendj-rpm-standard/target/rpm/opendj/RPMS/noarch/*.rpm
+ opendj-packages/opendj-msi/opendj-msi-standard/target/*.msi
+ opendj-packages/opendj-docker/target/Dockerfile.zip
+ opendj-packages/opendj-openshift-template/*.yaml
+ opendj-doc-generated-ref/target/*.zip
+ opendj-dsml-servlet/target/*.war
+ opendj-rest2ldap-servlet/target/*.war
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 3034bf4..852df8a 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -1,4 +1,4 @@
-name: Deploy Maven
+name: Package/Deploy Maven
on:
workflow_run:
@@ -8,21 +8,28 @@
jobs:
deploy:
name: Maven deploy
- if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event=='push' }}
+ 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"
- - 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
- - uses: actions/checkout@v2
+ - name: Install wine+rpm for ditribution
+ if: runner.os == 'Linux'
+ shell: bash
+ run: |
+ sudo dpkg --add-architecture i386
+ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 86B72ED9
+ sudo add-apt-repository 'deb [arch=amd64] https://mirror.mxe.cc/repos/apt focal main'
+ sudo apt -qq update
+ sudo apt install -y --allow-downgrades libpcre2-8-0=10.34-7
+ sudo apt install -y wine32
+ wine --version
+ - 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@v2
with:
@@ -37,10 +44,95 @@
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_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: ${{ env.MAVEN_USERNAME!='' && env.MAVEN_PASSWORD!=''}}
- run: mvn --batch-mode --update-snapshots -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} deploy --file pom.xml
+ 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 OpenDJ Server
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenDJ Server
+ path: opendj-server-legacy/target/package/*.zip
+ - name: Upload artifacts OpenDJ SDK Toolkit
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenDJ SDK Toolkit
+ path: opendj-ldap-toolkit/target/*.zip
+ - name: Upload artifacts OpenDJ Debian Package
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenDJ Debian Package
+ path: opendj-packages/opendj-deb/opendj-deb-standard/target/*.deb
+ - name: Upload artifacts OpenDJ RPM Package
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenDJ RPM Package
+ path: opendj-packages/opendj-rpm/opendj-rpm-standard/target/rpm/opendj/RPMS/noarch/*.rpm
+ - name: Upload artifacts OpenDJ MSI Package
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenDJ MSI Package
+ path: opendj-packages/opendj-msi/opendj-msi-standard/target/*.msi
+ - name: Upload artifacts OpenDJ Docker Packages
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenDJ Docker Packages
+ path: opendj-packages/opendj-docker/target/Dockerfile.zip
+ - name: Upload artifacts OpenDJ Openshift template
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenDJ Openshift template
+ path: opendj-packages/opendj-openshift-template/*.yaml
+ - name: Upload artifacts OpenDJ Doc Generated Reference
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenDJ Doc Generated References
+ path: opendj-doc-generated-ref/target/*.zip
+ - name: Upload artifacts OpenDJ DSML Gateway
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenDJ DSML Gateway
+ path: opendj-dsml-servlet/target/*.war
+ - name: Upload artifacts OpenDJ Commons REST LDAP Gateway
+ uses: actions/upload-artifact@v3
+ with:
+ name: OpenDJ Commons REST LDAP Gateway
+ path: opendj-rest2ldap-servlet/target/*.war
+ - 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"
+ cd ..
+ - uses: actions/checkout@v3
+ continue-on-error: true
+ with:
+ repository: ${{ github.repository }}.wiki
+ path: ${{ github.event.repository.name }}.wiki
+ - name: Publish docs in wiki
+ continue-on-error: true
+ shell: bash
+ env:
+ GITHUB_ACTOR: ${{ github.actor }}
+ GITHUB_TOKEN: ${{ github.token }}
+ run: |
+ cd ${{ github.event.repository.name }}.wiki
+ rm -rf docbkx
+ mv ../opendj-doc-generated-ref/target/docbkx ../${{ github.event.repository.name }}.wiki
+ git add -A
+ git commit -a -m "upload docs after deploy ${{ github.sha }}"
+ git push --quiet --force
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..1bfd3dc
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,135 @@
+name: Release Maven
+
+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:
+ name: Maven release
+ runs-on: 'ubuntu-latest'
+ steps:
+ - name: Print github context
+ env:
+ GITHUB_CONTEXT: ${{ toJSON(github) }}
+ run: echo "$GITHUB_CONTEXT"
+ - name: Install wine+rpm for ditribution
+ shell: bash
+ run: |
+ sudo dpkg --add-architecture i386
+ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 86B72ED9
+ sudo add-apt-repository 'deb [arch=amd64] https://mirror.mxe.cc/repos/apt focal main'
+ sudo apt -qq update
+ sudo apt install -y --allow-downgrades libpcre2-8-0=10.34-7
+ sudo apt install -y wine32
+ wine --version
+ - 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@v2
+ with:
+ java-version: '8'
+ distribution: 'adopt'
+ server-id: ossrh
+ server-username: MAVEN_USERNAME
+ server-password: MAVEN_PASSWORD
+ - name: Cache Maven packages
+ uses: actions/cache@v2
+ 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: 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 }}" -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: |
+ opendj-server-legacy/target/package/*.zip
+ opendj-ldap-toolkit/target/*.zip
+ opendj-packages/opendj-deb/opendj-deb-standard/target/*.deb
+ opendj-packages/opendj-rpm/opendj-rpm-standard/target/rpm/opendj/RPMS/noarch/*.rpm
+ opendj-packages/opendj-msi/opendj-msi-standard/target/*.msi
+ opendj-packages/opendj-docker/target/Dockerfile.zip
+ opendj-packages/opendj-openshift-template/*.yaml
+ opendj-doc-generated-ref/target/*.zip
+ opendj-dsml-servlet/target/*.war
+ opendj-rest2ldap-servlet/target/*.war
+ - name: Docker publish hub.docker.com
+ if: ${{ secrets.DOCKER_PASSWORD!='' && secrets.DOCKER_USERNAME!=''}}
+ continue-on-error: true
+ shell: bash
+ run: |
+ echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
+ docker build opendj-packages/opendj-docker -f opendj-packages/opendj-docker/Dockerfile -t ${GITHUB_REPOSITORY,,} -t ${GITHUB_REPOSITORY,,}:${{ github.event.inputs.releaseVersion }} --build-arg VERSION=${{ github.event.inputs.releaseVersion }}
+ docker push ${GITHUB_REPOSITORY,,}
+ docker push ${GITHUB_REPOSITORY,,}:${{ github.event.inputs.releaseVersion }}
+ docker build opendj-packages/opendj-docker -f opendj-packages/opendj-docker/Dockerfile-alpine -t ${GITHUB_REPOSITORY,,}:alpine -t ${GITHUB_REPOSITORY,,}:${{ github.event.inputs.releaseVersion }}-alpine --build-arg VERSION=${{ github.event.inputs.releaseVersion }}
+ docker push ${GITHUB_REPOSITORY,,}:alpine
+ docker push ${GITHUB_REPOSITORY,,}:${{ github.event.inputs.releaseVersion }}-alpine
+ - name: Docker publish docker.pkg.github.com
+ continue-on-error: true
+ shell: bash
+ env:
+ GITHUB_REPOSITORY_NAME: ${{ github.event.repository.name }}
+ run: |
+ echo "${{ secrets.GITHUB_TOKEN }}" | docker login -u "Open Identity Platform Community" docker.pkg.github.com --password-stdin
+ docker build opendj-packages/opendj-docker -f opendj-packages/opendj-docker/Dockerfile -t docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,} -t docker.pkg.github.com/${GITHUB_REPOSITORY,,}:${{ github.event.inputs.releaseVersion }}/${GITHUB_REPOSITORY_NAME,,} --build-arg VERSION=${{ github.event.inputs.releaseVersion }}
+ docker push docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,}
+ docker push docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,}:${{ github.event.inputs.releaseVersion }}
+ docker build opendj-packages/opendj-docker -f opendj-packages/opendj-docker/Dockerfile-alpine -t docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,}:alpine -t docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,}:${{ github.event.inputs.releaseVersion }}-alpine --build-arg VERSION=${{ github.event.inputs.releaseVersion }}
+ docker push docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,}:alpine
+ docker push docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,}:${{ github.event.inputs.releaseVersion }}-alpine
+ - uses: actions/checkout@v3
+ continue-on-error: true
+ with:
+ repository: ${{ github.repository }}.wiki
+ path: ${{ github.event.repository.name }}.wiki
+ - name: Publish docs in wiki
+ continue-on-error: true
+ shell: bash
+ env:
+ GITHUB_ACTOR: ${{ github.actor }}
+ GITHUB_TOKEN: ${{ github.token }}
+ run: |
+ cd ${{ github.event.repository.name }}.wiki
+ rm -rf docbkx
+ mv ../opendj-doc-generated-ref/target/docbkx ../${{ github.event.repository.name }}.wiki
+ git add -A
+ git commit -a -m "upload docs after release ${{ github.event.inputs.releaseVersion }}"
+ git push --quiet --force
+ git tag -f ${{ github.event.inputs.releaseVersion }}
+ git push --quiet --force ${{ github.event.inputs.releaseVersion }}
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 80f98a3..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,102 +0,0 @@
-language: java
-cache:
- directories:
- - $HOME/.m2
-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-opendj@googlegroups.com"
- - git checkout -f $TRAVIS_BRANCH
- - git tag -f $git_version && git tag -d $git_version
- - mvn -B -DtagNameFormat="$git_version" -DreleaseVersion="$git_version" -DignoreSnapshots=true -DpushChanges=false -DscmCommentPrefix="[ci skip] $git_version_last->$git_version " -DskipTests -Darguments=-DskipTests -Dresume=false -P distribution release:prepare
- - 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
- - export compare="$(git rev-list -n 1 $git_version_last)...$(git rev-list -n 1 $git_version)"
- 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
- api_key:
- secure: bprK7kiogA+nA4TuYU7BHHIPasg2Ve7dG/eZRQ+mJpH2y6GXFBqoEpN2AQECrJ5IgVQZ9WyBc+/PXhjh/VYrg3bvU9lE2zTnkQa5kiPFGnC5cOmqO2dSdUjiBcm3yBO9J3pL//Qsr8g7fv9g5580yMW/NYMs0R70S5ystqjJFSFQHXLkWJBzXQnIyMqjPNsndmqR9lnqX690u298z9H56pNrZqK851NVjTX9WKIoWlVezCSp3nwvAD5tW+p1A0Sy/6kPheYyudEHvHO5zUe33vh3lxB/qqXzIszlEPvIzzcig/ElxTCQ+4eWL34MlGLUzeJ8DdR7JshIPkTrAQ9i5nbOIP0NLu5wfNh642Sl4diGqa+7ioAmhIQuQmBJcOb0l9pP01fLVmgJoPVLGctWpklB9FdNCu96EtHmqj6FmsQzSTpmkfhCjRrgPHQYTZNcl25xdN6GSYZpiP2fYSmp06Wz2mi2OO2gvwjU2iX2b8j/koJ8kWQHrCYamTKbu4X08Vd+lE3EupTBfBzmiPiu8pC5PRi+nmilKdg40lsga++HB3IRRoPYhULo29Yfh6kMmWrP4Pn7RFOyI0Jm5NhLlZW2A5Q+FpEr8qyiLV1eC5RxMlAdaqassz2aWgwxrJC2taF0gUnZbg6w0xa5O0UAl0VAAGAJb2cXl9yJDCkYL18=
- skip_cleanup: true
- overwrite: true
- file_glob: true
- file:
- - "opendj-server-legacy/target/package/*.zip"
- - "opendj-ldap-toolkit/target/*.zip"
- - "opendj-packages/opendj-deb/opendj-deb-standard/target/*.deb"
- - "opendj-packages/opendj-rpm/opendj-rpm-standard/target/rpm/opendj/RPMS/noarch/*.rpm"
- - "opendj-packages/opendj-msi/opendj-msi-standard/target/*.msi"
- - "opendj-packages/opendj-docker/target/Dockerfile.zip"
- - "opendj-packages/opendj-openshift-template/*.yaml"
- - "opendj-doc-generated-ref/target/*.zip"
- - "opendj-dsml-servlet/target/*.war"
- - "opendj-rest2ldap-servlet/target/*.war"
- on:
- repo: OpenIdentityPlatform/OpenDJ
- tags: false
- branch:
- - master
- - travis
- after_deploy:
- - echo 'after_deploy'
- - echo 'publish docs in wiki'
- - git clone https://$GITHUBKEY@github.com/$TRAVIS_REPO_SLUG.wiki.git ../wiki >/dev/null 2>&1
- - rm -rf ../wiki/docbkx; mv opendj-doc-generated-ref/target/docbkx ../wiki;
- - cd ../wiki; git add -A; git commit -a -m "upload docs after deploy $git_version"; git tag -f $git_version
- - git push --quiet --force https://$GITHUBKEY@github.com/$TRAVIS_REPO_SLUG.wiki.git >/dev/null 2>&1
- - git push --quiet --force https://$GITHUBKEY@github.com/$TRAVIS_REPO_SLUG.wiki.git $git_version >/dev/null 2>&1
- - cd $TRAVIS_BUILD_DIR
- - echo 'build and push Docker'
- - echo "$DOCKER_PASSWORD" | docker login -u "openidentityplatformcommunity" --password-stdin
- - docker build ./opendj-packages/opendj-docker -t openidentityplatform/opendj -t openidentityplatform/opendj:$git_version
- - docker push openidentityplatform/opendj:$git_version
- - docker push openidentityplatform/opendj
- - echo 'build and push Github Docker'
- - echo "$GITHUBKEY" | docker login -u "Open Identity Platform Community" docker.pkg.github.com --password-stdin
- - docker build ./opendj-packages/opendj-docker -t docker.pkg.github.com/openidentityplatform/opendj/opendj -t docker.pkg.github.com/openidentityplatform/opendj/opendj:$git_version
- - docker push docker.pkg.github.com/openidentityplatform/opendj/opendj:$git_version
- - docker push docker.pkg.github.com/openidentityplatform/opendj/opendj
- - os: linux
- jdk: oraclejdk11
- - os: linux
- jdk: openjdk11
- - os: osx
- osx_image: xcode9.3
- env:
- - WINEPREFIX=~/.wine32 WINEARCH=win32 # wine on mac hangs
- - os: osx
- osx_image: xcode10.1
- env:
- - WINEPREFIX=~/.wine32 WINEARCH=win32 # wine on mac hangs
- allow_failures:
- - os: osx
-branches:
- except:
- - /[0-9]+\.[0-9]+\.[0-9]+$/
-notifications:
- email:
- - open-identity-platform-opendj@googlegroups.com
-before_install:
- - date -u
- - uname -a
- - if [[ "$TRAVIS_OS_NAME" == "osx" ]] ; then brew update && brew install rpm && brew cask install wine-stable; else sudo apt-get install -y rpm && sudo dpkg --add-architecture i386 && wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add - && sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ xenial main' && sudo apt update && sudo apt install --install-recommends winehq-stable ; fi
- - git fetch -t
- - export git_version_last="$(git describe --abbrev=0 --tags)"
- - 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^`..HEAD --oneline
-install:
- - #mvn -q -B -V -DskipTests -Dmaven.javadoc.skip=true install -f commons
-script:
- - echo "mvn -B install $INSTALL_SUFFIX"
- - eval "mvn -B install $INSTALL_SUFFIX"
diff --git a/opendj-doc-generated-ref/pom.xml b/opendj-doc-generated-ref/pom.xml
index af03b39..999705a 100644
--- a/opendj-doc-generated-ref/pom.xml
+++ b/opendj-doc-generated-ref/pom.xml
@@ -359,7 +359,7 @@
<profile>
<id>man-pages</id>
<activation>
- <activeByDefault>true</activeByDefault>
+ <os><family>unix</family></os>
</activation>
<build><finalName>${project.groupId}.${project.artifactId}</finalName>
<plugins>
diff --git a/opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateMessageFileMojo.java b/opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateMessageFileMojo.java
index 3484023..aaae5e3 100644
--- a/opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateMessageFileMojo.java
+++ b/opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateMessageFileMojo.java
@@ -365,7 +365,7 @@
final JarFile jarFile = new JarFile(
Paths.get(project.getBuild().getDirectory(), "opendj", "lib", "opendj.jar").toString());
return jarFile.getInputStream(jarFile.getJarEntry(
- Paths.get("org", "opends", "messages", category + ".properties").toString()));
+ Paths.get("org", "opends", "messages", category + ".properties").toString().replace('\\','/')));
}
private Map<MessagePropertyKey, String> loadErrorProperties(Properties properties) throws Exception {
diff --git a/opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateRefEntriesMojo.java b/opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateRefEntriesMojo.java
index 61a6bad..a2168d4 100644
--- a/opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateRefEntriesMojo.java
+++ b/opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateRefEntriesMojo.java
@@ -274,10 +274,11 @@
builder.append(line).append(System.getProperty("line.separator"));
}
}
+ reader.close();
writeToFile(builder.toString(), output);
- if (!pageCopy.delete()) {
- throw new IOException("Failed to delete " + pageCopy.getName());
- }
+ }
+ if (pageCopy.exists() && !pageCopy.delete()) {
+ throw new IOException("Failed to delete " +pageCopy.getPath() + " " + pageCopy.getName());
}
}
diff --git a/opendj-packages/opendj-docker/Dockerfile b/opendj-packages/opendj-docker/Dockerfile
index 201ed80..aa79413 100644
--- a/opendj-packages/opendj-docker/Dockerfile
+++ b/opendj-packages/opendj-docker/Dockerfile
@@ -1,4 +1,4 @@
-FROM openjdk:8-jre-slim
+FROM openjdk:11-jre-slim
MAINTAINER Open Identity Platform Community <open-identity-platform-opendj@googlegroups.com>
@@ -14,13 +14,14 @@
OPENDJ_REPLICATION_TYPE=${OPENDJ_REPLICATION_TYPE} \
OPENDJ_USER="opendj"
+ARG VERSION=@project_version@
+
WORKDIR /opt
-ADD target/opendj-*.zip .
-
RUN apt-get update \
- && apt-get install -y --no-install-recommends unzip \
- && unzip opendj-*.zip \
+ && apt-get install -y --no-install-recommends wget unzip \
+ && wget --quiet https://github.com/OpenIdentityPlatform/OpenDJ/releases/download/$VERSION/opendj-$VERSION.zip \
+ && unzip opendj-$VERSION.zip \
&& apt-get remove -y --purge unzip \
&& rm -rf /var/lib/apt/lists/* \
&& rm -r opendj-*.zip \
diff --git a/opendj-packages/opendj-docker/alpine/Dockerfile b/opendj-packages/opendj-docker/Dockerfile-alpine
similarity index 100%
rename from opendj-packages/opendj-docker/alpine/Dockerfile
rename to opendj-packages/opendj-docker/Dockerfile-alpine
diff --git a/opendj-packages/opendj-docker/pom.xml b/opendj-packages/opendj-docker/pom.xml
index 45b5a2a..7d34951 100644
--- a/opendj-packages/opendj-docker/pom.xml
+++ b/opendj-packages/opendj-docker/pom.xml
@@ -77,7 +77,8 @@
<tasks>
<zip basedir="${project.build.directory}" destfile="${project.build.directory}/Dockerfile.zip" includes="opendj-docker/**">
<fileset dir="${basedir}">
- <include name="Dockerfile" /> <!--NOTE DIFFERENCE HERE-->
+ <include name="Dockerfile*" />
+ <include name="../opendj-openshift-template/*.yaml" />
<include name="bootstrap/**" />
<include name="run.sh" />
</fileset>
diff --git a/opendj-packages/opendj-msi/opendj-msi-standard/pom.xml b/opendj-packages/opendj-msi/opendj-msi-standard/pom.xml
index 528a939..a2982cf 100644
--- a/opendj-packages/opendj-msi/opendj-msi-standard/pom.xml
+++ b/opendj-packages/opendj-msi/opendj-msi-standard/pom.xml
@@ -162,7 +162,7 @@
</goals>
<configuration>
<target>
- <delete dir="${user.home}/.msi" />
+ <delete dir="${user.home}/.msi" />
<mkdir dir="${user.home}/.msi" />
<copy toDir="${user.home}/.msi">
<fileset dir="${package.dir}">
@@ -182,27 +182,60 @@
<copy file="${msi.resources}/package.wxs" toDir="${project.build.directory}" />
<copy file="${msi.resources}/opendjbanner.bmp" toDir="${project.build.directory}" />
<copy file="${msi.resources}/opendjdialog.bmp" toDir="${project.build.directory}" />
-
- <exec executable="wine" resultproperty="WineExitStatusCode" failifexecutionfails="false">
+
+ <exec osfamily="windows" executable="${project.build.directory}\wix\heat.exe" dir="${project.build.directory}" failifexecutionfails="false" resultproperty="heatStatusCode">
+ <arg value="dir" /> <arg value="${user.home}\.msi" />
+ <arg value="-nologo" />
+ <arg value="-cg" /><arg value="all" />
+ <arg value="-gg" />
+ <arg value="-sfrag" />
+ <arg value="-srd" />
+ <arg value="-ke" />
+ <arg value="-dr" /><arg value="OPENDJ" />
+ <arg value="-var" /><arg value="var.src" />
+ <arg value="-template" /><arg value="fragment" />
+ <arg value="-o" /><arg value="payload.wxs" />
+ <arg value="-v" />
+ </exec>
+ <exec osfamily="windows" executable="${project.build.directory}\wix\candle.exe" dir="${project.build.directory}" resultproperty="candleStatusCode">
+ <arg value="-nologo" />
+ <arg value="-dsrc=${user.home}\.msi" />
+ <arg value="-dname=${product.name}" />
+ <arg value="-dmajor=${parsedVersion.majorVersion}" />
+ <arg value="-dminor=${parsedVersion.minorVersion}" />
+ <arg value="-dpoint=${parsedVersion.incrementalVersion}" />
+ <arg value="package.wxs" />
+ <arg value="payload.wxs" />
+ <arg value="-v" />
+ </exec>
+ <exec osfamily="windows" executable="${project.build.directory}\wix\light.exe" dir="${project.build.directory}" resultproperty="lightStatusCode">
+ <arg value="-nologo" />
+ <arg value="-ext" /> <arg value="WixUIExtension" />
+ <arg value="-out" /> <arg value="${product.name.lowercase}-${project.version}.msi" />
+ <arg value="-sval" />
+ <arg value="-v" />
+ <arg value="package.wixobj" />
+ <arg value="payload.wixobj" />
+ </exec>
+
+
+ <exec osfamily="unix" executable="wine" resultproperty="WineExitStatusCode" failifexecutionfails="false">
<arg value="wineboot" />
<arg value="--init" />
</exec>
- <echo>WineExitStatusCode=${WineExitStatusCode}</echo>
- <exec executable="sh" resultproperty="WineTricksExitStatusCode" failifexecutionfails="false">
+ <exec osfamily="unix" executable="sh" resultproperty="WineTricksExitStatusCode" failifexecutionfails="false">
<arg value="${project.build.directory}/winetricks/winetricks-LAST.sh" />
<arg value="--unattended" />
<arg value="dotnet40" />
<arg value="dotnet_verifier" />
</exec>
- <echo>WineTricksExitStatusCode=${WineTricksExitStatusCode}</echo>
<property name="exec.heat" value="wine" /><property name="param.heat" value="${project.build.directory}/wix/heat.exe" />
<property name="exec.candle" value="wine" /><property name="param.candle" value="${project.build.directory}/wix/candle.exe" />
<property name="exec.light" value="wine" /><property name="param.light" value="${project.build.directory}/wix/light.exe" />
-
<echo>------------------- ${exec.heat} ${param.heat} -------------------</echo>
- <exec executable="${exec.heat}" dir="${project.build.directory}" failifexecutionfails="false" resultproperty="heatStatusCode">
+ <exec osfamily="unix" executable="${exec.heat}" dir="${project.build.directory}" failifexecutionfails="false" resultproperty="heatStatusCode">
<arg value="${param.heat}" />
<arg value="dir" /> <arg value="${user.home}/.msi" />
<arg value="-nologo" />
@@ -217,10 +250,9 @@
<arg value="-o" /><arg value="payload.wxs" />
<arg value="-v" />
</exec>
- <echo>heatStatusCode=${heatStatusCode}</echo>
<echo>------------------- ${exec.candle} ${param.candle} -------------------</echo>
- <exec executable="${exec.candle}" dir="${project.build.directory}" resultproperty="candleStatusCode">
- <arg value="${param.candle}" />
+ <exec osfamily="unix" executable="${exec.candle}" dir="${project.build.directory}" resultproperty="candleStatusCode">
+ <arg value="${param.candle}" />
<arg value="-nologo" />
<arg value="-dsrc=${user.home}/.msi" />
<arg value="-dname=${product.name}" />
@@ -231,10 +263,9 @@
<arg value="payload.wxs" />
<arg value="-v" />
</exec>
- <echo>candleStatusCode=${candleStatusCode}</echo>
<echo>------------------- ${exec.light} ${param.light} -------------------</echo>
- <exec executable="${exec.light}" dir="${project.build.directory}" resultproperty="lightStatusCode">
- <arg value="${param.light}" />
+ <exec osfamily="unix" executable="${exec.light}" dir="${project.build.directory}" resultproperty="lightStatusCode">
+ <arg value="${param.light}" />
<arg value="-nologo" />
<arg value="-ext" /> <arg value="WixUIExtension" />
<arg value="-out" /> <arg value="${product.name.lowercase}-${project.version}.msi" />
@@ -243,11 +274,11 @@
<arg value="package.wixobj" />
<arg value="payload.wixobj" />
</exec>
- <echo>lightStatusCode=${lightStatusCode}</echo>
- <chmod file="${project.build.directory}/${product.name.lowercase}-${project.version}.msi" perm="ugo+r" verbose="true" />
- <exec executable="ls" dir="${project.build.directory}">
- <arg value="-laht" />
+ <chmod file="${project.build.directory}/${product.name.lowercase}-${project.version}.msi" perm="ugo+r" verbose="true" />
+ <exec osfamily="unix" executable="ls" dir="${project.build.directory}">
+ <arg value="-laht" />
</exec>
+
<delete dir="${user.home}/.msi" />
<attachartifact file="${project.build.directory}/${product.name.lowercase}-${project.version}.msi" />
</target>
diff --git a/opendj-packages/opendj-msi/pom.xml b/opendj-packages/opendj-msi/pom.xml
index 2dfa79a..62a5e74 100644
--- a/opendj-packages/opendj-msi/pom.xml
+++ b/opendj-packages/opendj-msi/pom.xml
@@ -85,9 +85,9 @@
<module>opendj-msi-standard</module>
</modules>
<properties>
- <exec.heat>${project.build.directory}/wix/heat.exe</exec.heat><param.heat />
- <exec.candle>${project.build.directory}/wix/candle.exe</exec.candle><param.candle />
- <exec.light>${project.build.directory}/wix/light.exe</exec.light><param.light />
+ <exec.heat>${project.build.directory}\wix\heat.exe</exec.heat><param.heat />
+ <exec.candle>${project.build.directory}\wix\candle.exe</exec.candle><param.candle />
+ <exec.light>${project.build.directory}\wix\light.exe</exec.light><param.light />
</properties>
</profile>
</profiles>
diff --git a/opendj-packages/pom.xml b/opendj-packages/pom.xml
index 3b406bc..da6cc4a 100644
--- a/opendj-packages/pom.xml
+++ b/opendj-packages/pom.xml
@@ -43,9 +43,9 @@
<profiles>
<profile>
- <id>distribution</id>
+ <id>distribution-unix</id>
<activation>
- <activeByDefault>false</activeByDefault>
+ <os><family>unix</family></os>
</activation>
<modules>
<module>../opendj-doc-generated-ref</module>
@@ -53,7 +53,17 @@
<module>opendj-rpm</module>
<module>opendj-svr4</module>
<module>opendj-msi</module>
- <module>opendj-docker</module>
+ <module>opendj-docker</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>distribution-windows</id>
+ <activation>
+ <os><family>windows</family></os>
+ </activation>
+ <modules>
+ <module>opendj-msi</module>
+ <module>opendj-docker</module>
</modules>
</profile>
</profiles>
diff --git a/pom.xml b/pom.xml
index da2c421..719d8f2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -80,7 +80,7 @@
<license>
<name>CDDL-1.1</name>
<url>https://github.com/OpenIdentityPlatform/OpenDJ/blob/master/LICENSE.md</url>
- <comments>Common Development and Distribution License (CDDL) 1.0.
+ <comments>Common Development and Distribution License (CDDL) 1.1.
This license applies to OpenDJ source code as indicated in the
source files.
</comments>
@@ -144,7 +144,7 @@
<dependency>
<groupId>org.openidentityplatform.commons</groupId>
<artifactId>parent</artifactId>
- <version>2.0.13-SNAPSHOT</version>
+ <version>2.0.14</version>
<type>pom</type>
<scope>import</scope>
</dependency>
@@ -325,7 +325,7 @@
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
- <version>1.6.11</version>
+ <version>1.6.12</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
@@ -335,6 +335,13 @@
<keepStagingRepositoryOnFailure>true</keepStagingRepositoryOnFailure>
<keepStagingRepositoryOnCloseRuleFailure>true</keepStagingRepositoryOnCloseRuleFailure>
</configuration>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>15.0</version>
+ </dependency>
+ </dependencies>
</plugin>
</plugins>
--
Gitblit v1.10.0