mirror of
https://github.com/Jozufozu/Flywheel.git
synced 2025-01-23 03:17:53 +01:00
Tragedy of the commons
- Publish common vanillin artifacts - Extend JarTaskSet publish to accept an action
This commit is contained in:
parent
99d976fb59
commit
10d3923bf5
6 changed files with 67 additions and 25 deletions
|
@ -4,6 +4,7 @@ import net.fabricmc.loom.task.AbstractRemapJarTask
|
|||
import net.fabricmc.loom.task.RemapJarTask
|
||||
import net.fabricmc.loom.task.RemapSourcesJarTask
|
||||
import org.gradle.api.Action
|
||||
import org.gradle.api.NamedDomainObjectProvider
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.file.DuplicatesStrategy
|
||||
import org.gradle.api.publish.PublishingExtension
|
||||
|
@ -30,22 +31,23 @@ class JarTaskSet(
|
|||
val remapSources: TaskProvider<RemapSourcesJarTask>
|
||||
) {
|
||||
|
||||
fun publishWithRawSources(artifactId: String) {
|
||||
publish(artifactId, sources)
|
||||
fun publishWithRawSources(action: Action<MavenPublication>): NamedDomainObjectProvider<MavenPublication> {
|
||||
return publish(sources, action)
|
||||
}
|
||||
|
||||
fun publishWithRemappedSources(artifactId: String) {
|
||||
publish(artifactId, remapSources)
|
||||
fun publishWithRemappedSources(action: Action<MavenPublication>): NamedDomainObjectProvider<MavenPublication> {
|
||||
return publish(remapSources, action)
|
||||
}
|
||||
|
||||
private fun publish(artifactId: String, sourceJar: TaskProvider<out Jar>) {
|
||||
project.the<PublishingExtension>().publications {
|
||||
register<MavenPublication>("${name}RemapMaven") {
|
||||
artifact(remapJar)
|
||||
artifact(sourceJar)
|
||||
artifact(javadocJar)
|
||||
this.artifactId = artifactId
|
||||
}
|
||||
private fun publish(
|
||||
sourceJar: TaskProvider<out Jar>,
|
||||
action: Action<MavenPublication>
|
||||
): NamedDomainObjectProvider<MavenPublication> {
|
||||
return project.the<PublishingExtension>().publications.register<MavenPublication>("${name}RemapMaven") {
|
||||
artifact(remapJar)
|
||||
artifact(sourceJar)
|
||||
artifact(javadocJar)
|
||||
action.execute(this)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -58,7 +58,9 @@ jarSets {
|
|||
// For publishing.
|
||||
create("api", api, lib).apply {
|
||||
addToAssemble()
|
||||
publishWithRemappedSources("flywheel-common-intermediary-api-${property("artifact_minecraft_version")}")
|
||||
publishWithRemappedSources {
|
||||
artifactId = "flywheel-common-intermediary-api-${property("artifact_minecraft_version")}"
|
||||
}
|
||||
|
||||
configureJar {
|
||||
manifest {
|
||||
|
@ -75,7 +77,38 @@ jarSets {
|
|||
targetNamespace = "named"
|
||||
}
|
||||
|
||||
publishWithRawSources("flywheel-common-mojmap-api-${property("artifact_minecraft_version")}")
|
||||
publishWithRawSources {
|
||||
artifactId = "flywheel-common-mojmap-api-${property("artifact_minecraft_version")}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
create("vanillin", vanillin).apply {
|
||||
addToAssemble()
|
||||
publishWithRemappedSources {
|
||||
artifactId = "vanillin-common-intermediary-${property("artifact_minecraft_version")}"
|
||||
groupId = property("vanillin_group") as String
|
||||
}
|
||||
|
||||
configureJar {
|
||||
manifest {
|
||||
attributes("Fabric-Loom-Remap" to "true")
|
||||
}
|
||||
}
|
||||
|
||||
// Don't publish the un-remapped jars because they don't have the correct manifest populated by Loom.
|
||||
forkRemap("vanillinMojmap").apply {
|
||||
addToAssemble()
|
||||
configureRemap {
|
||||
// "named" == mojmap
|
||||
// We're probably remapping from named to named so Loom should noop this.
|
||||
targetNamespace = "named"
|
||||
}
|
||||
|
||||
publishWithRawSources {
|
||||
artifactId = "vanillin-common-mojmap-${property("artifact_minecraft_version")}"
|
||||
groupId = property("vanillin_group") as String
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -67,12 +67,16 @@ platform {
|
|||
}
|
||||
|
||||
jarSets {
|
||||
mainSet.publishWithRemappedSources("flywheel-fabric-${project.property("artifact_minecraft_version")}")
|
||||
mainSet.publishWithRemappedSources {
|
||||
artifactId = "flywheel-fabric-${project.property("artifact_minecraft_version")}"
|
||||
}
|
||||
mainSet.outgoing("flywheel")
|
||||
|
||||
create("api", api, lib).apply {
|
||||
addToAssemble()
|
||||
publishWithRemappedSources("flywheel-fabric-api-${project.property("artifact_minecraft_version")}")
|
||||
publishWithRemappedSources {
|
||||
artifactId = "flywheel-fabric-api-${project.property("artifact_minecraft_version")}"
|
||||
}
|
||||
|
||||
configureJar {
|
||||
manifest {
|
||||
|
|
|
@ -65,12 +65,16 @@ platform {
|
|||
}
|
||||
|
||||
jarSets {
|
||||
mainSet.publishWithRawSources("flywheel-forge-${project.property("artifact_minecraft_version")}")
|
||||
mainSet.publishWithRawSources {
|
||||
artifactId = "flywheel-forge-${project.property("artifact_minecraft_version")}"
|
||||
}
|
||||
mainSet.outgoing("flywheel")
|
||||
|
||||
create("api", api, lib).apply {
|
||||
addToAssemble()
|
||||
publishWithRawSources("flywheel-forge-api-${project.property("artifact_minecraft_version")}")
|
||||
publishWithRawSources {
|
||||
artifactId = "flywheel-forge-api-${project.property("artifact_minecraft_version")}"
|
||||
}
|
||||
|
||||
configureJar {
|
||||
manifest {
|
||||
|
|
|
@ -27,7 +27,9 @@ transitiveSourceSets {
|
|||
}
|
||||
|
||||
jarSets {
|
||||
mainSet.publishWithRemappedSources("vanillin-fabric-${project.property("artifact_minecraft_version")}")
|
||||
mainSet.publishWithRemappedSources {
|
||||
artifactId = "vanillin-fabric-${project.property("artifact_minecraft_version")}"
|
||||
}
|
||||
}
|
||||
|
||||
defaultPackageInfos {
|
||||
|
|
|
@ -27,7 +27,9 @@ transitiveSourceSets {
|
|||
}
|
||||
|
||||
jarSets {
|
||||
mainSet.publishWithRawSources("vanillin-forge-${project.property("artifact_minecraft_version")}")
|
||||
mainSet.publishWithRawSources {
|
||||
artifactId = "vanillin-forge-${project.property("artifact_minecraft_version")}"
|
||||
}
|
||||
}
|
||||
|
||||
defaultPackageInfos {
|
||||
|
@ -40,11 +42,6 @@ loom {
|
|||
add(main, "vanillin.refmap.json")
|
||||
}
|
||||
|
||||
forge {
|
||||
// mixinConfig("flywheel.backend.mixins.json")
|
||||
// mixinConfig("flywheel.impl.mixins.json")
|
||||
}
|
||||
|
||||
runs {
|
||||
configureEach {
|
||||
property("forge.logging.markers", "")
|
||||
|
|
Loading…
Reference in a new issue