Use gradle script and LibJF

This commit is contained in:
JFronny 2021-05-15 19:18:56 +02:00
parent b3cdcd19c7
commit d55ec6dfe0
No known key found for this signature in database
GPG Key ID: BEC5ACBBD4EE17E5
11 changed files with 36 additions and 166 deletions

View File

@ -1,4 +1,4 @@
image: gradle:alpine
image: gradle:jdk16
variables:
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
@ -23,6 +23,4 @@ build_test:
deploy:
stage: deploy
when: manual
script:
- gradle --build-cache publishModrinth
- gradle --build-cache curseforge
script: gradle --build-cache publishModrinth curseforge

View File

@ -1,19 +1,10 @@
plugins {
id 'fabric-loom' version '0.5-SNAPSHOT'
id 'maven-publish'
id "com.modrinth.minotaur" version "1.1.0"
id "com.matthewprenger.cursegradle" version "1.4.0"
}
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group
apply from: "https://gitlab.com/-/snippets/2121059/raw/master/jfbase.gradle"
repositories {
maven { url = 'https://maven.terraformersmc.com/'; name = "ModMenu" }
maven {
name = 'TerraformersMC'
url = 'https://maven.terraformersmc.com/'
}
}
dependencies {
@ -25,84 +16,7 @@ dependencies {
// Fabric API. This is technically optional, but you probably want it anyway.
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
// PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs.
// You may need to force-disable transitiveness on them.
modApi "me.sargunvohra.mcmods:autoconfig1u:3.3.1"
include "me.sargunvohra.mcmods:autoconfig1u:3.3.1"
modApi ("me.shedaniel.cloth:config-2:4.8.3") {
exclude(group: "net.fabricmc.fabric-api")
}
include ("me.shedaniel.cloth:config-2:4.8.3") {
exclude(group: "net.fabricmc.fabric-api")
}
download("https://gitlab.com/jfmods/LibJF/-/jobs/artifacts/master/raw/latest-dev.jar?job=build_test", "libjf")
modImplementation "com.terraformersmc:modmenu:1.14.15"
}
processResources {
inputs.property "version", project.version
from(sourceSets.main.resources.srcDirs) {
include "fabric.mod.json"
expand "version": project.version
}
from(sourceSets.main.resources.srcDirs) {
exclude "fabric.mod.json"
}
}
// ensure that the encoding is set to UTF-8, no matter what the system default is
// this fixes some edge cases with special characters not displaying correctly
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this task, sources will not be generated.
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = "sources"
from sourceSets.main.allSource
}
jar {
from "LICENSE"
}
import com.modrinth.minotaur.TaskModrinthUpload
task publishModrinth (type: TaskModrinthUpload){
token = System.getenv("MODRINTH_API_TOKEN") // Use an environment property!
projectId = '387LWVd9'
versionNumber = "${project.mod_version}"
uploadFile = remapJar // This is the java jar task
addGameVersion("${project.minecraft_version}")
addLoader('fabric')
versionName = "[${project.minecraft_version}] ${project.mod_version}"
afterEvaluate {
tasks.publishModrinth.dependsOn(remapJar)
tasks.publishModrinth.dependsOn(sourcesJar)
}
}
curseforge {
apiKey = System.getenv("CURSEFORGE_API_TOKEN") == null ? "###" : System.getenv("CURSEFORGE_API_TOKEN")
project {
id = "400771"
releaseType = 'release'
addGameVersion "Fabric"
addGameVersion "${project.minecraft_version}"
changelog = ""
mainArtifact(file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar"))
mainArtifact.displayName = "[${project.minecraft_version}] ${project.mod_version}"
afterEvaluate {
uploadTask.dependsOn(remapJar)
}
}
options {
forgeGradleIntegration = false
}
}
modImplementation "com.terraformersmc:modmenu:1.16.9"
}

View File

