LibJF/build.gradle

112 lines
3.0 KiB
Groovy
Raw Normal View History

2021-04-11 20:23:52 +02:00
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
import proguard.gradle.ProGuardTask
import net.fabricmc.loom.task.RunClientTask
import net.fabricmc.loom.task.RunServerTask
buildscript {
repositories {
mavenLocal()
google()
}
dependencies {
classpath 'com.guardsquare:proguard-gradle:7.0.1'
}
}
2021-04-11 16:00:37 +02:00
plugins {
id 'fabric-loom' version '0.7-SNAPSHOT'
id 'maven-publish'
}
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group
repositories {
maven { url = 'https://maven.terraformersmc.com/'; name = "ModMenu" }
2021-04-11 20:23:52 +02:00
maven { url "https://maven.shedaniel.me/" }
}
sourceSets {
testmod {
compileClasspath += main.compileClasspath + main.output
runtimeClasspath += main.runtimeClasspath + main.output
}
}
task runTestmodClient(type: RunClientTask) {
classpath sourceSets.testmod.runtimeClasspath
}
task runTestmodServer(type: RunServerTask) {
classpath sourceSets.testmod.runtimeClasspath
2021-04-11 16:00:37 +02:00
}
dependencies {
//to change the versions see the gradle.properties file
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "com.terraformersmc:modmenu:1.16.9"
}
processResources {
inputs.property "version", project.version
from(sourceSets.main.resources.srcDirs) {
include "fabric.mod.json"
expand "version": project.version
}
from(sourceSets.main.resources.srcDirs) {
exclude "fabric.mod.json"
}
2021-04-11 20:23:52 +02:00
doLast {
fileTree(dir: outputs.files.asPath, include: "**/*.json").each {
File file -> file.text = JsonOutput.toJson(new JsonSlurper().parse(file))
}
}
}
def proguardJarOut = file(jar.archiveFile.get().getAsFile().absolutePath.replace(".jar", "-min.jar"))
task proguardJar(type: ProGuardTask, dependsOn: jar) {
configuration './proguard.conf'
verbose
injars jar.archiveFile.get().getAsFile()
outjars proguardJarOut
libraryjars files(configurations.compileClasspath)
printmapping 'out.map'
}
tasks.remapJar {
input.set proguardJarOut
archiveClassifier.set null
dependsOn proguardJar
2021-04-11 16:00:37 +02:00
}
// ensure that the encoding is set to UTF-8, no matter what the system default is
// this fixes some edge cases with special characters not displaying correctly
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this task, sources will not be generated.
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = "sources"
from sourceSets.main.allSource
}
jar {
from "LICENSE"
2021-04-11 16:13:47 +02:00
}