buildscript { repositories { mavenCentral() maven { name = "forge" url = "https://maven.minecraftforge.net/" } } dependencies { classpath ('com.anatawa12.forge:ForgeGradle:1.2-1.1.+') { changing = true } } } plugins { id 'java-library' id 'maven-publish' } apply plugin: 'forge' // These settings allow you to choose what version of Java you want to be compatible with. Forge 1.7.10 runs on Java 6 to 8. sourceCompatibility = 1.8 targetCompatibility = 1.8 version = "1.2.4" group = "xamora.gp_dbc" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "gp_dbc" minecraft { version = "1.7.10-10.13.4.1614-1.7.10" runDir = "run" } dependencies { // you may put jars on which you depend on in ./libs // or you may define them like so.. //compile "some.group:artifact:version:classifier" //compile "some.group:artifact:version" // real examples //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env // for more info... // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html // http://www.gradle.org/docs/current/userguide/dependency_management.html } sourceSets { main { java { srcDir 'src/main/java' } resources { srcDir "src/main/resources" } } /*server { java { srcDir 'src/server/java' } resources { srcDir "src/server/resources" } runtimeClasspath = sourceSets.main.runtimeClasspath + sourceSets.main.output compileClasspath = sourceSets.main.compileClasspath + sourceSets.main.output } client { java { srcDir 'src/client/java' } resources { srcDir "src/client/resources" } runtimeClasspath = sourceSets.main.runtimeClasspath + sourceSets.main.output compileClasspath = sourceSets.main.compileClasspath + sourceSets.main.output }*/ } 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' } // replace stuff in mcmod.info, nothing else /*from(sourceSets.server.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.server.resources.srcDirs) { exclude 'mcmod.info' } // replace stuff in mcmod.info, nothing else from(sourceSets.client.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.client.resources.srcDirs) { exclude 'mcmod.info' }*/ } // Ensures that the encoding of source files is set to UTF-8, see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html tasks.withType(JavaCompile) { options.encoding = "UTF-8" } // This task creates a .jar file containing the source code of this mod. task sourcesJar(type: Jar, dependsOn: classes) { classifier = "sources" from sourceSets.main.allSource //from sourceSets.server.allSource //from sourceSets.client.allSource } // This task creates a .jar file containing a deobfuscated version of this mod, for other developers to use in a development environment. task devJar(type: Jar) { classifier = "dev" from sourceSets.main.output //from sourceSets.server.output //from sourceSets.client.output } // Creates the listed artifacts on building the mod. artifacts { archives sourcesJar archives devJar } // This block configures any maven publications you want to make. publishing.publications { mavenJava(MavenPublication) { // Add any other artifacts here that you would like to publish! artifact(jar) { builtBy build } artifact(sourcesJar) { builtBy sourcesJar } artifact(devJar) { builtBy devJar } } } // Source set test separate client / server task printSourceSetInformation(){ doLast{ sourceSets.each { srcSet -> println "["+srcSet.name+"]" print "-->Source directories: "+srcSet.allJava.srcDirs+"\n" print "-->Output directories: "+srcSet.output.classesDirs.files+"\n" println "" } } }