Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- buildscript {
- repositories {
- mavenCentral()
- maven {
- name = "forge"
- url = "http://files.minecraftforge.net/maven/"
- }
- maven {
- name = "sonatype"
- url = "https://oss.sonatype.org/content/repositories/snapshots/"
- }
- }
- dependencies {
- classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
- //files('SForgeGradle-2.2-SNAPSHOT.jar')
- //'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
- //classpath files('FG.jar')
- }
- }
- apply plugin: 'java'
- apply plugin: 'net.minecraftforge.gradle.patcher'
- apply plugin: 'net.minecraftforge.gradle.launch4j'
- apply plugin: 'maven'
- group = 'djoveryde.phoenix'
- version = '0.0.1'
- //afterEvaluate {
- // patchPhoenixJar.addInject file('bukkit/src/main/java/')
- //}
- //tasks.whenTaskAdded { task ->
- // if(task.name.equals("genPhoenixPatches")) {
- // task.addOriginalSource file('bukkit/src/main/java/')
- // }
- //}
- dependencies {
- compile 'org.apache.commons:commons-lang3:3.5'
- compile 'org.avaje:ebean:2.8.1'
- compile 'com.googlecode.json-simple:json-simple:1.1'
- compile 'org.yaml:snakeyaml:1.15'
- compile 'com.google.guava:guava:21.0'
- }
- tasks.withType(JavaCompile) {
- options.encoding = 'UTF-8'
- }
- minecraft {
- version = "1.11.2"
- mappings = 'snapshot_nodoc_20170612'
- workspaceDir = "projects"
- versionJson = "jsons/1.11.2-dev.json"
- buildUserdev = true
- buildInstaller = true
- installerVersion = '1.5'
- def common = {
- patchPrefixOriginal "../src-base/minecraft"
- patchPrefixChanged "../src-work/minecraft"
- mainClassClient "net.minecraft.launchwrapper.Launch"
- tweakClassClient "net.minecraftforge.fml.common.launcher.FMLTweaker"
- mainClassServer "net.minecraft.launchwrapper.Launch"
- tweakClassServer "net.minecraftforge.fml.common.launcher.FMLServerTweaker"
- }
- projects {
- forge {
- rootDir "forge/"
- patchDir "forge/patches/minecraft/"
- patchAfter "clean"
- genPatchesFrom "clean"
- genMcpPatches = false
- applyMcpPatches = false
- s2sKeepImports = true
- //dchImports = true
- //ignoreWhiteSpaces = false
- with common
- }
- phoenix {
- rootDir "."
- patchDir "patches/"
- patchAfter "forge"
- genPatchesFrom "forge"
- genMcpPatches = true
- applyMcpPatches = true
- s2sKeepImports = true
- //dchImports = true
- //ignoreWhiteSpaces = false
- with common
- }
- }
- }
- installer {
- classifier = 'installer'
- from "forge/src/main/resources/forge_logo.png"
- rename "forge_logo\\.png", "big_logo.png"
- }
- launch4j {
- jar = installer.archivePath.canonicalPath
- outfile = file("build/distributions/${project.name}-${project.version}-installer-win.exe").canonicalPath
- icon = file('icon.ico').canonicalPath
- manifest = file('l4jManifest.xml').canonicalPath
- jreMinVersion = '1.8.0'
- initialHeapPercent = 5;
- maxHeapPercent = 100;
- }
- tasks.generateXmlConfig.dependsOn installer
- tasks.build.dependsOn 'launch4j'
- tasks.compileJava.enabled = false
- task signUniversal(type: SignJar, dependsOn: 'outputJar') {
- onlyIf {
- project.hasProperty('jarsigner')
- }
- def jarsigner = [:];
- if (project.hasProperty('jarsigner'))
- jarsigner = project.jarsigner;
- alias = 'forge'
- exclude "paulscode/**"
- storePass = jarsigner.storepass
- keyPass = jarsigner.keypass
- keyStore = jarsigner.keystore
- inputFile = outputJar.archivePath
- outputFile = outputJar.archivePath
- }
- build.dependsOn signUniversal
- installer.dependsOn signUniversal
- outputJar {
- classifier = 'universal'
- manifest.attributes([
- "Main-Class": "net.minecraftforge.fml.relauncher.ServerLaunchWrapper",
- "TweakClass": "net.minecraftforge.fml.common.launcher.FMLTweaker",
- "Class-Path": getServerClasspath(file("jsons/1.11.2-rel.json"))
- ])
- }
- processJson {
- releaseJson = "jsons/1.11.2-rel.json"
- addReplacements([
- "@minecraft_version@": project.minecraft.version,
- "@version@": project.version,
- "@project@": "phoenix",
- "@artifact@": "djoveryde:phoenix:${project.version}",
- "@universal_jar@": { outputJar.archiveName },
- "@timestamp@": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
- ])
- }
- extractForgeSources {
- exclude "**/SideOnly.java", "**/Side.java"
- }
- genGradleProjects {
- addCompileDep "junit:junit:4.12"
- }
- import groovy.json.JsonSlurper;
- String getServerClasspath(File file) {
- def node = new JsonSlurper().parse(file);
- def out = new StringBuilder()
- node.versionInfo.libraries.each { lib ->
- if (lib.serverreq)
- {
- // group : artifact : version
- def split = lib.name.split(':')
- def group = split[0].replace('.', '/')
- def artifact = split[1]
- def version = split[2]
- out += "libraries/$group/$artifact/$version/$artifact-${version}.jar "
- }
- }
- out += "minecraft_server.${minecraft.version}.jar"
- return out.toString();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement