client

Clone or download

Release to Maven Central using Github Actions

Modified Files

--- 'a/.github/workflows/build.yml'
+++ b/.github/workflows/build.yml
@@ -16,12 +16,20 @@ jobs:
- name: Checkout
uses: actions/checkout@v2
- - name: Setup Java 11
+ - name: Setup Java and Maven Central
uses: actions/setup-java@v1
with:
java-version: 11
+ server-id: ossrh
+ server-username: MAVEN_USERNAME
+ server-password: MAVEN_PASSWORD
- name: Verify project
run: mvn clean verify
-# TODO: Deploy Snapshots
+ - name: Deploy snapshots
+ env:
+ MAVEN_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
+ MAVEN_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
+ run: |
+ mvn deploy -DskipTests=true -Dgpg.skip
\ No newline at end of file
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,42 @@
+name: Release
+on:
+ push:
+ tags:
+ - '*'
+
+jobs:
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Setup Java 11
+ uses: actions/setup-java@v1
+ with:
+ java-version: 11
+
+ - name: Configure GIT
+ run: |
+ git config user.name "${{ github.event.head_commit.committer.name }}"
+ git config user.email "${{ github.event.head_commit.committer.email }}"
+
+ - name: Release artifacts
+ run: |
+ mvn deploy -DskipTests=true -B -U -Prelease
+ with:
+ server-id: ossrh
+ server-username: ${{ secrets.SONATYPE_USERNAME }}
+ server-password: ${{ secrets.SONATYPE_PASSWORD }}
+ gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
+ gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
+
+ - name: Update new version
+ run: |
+ TAG=${GITHUB_REF/refs\/tags\//}
+ newVersion=${TAG%.*}.$((${TAG##*.} + 1))
+ mvn versions:set -DnewVersion=$newVersion-SNAPSHOT -DgenerateBackupPoms=false
+ git commit pom.xml -m "Prepare development of $newVersion"
+ git push https://${GITHUB_ACTOR}:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY} HEAD:master
\ No newline at end of file
M pom.xml
+114 −2
--- 'a/pom.xml'
+++ b/pom.xml
@@ -22,6 +22,10 @@
<theme.api.version>1.0.0-SNAPSHOT</theme.api.version>
<main.class.name>com.stream_pi.client.Main</main.class.name>
+
+ <source.plugin.version>2.2.1</source.plugin.version>
+ <javadoc.plugin.version>3.1.0</javadoc.plugin.version>
+ <gpg.plugin.version>1.6</gpg.plugin.version>
</properties>
<dependencies>
@@ -154,10 +158,118 @@
<id>gluon-releases</id>
<url>http://nexus.gluonhq.com/nexus/content/repositories/releases/</url>
</pluginRepository>
- <pluginRepository>
+ <pluginRepository>
<id>gluon-snapshots</id>
<url>https://nexus.gluonhq.com/nexus/content/repositories/public-snapshots</url>
</pluginRepository>
</pluginRepositories>
-</project>
+ <profiles>
+ <profile>
+ <id>release</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.2.1</version>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar-no-fork</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>${javadoc.plugin.version}</version>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <source>8</source>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>${gpg.plugin.version}</version>
+ <executions>
+ <execution>
+ <id>sign-artifacts</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ <configuration>
+ <gpgArguments>
+ <arg>--pinentry-mode</arg>
+ <arg>loopback</arg>
+ </gpgArguments>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+ <organization>
+ <name>Stream Pi</name>
+ <url>https://www.stream-pi.com</url>
+ </organization>
+
+ <issueManagement>
+ <system>GitHub</system>
+ <url>https://github.com/Stream-Pi/util/issues</url>
+ </issueManagement>
+
+ <licenses>
+ <license>
+ <name>GPL-3.0 License</name>
+ <url>https://www.gnu.org/licenses/gpl-3.0.en.html</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <developers>
+ <developer>
+ <name>Debayan Sutradhar</name>
+ <email>debayansutradhar3@gmail.com</email>
+ <organization>Stream-Pi</organization>
+ <organizationUrl>https://www.stream-pi.com</organizationUrl>
+ </developer>
+ <developer>
+ <name>Abhinay Agarwal</name>
+ <email>abhinay_agarwal@live.com</email>
+ <organization>Stream-Pi</organization>
+ <organizationUrl>https://www.stream-pi.com</organizationUrl>
+ </developer>
+ </developers>
+
+ <scm>
+ <url>https://github.com/stream-pi/util</url>
+ <connection>scm:git:git://github.com/stream-pi/util.git</connection>
+ <developerConnection>scm:git:ssh://git@github.com:stream-pi/util.git</developerConnection>
+ </scm>
+
+ <distributionManagement>
+ <snapshotRepository>
+ <id>ossrh</id>
+ <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+ </snapshotRepository>
+ <repository>
+ <id>ossrh</id>
+ <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
+ </repository>
+ </distributionManagement>
+</project>
\ No newline at end of file