@ -1,11 +1,18 @@
org.gradle.jvmargs=-Xmx3G
# Fabric Properties
# Fabric Properties https://fabricmc.net/versions.html
minecraft_version=1.16.5
yarn_mappings=1.16.5+build.3
loader_version=0.11.1
yarn_mappings=1.16.5+build.9
loader_version=0.11.3
# Mod Properties
mod_version=1.1.2
mod_version=1.2.0
maven_group=io.gitlab.jfronny
archives_base_name=versionchanger
# Dependencies
fabric_version=0.29.4+1.16
fabric_version=0.34.2+1.16
modrinth_id=387LWVd9
modrinth_required_dependencies=TUqoYNVF
modrinth_optional_dependencies=Gz5wa6j2
curseforge_id=400771
curseforge_required_dependencies=libjf
curseforge_optional_dependencies=modmenu

View File

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@ -1,10 +0,0 @@
pluginManagement {
repositories {
jcenter()
maven {
name = 'Fabric'
url = 'https://maven.fabricmc.net/'
}
gradlePluginPortal()
}
}

View File

@ -1,13 +1,9 @@
package io.gitlab.jfronny.versionchanger;
import me.sargunvohra.mcmods.autoconfig1u.ConfigData;
import me.sargunvohra.mcmods.autoconfig1u.annotation.Config;
import me.sargunvohra.mcmods.autoconfig1u.annotation.ConfigEntry.Gui.RequiresRestart;
import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment;
import io.gitlab.jfronny.libjf.config.Entry;
import io.gitlab.jfronny.libjf.config.JfConfig;
@Config(name = "versionchanger")
public class Cfg implements ConfigData {
@Comment("The version to show. Supports any text")
@RequiresRestart
public String version = "1.7.10 Definitive Edition";
public class Cfg implements JfConfig {
@Entry
public static String version = "1.7.10 Definitive Edition";
}

View File

@ -1,12 +0,0 @@
package io.gitlab.jfronny.versionchanger;
import io.github.prospector.modmenu.api.ConfigScreenFactory;
import io.github.prospector.modmenu.api.ModMenuApi;
import me.sargunvohra.mcmods.autoconfig1u.AutoConfig;
public class ModMenu implements ModMenuApi {
@Override
public ConfigScreenFactory<?> getModConfigScreenFactory() {
return screen -> AutoConfig.getConfigScreen(Cfg.class, screen).get();
}
}

View File

@ -1,19 +0,0 @@
package io.gitlab.jfronny.versionchanger;
import me.sargunvohra.mcmods.autoconfig1u.AutoConfig;
import me.sargunvohra.mcmods.autoconfig1u.serializer.JanksonConfigSerializer;
import net.fabricmc.api.ModInitializer;
public class Versionchanger implements ModInitializer {
public static Cfg cfg;
static {
AutoConfig.register(Cfg.class, JanksonConfigSerializer::new);
cfg = AutoConfig.getConfigHolder(Cfg.class).getConfig();
}
@Override
public void onInitialize() {
}
}

View File

@ -1,7 +1,8 @@
package io.gitlab.jfronny.versionchanger.mixin;
import com.google.gson.JsonObject;
import io.gitlab.jfronny.versionchanger.Versionchanger;
import io.gitlab.jfronny.versionchanger.Cfg;
import io.gitlab.jfronny.libjf.Libjf;
import net.minecraft.MinecraftVersion;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@ -17,8 +18,9 @@ public class MixinMinecraftVersion {
private String name;
@Inject(at = @At("RETURN"), method = "<init>()V")
public void init(CallbackInfo info) {
releaseTarget = Versionchanger.cfg.version;
name = Versionchanger.cfg.version;
Libjf.registerConfig("versionchanger", Cfg.class);
releaseTarget = Cfg.version;
name = Cfg.version;
}
@Inject(at = @At("RETURN"), method = "<init>(Lcom/google/gson/JsonObject;)V")

View File

@ -1,4 +1,4 @@
{
"text.autoconfig.versionchanger.title": "VersionChanger",
"text.autoconfig.versionchanger.option.version": "Version"
"versionchanger.jfconfig.title": "VersionChanger",
"versionchanger.jfconfig.version": "Version"
}

View File

@ -15,13 +15,7 @@
"icon": "assets/versionchanger/icon.png",
"environment": "*",
"entrypoints": {
"main": [
"io.gitlab.jfronny.versionchanger.Versionchanger"
],
"modmenu": [
"io.gitlab.jfronny.versionchanger.ModMenu"
]
"libjf:config": ["io.gitlab.jfronny.versionchanger.Cfg"]
},
"mixins": [
"versionchanger.mixins.json"