gp_dbc/build.gradle

185 lines
5.4 KiB
Groovy

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 ""
}
}
}