mirror of
https://github.com/architectury/architectury-api.git
synced 2026-03-28 03:56:59 -05:00
108 lines
3.7 KiB
Groovy
108 lines
3.7 KiB
Groovy
plugins {
|
|
id "architectury-plugin" version "2.0.57"
|
|
id "forgified-fabric-loom" version "0.6.49" apply false
|
|
id "org.cadixdev.licenser" version "0.5.0"
|
|
id "com.jfrog.bintray" version "1.8.4"
|
|
id "com.matthewprenger.cursegradle" version "1.4.0" apply false
|
|
id "maven"
|
|
id "maven-publish"
|
|
}
|
|
|
|
architectury {
|
|
minecraft = rootProject.minecraft_version
|
|
}
|
|
|
|
subprojects {
|
|
apply plugin: "forgified-fabric-loom"
|
|
|
|
loom {
|
|
silentMojangMappingsLicense()
|
|
useFabricMixin = true
|
|
}
|
|
}
|
|
|
|
allprojects {
|
|
apply plugin: "java"
|
|
apply plugin: "architectury-plugin"
|
|
apply plugin: "org.cadixdev.licenser"
|
|
|
|
archivesBaseName = rootProject.archives_base_name
|
|
version = rootProject.mod_version + "." + (System.getenv("GITHUB_RUN_NUMBER") == null ? "9999" : System.getenv("GITHUB_RUN_NUMBER"))
|
|
group = rootProject.maven_group
|
|
|
|
tasks.withType(JavaCompile) {
|
|
options.encoding = "UTF-8"
|
|
|
|
// The Minecraft launcher currently installs Java 8 for users, so your mod probably wants to target Java 8 too
|
|
// JDK 9 introduced a new way of specifying this that will make sure no newer classes or methods are used.
|
|
// We'll use that if it's available, but otherwise we'll use the older option.
|
|
def targetVersion = 8
|
|
if (JavaVersion.current().isJava9Compatible()) {
|
|
options.release = targetVersion
|
|
}
|
|
}
|
|
|
|
license {
|
|
header = rootProject.file("HEADER")
|
|
|
|
ext {
|
|
name = "shedaniel"
|
|
year = "2020, 2021"
|
|
}
|
|
|
|
include "**/*.java"
|
|
exclude "**/NbtType.java"
|
|
|
|
ignoreFailures = true
|
|
}
|
|
|
|
ext {
|
|
releaseChangelog = {
|
|
def dateFormat = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm")
|
|
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"))
|
|
def branch
|
|
if (System.env.BRANCH_NAME) {
|
|
branch = System.env.BRANCH_NAME
|
|
branch = branch.substring(branch.lastIndexOf("/") + 1)
|
|
} else {
|
|
branch = "git rev-parse --abbrev-ref HEAD".execute().in.text.trim()
|
|
}
|
|
if (branch == "HEAD") {
|
|
branch = "git rev-parse --short HEAD".execute().in.text.trim()
|
|
}
|
|
def time = dateFormat.format(new Date())
|
|
def changes = new StringBuilder()
|
|
changes << "<h2>Architectury v$project.version for $project.supported_version</h2>Updated at <b>$time</b>.<br><a href=\"https://www.github.com/architectury/architectury/commits/$branch\">Click here for changelog</a>"
|
|
def proc = "git log --max-count=200 --pretty=format:%s".execute()
|
|
proc.in.eachLine { line ->
|
|
def processedLine = line.toString()
|
|
if (!processedLine.contains("New translations") && !processedLine.contains("Merge") && !processedLine.contains("branch")) {
|
|
changes << "<br>- ${processedLine.capitalize()}"
|
|
}
|
|
}
|
|
proc.waitFor()
|
|
return changes.toString()
|
|
}
|
|
}
|
|
}
|
|
|
|
task licenseFormatAll
|
|
subprojects { p -> licenseFormatAll.dependsOn("${p.path}:licenseFormat") }
|
|
|
|
bintray {
|
|
user = project.hasProperty('bintrayUser') ? project.property('bintrayUser') : System.getenv('BINTRAY_USER')
|
|
key = project.hasProperty('bintrayApiKey') ? project.property('bintrayApiKey') : System.getenv('BINTRAY_KEY')
|
|
publications = ["mavenCommon", "mavenFabric", "mavenForge"]
|
|
publish = true
|
|
pkg {
|
|
repo = "cloth"
|
|
name = "architectury"
|
|
userOrg = "shedaniel"
|
|
licenses = ["Apache-2.0"]
|
|
version {
|
|
vcsUrl = "https://github.com/shedaniel/architectury.git"
|
|
}
|
|
}
|
|
}
|
|
|
|
task curseforgePublish |