Publish releases.

This commit is contained in:
Jeremy Wood 2023-02-19 18:58:13 -05:00
parent bd6fb4e51c
commit 009a94f74d
No known key found for this signature in database
GPG Key ID: C5BAD04C77B91B4B
3 changed files with 66 additions and 44 deletions

View File

@ -1,33 +0,0 @@
name: Maven CI/CD
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build_and_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 11
distribution: 'adopt'
cache: gradle
- name: Build with Gradle
run: gradlew build
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
name: Multiverse-Core-SNAPSHOT
# Can use build\/libs\/Multiverse-Core-(\d\.\d\.\d)(-SNAPSHOT|).jar if it ever supports regex
path: build/libs/**
# If there's nothing there then something must have gone awry
if-no-files-found: error

47
.github/workflows/publish.yml vendored Normal file
View File

@ -0,0 +1,47 @@
name: Publish package to GitHub Packages
on:
release:
types: [created]
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'adopt'
cache: gradle
- name: Get release
id: get_release
uses: bruceadams/get-release@v1.3.2
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Publish package
uses: gradle/gradle-build-action@v2
with:
arguments: publish
env:
GITHUB_VERSION: ${{ steps.get_release.outputs.tag }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload release artifact
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_release.outputs.upload_url }}
asset_path: build/libs/Multiverse-Core-${{ steps.get_release.outputs.tag }}.jar
asset_name: Multiverse-Core-${{ steps.get_release.outputs.tag }}.jar
asset_content_type: application/java-archive

View File

@ -8,7 +8,7 @@ plugins {
id 'org.jetbrains.intellij' version '1.1' id 'org.jetbrains.intellij' version '1.1'
} }
version = '4.3.2-SNAPSHOT' version = System.getenv('GITHUB_VERSION')?.substring(1) ?: 'local'
group = 'com.onarandombox.multiversecore' group = 'com.onarandombox.multiversecore'
description = 'Multiverse-Core' description = 'Multiverse-Core'
@ -85,15 +85,26 @@ tasks.withType(Javadoc) {
} }
configurations {
[apiElements, runtimeElements].each {
it.outgoing.artifacts.removeIf { it.buildDependencies.getDependencies(null).contains(jar) }
it.outgoing.artifact(shadowJar)
}
}
publishing { publishing {
publications { publications {
maven(MavenPublication) { maven(MavenPublication) {
from(components.java) from components.java
pom { }
ciManagement { }
system = 'jenkins' repositories {
url = 'https://ci.onarandombox.com/' maven {
} name = "GitHubPackages"
url = "https://maven.pkg.github.com/Multiverse/Multiverse-Core"
credentials {
username = System.getenv("GITHUB_ACTOR")
password = System.getenv("GITHUB_TOKEN")
} }
} }
} }
@ -115,11 +126,8 @@ compileJava {
source = prepareSource.outputs source = prepareSource.outputs
} }
ext.buildNumber = System.getenv('BUILD_NUMBER') ?: 'UNKNOWN'
processResources { processResources {
def props = [version: "${project.version}-b$buildNumber"] def props = [version: "${project.version}"]
inputs.properties props inputs.properties props
filteringCharset 'UTF-8' filteringCharset 'UTF-8'
filesMatching('plugin.yml') { filesMatching('plugin.yml') {