mirror of
https://github.com/ViaVersion/ViaVersion.git
synced 2024-11-24 19:15:32 +01:00
Switch to indra, attempt to fix shading and universal jar
This commit is contained in:
parent
ef6c347194
commit
024c36c584
166
build.gradle.kts
166
build.gradle.kts
@ -1,142 +1,74 @@
|
|||||||
import com.github.jengelman.gradle.plugins.shadow.ShadowPlugin
|
import net.kyori.indra.IndraPlugin
|
||||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
import net.kyori.indra.IndraPublishingPlugin
|
||||||
|
import net.kyori.indra.sonatypeSnapshots
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
`java-library`
|
`java-library`
|
||||||
`maven-publish`
|
id("net.kyori.indra")
|
||||||
id("com.github.johnrengelman.shadow") version ("6.1.0") apply false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
group = "us.myles"
|
||||||
|
version = "3.3.0-21w06a"
|
||||||
|
description = "Allow newer clients to join older server versions."
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
apply {
|
apply<JavaLibraryPlugin>()
|
||||||
plugin<JavaPlugin>()
|
apply<MavenPublishPlugin>()
|
||||||
plugin<JavaLibraryPlugin>()
|
apply<IndraPlugin>()
|
||||||
plugin<MavenPublishPlugin>()
|
apply<IndraPublishingPlugin>()
|
||||||
plugin<ShadowPlugin>()
|
|
||||||
}
|
|
||||||
|
|
||||||
group = "us.myles"
|
|
||||||
version = "3.3.0-21w06a"
|
|
||||||
description = "Allow newer clients to join older server versions."
|
|
||||||
|
|
||||||
java.sourceCompatibility = JavaVersion.VERSION_1_8
|
|
||||||
|
|
||||||
tasks {
|
tasks {
|
||||||
build {
|
|
||||||
dependsOn(withType<ShadowJar>())
|
|
||||||
}
|
|
||||||
|
|
||||||
test {
|
|
||||||
useJUnitPlatform()
|
|
||||||
}
|
|
||||||
|
|
||||||
withType<JavaCompile>() {
|
|
||||||
options.encoding = "UTF-8"
|
|
||||||
}
|
|
||||||
javadoc {
|
|
||||||
options.encoding = "UTF-8"
|
|
||||||
}
|
|
||||||
|
|
||||||
// Variable replacements
|
// Variable replacements
|
||||||
processResources {
|
processResources {
|
||||||
filesMatching(listOf("plugin.yml", "mcmod.info", "fabric.mod.json", "bungee.yml")) {
|
filesMatching(listOf("plugin.yml", "mcmod.info", "fabric.mod.json", "bungee.yml")) {
|
||||||
expand("version" to project.version, "description" to project.description)
|
expand("version" to project.version, "description" to project.description)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
withType<ShadowJar>() {
|
val platforms = listOf(
|
||||||
archiveFileName.set("ViaVersion-" + project.version + ".jar")
|
"bukkit",
|
||||||
|
"bungee",
|
||||||
relocate("org.yaml.snakeyaml", "us.myles.viaversion.libs.snakeyaml")
|
"fabric",
|
||||||
relocate("javassist", "us.myles.viaversion.libs.javassist")
|
"sponge",
|
||||||
relocate("com.google.gson", "us.myles.viaversion.libs.gson")
|
"velocity"
|
||||||
relocate("com.github.steveice10.opennbt", "us.myles.viaversion.libs.opennbt")
|
).map { "viaversion-$it" }
|
||||||
|
if (platforms.contains(project.name)) {
|
||||||
relocate("net.md_5.bungee", "us.myles.viaversion.libs.bungeecordchat") {
|
configureShadowJar()
|
||||||
include("net.md_5.bungee.api.chat.*")
|
|
||||||
include("net.md_5.bungee.api.ChatColor")
|
|
||||||
include("net.md_5.bungee.api.ChatMessageType")
|
|
||||||
include("net.md_5.bungee.chat.*")
|
|
||||||
}
|
|
||||||
|
|
||||||
relocate("it.unimi.dsi.fastutil", "us.myles.viaversion.libs.fastutil") {
|
|
||||||
// We only want int and Object maps
|
|
||||||
include("it.unimi.dsi.fastutil.ints.*")
|
|
||||||
include("it.unimi.dsi.fastutil.objects.*")
|
|
||||||
include("it.unimi.dsi.fastutil.*.class")
|
|
||||||
// Object types
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Reference*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Boolean*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Byte*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Short*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Float*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Double*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Long*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Char*")
|
|
||||||
// Map types
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Custom*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Linked*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Sorted*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Tree*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Heap*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Queue*")
|
|
||||||
// Crossing fingers
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Big*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Synchronized*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Unmodifiable*")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
maven {
|
sonatypeSnapshots()
|
||||||
url = uri("https://hub.spigotmc.org/nexus/content/repositories/snapshots")
|
maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots")
|
||||||
}
|
maven("https://nexus.velocitypowered.com/repository/velocity-artifacts-snapshots/")
|
||||||
maven {
|
maven("https://repo.spongepowered.org/maven")
|
||||||
url = uri("https://oss.sonatype.org/content/repositories/snapshots")
|
maven("https://repo.viaversion.com")
|
||||||
}
|
maven("https://libraries.minecraft.net")
|
||||||
maven {
|
maven("https://repo.maven.apache.org/maven2/")
|
||||||
url = uri("https://nexus.velocitypowered.com/repository/velocity-artifacts-snapshots/")
|
|
||||||
}
|
|
||||||
maven {
|
|
||||||
url = uri("https://repo.spongepowered.org/maven")
|
|
||||||
}
|
|
||||||
maven {
|
|
||||||
url = uri("https://repo.viaversion.com")
|
|
||||||
}
|
|
||||||
maven {
|
|
||||||
url = uri("https://libraries.minecraft.net")
|
|
||||||
}
|
|
||||||
maven {
|
|
||||||
url = uri("https://repo.maven.apache.org/maven2/")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("net.md-5:bungeecord-chat:1.16-R0.5-SNAPSHOT")
|
testImplementation("io.netty", "netty-all", Versions.netty)
|
||||||
implementation("it.unimi.dsi:fastutil:8.3.1")
|
testImplementation("com.google.guava", "guava", Versions.guava)
|
||||||
implementation("com.github.steveice10:opennbt:1.2-SNAPSHOT")
|
testImplementation("org.junit.jupiter", "junit-jupiter-api", Versions.jUnit)
|
||||||
implementation("com.google.code.gson:gson:2.8.6")
|
testImplementation("org.junit.jupiter", "junit-jupiter-engine", Versions.jUnit)
|
||||||
implementation("org.javassist:javassist:3.27.0-GA")
|
|
||||||
implementation("org.yaml:snakeyaml:1.18")
|
|
||||||
|
|
||||||
compileOnly("io.netty:netty-all:4.0.20.Final")
|
|
||||||
compileOnly("com.google.guava:guava:17.0")
|
|
||||||
compileOnly("org.jetbrains:annotations:19.0.0")
|
|
||||||
|
|
||||||
testImplementation("io.netty:netty-all:4.0.20.Final")
|
|
||||||
testImplementation("org.junit.jupiter:junit-jupiter-api:5.6.3")
|
|
||||||
testImplementation("org.junit.jupiter:junit-jupiter-engine:5.6.3")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
java {
|
indra {
|
||||||
withSourcesJar()
|
javaVersions {
|
||||||
withJavadocJar()
|
target.set(8)
|
||||||
}
|
testWith(8, 11, 15)
|
||||||
|
|
||||||
publishing {
|
|
||||||
publications.create<MavenPublication>("maven") {
|
|
||||||
from(components["java"])
|
|
||||||
}
|
}
|
||||||
|
github("ViaVersion", "ViaVersion") {
|
||||||
|
issues = true
|
||||||
|
}
|
||||||
|
mitLicense()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks {
|
||||||
|
// root project has no useful artifacts
|
||||||
|
withType<Jar> {
|
||||||
|
onlyIf { false }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
plugins {
|
plugins {
|
||||||
// Support convention plugins written in Kotlin. Convention plugins are build scripts in 'src/main' that automatically become available as plugins in the main build.
|
|
||||||
`kotlin-dsl`
|
`kotlin-dsl`
|
||||||
id("com.github.johnrengelman.shadow") version ("6.1.0") apply false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
// Use the plugin portal to apply community plugins in convention plugins.
|
|
||||||
gradlePluginPortal()
|
gradlePluginPortal()
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly("com.github.jengelman.gradle.plugins", "shadow", "6.1.0")
|
implementation("net.kyori", "indra-common", "1.3.1")
|
||||||
|
implementation("net.kyori", "indra-publishing-gradle-plugin", "1.3.1")
|
||||||
|
implementation("com.github.jengelman.gradle.plugins", "shadow", "6.1.0")
|
||||||
}
|
}
|
31
buildSrc/src/main/kotlin/Versions.kt
Normal file
31
buildSrc/src/main/kotlin/Versions.kt
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
object Versions {
|
||||||
|
// common
|
||||||
|
const val netty = "4.0.20.Final"
|
||||||
|
const val guava = "17.0"
|
||||||
|
const val jUnit = "5.6.3"
|
||||||
|
const val bungeeChat = "1.16-R0.5-SNAPSHOT"
|
||||||
|
const val fastUtil = "8.3.1"
|
||||||
|
const val openNBT = "1.2-SNAPSHOT"
|
||||||
|
const val gson = "2.8.6"
|
||||||
|
const val javassist = "3.27.0-GA"
|
||||||
|
const val snakeYaml = "1.18"
|
||||||
|
const val jetbrainsAnnotations = "19.0.0"
|
||||||
|
|
||||||
|
// bukkit
|
||||||
|
const val spigot = "1.16.5-R0.1-SNAPSHOT"
|
||||||
|
|
||||||
|
// bukkit-legacy
|
||||||
|
const val legacyBukkit = "1.8.8-R0.1-SNAPSHOT"
|
||||||
|
|
||||||
|
// bungee
|
||||||
|
const val bungee = "1.15-SNAPSHOT"
|
||||||
|
|
||||||
|
// sponge
|
||||||
|
const val sponge = "5.0.0-SNAPSHOT"
|
||||||
|
|
||||||
|
// sponge-legacy
|
||||||
|
const val legacySponge = "4.0.0-SNAPSHOT"
|
||||||
|
|
||||||
|
// velocity
|
||||||
|
const val velocityApi = "1.1.0-SNAPSHOT"
|
||||||
|
}
|
@ -1,45 +1,81 @@
|
|||||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||||
|
import com.github.jengelman.gradle.plugins.shadow.ShadowPlugin
|
||||||
|
import org.gradle.api.Project
|
||||||
|
import org.gradle.kotlin.dsl.apply
|
||||||
|
import org.gradle.kotlin.dsl.invoke
|
||||||
|
import org.gradle.kotlin.dsl.withType
|
||||||
|
import java.io.ByteArrayOutputStream
|
||||||
|
|
||||||
fun relocate(shadow: ShadowJar) {
|
fun Project.configureShadowJar() {
|
||||||
shadow.relocate("org.yaml.snakeyaml", "us.myles.viaversion.libs.snakeyaml")
|
apply<ShadowPlugin>()
|
||||||
shadow.relocate("javassist", "us.myles.viaversion.libs.javassist")
|
tasks {
|
||||||
shadow.relocate("com.google.gson", "us.myles.viaversion.libs.gson")
|
withType<ShadowJar> {
|
||||||
shadow.relocate("com.github.steveice10.opennbt", "us.myles.viaversion.libs.opennbt")
|
archiveClassifier.set("")
|
||||||
|
destinationDirectory.set(rootProject.projectDir.resolve("build/libs"))
|
||||||
shadow.relocate("net.md_5.bungee", "us.myles.viaversion.libs.bungeecordchat") {
|
//minimize() // ?
|
||||||
include("net.md_5.bungee.api.chat.*")
|
configureRelocations()
|
||||||
include("net.md_5.bungee.api.ChatColor")
|
configureExcludes()
|
||||||
include("net.md_5.bungee.api.ChatMessageType")
|
}
|
||||||
include("net.md_5.bungee.chat.*")
|
getByName("build") {
|
||||||
|
dependsOn(withType<ShadowJar>())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun relocateAll(shadow: ShadowJar) {
|
private fun ShadowJar.configureRelocations() {
|
||||||
relocate(shadow)
|
relocate("org.yaml.snakeyaml", "us.myles.viaversion.libs.snakeyaml")
|
||||||
shadow.relocate("it.unimi.dsi.fastutil", "us.myles.viaversion.libs.fastutil") {
|
relocate("javassist", "us.myles.viaversion.libs.javassist")
|
||||||
// We only want int and Object maps
|
relocate("com.google.gson", "us.myles.viaversion.libs.gson")
|
||||||
include("it.unimi.dsi.fastutil.ints.*")
|
relocate("com.github.steveice10.opennbt", "us.myles.viaversion.libs.opennbt")
|
||||||
include("it.unimi.dsi.fastutil.objects.*")
|
relocate("net.md_5.bungee", "us.myles.viaversion.libs.bungeecordchat")
|
||||||
include("it.unimi.dsi.fastutil.*.class")
|
relocate("it.unimi.dsi.fastutil", "us.myles.viaversion.libs.fastutil")
|
||||||
// Object types
|
}
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Reference*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Boolean*")
|
private fun ShadowJar.configureExcludes() {
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Byte*")
|
// bungee api
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Short*")
|
/*
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Float*")
|
include("net.md_5.bungee.api.chat.*")
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Double*")
|
include("net.md_5.bungee.api.ChatColor")
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Long*")
|
include("net.md_5.bungee.api.ChatMessageType")
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Char*")
|
include("net.md_5.bungee.chat.*")
|
||||||
// Map types
|
*/
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Custom*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Linked*")
|
// fastutil
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Sorted*")
|
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Tree*")
|
// We only want int and Object maps
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Heap*")
|
/*
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Queue*")
|
include("it.unimi.dsi.fastutil.ints.*")
|
||||||
// Crossing fingers
|
include("it.unimi.dsi.fastutil.objects.*")
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Big*")
|
include("it.unimi.dsi.fastutil.*.class")
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Synchronized*")
|
*/
|
||||||
exclude("it.unimi.dsi.fastutil.*.*Unmodifiable*")
|
|
||||||
}
|
// Object types
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Reference*")
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Boolean*")
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Byte*")
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Short*")
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Float*")
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Double*")
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Long*")
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Char*")
|
||||||
|
// Map types
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Custom*")
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Linked*")
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Sorted*")
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Tree*")
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Heap*")
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Queue*")
|
||||||
|
// Crossing fingers
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Big*")
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Synchronized*")
|
||||||
|
exclude("it/unimi/dsi/fastutil/*/*Unmodifiable*")
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Project.latestCommitHash(): String {
|
||||||
|
val byteOut = ByteArrayOutputStream()
|
||||||
|
exec {
|
||||||
|
commandLine = listOf("git", "rev-parse", "--short", "HEAD")
|
||||||
|
standardOutput = byteOut
|
||||||
|
}
|
||||||
|
return byteOut.toString(Charsets.UTF_8.name()).trim()
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
dependencies {
|
dependencies {
|
||||||
compileOnly(project(":viaversion-common"))
|
implementation(project(":viaversion-common"))
|
||||||
compileOnly("org.bukkit:bukkit:1.8.8-R0.1-SNAPSHOT") {
|
compileOnly("org.bukkit", "bukkit", Versions.legacyBukkit) {
|
||||||
exclude("junit", "junit")
|
exclude("junit", "junit")
|
||||||
exclude("com.google.code.gson", "gson")
|
exclude("com.google.code.gson", "gson")
|
||||||
exclude("javax.persistence", "persistence-api")
|
exclude("javax.persistence", "persistence-api")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
description = "viaversion-bukkit-legacy"
|
|
||||||
|
@ -1,13 +1,9 @@
|
|||||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(project(":viaversion-bukkit-legacy"))
|
implementation(project(":viaversion-bukkit-legacy"))
|
||||||
compileOnly(project(":viaversion-common"))
|
implementation(project(":viaversion-common"))
|
||||||
compileOnly("org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT") {
|
compileOnly("org.spigotmc", "spigot-api", Versions.spigot) {
|
||||||
exclude("junit", "junit")
|
exclude("junit", "junit")
|
||||||
exclude("com.google.code.gson", "gson")
|
exclude("com.google.code.gson", "gson")
|
||||||
exclude("javax.persistence", "persistence-api")
|
exclude("javax.persistence", "persistence-api")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
description = "viaversion-bukkit"
|
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
dependencies {
|
dependencies {
|
||||||
compileOnly(project(":viaversion-common"))
|
implementation(project(":viaversion-common"))
|
||||||
compileOnly("net.md-5:bungeecord-api:1.15-SNAPSHOT")
|
compileOnly("net.md-5", "bungeecord-api", Versions.bungee)
|
||||||
}
|
}
|
||||||
|
|
||||||
description = "viaversion-bungee"
|
|
||||||
|
@ -1,30 +1,23 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id("net.kyori.blossom") version "1.1.0"
|
id("net.kyori.blossom") version "1.1.0"
|
||||||
id("org.ajoberstar.grgit") version "4.1.0"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val commitId: String = grgit.head().abbreviatedId
|
|
||||||
|
|
||||||
blossom {
|
blossom {
|
||||||
replaceToken("\$VERSION", project.version)
|
replaceToken("\$VERSION", project.version)
|
||||||
replaceToken("\$IMPL_VERSION", "git-ViaVersion-" + project.version + ":" + commitId)
|
replaceToken("\$IMPL_VERSION", "git-ViaVersion-${project.version}:${rootProject.latestCommitHash()}")
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("net.md-5:bungeecord-chat:1.16-R0.5-SNAPSHOT")
|
api("net.md-5", "bungeecord-chat", Versions.bungeeChat) {
|
||||||
implementation("it.unimi.dsi:fastutil:8.3.1")
|
exclude("com.google.guava")
|
||||||
implementation("com.github.steveice10:opennbt:1.2-SNAPSHOT")
|
}
|
||||||
implementation("com.google.code.gson:gson:2.8.6")
|
api("it.unimi.dsi", "fastutil", Versions.fastUtil)
|
||||||
implementation("org.javassist:javassist:3.27.0-GA")
|
api("com.github.steveice10", "opennbt", Versions.openNBT)
|
||||||
implementation("org.yaml:snakeyaml:1.18")
|
api("com.google.code.gson", "gson", Versions.gson)
|
||||||
|
api("org.javassist", "javassist", Versions.javassist)
|
||||||
|
api("org.yaml", "snakeyaml", Versions.snakeYaml)
|
||||||
|
|
||||||
compileOnly("io.netty:netty-all:4.0.20.Final")
|
compileOnlyApi("io.netty", "netty-all", Versions.netty)
|
||||||
compileOnly("com.google.guava:guava:17.0")
|
compileOnlyApi("com.google.guava", "guava", Versions.guava)
|
||||||
compileOnly("org.jetbrains:annotations:19.0.0")
|
compileOnlyApi("org.jetbrains", "annotations", Versions.jetbrainsAnnotations)
|
||||||
|
|
||||||
testImplementation("io.netty:netty-all:4.0.20.Final")
|
|
||||||
testImplementation("org.junit.jupiter:junit-jupiter-api:5.6.3")
|
|
||||||
testImplementation("org.junit.jupiter:junit-jupiter-engine:5.6.3")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
description = "viaversion-common"
|
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
dependencies {
|
dependencies {
|
||||||
compileOnly(project(":viaversion-common"))
|
implementation(project(":viaversion-common"))
|
||||||
}
|
}
|
||||||
|
|
||||||
description = "viaversion-fabric"
|
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation(project(":viaversion-common"))
|
|
||||||
implementation(project(":viaversion-bukkit"))
|
|
||||||
implementation(project(":viaversion-bungee"))
|
|
||||||
implementation(project(":viaversion-fabric"))
|
|
||||||
implementation(project(":viaversion-sponge"))
|
|
||||||
implementation(project(":viaversion-velocity"))
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks {
|
|
||||||
withType<ShadowJar>() {
|
|
||||||
archiveFileName.set("ViaVersion-" + project.version + ".jar")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
description = "viaversion-jar"
|
|
@ -1,21 +1,22 @@
|
|||||||
rootProject.name = "viaversion-parent"
|
rootProject.name = "viaversion-parent"
|
||||||
|
|
||||||
include(":viaversion")
|
setupViaSubproject("common")
|
||||||
include(":viaversion-common")
|
setupViaSubproject("bukkit")
|
||||||
include(":viaversion-bukkit")
|
setupViaSubproject("bukkit-legacy")
|
||||||
include(":viaversion-bukkit-legacy")
|
setupViaSubproject("bungee")
|
||||||
include(":viaversion-bungee")
|
setupViaSubproject("velocity")
|
||||||
include(":viaversion-velocity")
|
setupViaSubproject("sponge")
|
||||||
include(":viaversion-sponge-legacy")
|
setupViaSubproject("sponge-legacy")
|
||||||
include(":viaversion-sponge")
|
setupViaSubproject("fabric")
|
||||||
include(":viaversion-fabric")
|
setupViaSubproject("universal")
|
||||||
|
|
||||||
project(":viaversion-common").projectDir = file("common")
|
fun setupViaSubproject(name: String) {
|
||||||
project(":viaversion-bukkit").projectDir = file("bukkit")
|
setupSubproject("viaversion-$name") {
|
||||||
project(":viaversion-bukkit-legacy").projectDir = file("bukkit-legacy")
|
projectDir = file(name)
|
||||||
project(":viaversion-bungee").projectDir = file("bungee")
|
}
|
||||||
project(":viaversion-velocity").projectDir = file("velocity")
|
}
|
||||||
project(":viaversion-sponge").projectDir = file("sponge")
|
|
||||||
project(":viaversion-sponge-legacy").projectDir = file("sponge-legacy")
|
inline fun setupSubproject(name: String, block: ProjectDescriptor.() -> Unit) {
|
||||||
project(":viaversion-fabric").projectDir = file("fabric")
|
include(name)
|
||||||
project(":viaversion").projectDir = file("jar")
|
project(":$name").apply(block)
|
||||||
|
}
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
dependencies {
|
dependencies {
|
||||||
compileOnly(project(":viaversion-common"))
|
implementation(project(":viaversion-common"))
|
||||||
compileOnly("org.spongepowered:spongeapi:4.0.0-SNAPSHOT")
|
compileOnly("org.spongepowered", "spongeapi", Versions.legacySponge)
|
||||||
}
|
}
|
||||||
|
|
||||||
description = "viaversion-sponge-legacy"
|
|
@ -1,7 +1,5 @@
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation(project(":viaversion-sponge-legacy"))
|
implementation(project(":viaversion-sponge-legacy"))
|
||||||
compileOnly(project(":viaversion-common"))
|
implementation(project(":viaversion-common"))
|
||||||
compileOnly("org.spongepowered:spongeapi:5.0.0-SNAPSHOT")
|
compileOnly("org.spongepowered","spongeapi", Versions.sponge)
|
||||||
}
|
}
|
||||||
|
|
||||||
description = "viaversion-sponge"
|
|
||||||
|
23
universal/build.gradle.kts
Normal file
23
universal/build.gradle.kts
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
tasks {
|
||||||
|
val universalJar = register<Jar>("universalJar") {
|
||||||
|
artifacts.add("archives", this)
|
||||||
|
archiveClassifier.set("")
|
||||||
|
destinationDirectory.set(rootProject.projectDir.resolve("build/libs"))
|
||||||
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||||
|
arrayOf(
|
||||||
|
"bukkit",
|
||||||
|
"bungee",
|
||||||
|
"fabric",
|
||||||
|
"sponge",
|
||||||
|
"velocity"
|
||||||
|
).forEach {
|
||||||
|
val subProject = rootProject.project(":viaversion-$it")
|
||||||
|
val shadowJarTask = subProject.tasks.getByName("shadowJar")
|
||||||
|
from(zipTree(shadowJarTask.outputs.files.singleFile))
|
||||||
|
dependsOn(shadowJarTask)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
build {
|
||||||
|
dependsOn(universalJar)
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,5 @@
|
|||||||
dependencies {
|
dependencies {
|
||||||
compileOnly(project(":viaversion-common"))
|
implementation(project(":viaversion-common"))
|
||||||
compileOnly("com.velocitypowered:velocity-api:1.1.0-SNAPSHOT")
|
compileOnly("com.velocitypowered", "velocity-api", Versions.velocityApi)
|
||||||
annotationProcessor("com.velocitypowered:velocity-api:1.1.0-SNAPSHOT")
|
annotationProcessor("com.velocitypowered", "velocity-api", Versions.velocityApi)
|
||||||
}
|
}
|
||||||
|
|
||||||
description = "viaversion-velocity"
|
|
||||||
|
Loading…
Reference in New Issue
Block a user