DimDoors/build.gradle

146 lines
4.4 KiB
Groovy
Raw Normal View History

buildscript {
repositories {
jcenter()
maven { url = "http://files.minecraftforge.net/maven" }
maven { url = "http://repo.spongepowered.org/maven" }
}
dependencies {
2017-11-24 00:32:59 +01:00
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
classpath 'org.spongepowered:mixingradle:0.6-SNAPSHOT'
}
}
2017-12-07 05:54:43 +01:00
plugins {
id 'io.franzbecker.gradle-lombok' version '1.11'
id 'java'
}
2017-12-29 08:18:34 +01:00
apply plugin: 'java'
apply plugin: 'net.minecraftforge.gradle.forge'
apply plugin: 'org.spongepowered.mixin'
2018-01-07 18:27:47 +01:00
repositories {
maven { url = "https://jitpack.io" }
maven {
name = 'sonatype'
url = 'http://oss.sonatype.org/content/repositories/public/'
}
maven { url = "http://repo.spongepowered.org/maven" }
2018-01-07 18:27:47 +01:00
}
configurations {
embed
coreShadow
compile.extendsFrom(embed)
}
dependencies {
embed 'com.flowpowered:flow-math:1.0.3'
embed 'org.jgrapht:jgrapht-core:1.1.0'
embed 'com.github.DimensionalDevelopment:poly2tri.java:master-SNAPSHOT'
compileOnly 'com.github.DimensionalDevelopment:AnnotatedNBT:-SNAPSHOT'
compile("org.spongepowered:mixin:0.7.8-SNAPSHOT") { transitive = false }
deobfProvided 'io.github.opencubicchunks:cubicchunks:1.12.2-0.0.819.0-SNAPSHOT'
2017-12-29 08:18:34 +01:00
}
// Mod version
2018-04-05 21:35:01 +02:00
version = ext.modversion = "3.0.8"
boolean isBeta = false
2017-12-29 08:18:34 +01:00
group = "org.dimdev.dimdoors"
2018-04-05 21:35:01 +02:00
archivesBaseName = "DimensionalDoors"
// Build number
String fullVersion = version
if (System.getenv("TRAVIS_BUILD_NUMBER") != null) {
fullVersion += "+${System.getenv("TRAVIS_BUILD_NUMBER")}"
} else {
fullVersion += "+UNOFFICIAL"
}
if (isBeta) {
fullVersion += "-b"
}
2018-04-05 21:35:01 +02:00
String jarVersion = fullVersion.replace("+", "-") // Github/Travis doesn't seem to support + in filenames
// Minecraft, MCP, Forge, and Java versions
sourceCompatibility = targetCompatibility = "1.8"
ext.mcversion = "1.12.2"
ext.forgeversion = "14.23.2.2623"
String mcpversion = "snapshot_20180227"
minecraft {
2017-12-29 08:18:34 +01:00
version = "$mcversion-$forgeversion"
runDir = "run"
2017-12-29 08:18:34 +01:00
mappings = mcpversion
replace '${version}', fullVersion
2018-04-05 21:35:01 +02:00
makeObfSourceJar = false
//noinspection GroovyUnusedAssignment
def args = [
"-Dfml.noGrab=false",
"-Dfml.coreMods.load=org.dimdev.vanillafix.VanillaFixCoreMod",
"-Dmixin.env.compatLevel=JAVA_8",
"-Dmixin.debug=true",
"-Dmixin.debug.verbose=true",
"-Dmixin.debug.export=true",
"-Dmixin.checks.interfaces=true"
]
}
mixin {
add sourceSets.main, "org.dimdev.vanillafix.mixins.refmap.json"
}
// Tasks
compileJava {
//options.compilerArgs += "-proc:only" // To debug AnnotatedNBT code generation
}
jar {
2018-04-05 21:35:01 +02:00
archiveName = archivesBaseName + "-" + jarVersion + ".jar"
from configurations.embed.collect { it.isDirectory() ? it : zipTree(it) }
manifest {
attributes(
"TweakClass": "org.spongepowered.asm.launch.MixinTweaker",
"FMLCorePlugin": "org.dimdev.vanillafix.VanillaFixCoreMod",
"TweakOrder": 0,
"MixinConfigs": "org.dimdev.vanillafix.mixins.json",
"ForceLoadAsMod": "true"
)
}
}
2018-04-05 21:35:01 +02:00
task sourcesJar(type: Jar, dependsOn: classes) {
archiveName = archivesBaseName + "-" + jarVersion + "-sources.jar"
classifier = 'sources'
from sourceSets.main.allSource
}
artifacts {
archives sourcesJar
}
processResources {
2018-04-05 21:35:01 +02:00
// This will ensure that this task is redone when the versions change.
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
2018-04-05 21:35:01 +02:00
// Replace stuff in mcmod.info, nothing else
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
// replace version and mcversion
2018-01-07 18:27:47 +01:00
expand 'version': project.version, 'mcversion': project.minecraft.version
}
2018-01-07 18:27:47 +01:00
2018-04-05 21:35:01 +02:00
// Copy everything else except mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}
task generatePocketSchematics(dependsOn: jar, type: JavaExec, group: "dimdoors") {
classpath = files('build/libs/' + jar.archiveName)
classpath += sourceSets.main.runtimeClasspath
main = "org.dimdev.dimdoors.shared.tools.SchematicGenerator"
2017-12-22 02:29:37 +01:00
//noinspection GroovyAssignabilityCheck (IntelliJ is wrong)
args "src/main/resources/assets/dimdoors/pockets/schematic"
}