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 {
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'
}
configurations {
embed
implementation.extendsFrom(embed)
}
minecraft {
version = "1.12.2-14.23.5.2847"
runDir = "run"
// 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.
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/*'
}
}
}

View file

@ -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
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 =