Skip to content

Commit

Permalink
Switch publishing to capabilities
Browse files Browse the repository at this point in the history
  • Loading branch information
lukebemish committed Mar 24, 2024
1 parent e8c0a18 commit 99580ee
Showing 1 changed file with 28 additions and 21 deletions.
49 changes: 28 additions & 21 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,21 @@ sourceSets {
forgeAPI
}

java {
registerFeature('cpw') {
usingSourceSet sourceSets.cpwFML
capability(project.group, "mergetool-cpw", project.version.toString())
}
registerFeature('forge') {
usingSourceSet sourceSets.forgeFML
capability(project.group, "mergetool-forge", project.version.toString())
}
registerFeature('api') {
usingSourceSet sourceSets.forgeAPI
capability(project.group, "mergetool-api", project.version.toString())
}
}

java {
toolchain {
languageVersion = JavaLanguageVersion.of(8)
Expand Down Expand Up @@ -68,20 +83,8 @@ tasks.named('sourcesJar', Jar).configure {
from sourceSets.forgeAPI.allSource
}

tasks.register('cpwFML', Jar) {
archiveClassifier = 'cpw'
from sourceSets.cpwFML.output
}

tasks.register('forgeFML', Jar) {
archiveClassifier = 'forge'
from sourceSets.forgeFML.output
}

tasks.register('forgeAPI', Jar) {
tasks.named('forgeAPIJar', Jar) {
manifest.attributes('Automatic-Module-Name': 'net.neoforged.mergetool.api')
archiveClassifier = 'api'
from sourceSets.forgeAPI.output
}

dependencies {
Expand All @@ -96,19 +99,23 @@ dependencies {
implementation sourceSets.forgeAPI.output
}

artifacts {
archives shadowJar
archives cpwFML
archives forgeFML
archives forgeAPI
[
configurations.runtimeElements,
configurations.apiElements,
configurations.shadowRuntimeElements,
configurations.sourcesElements
].each {
it.outgoing {
capability("${project.group}:mergetool:${project.version}")
capability("${project.group}:mergetool-cpw:${project.version}")
capability("${project.group}:mergetool-api:${project.version}")
capability("${project.group}:mergetool-forge:${project.version}")
}
}

publishing {
publications.register('mavenJava', MavenPublication) {
from components.java
artifact cpwFML
artifact forgeFML
artifact forgeAPI

artifactId = 'mergetool'

Expand Down

0 comments on commit 99580ee

Please sign in to comment.