ViaVersion/universal/build.gradle.kts

42 lines
1.4 KiB
Plaintext
Raw Normal View History

2021-02-19 01:33:32 +01:00
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
2021-05-25 06:58:34 +02:00
plugins {
id("com.github.johnrengelman.shadow")
}
2021-05-25 09:44:57 +02:00
val platforms = setOf(
rootProject.projects.viaversionBukkit,
rootProject.projects.viaversionBungee,
rootProject.projects.viaversionFabric,
rootProject.projects.viaversionSponge,
rootProject.projects.viaversionVelocity
).map { it.dependencyProject }
tasks {
2021-05-25 06:58:34 +02:00
shadowJar {
2021-02-19 01:33:32 +01:00
archiveClassifier.set("")
2021-02-18 11:31:45 +01:00
archiveFileName.set("ViaVersion-${project.version}.jar")
destinationDirectory.set(rootProject.projectDir.resolve("build/libs"))
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
2021-05-25 09:44:57 +02:00
platforms.forEach { platform ->
val shadowJarTask = platform.tasks.named<ShadowJar>("shadowJar").forUseAtConfigurationTime().get()
dependsOn(shadowJarTask)
2021-05-25 09:44:57 +02:00
dependsOn(platform.tasks.withType<Jar>())
from(zipTree(shadowJarTask.archiveFile))
}
}
build {
2021-05-25 06:58:34 +02:00
dependsOn(shadowJar)
2021-02-19 01:33:32 +01:00
}
2021-05-25 09:44:57 +02:00
sourcesJar {
rootProject.subprojects.forEach { subproject ->
if (subproject == project) return@forEach
val platformSourcesJarTask = subproject.tasks.findByName("sourcesJar") as? Jar ?: return@forEach
dependsOn(platformSourcesJarTask)
from(zipTree(platformSourcesJarTask.archiveFile))
}
}
}
2021-05-25 06:58:34 +02:00
publishShadowJar()