2019-03-20 23:39:34 +01:00
|
|
|
import org.apache.tools.ant.filters.ReplaceTokens
|
2020-07-12 21:25:02 +02:00
|
|
|
import java.util.function.Function as JavaFunction
|
2019-03-20 23:39:34 +01:00
|
|
|
|
|
|
|
plugins {
|
|
|
|
id("java")
|
|
|
|
id("net.minecrell.licenser") version "0.4.1"
|
2020-06-23 17:46:59 +02:00
|
|
|
id("fabric-loom") version "0.4-SNAPSHOT"
|
2019-03-20 23:39:34 +01:00
|
|
|
id("com.palantir.git-version") version "0.12.0-rc2"
|
2020-08-05 12:51:08 +02:00
|
|
|
id("com.matthewprenger.cursegradle") version "1.4.0"
|
2019-03-20 23:39:34 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
group = "com.github.creeper123123321.viafabric"
|
2020-07-12 21:25:02 +02:00
|
|
|
val gitVersion: groovy.lang.Closure<String> by extra
|
|
|
|
val versionDetails: groovy.lang.Closure<com.palantir.gradle.gitversion.VersionDetails> by extra
|
2020-08-05 12:51:08 +02:00
|
|
|
|
|
|
|
val travisBranch: String? = System.getenv("TRAVIS_BRANCH") // version details doesn't work on travis
|
|
|
|
val branch = if (!travisBranch.isNullOrBlank()) travisBranch else try {
|
|
|
|
versionDetails().branchName
|
|
|
|
} catch (e: Exception) {
|
|
|
|
"unknown"
|
|
|
|
}
|
|
|
|
|
2020-07-12 21:25:02 +02:00
|
|
|
version = "0.2.5-SNAPSHOT+" + try {
|
2020-08-05 12:51:08 +02:00
|
|
|
gitVersion() + "-" + branch
|
2019-04-29 01:33:18 +02:00
|
|
|
} catch (e: Exception) {
|
|
|
|
"unknown"
|
2020-07-12 21:25:02 +02:00
|
|
|
}
|
2019-03-20 23:39:34 +01:00
|
|
|
extra.set("archivesBaseName", "ViaFabric")
|
2019-10-27 13:26:40 +01:00
|
|
|
description = "Client-side and server-side ViaVersion implementation for Fabric"
|
2019-03-20 23:39:34 +01:00
|
|
|
|
|
|
|
java {
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
|
|
targetCompatibility = JavaVersion.VERSION_1_8
|
|
|
|
}
|
|
|
|
extra.set("sourceCompatibility", 1.8)
|
|
|
|
extra.set("targetCompatibility", 1.8)
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenLocal()
|
|
|
|
mavenCentral()
|
|
|
|
jcenter()
|
2019-04-08 02:49:15 +02:00
|
|
|
maven(url = "https://repo.viaversion.com/")
|
|
|
|
maven(url = "https://oss.sonatype.org/content/repositories/snapshots")
|
|
|
|
maven(url = "https://maven.fabricmc.net/")
|
2020-03-24 12:29:41 +01:00
|
|
|
maven(url = "https://server.bbkr.space/artifactory/libs-snapshot")
|
2020-04-13 19:27:30 +02:00
|
|
|
maven(url = "https://server.bbkr.space/artifactory/libs-release")
|
2020-07-12 21:25:02 +02:00
|
|
|
maven(url = "https://dl.bintray.com/legacy-fabric/Legacy-Fabric-Maven")
|
2019-03-20 23:39:34 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2019-03-30 21:47:01 +01:00
|
|
|
tasks.named<ProcessResources>("processResources") {
|
2019-04-29 01:33:18 +02:00
|
|
|
filesMatching("fabric.mod.json") {
|
|
|
|
filter<ReplaceTokens>("tokens" to mapOf(
|
|
|
|
"version" to project.property("version"),
|
|
|
|
"description" to project.property("description")
|
|
|
|
))
|
|
|
|
}
|
2019-03-20 23:39:34 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
2019-05-12 16:49:42 +02:00
|
|
|
// transitive = false because Guava is conflicting on runClient
|
2020-08-04 13:14:11 +02:00
|
|
|
implementation("us.myles:viaversion:3.1.0-1.16.2-pre1") { isTransitive = false }
|
2019-03-20 23:39:34 +01:00
|
|
|
|
2020-07-12 21:25:02 +02:00
|
|
|
// Use 1.8.9 Legacy Fabric https://github.com/Legacy-Fabric/fabric-example-mod/blob/master/gradle.properties
|
2020-07-14 22:06:09 +02:00
|
|
|
implementation("com.google.guava:guava:23.5-jre")
|
2020-07-12 21:25:02 +02:00
|
|
|
minecraft("com.mojang:minecraft:1.8.9")
|
|
|
|
mappings("net.fabricmc:yarn:1.8.9+build.202007011615:v2")
|
|
|
|
modCompile("net.fabricmc:fabric-loader-1.8.9:0.8.2+build.202004131640") {
|
|
|
|
exclude(module = "guava")
|
|
|
|
}
|
2019-03-20 23:39:34 +01:00
|
|
|
|
2020-07-14 22:06:09 +02:00
|
|
|
modImplementation("net.fabricmc.fabric-api:fabric-api:0.2.7-1.8.9")
|
2019-04-26 21:35:25 +02:00
|
|
|
|
2020-07-12 21:25:02 +02:00
|
|
|
//modImplementation("io.github.cottonmc:cotton-client-commands:1.0.0+1.15.2")
|
|
|
|
//include("io.github.cottonmc:cotton-client-commands:1.0.0+1.15.2")
|
2019-03-20 23:39:34 +01:00
|
|
|
}
|
|
|
|
|
2020-08-05 13:21:54 +02:00
|
|
|
if (!System.getenv()["curse_api_key"].isNullOrBlank() && branch.startsWith("mc-")) {
|
|
|
|
defaultTasks("clean", "build", "curseforge")
|
|
|
|
} else {
|
|
|
|
defaultTasks("clean", "build")
|
|
|
|
}
|
|
|
|
|
2020-08-05 12:51:08 +02:00
|
|
|
curseforge {
|
2020-08-05 13:21:54 +02:00
|
|
|
apiKey = System.getenv()["curse_api_key"]
|
2020-08-05 12:51:08 +02:00
|
|
|
project(closureOf<com.matthewprenger.cursegradle.CurseProject> {
|
|
|
|
id = "391298"
|
|
|
|
changelog = "A changelog can be found at https://github.com/ViaVersion/ViaFabric/commits"
|
|
|
|
releaseType = "alpha"
|
|
|
|
when (branch) {
|
|
|
|
"mc-1.8" -> addGameVersion("1.8.9")
|
|
|
|
"mc-1.14-1.15" -> {
|
|
|
|
addGameVersion("1.14.4")
|
|
|
|
addGameVersion("1.15.2")
|
|
|
|
}
|
|
|
|
"mc-1.16" -> {
|
|
|
|
addGameVersion("1.16.1")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
addGameVersion("Fabric")
|
|
|
|
mainArtifact(file("${project.buildDir}/libs/${project.base.archivesBaseName}-${project.version}.jar"), closureOf<com.matthewprenger.cursegradle.CurseArtifact> {
|
|
|
|
relations(closureOf<com.matthewprenger.cursegradle.CurseRelation> {
|
|
|
|
if (branch == "mc-1.8") {
|
|
|
|
requiredDependency("400281") // Legacy Fabric API
|
|
|
|
} else {
|
|
|
|
requiredDependency("306612") // Fabric API
|
|
|
|
embeddedLibrary("323986") // Cotton Client Commands
|
|
|
|
}
|
|
|
|
})
|
|
|
|
displayName = "[$branch] ViaFabric ${project.version}"
|
|
|
|
})
|
|
|
|
afterEvaluate {
|
|
|
|
uploadTask.dependsOn("remapJar")
|
|
|
|
}
|
|
|
|
})
|
|
|
|
options(closureOf<com.matthewprenger.cursegradle.Options> {
|
|
|
|
forgeGradleIntegration = false
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2019-03-20 23:39:34 +01:00
|
|
|
minecraft {
|
2020-07-12 21:25:02 +02:00
|
|
|
this.intermediaryUrl = JavaFunction {
|
2020-07-14 22:06:09 +02:00
|
|
|
"https://dl.bintray.com/legacy-fabric/Legacy-Fabric-Maven/net/fabricmc/intermediary/$it/intermediary-$it-v2.jar"
|
2020-07-12 21:25:02 +02:00
|
|
|
}
|
2019-05-27 19:46:26 +02:00
|
|
|
}
|
2019-11-13 00:07:33 +01:00
|
|
|
|
|
|
|
license {
|
|
|
|
include("**/*.java")
|
|
|
|
}
|