Files
ForestryMC/build.gradle
T
2014-05-02 21:31:20 +02:00

124 lines
2.6 KiB
Groovy
Executable File

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:1.1-SNAPSHOT'
}
}
apply plugin: 'forge'
ext.buildnumber = createBuildNumber()
version = "2.4.0.0-" + buildnumber
group= "net.sengir.forestry" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "forestry"
ext.langDir = "../Forestry-Localization"
ext.srcbcDir = "../BuildCraft/common"
ext.srcIc2Dir = "../IC2/src"
ext.srcCraftguideDir = "../CraftGuide/src"
minecraft {
version = "1.7.2-10.12.0.1032"
assetDir = "eclipse/assets"
replace '@VERSION@', project.version
replace '@BUILD_NUMBER@', project.buildnumber
replace '$___$', rndString()
replace '$____$', rndString()
replace '$_____$', rndString()
replace '$______$', rndString()
replace '$_______$', rndString()
replace '$________$', rndString()
replace '$_________$', rndString()
replace '$__________$', rndString()
}
sourceSets {
api {
java {
srcDir project.srcCraftguideDir
include '**/CraftGuide/api/**'
}
}
main {
java {
srcDirs file('forestry_common').listFiles()
include 'forestry/**'
srcDir project.srcbcDir
include 'buildcraft/api/**'
srcDir project.srcIc2Dir
include 'api/**'
}
resources {
srcDir 'forestry_resources'
srcDir project.langDir
}
}
}
processResources {
// 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'
exclude '**/*.md'
}
}
task apiZip(type: Jar) {
from sourceSets.main.allSource
include 'forestry/api/**'
classifier = 'api'
extension = 'zip'
}
task deobfJar(type: Jar) {
from sourceSets.main.output
classifier = 'dev'
}
build.dependsOn apiZip, deobfJar
def rndString() {
String AB = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
Random rnd = new Random()
String ret = ""
int max = rnd.nextInt(18) + 3
for (int i = 0; i < max; i++) {
ret += AB.charAt(rnd.nextInt(AB.length()))
}
int rndStart = rnd.nextInt(6) + 2
rndStart = rndStart >= ret.length() - 4 ? 3 : rndStart;
return ret.substring(0, rndStart).toLowerCase(Locale.ENGLISH) + ret.substring(rndStart)
}
def createBuildNumber() {
ant.buildnumber()
return ant.antProject.properties['build.number']
}