2022-05-11 23:23:39 +02:00
|
|
|
buildscript {
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
2022-05-14 17:02:35 +02:00
|
|
|
classpath group: 'com.diluv.schoomp', name: 'Schoomp', version: '1.2.6'
|
2022-05-11 23:23:39 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
plugins {
|
|
|
|
id 'java'
|
2022-05-15 23:48:18 +02:00
|
|
|
id "org.jetbrains.kotlin.jvm"
|
2022-05-16 02:56:15 +02:00
|
|
|
id 'idea'
|
2022-05-11 23:23:39 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
def isRelease() {
|
|
|
|
try {
|
|
|
|
def stdout = new ByteArrayOutputStream()
|
|
|
|
def gitHash = System.getenv('GIT_COMMIT')
|
|
|
|
def gitPrevHash = System.getenv('GIT_PREVIOUS_COMMIT')
|
|
|
|
def travisRange = System.getenv('TRAVIS_COMMIT_RANGE')
|
|
|
|
if (gitHash && gitPrevHash) {
|
|
|
|
exec {
|
|
|
|
commandLine 'git', 'log', '--pretty=tformat:- %s', '' + gitPrevHash + '...' + gitHash
|
|
|
|
standardOutput = stdout
|
|
|
|
}
|
|
|
|
return stdout.toString().toLowerCase().contains("[release")
|
|
|
|
} else if (travisRange) {
|
|
|
|
exec {
|
|
|
|
commandLine 'git', 'log', '--pretty=tformat:- %s', '' + travisRange
|
|
|
|
standardOutput = stdout
|
|
|
|
}
|
|
|
|
return stdout.toString().toLowerCase().contains("[release")
|
|
|
|
} else {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
} catch (ignored) {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-05-15 18:49:28 +02:00
|
|
|
String getArtifactID(String platform) {
|
|
|
|
return "${modID}-${platform}-${minecraftVersion}"
|
2022-05-11 23:23:39 +02:00
|
|
|
}
|
|
|
|
|
2022-04-25 16:40:32 +02:00
|
|
|
subprojects {
|
|
|
|
apply plugin: 'java'
|
2022-05-15 23:48:18 +02:00
|
|
|
apply plugin: 'kotlin'
|
2022-05-11 23:23:39 +02:00
|
|
|
apply plugin: 'maven-publish'
|
|
|
|
|
|
|
|
group = "at.petra-k.$modID" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
|
2022-05-15 18:49:28 +02:00
|
|
|
version = "${modVersion}"
|
|
|
|
if (!isRelease() && System.getenv('BUILD_NUMBER') != null) {
|
|
|
|
version += "-prerelease-" + System.getenv('BUILD_NUMBER')
|
|
|
|
} else if (System.getenv('TAG_NAME') != null) {
|
|
|
|
version = System.getenv('TAG_NAME').substring(1)
|
|
|
|
println 'Version overridden to tag version ' + version
|
|
|
|
}
|
|
|
|
// archivesBaseName set in each gradle
|
2022-04-04 22:01:07 +02:00
|
|
|
|
2022-04-25 16:40:32 +02:00
|
|
|
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
|
|
|
|
java.withSourcesJar()
|
|
|
|
java.withJavadocJar()
|
2021-12-25 17:58:16 +01:00
|
|
|
|
2022-04-25 16:40:32 +02:00
|
|
|
jar {
|
|
|
|
manifest {
|
|
|
|
attributes([
|
|
|
|
'Specification-Title' : modID,
|
|
|
|
'Specification-Vendor' : "petra-kat",
|
|
|
|
'Specification-Version' : project.jar.archiveVersion,
|
|
|
|
'Implementation-Title' : project.name,
|
|
|
|
'Implementation-Version' : project.jar.archiveVersion,
|
|
|
|
'Implementation-Vendor' : "petra-kat",
|
|
|
|
'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
|
|
|
|
'Timestampe' : System.currentTimeMillis(),
|
|
|
|
'Built-On-Java' : "${System.getProperty('java.vm.version')} (${System.getProperty('java.vm.vendor')})",
|
|
|
|
'Build-On-Minecraft' : minecraftVersion
|
|
|
|
])
|
2022-04-05 03:25:17 +02:00
|
|
|
}
|
|
|
|
}
|
2022-04-25 06:56:54 +02:00
|
|
|
|
2021-12-25 17:58:16 +01:00
|
|
|
repositories {
|
2022-04-27 02:20:48 +02:00
|
|
|
|
|
|
|
maven { url "https://libraries.minecraft.net/" }
|
|
|
|
|
2022-04-25 16:40:32 +02:00
|
|
|
mavenCentral()
|
|
|
|
|
2021-12-25 17:58:16 +01:00
|
|
|
maven {
|
2022-04-25 16:40:32 +02:00
|
|
|
name = 'Sponge / Mixin'
|
|
|
|
url = 'https://repo.spongepowered.org/repository/maven-public/'
|
2021-12-25 17:58:16 +01:00
|
|
|
}
|
2022-04-04 22:01:07 +02:00
|
|
|
|
2022-04-25 16:40:32 +02:00
|
|
|
maven {
|
2022-05-14 06:50:57 +02:00
|
|
|
name = 'BlameJared Maven'
|
2022-04-25 16:40:32 +02:00
|
|
|
url = 'https://maven.blamejared.com'
|
2022-04-04 22:01:07 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2022-04-25 16:40:32 +02:00
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
|
|
it.options.encoding = 'UTF-8'
|
|
|
|
it.options.release = 17
|
2022-04-04 22:13:25 +02:00
|
|
|
}
|
2022-04-04 22:01:07 +02:00
|
|
|
|
2022-04-25 16:40:32 +02:00
|
|
|
// Disables Gradle's custom module metadata from being published to maven. The
|
|
|
|
// metadata includes mapped dependencies which are not reasonably consumable by
|
|
|
|
// other mod developers.
|
|
|
|
tasks.withType(GenerateModuleMetadata) {
|
|
|
|
enabled = false
|
2022-04-25 06:56:54 +02:00
|
|
|
}
|
2022-05-16 02:56:15 +02:00
|
|
|
|
|
|
|
sourceSets.main.kotlin.srcDirs += 'src/main/java'
|
2022-04-27 02:20:48 +02:00
|
|
|
}
|
2022-05-07 19:02:46 +02:00
|
|
|
|
|
|
|
allprojects { gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xmaxerrs" << "1000" } } }
|
2022-05-15 23:48:18 +02:00
|
|
|
|
|
|
|
compileKotlin {
|
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = "17"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
compileTestKotlin {
|
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = "17"
|
|
|
|
}
|
|
|
|
}
|