apply plugin: 'java'
apply plugin: 'eclipse'
sourceCompatibility = '1.6'
targetCompatibility = '1.6'
repositories
{
maven
{
name 'forge'
url 'http://files.minecraftforge.net/maven'
}
mavenCentral()
maven
{
name 'sonatypeSnapshot'
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
maven
{
name 'minecraft'
url 'https://libraries.minecraft.net/'
}
}
dependencies
{
compile 'net.minecraft:launchwrapper:1.12'
compile 'com.google.code.findbugs:jsr305:1.3.9'
compile 'org.ow2.asm:asm-debug-all:5.0.3'
compile 'com.typesafe.akka:akka-actor_2.11:2.3.3'
compile 'com.typesafe:config:1.2.1'
compile 'org.scala-lang:scala-actors-migration_2.11:1.1.0'
compile 'org.scala-lang:scala-compiler:2.11.1'
compile 'org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2'
compile 'org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2'
compile 'org.scala-lang:scala-library:2.11.1'
compile 'org.scala-lang:scala-parser-combinators_2.11:1.0.1'
compile 'org.scala-lang:scala-reflect:2.11.1'
compile 'org.scala-lang:scala-swing_2.11:1.0.1'
compile 'org.scala-lang:scala-xml_2.11:1.0.2'
compile 'net.sf.jopt-simple:jopt-simple:4.5'
compile 'lzma:lzma:0.0.1'
compile 'com.mojang:realms:1.3.5'
compile 'org.apache.commons:commons-compress:1.8.1'
compile 'org.apache.httpcomponents:httpclient:4.3.3'
compile 'commons-logging:commons-logging:1.1.3'
compile 'org.apache.httpcomponents:httpcore:4.3.2'
compile 'java3d:vecmath:1.3.1'
compile 'net.sf.trove4j:trove4j:3.0.3'
compile 'com.ibm.icu:icu4j-core-mojang:51.2'
compile 'com.paulscode:codecjorbis:20101023'
compile 'com.paulscode:codecwav:20101023'
compile 'com.paulscode:libraryjavasound:20101123'
compile 'com.paulscode:librarylwjglopenal:20100824'
compile 'com.paulscode:soundsystem:20120107'
compile 'io.netty:netty-all:4.0.10.Final'
compile 'com.google.guava:guava:17.0'
compile 'org.apache.commons:commons-lang3:3.3.2'
compile 'commons-io:commons-io:2.4'
compile 'commons-codec:commons-codec:1.9'
compile 'net.java.jinput:jinput:2.0.5'
compile 'net.java.jutils:jutils:1.0.0'
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.mojang:authlib:1.5.16'
compile 'org.apache.logging.log4j:log4j-api:2.0-beta9'
compile 'org.apache.logging.log4j:log4j-core:2.0-beta9'
compile 'org.lwjgl.lwjgl:lwjgl:2.9.1'
compile 'org.lwjgl.lwjgl:lwjgl_util:2.9.1'
compile 'tv.twitch:twitch:5.16'
testCompile 'junit:junit:4.5'
}
sourceSets
{
main
{
java
{
srcDir 'src/main/java/'
srcDir '/var/lib/jenkins/jobs/CleanForge_1.7.10/workspace/src/main/java/'
srcDir '/var/lib/jenkins/jobs/CleanForge_1.7.10/workspace/eclipse/Clean/src/main/start/'
}
resources
{
srcDir 'src/main/resources/'
srcDir '/var/lib/jenkins/jobs/CleanForge_1.7.10/workspace/src/main/resources/'
}
}
test
{
java
{
srcDir '/var/lib/jenkins/jobs/CleanForge_1.7.10/workspace/src/test/java/'
}
resources
{
srcDir '/var/lib/jenkins/jobs/CleanForge_1.7.10/workspace/src/test/resources/'
}
}
}
jar { exclude 'GradleStart*', 'net/minecraftforge/gradle/**' }
def links = []
def dupes = []
eclipse.project.file.withXml { provider ->
def node = provider.asNode()
links = []
dupes = []
node.linkedResources.link.each { child ->
def path = child.location.text()
if (path in dupes) {
child.replaceNode {}
} else {
dupes.add(path)
def newName = path.split('/')[-2..-1].join('/')
links += newName
child.replaceNode {
link{
name(newName)
type('2')
location(path)
}
}
}
}
}
eclipse.classpath.file.withXml {
def node = it.asNode()
node.classpathentry.each { child ->
if (child.@kind == 'src' && !child.@path.contains('/')) child.replaceNode {}
if (child.@path in links) links.remove(child.@path)
}
links.each { link -> node.appendNode('classpathentry', [kind:'src', path:link]) }
}
tasks.eclipseClasspath.dependsOn 'eclipseProject' //Make them run in correct order