diff --git a/.forgejo/workflows/publish.yml b/.forgejo/workflows/publish.yml new file mode 100644 index 0000000..7448bec --- /dev/null +++ b/.forgejo/workflows/publish.yml @@ -0,0 +1,29 @@ +on: [ push ] + +jobs: + publish: + name: Build & Publish + + runs-on: 'docker' + + permissions: + packages: write + + steps: + - name: Setup Java + uses: https://github.com/actions/setup-java@v4 + with: + distribution: 'adopt' + java-version: 8 + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Initialize Gradle + uses: https://github.com/gradle/actions/setup-gradle@v3 + - name: Build + run: ./gradlew build + - name: Publish + run: VERSION=$(git rev-list --count HEAD) ./gradlew publish + env: + PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }} diff --git a/build.gradle b/build.gradle index 42426ba..2a8eca1 100644 --- a/build.gradle +++ b/build.gradle @@ -6,10 +6,29 @@ plugins { group = 'de.tudbut' version = '1.0-SNAPSHOT' -repositories { - mavenCentral() -} +publishing { -dependencies { -} + publications { + mavenJava(MavenPublication) { + groupId = "de.tudbut" + version = System.getenv("VERSION") + from components.java + } + } + repositories { + maven { + name = "Forgejo" + url = uri("https://git.tudbut.de/api/packages/TudbuT/maven") + + credentials(HttpHeaderCredentials) { + name = "Authorization" + value = "token " + System.getenv("PUBLISH_TOKEN") + } + + authentication { + header(HttpHeaderAuthentication) + } + } + } +} \ No newline at end of file