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:
Rongmario 2022-01-20 16:56:26 +00:00
parent 30ee57f5d2
commit 7b370f2113
3 changed files with 92 additions and 20 deletions

View file

@ -2,52 +2,90 @@ buildscript {
repositories { repositories {
jcenter() jcenter()
maven { maven {
url = "https://files.minecraftforge.net/maven" url = 'https://files.minecraftforge.net/maven'
}
maven {
url = 'https://repo.spongepowered.org/maven'
} }
} }
dependencies { dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' 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' apply plugin: 'net.minecraftforge.gradle.forge'
version = "1.0" if (project.use_mixins) {
group = "io.github.cleanroommc.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html apply plugin: 'org.spongepowered.mixin'
archivesBaseName = "modid" }
version = project.mod_version
group = project.maven_group
archivesBaseName = project.archives_base_name
sourceCompatibility = targetCompatibility = '1.8' sourceCompatibility = targetCompatibility = '1.8'
compileJava { compileJava {
sourceCompatibility = targetCompatibility = '1.8' sourceCompatibility = targetCompatibility = '1.8'
} }
minecraft { configurations {
version = "1.12.2-14.23.5.2847" embed
runDir = "run" implementation.extendsFrom(embed)
}
// the mappings can be changed at any time, and must be in the following format. minecraft {
// snapshot_YYYYMMDD snapshot are built nightly. version = '1.12.2-14.23.5.2847'
// stable_# stables are built at the discretion of the MCP team. runDir = 'run'
// Use non-default mappings at your own risk. they may not always work. mappings = 'stable_39'
// 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. repositories {
maven {
url 'https://jitpack.io'
}
maven {
url 'https://repo.spongepowered.org/maven'
}
} }
dependencies { dependencies {
// Remove below comments if you want to an API to download external assets from if (project.use_assetmover) {
// deobfCompile ("com.github.CleanroomMC:AssetMover:0.2") 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 { processResources {
// this will ensure that this task is redone when the versions change. // this will ensure that this task is redone when the versions change.
inputs.property "version", project.version inputs.property 'version', project.version
inputs.property "mcversion", project.minecraft.version inputs.property 'mcversion', project.minecraft.version
// replace stuff in mcmod.info, nothing else // replace stuff in mcmod.info, nothing else
from(sourceSets.main.resources.srcDirs) { from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info' include 'mcmod.info'
// replace version and mcversion // replace version and mcversion
expand 'version':project.version, 'mcversion':project.minecraft.version expand 'version':project.version, 'mcversion':project.minecraft.version
} }
@ -55,4 +93,23 @@ processResources {
from(sourceSets.main.resources.srcDirs) { from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info' 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/*'
}
}
} }

View file

@ -1,3 +1,18 @@
# Sets default memory used for gradle commands. Can be overridden by user or command line properties. # 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. # This is required to provide enough memory for the Minecraft decompilation process.
org.gradle.jvmargs = -Xmx3G 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 =