EngineersDecor/build.gradle
2022-01-02 18:55:10 +01:00

94 lines
3.5 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)
println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
//-----------------------------------------------------------------------------
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.1"
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')
// def reobfFile = file("$buildDir/reobfJar/output.jar")
// def reobfArtifact = artifacts.add('default', reobfFile) { type 'jar'; builtBy 'reobfJar' }
//import net.minecraftforge.gradle.common.task.SignJar
// 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.archivePath
// outputFile = jar.archivePath
// } else {
// logger.warn("[WARNING] Signing skipped.")
// }
// }
// build.dependsOn signJar
publishing {
publications { mavenJava(MavenPublication) { artifact jar } }
repositories { maven { url "file:///${project.projectDir}/mcmodsrepo" } }
}