224 lines
5.6 KiB
Groovy
224 lines
5.6 KiB
Groovy
plugins {
|
|
id "fabric-loom" version "0.9-SNAPSHOT"
|
|
id "maven-publish"
|
|
id 'com.matthewprenger.cursegradle' version "1.4.0"
|
|
}
|
|
|
|
apply plugin: "java"
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_16
|
|
targetCompatibility = JavaVersion.VERSION_16
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
|
|
maven {
|
|
url 'https://maven.legacyfabric.net/'
|
|
}
|
|
|
|
maven {
|
|
name = "Fabric maven"
|
|
url = "https://maven.fabricmc.net/"
|
|
}
|
|
|
|
// maven {
|
|
// name = "Haven's Maven"
|
|
// url = "https://hephaestus.dev/release"
|
|
// }
|
|
|
|
maven {
|
|
url = "https://www.cursemaven.com"
|
|
content {
|
|
includeGroup "curse.maven"
|
|
}
|
|
}
|
|
|
|
maven {
|
|
url = "https://server.bbkr.space/artifactory/libs-release"
|
|
content {
|
|
includeGroup "io.github.cottonmc"
|
|
}
|
|
}
|
|
|
|
// maven {
|
|
// name = "Ladysnake Libs"
|
|
// url = "https://dl.bintray.com/ladysnake/libs"
|
|
// }
|
|
|
|
maven {
|
|
name = 'Ladysnake Mods'
|
|
url = 'https://ladysnake.jfrog.io/artifactory/mods'
|
|
}
|
|
|
|
maven {
|
|
url = "https://maven.shedaniel.me/"
|
|
}
|
|
|
|
// maven {
|
|
// url = "https://bai.jfrog.io/artifactory/maven"
|
|
// }
|
|
|
|
maven {
|
|
url = "https://jitpack.io"
|
|
}
|
|
|
|
maven {
|
|
name = 'TerraformersMC'
|
|
url = 'https://maven.terraformersmc.com/'
|
|
}
|
|
|
|
maven { url 'https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/' }
|
|
|
|
maven {
|
|
name = "Libs"
|
|
url = "./libs"
|
|
metadataSources {
|
|
artifact()
|
|
}
|
|
}
|
|
}
|
|
|
|
def includeCompile(group, artifact, version) {
|
|
project.dependencies {
|
|
modCompileOnly("$group:$artifact:$version") {
|
|
exclude module: "fabric-api"
|
|
}
|
|
modRuntime("$group:$artifact:$version") {
|
|
exclude module: "fabric-api"
|
|
}
|
|
include("$group:$artifact:$version")
|
|
}
|
|
project.publishing {
|
|
publications {
|
|
mavenJava(MavenPublication) {
|
|
pom.withXml {
|
|
def depsNode = asNode().appendNode("dependencies")
|
|
def depNode = depsNode.appendNode("dependency")
|
|
depNode.appendNode("groupId", group)
|
|
depNode.appendNode("artifactId", artifact)
|
|
depNode.appendNode("version", version)
|
|
depNode.appendNode("scope", "compile")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
srcDir "src/main/schematics"
|
|
srcDir "src/main/config"
|
|
}
|
|
}
|
|
datagen
|
|
}
|
|
|
|
loom {
|
|
accessWidenerPath = file('src/main/resources/dimdoors.accesswidener')
|
|
}
|
|
|
|
dependencies {
|
|
minecraft "com.mojang:minecraft:1.17.1"
|
|
mappings "net.fabricmc:yarn:1.17.1+build.38:v2"
|
|
modImplementation "net.fabricmc:fabric-loader:0.11.6"
|
|
modImplementation "net.fabricmc.fabric-api:fabric-api:0.37.2+1.17"
|
|
includeCompile("com.flowpowered", "flow-math", "1.0.3")
|
|
includeCompile("org.jgrapht", "jgrapht-core", "1.1.0")
|
|
includeCompile("com.github.DimensionalDevelopment", "poly2tri.java", "0.1.1")
|
|
includeCompile("com.github.DimensionalDevelopment", "Matrix", "1.0.0")
|
|
includeCompile("me.shedaniel.cloth", "cloth-config-fabric", "5.0.34")
|
|
includeCompile("io.github.onyxstudios.Cardinal-Components-API", "cardinal-components-base", "3.0.0-nightly.1.17-pre2")
|
|
includeCompile("io.github.onyxstudios.Cardinal-Components-API", "cardinal-components-item", "3.0.0-nightly.1.17-pre2")
|
|
includeCompile("io.github.onyxstudios.Cardinal-Components-API", "cardinal-components-entity", "3.0.0-nightly.1.17-pre2")
|
|
includeCompile("io.github.onyxstudios.Cardinal-Components-API", "cardinal-components-level", "3.0.0-nightly.1.17-pre2")
|
|
includeCompile("io.github.onyxstudios.Cardinal-Components-API", "cardinal-components-util", "3.0.0-nightly.1.17-pre2")
|
|
includeCompile("io.github.onyxstudios.Cardinal-Components-API", "cardinal-components-world", "3.0.0-nightly.1.17-pre2")
|
|
includeCompile("io.github.onyxstudios.Cardinal-Components-API", "cardinal-components-chunk", "3.0.0-nightly.1.17-pre2")
|
|
|
|
modCompileOnly("com.terraformersmc:modmenu:2.0.0-beta.7") {
|
|
exclude module: "fabric-api"
|
|
}
|
|
modRuntime("com.terraformersmc:modmenu:2.0.0-beta.7") {
|
|
exclude module: "fabric-api"
|
|
}
|
|
|
|
modCompileOnly('mcp.mobius.waila:wthit-fabric:3.5.1') {
|
|
exclude module: "modmenu"
|
|
exclude module: "fabric-api"
|
|
}
|
|
modRuntime('mcp.mobius.waila:wthit-fabric:3.5.1') {
|
|
exclude module: "modmenu"
|
|
exclude module: "fabric-api"
|
|
}
|
|
modCompileOnly "me.shedaniel.cloth.api:cloth-datagen-api-v1:2.0.0"
|
|
modRuntime "me.shedaniel.cloth.api:cloth-datagen-api-v1:2.0.0"
|
|
modCompileOnly "worldedit:worldedit:7.2.6"
|
|
modRuntime "worldedit:worldedit:7.2.6"
|
|
|
|
modImplementation 'software.bernie.geckolib:geckolib-fabric-1.17:3.0.13:dev'
|
|
|
|
datagenImplementation sourceSets.main.output
|
|
datagenImplementation sourceSets.main.compileClasspath
|
|
datagenRuntimeOnly sourceSets.main.runtimeClasspath
|
|
|
|
testImplementation('junit:junit:4.13.2')
|
|
testImplementation('net.devtech:PotatoUnit:1.0.2')
|
|
}
|
|
|
|
version = computeVersion(project.mod_version)
|
|
archivesBaseName = "DimensionalDoors"
|
|
|
|
static def computeVersion(String version) {
|
|
if (version.contains("alpha") || version.contains("beta")) {
|
|
return version + "-" + Calendar.getInstance().getTime().format("dd.MM.yyyy")
|
|
}
|
|
return version
|
|
}
|
|
|
|
processResources {
|
|
filesMatching("fabric.mod.json") {
|
|
expand "version": project.version
|
|
}
|
|
|
|
inputs.property "version", project.version
|
|
}
|
|
|
|
artifacts {
|
|
archives jar
|
|
}
|
|
|
|
curseforge {
|
|
if (project.hasProperty('curse_api_key')) {
|
|
apiKey = project.getProperty('curse_api_key')
|
|
}
|
|
project {
|
|
id = '284876'
|
|
changelog = file('changelog.txt').text
|
|
releaseType = 'beta'
|
|
addGameVersion '1.17.1'
|
|
addGameVersion 'Fabric'
|
|
mainArtifact(file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar")) {
|
|
displayName = "[1.17] Dimensional Doors ${version}"
|
|
}
|
|
afterEvaluate {
|
|
uploadTask.dependsOn("remapJar")
|
|
}
|
|
}
|
|
options {
|
|
forgeGradleIntegration = false
|
|
}
|
|
}
|
|
|
|
test {
|
|
workingDir = file('test')
|
|
|
|
systemProperty('fabric.dli.config', file('.gradle/loom-cache/launch.cfg').getAbsolutePath())
|
|
//useJUnitPlatform()
|
|
}
|
|
|
|
tasks.test.doFirst {test ->
|
|
if (!test.workingDir.exists()) {
|
|
test.workingDir.mkdirs();
|
|
}
|
|
}
|