diff --git a/build.gradle b/build.gradle index 6a73cd3..eb9a8f9 100644 --- a/build.gradle +++ b/build.gradle @@ -1,35 +1,3 @@ plugins { - id "java" - id "com.github.johnrengelman.shadow" version "7.1.2" -} - -subprojects { - apply plugin: "com.github.johnrengelman.shadow" - - archivesBaseName = project.maven_name - version = maven_version + project.mc_version - group = maven_group - - configurations { - include - implementation.extendsFrom(include) - } - - repositories { - maven { - url = "https://repo.spongepowered.org/repository/maven-public" - } - maven { - url = "https://repo.viaversion.com" - } - } - - dependencies { - include "com.viaversion:viaversion:${project.viaversion_version}" - include "com.viaversion:viabackwards:${project.viabackwards_version}" - include "com.viaversion:viarewind-universal:${project.viarewind_version}" - include "org.yaml:snakeyaml:${project.snake_yml_version}" - - include "net.raphimc:ViaLoader:${project.vialoader_version}" - } + id "base" } diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle new file mode 100644 index 0000000..fd839b0 --- /dev/null +++ b/buildSrc/build.gradle @@ -0,0 +1,22 @@ +plugins { + id "groovy-gradle-plugin" +} + +repositories { + gradlePluginPortal() + maven { + url = "https://repo.spongepowered.org/repository/maven-public/" + } + maven { + url = "https://jitpack.io/" + } + maven { + url = "https://files.minecraftforge.net/maven" + } +} + +dependencies { + implementation "com.github.johnrengelman:shadow:7.1.2" + implementation "net.minecraftforge.gradle:ForgeGradle:5.1.+" + implementation "org.spongepowered:mixingradle:0.7-SNAPSHOT" +} diff --git a/buildSrc/src/main/groovy/florianmichael.viaforge.base-conventions.gradle b/buildSrc/src/main/groovy/florianmichael.viaforge.base-conventions.gradle new file mode 100644 index 0000000..9fb1c59 --- /dev/null +++ b/buildSrc/src/main/groovy/florianmichael.viaforge.base-conventions.gradle @@ -0,0 +1,33 @@ +plugins { + id "java-library" + id "com.github.johnrengelman.shadow" +} + +archivesBaseName = project.maven_name +version = maven_version + project.mc_version +group = maven_group + +compileJava.options.encoding = "UTF-8" + +configurations { + include + implementation.extendsFrom(include) +} + +repositories { + maven { + url = "https://repo.spongepowered.org/repository/maven-public" + } + maven { + url = "https://repo.viaversion.com" + } +} + +dependencies { + include "com.viaversion:viaversion:${project.viaversion_version}" + include "com.viaversion:viabackwards:${project.viabackwards_version}" + include "com.viaversion:viarewind-universal:${project.viarewind_version}" + include "org.yaml:snakeyaml:${project.snake_yml_version}" + + include "net.raphimc:ViaLoader:${project.vialoader_version}" +} diff --git a/buildSrc/src/main/groovy/florianmichael.viaforge.forge-conventions.gradle b/buildSrc/src/main/groovy/florianmichael.viaforge.forge-conventions.gradle new file mode 100644 index 0000000..991eaa1 --- /dev/null +++ b/buildSrc/src/main/groovy/florianmichael.viaforge.forge-conventions.gradle @@ -0,0 +1,75 @@ +plugins { + id "net.minecraftforge.gradle" + id "org.spongepowered.mixin" +} + +minecraft { + runs { + client { + workingDirectory project.file("run") + + property 'forge.logging.markers', 'REGISTRIES' + property "forge.logging.console.level", "debug" + + // mixin + property 'mixin.debug.export', 'true' + property "mixin.hotSwap", "true" + property "fml.coreMods.load", "de.florianmichael.viaforge.mixin.MixinLoader" + args '-mixin.config=' + 'mixins.' + project.getProperty('maven_name') + '.json' + + mods { + "ViaForge" { + source sourceSets.main + } + } + } + } +} + +sourceSets.main.resources { + srcDir "src/generated/resources" +} + +dependencies { + include "org.spongepowered:mixin:${mixin_version}" + include "org.slf4j:slf4j-api:${project.slf4j_version}" + + annotationProcessor "org.spongepowered:mixin:${mixin_version}:processor" +} + +mixin { + add sourceSets.main, "mixins.${maven_name}.refmap.json" +} + +jar { + manifest.attributes( + "Specification-Title": "viaforge", + "Specification-Vendor": "viaforge", + "Specification-Version": "1", + "Implementation-Title": project.name, + "Implementation-Version": "${archiveVersion}", + "Implementation-Vendor" :"viaforge", + "Implementation-Timestamp": new Date().format("yyyy-MM-dd"-"HH:mm:ssZ"), + "TweakClass": "org.spongepowered.asm.launch.MixinTweaker", + "TweakOrder": "0", + "MixinConfigs": "mixins.${maven_name}.json", + "ForceLoadAsMod": "true" + ) + enabled = false +} + +shadowJar { + archiveFileName = jar.archiveFileName + configurations = [project.configurations.include] + duplicatesStrategy DuplicatesStrategy.EXCLUDE + + exclude("META-INF/maven/**") + exclude("META-INF/services/**") + exclude("META-INF/versions/**") +} + +reobf { + shadowJar {} +} + +jar.dependsOn("shadowJar") diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 62d4c05..e69de29 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/settings.gradle b/settings.gradle index a856e16..c7c3f2b 100644 --- a/settings.gradle +++ b/settings.gradle @@ -7,11 +7,17 @@ pluginManagement { maven { url = "https://repo.spongepowered.org/repository/maven-public/" } maven { url = "https://jitpack.io/" } maven { url = "https://files.minecraftforge.net/maven" } - maven { url = "https://plugins.gradle.org/m2" } + } + + plugins { + id "com.github.johnrengelman.shadow" version "7.1.2" + id "net.minecraftforge.gradle" version "5.+" + id "org.spongepowered.mixin" version "0.7-SNAPSHOT" } } rootProject.name = "ViaForge" include "viaforge-mc112" -include 'viaforge-mc116' +include "viaforge-mc116" +include "viaforge-mc117" diff --git a/viaforge-mc112/build.gradle b/viaforge-mc112/build.gradle index 5dad8a0..6cc3b78 100644 --- a/viaforge-mc112/build.gradle +++ b/viaforge-mc112/build.gradle @@ -1,79 +1,12 @@ plugins { - id "net.minecraftforge.gradle" version "5.+" - id "org.spongepowered.mixin" version "0.7-SNAPSHOT" + id "com.viaversion.base-conventions" + id "com.viaversion.forge-conventions" } -java.toolchain.languageVersion = JavaLanguageVersion.of(8) -compileJava.options.encoding = "UTF-8" - minecraft { mappings channel: "stable", version: "39-1.12" - - runs { - client { - workingDirectory project.file("run") - - property 'forge.logging.markers', 'REGISTRIES' - property "forge.logging.console.level", "debug" - - // mixin - property 'mixin.debug.export', 'true' - property "mixin.hotSwap", "true" - property "fml.coreMods.load", "de.florianmichael.viaforge.mixin.MixinLoader" - args '-mixin.config=' + 'mixins.' + project.getProperty('maven_name') + '.json' - - mods { - "ViaForge" { - source sourceSets.main - } - } - } - } -} - -sourceSets.main.resources { - srcDir "src/generated/resources" } dependencies { minecraft "net.minecraftforge:forge:1.12.2-14.23.5.2860" - - include "org.spongepowered:mixin:${mixin_version}" - include "org.slf4j:slf4j-api:${project.slf4j_version}" - - annotationProcessor "org.spongepowered:mixin:${mixin_version}:processor" -} - -mixin { - add sourceSets.main, "mixins.${maven_name}.refmap.json" -} - -jar { - manifest.attributes( - "Specification-Title": "viaforge", - "Specification-Vendor": "viaforge", - "Specification-Version": "1", - "Implementation-Title": project.name, - "Implementation-Version": "${archiveVersion}", - "Implementation-Vendor" :"viaforge", - "Implementation-Timestamp": new Date().format("yyyy-MM-dd"-"HH:mm:ssZ"), - "TweakClass": "org.spongepowered.asm.launch.MixinTweaker", - "TweakOrder": "0", - "FMLCorePluginContainsFMLMod": "true", - "FMLCorePlugin": "de.florianmichael.viaforge.mixin.MixinLoader", - "MixinConfigs": "mixins.${maven_name}.json", - "ForceLoadAsMod": "true" - ) - enabled = false -} - -shadowJar { - archiveFileName = jar.archiveFileName - configurations = [project.configurations.include] - duplicatesStrategy DuplicatesStrategy.EXCLUDE -} - -reobf { - shadowJar { - } } diff --git a/viaforge-mc116/build.gradle b/viaforge-mc116/build.gradle index 375e1e5..5791a53 100644 --- a/viaforge-mc116/build.gradle +++ b/viaforge-mc116/build.gradle @@ -1,82 +1,12 @@ plugins { - id "net.minecraftforge.gradle" version "5.+" - id "org.spongepowered.mixin" version "0.7-SNAPSHOT" + id "com.viaversion.base-conventions" + id "com.viaversion.forge-conventions" } -java.toolchain.languageVersion = JavaLanguageVersion.of(8) -compileJava.options.encoding = "UTF-8" - minecraft { mappings channel: "official", version: "1.16.5" - - runs { - client { - workingDirectory project.file("run") - - property 'forge.logging.markers', 'REGISTRIES' - property "forge.logging.console.level", "debug" - - // mixin - property 'mixin.debug.export', 'true' - property "mixin.hotSwap", "true" - property "fml.coreMods.load", "de.florianmichael.viaforge.mixin.MixinLoader" - args '-mixin.config=' + 'mixins.' + project.getProperty('maven_name') + '.json' - - mods { - "ViaForge" { - source sourceSets.main - } - } - } - } -} - -sourceSets.main.resources { - srcDir "src/generated/resources" } dependencies { minecraft "net.minecraftforge:forge:1.16.5-36.2.39" - - include "org.spongepowered:mixin:${mixin_version}" - include "org.slf4j:slf4j-api:${project.slf4j_version}" - - annotationProcessor "org.spongepowered:mixin:${mixin_version}:processor" } - -mixin { - add sourceSets.main, "mixins.${maven_name}.refmap.json" -} - -jar { - manifest.attributes( - "Specification-Title": "viaforge", - "Specification-Vendor": "viaforge", - "Specification-Version": "1", - "Implementation-Title": project.name, - "Implementation-Version": "${archiveVersion}", - "Implementation-Vendor" :"viaforge", - "Implementation-Timestamp": new Date().format("yyyy-MM-dd"-"HH:mm:ssZ"), - "TweakClass": "org.spongepowered.asm.launch.MixinTweaker", - "TweakOrder": "0", - "MixinConfigs": "mixins.${maven_name}.json", - "ForceLoadAsMod": "true" - ) - enabled = false -} - -shadowJar { - archiveFileName = jar.archiveFileName - configurations = [project.configurations.include] - duplicatesStrategy DuplicatesStrategy.EXCLUDE - - exclude("META-INF/maven/**") - exclude("META-INF/services/**") - exclude("META-INF/versions/**") -} - -reobf { - shadowJar {} -} - -jar.dependsOn("shadowJar") diff --git a/viaforge-mc117/build.gradle b/viaforge-mc117/build.gradle new file mode 100644 index 0000000..0247bc9 --- /dev/null +++ b/viaforge-mc117/build.gradle @@ -0,0 +1,14 @@ +plugins { + id "com.viaversion.base-conventions" + id "com.viaversion.forge-conventions" +} + +java.toolchain.languageVersion = JavaLanguageVersion.of(17) + +minecraft { + mappings channel: "official", version: "1.17.1" +} + +dependencies { + minecraft "net.minecraftforge:forge:1.17.1-37.1.1" +} diff --git a/viaforge-mc117/gradle.properties b/viaforge-mc117/gradle.properties new file mode 100644 index 0000000..9ca4f68 --- /dev/null +++ b/viaforge-mc117/gradle.properties @@ -0,0 +1,2 @@ +maven_name=viaforge-mc117 +mc_version=1.17.1