server
Clone or download
Modified Files
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,35 @@
+name: Build
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - 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
+
+ - 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
--- 'a/pom.xml'
+++ b/pom.xml
@@ -13,25 +13,23 @@
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
-
<client.plugin.version>0.1.36</client.plugin.version>
+ <javafx.version>16</javafx.version>
- <JavaFXVersion>16</JavaFXVersion>
-
-
- <CommonsBeanUtilsVersion>1.9.4</CommonsBeanUtilsVersion>
- <CommonsConfigurationVersion>2.7</CommonsConfigurationVersion>
-
- <ActionAPIVersion>1.0.0-SNAPSHOT</ActionAPIVersion>
- <ThemeAPIVersion>1.0.0-SNAPSHOT</ThemeAPIVersion>
- <UtilVersion>1.0.0-SNAPSHOT</UtilVersion>
-
- <Log4JVersion>2.14.0</Log4JVersion>
-
- <IkonliVersion>11.5.0</IkonliVersion>
- <IkonliFA5PackVersion>11.5.0</IkonliFA5PackVersion>
-
- <MainClassName>com.stream_pi.server.Main</MainClassName>
+ <action.api.version>1.0.0-SNAPSHOT</action.api.version>
+ <theme.api.version>1.0.0-SNAPSHOT</theme.api.version>
+ <util.version>1.0.0-SNAPSHOT</util.version>
+
+ <commons.bean.util.version>1.9.4</commons.bean.util.version>
+ <commons.configuration.version>2.7</commons.configuration.version>
+
+ <log4j.version>2.14.0</log4j.version>
+ <ikonli.version>11.5.0</ikonli.version>
+ <main.class.name>com.stream_pi.server.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>
@@ -39,49 +37,43 @@
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
- <version>${JavaFXVersion}</version>
+ <version>${javafx.version}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
- <version>${JavaFXVersion}</version>
+ <version>${javafx.version}</version>
</dependency>
<dependency>
<groupId>org.kordamp.ikonli</groupId>
<artifactId>ikonli-fontawesome5-pack</artifactId>
- <version>${IkonliFA5PackVersion}</version>
+ <version>${ikonli.version}</version>
</dependency>
<dependency>
<groupId>org.kordamp.ikonli</groupId>
<artifactId>ikonli-javafx</artifactId>
- <version>${IkonliVersion}</version>
- </dependency>
-
- <dependency>
- <groupId>org.openjfx</groupId>
- <artifactId>javafx-base</artifactId>
- <version>${JavaFXVersion}</version>
+ <version>${ikonli.version}</version>
</dependency>
<dependency>
<groupId>com.stream-pi</groupId>
<artifactId>action-api</artifactId>
- <version>${ActionAPIVersion}</version>
+ <version>${action.api.version}</version>
</dependency>
<dependency>
<groupId>com.stream-pi</groupId>
<artifactId>util</artifactId>
- <version>${UtilVersion}</version>
+ <version>${util.version}</version>
</dependency>
<dependency>
<groupId>com.stream-pi</groupId>
<artifactId>theme-api</artifactId>
- <version>${ThemeAPIVersion}</version>
+ <version>${theme.api.version}</version>
</dependency>
</dependencies>
@@ -89,6 +81,10 @@
<repositories>
<repository>
+ <id>sonatype-snapshots</id>
+ <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
+ </repository>
+ <repository>
<id>gluon-releases</id>
<url>http://nexus.gluonhq.com/nexus/content/repositories/releases/</url>
</repository>
@@ -116,11 +112,10 @@
<options>
<option>-Dglass.gtk.uiScale=1.0</option>
</options>
- <mainClass>${MainClassName}</mainClass>
+ <mainClass>${main.class.name}</mainClass>
</configuration>
</plugin>
-
<plugin>
<groupId>com.gluonhq</groupId>
<artifactId>client-maven-plugin</artifactId>
@@ -136,7 +131,7 @@
<reflectionList>
<list>java.util.logging.FileHandler</list>
</reflectionList>
- <mainClass>${MainClassName}</mainClass>
+ <mainClass>${main.class.name}</mainClass>
</configuration>
</plugin>
@@ -151,7 +146,6 @@
</plugins>
</build>
-
<pluginRepositories>
<pluginRepository>
<id>gluon-releases</id>
@@ -163,4 +157,107 @@
</pluginRepository>
</pluginRepositories>
+ <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/client/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>
+ </developers>
+
+ <scm>
+ <url>https://github.com/stream-pi/client</url>
+ <connection>scm:git:git://github.com/stream-pi/client.git</connection>
+ <developerConnection>scm:git:ssh://git@github.com:stream-pi/client.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