EngineersDecor/build.gradle
2022-04-02 16:03:06 +02:00

88 lines
3 KiB
Groovy

// @file build.gradle
// Engineer's decor mod gradle build.
buildscript {
repositories {
maven { url = 'https://maven.minecraftforge.net' }
mavenCentral()
}
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
}
}
apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
//-----------------------------------------------------------------------------
version = "${version_engineersdecor}"
group = "wile.engineersdecor"
archivesBaseName = "engineersdecor-${version_minecraft}"
repositories {
maven { name = "Progwml6 maven"; url = "https://dvs1.progwml6.com/files/maven/" } // JEI files
maven { name = "ModMaven"; url = "https://modmaven.k-4u.nl" } // JEI files, fallback
flatDir { dir 'libs' } // Mod jar dependencies in ./libs
}
minecraft {
mappings channel: "official", version: "1.18.2"
runs {
client {
workingDirectory project.file('run')
property 'forge.logging.markers', '' // SCAN,REGISTRIES,REGISTRYDUMP
property 'forge.logging.console.level', 'info'
mods { engineersdecor { source sourceSets.main } } }
server {
workingDirectory project.file('run')
property 'forge.logging.markers', '' // SCAN,REGISTRIES,REGISTRYDUMP
property 'forge.logging.console.level', 'info'
mods { engineersdecor { source sourceSets.main } }
}
}
}
dependencies {
minecraft "net.minecraftforge:forge:${version_forge_minecraft}"
compileOnly fg.deobf("mezz.jei:jei-${version_jei}:api")
runtimeOnly fg.deobf("mezz.jei:jei-${version_jei}")
}
processResources {
outputs.upToDateWhen { false }
doLast { file("${sourceSets.main.output.resourcesDir}/.gitversion-engineersdecor").text = 'git log "-1" "--format=%h"'.execute().in.text.trim() }
}
jar {
manifest {
attributes([
"Specification-Title": "engineersdecor",
"Specification-Vendor": "wilechaote",
"Specification-Version": "1", // We are version 1 of ourselves
"Implementation-Title": project.name,
"Implementation-Version": "${version_engineersdecor}",
"Implementation-Vendor" :"wilechaote",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
}
jar.finalizedBy('reobfJar')
// Signing
import net.minecraftforge.gradle.common.tasks.SignJar
project.afterEvaluate {
task signJar(type: SignJar, dependsOn: jar) {
onlyIf { project.hasProperty("keystore_file") }
if(project.hasProperty("keystore_file")) {
keyStore = project.getProperty("keystore_file")
alias = project.getProperty("keystore_alias")
storePass = project.getProperty("keystore_pass")
keyPass = project.getProperty("keystore_keypass")
inputFile = jar.archiveFile
outputFile = jar.archiveFile
} else {
logger.warn("[WARNING] Signing skipped.")
}
}
reobfJar.finalizedBy('signJar')
}