Made properties editable via gradle.properties
- There should be little incentive to touch `build.gradle`other than adding extra deps
This commit is contained in:
parent
30ee57f5d2
commit
7b370f2113
3 changed files with 92 additions and 20 deletions
95
build.gradle
95
build.gradle
|
@ -2,52 +2,90 @@ buildscript {
|
|||
repositories {
|
||||
jcenter()
|
||||
maven {
|
||||
url = "https://files.minecraftforge.net/maven"
|
||||
url = 'https://files.minecraftforge.net/maven'
|
||||
}
|
||||
maven {
|
||||
url = 'https://repo.spongepowered.org/maven'
|
||||
}
|
||||
}
|
||||
dependencies {
|
||||
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
|
||||
if (project.use_mixins) {
|
||||
classpath 'org.spongepowered:mixingradle:0.6-SNAPSHOT'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'net.minecraftforge.gradle.forge'
|
||||
|
||||
version = "1.0"
|
||||
group = "io.github.cleanroommc.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
|
||||
archivesBaseName = "modid"
|
||||
if (project.use_mixins) {
|
||||
apply plugin: 'org.spongepowered.mixin'
|
||||
}
|
||||
|
||||
version = project.mod_version
|
||||
group = project.maven_group
|
||||
archivesBaseName = project.archives_base_name
|
||||
|
||||
sourceCompatibility = targetCompatibility = '1.8'
|
||||
|
||||
compileJava {
|
||||
sourceCompatibility = targetCompatibility = '1.8'
|
||||
}
|
||||
|
||||
minecraft {
|
||||
version = "1.12.2-14.23.5.2847"
|
||||
runDir = "run"
|
||||
configurations {
|
||||
embed
|
||||
implementation.extendsFrom(embed)
|
||||
}
|
||||
|
||||
// the mappings can be changed at any time, and must be in the following format.
|
||||
// snapshot_YYYYMMDD snapshot are built nightly.
|
||||
// stable_# stables are built at the discretion of the MCP team.
|
||||
// Use non-default mappings at your own risk. they may not always work.
|
||||
// simply re-run your setup task after changing the mappings to update your workspace.
|
||||
mappings = "stable_39"
|
||||
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
|
||||
minecraft {
|
||||
version = '1.12.2-14.23.5.2847'
|
||||
runDir = 'run'
|
||||
mappings = 'stable_39'
|
||||
}
|
||||
|
||||
repositories {
|
||||
maven {
|
||||
url 'https://jitpack.io'
|
||||
}
|
||||
maven {
|
||||
url 'https://repo.spongepowered.org/maven'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
// Remove below comments if you want to an API to download external assets from
|
||||
// deobfCompile ("com.github.CleanroomMC:AssetMover:0.2")
|
||||
if (project.use_assetmover) {
|
||||
deobfCompile ('com.github.CleanroomMC:AssetMover:0.2')
|
||||
}
|
||||
if (project.use_mixins) {
|
||||
embed ('org.spongepowered:mixin:0.8.3') {
|
||||
exclude module: 'asm-commons'
|
||||
exclude module: 'asm-tree'
|
||||
exclude module: 'launchwrapper'
|
||||
exclude module: 'guava'
|
||||
exclude module: 'log4j-core'
|
||||
exclude module: 'gson'
|
||||
exclude module: 'commons-io'
|
||||
}
|
||||
annotationProcessor 'org.spongepowered:mixin:0.8.3:processor'
|
||||
}
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
|
||||
main {
|
||||
ext.refMap = 'mixins.' + archives_base_name + '.refmap.json'
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
processResources {
|
||||
// this will ensure that this task is redone when the versions change.
|
||||
inputs.property "version", project.version
|
||||
inputs.property "mcversion", project.minecraft.version
|
||||
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
|
||||
}
|
||||
|
@ -55,4 +93,23 @@ processResources {
|
|||
from(sourceSets.main.resources.srcDirs) {
|
||||
exclude 'mcmod.info'
|
||||
}
|
||||
rename '(.+_at.cfg)', 'META-INF/$1' // Access Transformers
|
||||
}
|
||||
|
||||
jar {
|
||||
manifest {
|
||||
def attribute_map = [:]
|
||||
if (project.use_coremod) {
|
||||
attribute_map['FMLCorePlugin'] = project.coremod_plugin_class_name
|
||||
}
|
||||
if (project.use_mixins) {
|
||||
attribute_map['TweakClass'] = 'org.spongepowered.asm.launch.MixinTweaker'
|
||||
}
|
||||
attributes(attribute_map)
|
||||
}
|
||||
if (project.use_mixins && project.pack_mixins_in_jar) {
|
||||
from (configurations.embed.collect { it.isDirectory() ? it : zipTree(it) }) {
|
||||
exclude 'LICENSE.txt', 'module-info.class', 'META-INF/*'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,18 @@
|
|||
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
|
||||
# This is required to provide enough memory for the Minecraft decompilation process.
|
||||
org.gradle.jvmargs = -Xmx3G
|
||||
|
||||
# Mod Information
|
||||
mod_version = 1.0
|
||||
maven_group = com.cleanroommc
|
||||
archives_base_name = modid
|
||||
|
||||
# Boilerplate Options
|
||||
use_mixins = false
|
||||
use_coremod = false
|
||||
use_assetmover = false
|
||||
|
||||
pack_mixins_in_jar = false
|
||||
|
||||
# Coremod Arguments
|
||||
coremod_plugin_class_name =
|
Loading…
Reference in a new issue