diff options
Diffstat (limited to 'build.gradle')
-rw-r--r-- | build.gradle | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..4bb78e7 --- /dev/null +++ b/build.gradle @@ -0,0 +1,86 @@ +plugins { + id "java" + id "com.github.johnrengelman.shadow" version "6.1.0" + id "net.minecraftforge.gradle.forge" version "6f53277" + id "org.jetbrains.kotlin.jvm" version "1.5.31" +} + +group "io.github.dediamondpro" +version "1.0-SNAPSHOT" +archivesBaseName = "OneConfig" + +sourceCompatibility = targetCompatibility = 1.8 +compileJava.options.encoding = 'UTF-8' + +minecraft { + version = "1.8.9-11.15.1.2318-1.8.9" + runDir = "run" + mappings = "stable_22" + makeObfSourceJar = false +} + +configurations { + implementation.extendsFrom(include) +} + +repositories { + maven { url "https://repo.sk1er.club/repository/maven-public" } + maven { url 'https://jitpack.io' } +} + +dependencies { + +} + +/** + * This task simply replaces the `${version}` and `${mcversion}` properties in the mcmod.info with the data from Gradle + */ +processResources { + // this will ensure that this task is redone when the versions change. + inputs.property "version", project.version + inputs.property "mcversion", project.minecraft.version + + // replace stuff in mcmod.info, nothing else + from(sourceSets.main.resources.srcDirs) { + include 'mcmod.info' + + // replace version and mcversion + expand 'version': project.version, 'mcversion': project.minecraft.version + } + + // copy everything else, thats not the mcmod.info + from(sourceSets.main.resources.srcDirs) { + exclude 'mcmod.info' + } +} + +/** + * This task simply moves resources so they can be accessed at runtime, Forge is quite weird isn't it + */ +task moveResources { + doLast { + ant.move file: "${buildDir}/resources/main", + todir: "${buildDir}/classes/java" + } +} + +moveResources.dependsOn processResources +classes.dependsOn moveResources + +shadowJar { + archiveClassifier.set('dep') + configurations = [project.configurations.include] + duplicatesStrategy DuplicatesStrategy.EXCLUDE +} + +compileKotlin { + kotlinOptions { + jvmTarget = "1.8" + } +} + +reobf { shadowJar { mappingType = "SEARGE" } } +tasks.reobfShadowJar.mustRunAfter shadowJar +afterEvaluate { + build.dependsOn reobfShadowJar +}
\ No newline at end of file |