Skip to content

Commit

Permalink
Add github action to publish TripleA client Jar file
Browse files Browse the repository at this point in the history
The jar file will in turn be used as a dependency for other
repositories, specifically things like the lobby.
  • Loading branch information
DanVanAtta committed Jun 6, 2024
1 parent cf85296 commit 5a729c3
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 0 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/publish-jar-file.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Jar file is useful for server code, so that the server code can depend on
# the TripleA client code (jar file). The TripleA client should include
# the 'http client' (AKA REST API) code for communicating with server
name: Publish Jar File
on:
push:
branches:
- master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
build:
runs-on: Ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v4
# with:
# # Fetch depth of 0 is needed so we checkout the full revision history
# # The current revision count will be used as our build-number
# fetch-depth: '0'
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
- name: set build version variables
run: |
BUILD_VERSION=$(game-app/run/.build/get-build-version)
echo "JAR_VERSION=$BUILD_VERSION" | tee -a $GITHUB_ENV
- name: Publish package
run: ./gradlew :game-app:game-headed:publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19 changes: 19 additions & 0 deletions game-app/game-headed/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ plugins {

archivesBaseName = "$group-$name"
mainClassName = "org.triplea.game.client.HeadedGameRunner"
version = System.getenv("JAR_VERSION")

ext {
releasesDir = file("$buildDir/releases")
Expand Down Expand Up @@ -43,6 +44,24 @@ jar {
}
}

publishing {
repositories {
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/triplea-game/triplea")
credentials {
username = System.getenv("GITHUB_ACTOR")
password = System.getenv("GITHUB_TOKEN")
}
}
}
publications {
shadow(MavenPublication) { publication ->
project.shadow.component(publication)
}
}
}

clean.doFirst {
delete "$projectDir/.assets/"
delete "$projectDir/assets/"
Expand Down

0 comments on commit 5a729c3

Please sign in to comment.