123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- import java.text.SimpleDateFormat
- buildscript {
- configurations.classpath {
- resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
- }
- }
- plugins {
- id "architectury-plugin" version "3.4-SNAPSHOT"
- id "dev.architectury.loom" version "0.12.0-SNAPSHOT" apply false
- id "org.cadixdev.licenser" version "0.6.1"
- id "com.matthewprenger.cursegradle" version "1.4.0" apply false
- id "com.modrinth.minotaur" version "2.2.0" apply false
- id "maven-publish"
- }
- architectury {
- minecraft = rootProject.minecraft_version
- }
- subprojects {
- apply plugin: "dev.architectury.loom"
- loom {
- silentMojangMappingsLicense()
- }
- dependencies {
- minecraft "com.mojang:minecraft:${rootProject.architectury.minecraft}"
- mappings loom.officialMojangMappings()
- }
- }
- 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
- }
- }
- javadoc {
- // Architectury's common javadoc has references to platform code, which cannot be resolved normally.
- // Let's just skip the errors!
- failOnError = false
- }
- license {
- header = rootProject.file("HEADER")
- ext {
- name = "architectury"
- year = "2020, 2021, 2022"
- }
- include "**/*.java"
- exclude "**/NbtType.java"
- ignoreFailures = true
- }
- ext {
- releaseChangelog = {
- def dateFormat = new 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()
- }
- }
- java {
- withSourcesJar()
- }
- }
- task licenseFormatAll
- subprojects { p -> licenseFormatAll.dependsOn("${p.path}:licenseFormat") }
|