123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- plugins {
- id "architectury-plugin" version "3.1-SNAPSHOT"
- id "dev.architectury.loom" version "0.7.2-SNAPSHOT" apply false
- id "org.cadixdev.licenser" version "0.5.0"
- id "com.matthewprenger.cursegradle" version "1.4.0" apply false
- id "maven-publish"
- }
- architectury {
- minecraft = rootProject.minecraft_version
- }
- subprojects {
- apply plugin: "dev.architectury.loom"
- loom {
- silentMojangMappingsLicense()
- useFabricMixin = true
- }
- }
- allprojects {
- apply plugin: "java"
- apply plugin: "architectury-plugin"
- apply plugin: "org.cadixdev.licenser"
- ext {
- isSnapshot = System.getenv("PR_NUM") != null
- }
- def runNumber = (System.getenv("GITHUB_RUN_NUMBER") == null ? "9999" : System.getenv("GITHUB_RUN_NUMBER"))
- if (!ext.isSnapshot) {
- version = rootProject.base_version + "." + runNumber
- archivesBaseName = rootProject.archives_base_name
- } else {
- version = rootProject.base_version + "-PR." + System.getenv("PR_NUM") + "." + runNumber
- archivesBaseName = rootProject.archives_base_name_snapshot
- }
- 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 = "architectury"
- 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") }
- task curseforgePublish
|