diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle deleted file mode 100644 index 67840524..00000000 --- a/buildSrc/build.gradle +++ /dev/null @@ -1,3 +0,0 @@ -plugins { - id 'groovy-gradle-plugin' -} diff --git a/buildSrc/settings.gradle b/buildSrc/settings.gradle deleted file mode 100644 index e69de29b..00000000 diff --git a/buildSrc/src/main/groovy/modernfix.common-conventions.gradle b/buildSrc/src/main/groovy/modernfix.common-conventions.gradle deleted file mode 100644 index 8fe0f1d4..00000000 --- a/buildSrc/src/main/groovy/modernfix.common-conventions.gradle +++ /dev/null @@ -1,128 +0,0 @@ -plugins { - id 'java' - id 'architectury-plugin' - id 'maven-publish' - id 'com.diffplug.spotless' -} - -spotless { - java { - removeUnusedImports() - } -} - -architectury { - compileOnly() -} - -group = 'org.embeddedt' -// extract base version from tag, generate other metadata ourselves -def details = versionDetails() -def plusIndex = details.lastTag.indexOf("+") -if(plusIndex == -1) { - plusIndex = details.lastTag.length() -} -def baseVersion = details.lastTag.substring(0, plusIndex) -def dirtyMarker = grgit.status().clean ? "" : ".dirty" -def commitHashMarker = details.commitDistance > 0 ? ("." + details.gitHash.substring(0, Math.min(4, details.gitHash.length()))) : "" -def preMarker = (details.commitDistance > 0 || !details.isCleanTag) ? ("-beta." + details.commitDistance) : "" -if(preMarker.length() > 0) { - // bump to next patch release - def versionParts = baseVersion.tokenize(".") - baseVersion = "${versionParts[0]}.${versionParts[1]}.${versionParts[2].toInteger() + 1}" -} -def versionString = "${baseVersion}${preMarker}+mc${minecraft_version}${commitHashMarker}${dirtyMarker}" -version = versionString -archivesBaseName = rootProject.archives_base_name + '-' + project.name - -sourceCompatibility = targetCompatibility = JavaVersion.VERSION_21 - -repositories { - exclusiveContent { - forRepository { - maven { - url "https://modmaven.dev" - } - } - filter { - includeGroup "appeng" - includeGroup "vazkii.patchouli" - includeGroup "mezz.jei" - } - } - exclusiveContent { - forRepository { - maven { - url "https://cursemaven.com" - } - } - filter { - includeGroup "curse.maven" - } - } - exclusiveContent { - forRepository { - maven { - name = 'ParchmentMC' - url = 'https://maven.parchmentmc.org' - } - } - filter { - includeGroup "org.parchmentmc.data" - } - } - exclusiveContent { - forRepository { - maven { - url = 'https://maven.architectury.dev' - } - } - filter { - includeGroup "me.shedaniel" - } - } - exclusiveContent { - forRepository { - maven { - url = 'https://maven.latvian.dev/releases' - } - } - filter { - includeGroup "dev.latvian.mods" - includeGroup "dev.latvian.apps" - } - } - exclusiveContent { - forRepository { - maven { - name = "Fuzs Mod Resources" - url = "https://raw.githubusercontent.com/Fuzss/modresources/main/maven/" - } - } - filter { - includeGroup "fuzs" - } - } - exclusiveContent { - forRepository { - maven { - name = "Fabric maven" - url = "https://maven.fabricmc.net/" - } - } - filter { - includeGroup "net.fabricmc" - } - } - exclusiveContent { - forRepository { - maven { - name = "Mod Menu" - url = "https://maven.terraformersmc.com/releases/" - } - } - filter { - includeGroup "com.terraformersmc" - } - } -} diff --git a/buildSrc/src/main/groovy/modernfix.mod-common-conventions.gradle b/buildSrc/src/main/groovy/modernfix.mod-common-conventions.gradle deleted file mode 100644 index 9a70fb37..00000000 --- a/buildSrc/src/main/groovy/modernfix.mod-common-conventions.gradle +++ /dev/null @@ -1,42 +0,0 @@ -plugins { - id 'modernfix.common-conventions' - id 'dev.architectury.loom' -} - -loom { - silentMojangMappingsLicense() - accessWidenerPath = file("${rootDir}/common/src/main/resources/modernfix.accesswidener") - mixin { - useLegacyMixinAp = true - } -} - -dependencies { - minecraft "com.mojang:minecraft:${rootProject.minecraft_version}" - mappings loom.layered() { - officialMojangMappings() - if(rootProject.hasProperty("parchment_version")) { - parchment("org.parchmentmc.data:parchment-${parchment_mc_version}:${parchment_version}@zip") - } - } - implementation project(":annotations") - annotationProcessor project(path: ":annotation-processor", configuration: 'shadow') -} - -project.sourceSets { - main.resources.srcDirs += [layout.buildDirectory.dir("generated/sources/annotationProcessor/java/main/resources")] -} -// hack to shut up gradle about the hack to include generated resources -tasks { - processResources { - dependsOn compileJava - } -} - -tasks.withType(JavaCompile) { - configure(options) { - if (!name.toLowerCase().contains('test')) { - options.compilerArgs << "-ArootProject.name=${rootProject.name}" << "-Aproject.name=${project.name}" - } - } -} diff --git a/buildSrc/src/main/groovy/modernfix.platform-conventions.gradle b/buildSrc/src/main/groovy/modernfix.platform-conventions.gradle deleted file mode 100644 index 2bdf9e62..00000000 --- a/buildSrc/src/main/groovy/modernfix.platform-conventions.gradle +++ /dev/null @@ -1,69 +0,0 @@ -plugins { - id 'com.matthewprenger.cursegradle' - id 'com.modrinth.minotaur' -} - -loom { - mods { - main { // to match the default mod generated for Forge - sourceSet project.sourceSets.main - sourceSet project(':common').sourceSets.main - } - } - runs { - client { - vmArgs "-Xmx1G" - vmArgs "-Xms1G" - property("mixin.debug.export", "true") - } - } -} - -def copyJarNameConsistent = tasks.register('copyJarNameConsistent', Copy) { - from remapJar // shortcut for createJar.outputs.files - into project.file("build/libs") - rename { name -> "modernfix-" + project.name + "-latest.jar" } -} - -def copyJarToBin = tasks.register('copyJarToBin', Copy) { - from remapJar // shortcut for createJar.outputs.files - into rootProject.file("bin") - mustRunAfter "copyJarNameConsistent" -} - -tasks.build.dependsOn(copyJarToBin, copyJarNameConsistent) - -def isBeta = project.version.toString().contains("beta") - -curseforge { - if (System.getenv("CURSEFORGE_TOKEN") != null) { - apiKey = System.getenv("CURSEFORGE_TOKEN") - project { - id = "790626" - changelog = file("${rootDir}/CHANGELOG.md") - changelogType = "markdown" - releaseType = isBeta ? "beta" : "release" - addGameVersion (project.name.equals("neoforge") ? "NeoForge" : project.name.capitalize()) - gameVersionStrings.addAll(supported_minecraft_versions.tokenize(",")) - mainArtifact remapJar - } - } -} - -modrinth { - token = System.getenv("MODRINTH_TOKEN") - projectId = "modernfix" // This can be the project ID or the slug. Either will work! - versionType = isBeta ? "beta" : "release" // This is the default -- can also be `beta` or `alpha` - uploadFile = remapJar - gameVersions = supported_minecraft_versions.tokenize(",") - loaders = [project.name] - changelog.set(provider { file("${rootDir}/CHANGELOG.md").getText('UTF-8') }) -} - -tasks.curseforge.dependsOn(rootProject.generateChangelog) -tasks.modrinth.dependsOn(rootProject.generateChangelog) - -tasks.register('publishToModSites') { - publishToModSites.dependsOn(tasks.modrinth) - publishToModSites.dependsOn(tasks.curseforge) -} diff --git a/common/build.gradle b/common/build.gradle deleted file mode 100644 index df5ccdb6..00000000 --- a/common/build.gradle +++ /dev/null @@ -1,42 +0,0 @@ -plugins { - id "modernfix.mod-common-conventions" -} - -architectury { - common(rootProject.enabled_platforms.split(",")) -} - -dependencies { - // We depend on fabric loader here to use the fabric @Environment annotations and get the mixin dependencies - // Do NOT use other classes from fabric loader - modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" - implementation(annotationProcessor("io.github.llamalad7:mixinextras-common:${rootProject.mixinextras_version}")) - - modCompileOnly("dev.latvian.mods:kubejs-neoforge:${kubejs_version}") { - transitive = false - } - modApi("dev.latvian.mods:rhino:${rhino_version}") { - transitive = false - } - - modCompileOnly "curse.maven:spark-361579:${rootProject.spark_version}" - // Remove the next line if you don't want to depend on the API - // modApi "me.shedaniel:architectury:${rootProject.architectury_version}" -} - -// don't need remapped common jar -tasks.named('remapJar') { enabled = false } - -publishing { - publications { - mavenCommon(MavenPublication) { - artifactId = rootProject.archives_base_name - from components.java - } - } - - // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. - repositories { - // Add repositories to publish to here. - } -} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d64cd491..a4b76b95 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e2847c82..23449a2b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a42..f5feea6d 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradlew.bat b/gradlew.bat index 25da30db..9d21a218 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## diff --git a/neoforge/build.gradle b/neoforge/build.gradle deleted file mode 100644 index f1720d16..00000000 --- a/neoforge/build.gradle +++ /dev/null @@ -1,137 +0,0 @@ -plugins { - id "com.github.johnrengelman.shadow" - id "modernfix.mod-common-conventions" - id "modernfix.platform-conventions" -} - -architectury { - platformSetupLoomIde() - neoForge() -} - -configurations { - common - shadowCommon // Don't use shadow from the shadow plugin since it *excludes* files. - compileClasspath.extendsFrom common - runtimeClasspath.extendsFrom common -} - -def extraModsDir = "extra-mods" - -repositories { - exclusiveContent { - forRepository { - flatDir { - name "extra-mods" - dir file(extraModsDir) - } - } - filter { - includeGroup "extra-mods" - } - } - maven { url "https://maven.neoforged.net" } - if(rootProject.hasProperty("neoforge_pr")) { - maven { - url 'https://prmaven.neoforged.net/NeoForge/pr' + rootProject.neoforge_pr - content { - includeModule('net.neoforged', 'neoforge') - includeModule('net.neoforged', 'testframework') - } - } - } -} - -dependencies { - neoForge "net.neoforged:neoforge:${rootProject.forge_version}" - - // Remove the next line if you don't want to depend on the API - // modApi "me.shedaniel:architectury-forge:${rootProject.architectury_version}" - - modCompileOnly("curse.maven:refinedstorage-243076:${refined_storage_version}") - - modCompileOnly("curse.maven:jeresources-240630:3951643") - modCompileOnly("me.shedaniel:RoughlyEnoughItems-forge:${rei_version}") { transitive false } - modCompileOnly("dev.latvian.mods:kubejs-neoforge:${kubejs_version}") { - transitive = false - } - //modRuntimeOnly("curse.maven:ferritecore-429235:4441949") - modCompileOnly("curse.maven:ctm-267602:${ctm_version}") - modCompileOnly("curse.maven:ldlib-626676:${ldlib_version}") - - modCompileOnly("curse.maven:supermartijncore-454372:4455391") - modCompileOnly("vazkii.patchouli:Patchouli:1.19.2-77") - - // runtime remapping at home - for (extraModJar in fileTree(dir: extraModsDir, include: '*.jar')) { - def basename = extraModJar.name.substring(0, extraModJar.name.length() - ".jar".length()) - def versionSep = basename.lastIndexOf('-') - assert versionSep != -1 - def artifactId = basename.substring(0, versionSep) - def version = basename.substring(versionSep + 1) - modRuntimeOnly("extra-mods:$artifactId:$version") - } - - common(project(path: ":common", configuration: "namedElements")) { transitive false } - shadowCommon(project(path: ":common", configuration: "transformProductionNeoForge")) { transitive = false } - shadowCommon(project(path: ":annotations")) - forgeRuntimeLibrary(project(path: ":annotations")) -} - -processResources { - inputs.property "version", project.version - - filesMatching("META-INF/neoforge.mods.toml") { - expand "version": project.version - } -} - -shadowJar { - exclude "fabric.mod.json" - exclude "architectury.common.json" - - configurations = [project.configurations.shadowCommon] - archiveClassifier.set("dev-shadow") -} - -remapJar { - input.set shadowJar.archiveFile - dependsOn shadowJar - archiveClassifier.set(null) - atAccessWideners.add "modernfix.accesswidener" -} - -jar { - archiveClassifier.set("dev") - manifest { - attributes([ - "Specification-Title" : "modernfix", - "Operative-Class" : "org.embeddedt.modernfix.agent.Agent", - //"Specification-Vendor": "modernfix authors", - "Specification-Version" : "1", // We are version 1 of ourselves - "Implementation-Title" : project.name, - "Implementation-Version" : project.jar.archiveVersion - //"Implementation-Vendor": "modernfix authors", - ]) - } -} - -components.java { - withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) { - skip() - } -} - -publishing { - publications { - mavenForge(MavenPublication) { - artifactId = rootProject.archives_base_name + "-" + project.name - from components.java - } - } - - // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. - repositories { - // Add repositories to publish to here. - } -} diff --git a/settings.gradle.kts b/settings.gradle.kts index 48801417..a5fb371c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,4 +1,8 @@ include("annotation-processor") include("annotations") +plugins { + id("org.gradle.toolchains.foojay-resolver-convention") version ("1.0.0") +} + rootProject.name = "modernfix" \ No newline at end of file