Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import groovy.json.JsonSlurper
- import org.gradle.internal.os.OperatingSystem
- buildscript {
- repositories {
- maven { url "https://plugins.gradle.org/m2/" }
- flatDir dirs: "$rootDir/proguard/libs"
- }
- dependencies {
- classpath "com.github.jengelman.gradle.plugins:shadow:2.0.0"
- classpath ':proguard:'
- }
- }
- apply plugin: 'java'
- apply plugin: "com.github.johnrengelman.shadow"
- def artifactName = "Aristois-EMC"
- def minecraftRoot = System.getenv('APPDATA') + "/.minecraft"
- if (OperatingSystem.current().isMacOsX()) {
- minecraftRoot = System.getenv('HOME') + "/Library/Application Support/minecraft"
- }
- def emcVersion = "${project.emc}-${project.minecraftVersion}"
- def emcFile = new File("$rootDir/proguard/libs/EMC.jar")
- def donorBuild = project.hasProperty('donorbuild') ? project.property('donorbuild').toBoolean() : false
- def getVersionFromJson() {
- def jsonFile = file("$rootDir/src/main/resources/client.json")
- def parsedJson = new JsonSlurper().parseText(jsonFile.text)
- return parsedJson.version
- }
- version = getVersionFromJson()
- group 'me.deftware'
- sourceCompatibility = targetCompatibility = 1.8
- repositories {
- mavenCentral()
- maven { url 'https://www.dimdev.org/maven/' }
- maven { url 'https://libraries.minecraft.net/' }
- maven { url "https://gitlab.com/EMC-Framework/maven/raw/master/" }
- maven { url = 'http://repo.spongepowered.org/maven/' }
- }
- jar {
- manifest.attributes(
- "adb": donorBuild,
- "build_date": new Date().format('yyyy/MM/dd HH:mm'),
- "Manifest-Version": 1.0
- )
- }
- if (!donorBuild) {
- sourceSets {
- main {
- java {
- srcDir 'src'
- exclude '**/deftware/aristois/mod/donormods/**'
- exclude '**/deftware/aristois/mod/loader/PremiumModLoader**'
- exclude '**/deftware/aristois/main/PathBuilder**'
- }
- }
- }
- }
- task copyArtifact(type: Copy) {
- from "$rootDir/build/libs/${artifactName}-${version}.jar"
- into "$rootDir/proguard/"
- rename("${artifactName}-${version}.jar", "Aristois.jar")
- }
- task copyMinecraft(type: Copy) {
- from "${minecraftRoot}/versions/${project.minecraftVersion}/${project.minecraftVersion}.jar"
- into "$rootDir/proguard/libs/"
- rename("${project.minecraftVersion}.jar", "Minecraft.jar")
- }
- task downloadEMC {
- new URL("https://gitlab.com/EMC-Framework/maven/raw/master/me/deftware/EMC/${emcVersion}/EMC-${emcVersion}.jar").withInputStream{ i -> emcFile.withOutputStream{ it << i }}
- }
- task stringObfuscation {
- doLast {
- javaexec {
- main = "-jar"
- args = [
- "$rootDir/proguard/StringObfuscator.jar",
- "$rootDir/proguard/Aristois" + (project.obfuscation == "true" ? "-Obfuscated" : "") + ".jar",
- "$rootDir/proguard/" + (donorBuild ? "donor" : "free") + ".jar"
- ]
- }
- delete "$rootDir/proguard/Aristois-Obfuscated.jar"
- delete "$rootDir/proguard/Aristois.jar"
- }
- }
- task copyToMinecraftLibs {
- doLast {
- delete "${minecraftRoot}/libraries/EMC/${project.addToMinecraftVersion}/Aristois.jar"
- copy {
- from "$rootDir/packager/${version}/" + (donorBuild ? "donor" : "free") + ".jar"
- into "${minecraftRoot}/libraries/EMC/${project.addToMinecraftVersion}/"
- rename((donorBuild ? "donor" : "free") + ".jar", "Aristois.jar")
- }
- }
- }
- task copyToPackager {
- doLast {
- copy {
- from "$rootDir/proguard/" + (donorBuild ? "donor" : "free") + ".jar"
- into "$rootDir/packager/${version}/"
- }
- delete "$rootDir/proguard/" + (donorBuild ? "donor" : "free") + ".jar"
- }
- }
- task proguard(type: proguard.gradle.ProGuardTask) {
- configuration "$rootDir/proguard/proguard.txt"
- injars "$rootDir/proguard/Aristois.jar"
- outjars "$rootDir/proguard/Aristois-Obfuscated.jar"
- delete "$rootDir/proguard/Aristois.jar"
- }
- dependencies {
- compileOnly 'com.google.code.gson:gson:2.8.2'
- //compileOnly files("E:\\Code\\Repositories\\1.13.2\\EMC\\build\\libs\\EMC-13.7.6.jar")
- compileOnly "me.deftware:EMC:${emcVersion}"
- compileOnly group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'
- compileOnly group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
- compileOnly files("${minecraftRoot}/versions/${project.minecraftVersion}/${project.minecraftVersion}.jar")
- compileOnly 'org.lwjgl:lwjgl-glfw:3.2.1'
- compileOnly 'org.lwjgl:lwjgl-opengl:3.2.1'
- compileOnly 'net.minecraft:launchwrapper:1.12'
- compileOnly 'com.mojang:brigadier:1.0.14'
- }
- build.dependsOn(copyMinecraft)
- build.dependsOn(copyArtifact)
- build.dependsOn(downloadEMC)
- if (project.obfuscation == "true") {
- build.dependsOn(proguard)
- }
- build.dependsOn(stringObfuscation)
- build.finalizedBy(copyToPackager)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement