diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 000000000..c8208d3af --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,34 @@ +# This workflow will build a Java project with Maven +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven + +name: Java CI with Maven and Deploy + +on: + push: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 11 for Maven Central + uses: actions/setup-java@v1 + with: + java-version: '11' + architecture: x64 + server-id: ossrh + gpg-private-key: ${{ secrets.GPG_SECRET_KEY }} + gpg-passphrase: MAVEN_GPG_PASSPHRASE + server-username: MAVEN_USERNAME + server-password: MAVEN_CENTRAL_TOKEN + - name: Publish to Maven Central + run: mvn deploy + env: + MAVEN_USERNAME: hap-java-dev + MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} + - name: Publish site + run: mvn deploy-site diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index e9a49816e..a07bff253 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -4,8 +4,6 @@ name: Java CI with Maven on: - push: - branches: [ master ] pull_request: branches: [ master ] diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..0aa72794f --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,39 @@ +# This workflow will build a Java project with Maven +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven + +name: Stage Release on Master Branch + +on: + workflow_dispatch: + inputs: + releaseVersion: + description: Version to release + required: true + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + java-version: '11' + architecture: x64 + server-id: ossrh + gpg-private-key: ${{ secrets.GPG_SECRET_KEY }} + gpg-passphrase: MAVEN_GPG_PASSPHRASE + server-username: MAVEN_USERNAME + server-password: MAVEN_CENTRAL_TOKEN + - name: Setup git profile + run: | + git config user.name github-actions + git config user.email github-actions@github.com + - name: Maven release + run: mvn release:prepare release:perform -B -DreleaseVersion=${{ github.event.inputs.releaseVersion }} -Possrh + env: + MAVEN_USERNAME: hap-java-dev + MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} diff --git a/README.md b/README.md index 463f5d49b..9a9b3da86 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ HAP-Java ========= +[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.hap-java/hap/badge.svg)](https://search.maven.org/search?q=g:io.github.hap-java%20a:hap) +[![MIT License](https://img.shields.io/github/license/hap-java/HAP-Java)](https://github.com/hap-java/HAP-Java/blob/master/LICENSE) +![Maven Build Status](https://github.com/andylintner/HAP-Java/actions/workflows/maven.yml/badge.svg) + HAP-Java is a Java implementation of the HomeKit Accessory Protocol. Using this library, you can create your own HomeKit Accessory or HomeKit Accessory Bridge. diff --git a/RELEASING.md b/RELEASING.md new file mode 100644 index 000000000..a3001c9f3 --- /dev/null +++ b/RELEASING.md @@ -0,0 +1,7 @@ +# How to release HAP-Java + +These actions can only be performed by someone with maintainer level access to the repository. + +1. Run the [Stage Release on Master Branch](https://github.com/hap-java/HAP-Java/actions/workflows/release.yml) Action +2. After this completes, find the release on the [Releases page](https://github.com/hap-java/HAP-Java/releases) +3. Edit the release to include the changelog details diff --git a/deploy/distribution.xml b/deploy/distribution.xml deleted file mode 100644 index a2cf6d668..000000000 --- a/deploy/distribution.xml +++ /dev/null @@ -1,18 +0,0 @@ - - dir-with-dependencies - - dir - - false - - - / - true - false - ${artifact.groupId}.${artifact.artifactId}-${artifact.version}${dashClassifier?}.jar - runtime - - - \ No newline at end of file diff --git a/deploy/publish.sh b/deploy/publish.sh deleted file mode 100755 index 1fb261646..000000000 --- a/deploy/publish.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -if [[ ( $TRAVIS_PULL_REQUEST == "false" && $TRAVIS_BRANCH == "master" ) ]]; then - mvn deploy --settings deploy/settings.xml -DperformRelease=true -DskipTests=true - exit $? -fi diff --git a/deploy/pubring.gpg.enc b/deploy/pubring.gpg.enc deleted file mode 100644 index 1361f5a9f..000000000 Binary files a/deploy/pubring.gpg.enc and /dev/null differ diff --git a/deploy/secring.gpg.enc b/deploy/secring.gpg.enc deleted file mode 100644 index 1f1c31049..000000000 Binary files a/deploy/secring.gpg.enc and /dev/null differ diff --git a/deploy/settings.xml b/deploy/settings.xml deleted file mode 100644 index f08c008c0..000000000 --- a/deploy/settings.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - ossrh - ${env.SONATYPE_USERNAME} - ${env.SONATYPE_PASSWORD} - - - diff --git a/pom.xml b/pom.xml index 5faf6eafc..56f7f239f 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ scm:git:https://github.com/hap-java/HAP-Java.git - scm:git:git@github.com:hap-java/HAP-Java.git + scm:git:https://github.com/hap-java/HAP-Java.git https://github.com/hap-java/HAP-Java.git HEAD @@ -208,24 +208,6 @@ - - maven-assembly-plugin - 3.1.1 - - - deploy/distribution.xml - - - - - make-assembly - package - - single - - - - org.apache.maven.plugins maven-scm-publish-plugin @@ -238,7 +220,7 @@ publish-scm - scm:git:git@github.com:hap-java/HAP-Java.git + scm:git:https://github.com/hap-java/HAP-Java.git gh-pages @@ -284,11 +266,11 @@ ossrh - https://oss.sonatype.org/service/local/staging/deploy/maven2/ + https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ ossrh - https://oss.sonatype.org/content/repositories/snapshots + https://s01.oss.sonatype.org/content/repositories/snapshots @@ -305,6 +287,8 @@ 3.0.1 io.github.hapjava.server.impl + 8 + false @@ -325,20 +309,6 @@ ossrh - - gpg - ${env.GPG_KEYNAME} - ${env.GPG_PASSPHRASE} - false - deploy/pubring.gpg - deploy/secring.gpg - - - - performRelease - true - - @@ -354,6 +324,12 @@ + + + --pinentry-mode + loopback + + org.sonatype.plugins @@ -362,17 +338,12 @@ true ossrh - https://oss.sonatype.org/ + https://s01.oss.sonatype.org/ true - - org.apache.maven.plugins - maven-release-plugin - 2.5.3 - - +