Skip to content

Commit

Permalink
ci(java): try to use publications
Browse files Browse the repository at this point in the history
  • Loading branch information
zaaarf committed Oct 15, 2024
1 parent 2e58302 commit 5dcfd34
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 8 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ dist/java/.gradle/
dist/java/.project
dist/java/.settings/
dist/java/bin/
dist/java/artifacts/

# intellij insists on creating the wrapper every time even if it's not strictly necessary
dist/java/gradle/
Expand Down
49 changes: 41 additions & 8 deletions dist/java/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,16 @@ tasks.register('linuxJar', Jar) {
}
}

tasks.register('multiplatformJar', Jar) {
outputs.upToDateWhen { false }
archiveClassifier = 'all'
from sourceSets.main.runtimeClasspath
from('artifacts') {
include('*')
into('natives/')
}
}

configurations {
windowsJar {
canBeConsumed = true
Expand All @@ -68,15 +78,27 @@ configurations {
canBeResolved = false
extendsFrom implementation, runtimeOnly
}
multiplatformJar {
canBeConsumed = true
canBeResolved = false
extendsFrom implementation, runtimeOnly
}
}

java {
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_11
artifacts {
windowsJar(windowsJar)
macosJar(macosJar)
linuxJar(linuxJar)
}
withSourcesJar()
withJavadocJar()
}

artifacts {
archives jar
archives sourcesJar
archives javadocJar
windowsJar(windowsJar)
macosJar(macosJar)
linuxJar(linuxJar)
multiplatformJar(multiplatformJar)
}

repositories {
Expand Down Expand Up @@ -116,14 +138,25 @@ tasks.register('nativeBuild', Jar) {
}
}

publishing {
publications {
mavenJava(MavenPublication) {
artifact jar
artifact sourcesJar
artifact javadocJar
artifact windowsJar
artifact linuxJar
artifact macosJar
artifact multiplatformJar
}
}
}

import com.vanniktech.maven.publish.SonatypeHost
import com.vanniktech.maven.publish.JavaLibrary
import com.vanniktech.maven.publish.JavadocJar
mavenPublishing {
publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL) //, true) // TODO re-enable autopublish!
signAllPublications()
coordinates(project.group, rootProject.name, project.version)
configure(new JavaLibrary(new JavadocJar.Javadoc(), true))

pom {
name = rootProject.name
Expand Down

0 comments on commit 5dcfd34

Please sign in to comment.