Fix (don't use extension methods for now)
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/woodpecker Pipeline was successful Details

This commit is contained in:
Johannes Frohnmeyer 2022-11-24 21:11:07 +01:00
parent 18810b255b
commit fb56c9e922
Signed by: Johannes
GPG Key ID: E76429612C2929F4
47 changed files with 105 additions and 234 deletions

View File

@ -13,7 +13,7 @@ val lwjglVersion by extra("3.3.1")
val imguiVersion by extra("1.86.4")
val jfCommonsVersion by extra("1.0-SNAPSHOT")
val gsonCompileVersion by extra("1.1-SNAPSHOT")
val manifoldVersion by extra("2022.1.25")
val manifoldVersion by extra("2022.1.27")
val jlhttpVersion by extra("2.6")
val flavorProp: String by extra(prop("flavor", "custom"))

View File

@ -4,9 +4,11 @@ plugins {
repositories {
gradlePluginPortal()
maven("https://maven.frohnmeyer-wds.de/artifacts")
}
dependencies {
implementation("gradle.plugin.com.github.johnrengelman:shadow:7.1.2")
implementation("de.undercouch:gradle-download-task:5.1.2")
implementation("io.gitlab.jfronny:convention:1.2-SNAPSHOT")
}

View File

@ -1,22 +1,10 @@
plugins {
id("inceptum.java-conventions")
id("jf.manifold")
}
dependencies {
val manifoldVersion: String by rootProject.extra
val jfCommonsVersion: String by rootProject.extra
implementation("systems.manifold:manifold-props-rt:$manifoldVersion")
testAnnotationProcessor(annotationProcessor("systems.manifold:manifold-ext:$manifoldVersion")!!)
testAnnotationProcessor(annotationProcessor("systems.manifold:manifold-props:$manifoldVersion")!!)
implementation("io.gitlab.jfronny:commons-manifold:$jfCommonsVersion")
}
if (sourceSets.main.get().allJava.files.any {it.name == "module-info.java"}) {
tasks.withType<JavaCompile> {
options.compilerArgs.addAll(arrayOf("-Xplugin:Manifold no-bootstrap", "--module-path", classpath.asPath))
}
} else {
tasks.withType<JavaCompile> {
options.compilerArgs.addAll(arrayOf("-Xplugin:Manifold no-bootstrap"))
}
}

View File

@ -1,9 +0,0 @@
package extensions.java.lang.Iterable;
import manifold.ext.rt.api.Extension;
import manifold.ext.rt.api.Structural;
@Extension
@Structural
public class StructuralIterable {
}

View File

@ -1,19 +0,0 @@
package extensions.java.util.Map;
import manifold.ext.rt.api.Extension;
import manifold.ext.rt.api.This;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
@Extension
public abstract class MapExt<K, V> implements Iterable<Map.Entry<K, V>> {
public static <K, V> Iterator<Map.Entry<K,V>> iterator(@This Map<K, V> thiz) {
return thiz.entrySet().iterator();
}
public static <K, V> V set(@This Map<K, V> thiz, K key, V value) {
return thiz.put(key, value);
}
}

View File

@ -1,7 +0,0 @@
package extensions.java.util.stream.BaseStream;
import manifold.ext.rt.api.Extension;
@Extension
public abstract class BaseStreamExt<T> implements Iterable<T> {
}

View File

@ -1,44 +0,0 @@
package extensions.java.util.stream.Stream;
import manifold.ext.rt.api.Extension;
import manifold.ext.rt.api.This;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Extension
public abstract class StreamExt<T> {
public static <T> Set<T> toSet(@This Stream<T> thiz) {
return thiz.collect(LinkedHashSet::new, Set::add, Set::addAll);
}
public static <T, K, V> Map<K, V> toMap(@This Stream<T> thiz, Function<? super T, K> keyMapper, Function<? super T, V> valueMapper) {
return thiz.collect(Collectors.toMap(keyMapper, valueMapper));
}
public static <T, K> Map<K, T> toMap(@This Stream<T> thiz, Function<? super T, K> keyMapper) {
return thiz.toMap(keyMapper, Function.identity());
}
public static <T, V> Map<V, List<T>> groupingBy(@This Stream<T> thiz, Function<? super T, V> valueMapper) {
return thiz.collect(Collectors.groupingBy(valueMapper));
}
public static String join(@This Stream<String> thiz) {
return thiz.collect(Collectors.joining());
}
public static String join(@This Stream<String> thiz, String delimiter) {
return thiz.collect(Collectors.joining(delimiter));
}
public static String join(@This Stream<String> thiz, char delimiter) {
return thiz.join("" + delimiter);
}
public static <T> Stream<T> concat(@This Stream<T> thiz, Stream<T> other) {
return Stream.concat(thiz, other);
}
}

View File

@ -1,14 +0,0 @@
package extensions.org.w3c.dom.Node;
import manifold.ext.rt.api.Extension;
import manifold.ext.rt.api.This;
import org.w3c.dom.Node;
@Extension
public class NodeExt {
public static boolean isWhitespace(@This Node thiz) {
if (thiz.nodeType == Node.TEXT_NODE && thiz.textContent.isBlank()) return true;
if (thiz.nodeType == Node.COMMENT_NODE) return true;
return false;
}
}

View File

@ -1,33 +0,0 @@
package extensions.org.w3c.dom.NodeList;
import manifold.ext.rt.api.*;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import java.util.*;
@Extension
public abstract class NodeListExt implements Iterable<Node> {
public static Iterator<Node> iterator(@This NodeList thiz) {
return new Iterator<>() {
private int index = 0;
@Override
public boolean hasNext() {
while (index < thiz.length && thiz[index].isWhitespace()) {
index++;
}
return index < thiz.length;
}
@Override
public Node next() {
if (!hasNext()) throw new NoSuchElementException();
return thiz[index++];
}
};
}
public static Node get(@This NodeList thiz, int index) {
return thiz.item(index);
}
}

View File

@ -1,18 +0,0 @@
package io.gitlab.jfronny.inceptum.common;
/**
* Class containing methods for nop lambdas. Use these instead of () -> {}
*/
public class R {
public static void nop() {
// No-Op
}
public static void nop(Object a1) {
// No-Op
}
public static void nop(Object a1, Object a2) {
// No-Op
}
}

View File

@ -1,5 +1,7 @@
package io.gitlab.jfronny.inceptum.common;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.common.model.inceptum.UpdateMetadata.GC_UpdateMetadata;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.common.model.inceptum.WrapperConfig.GC_WrapperConfig;
import io.gitlab.jfronny.commons.OSUtils;
import io.gitlab.jfronny.inceptum.common.api.MavenApi;
import io.gitlab.jfronny.inceptum.common.model.inceptum.*;
@ -52,7 +54,7 @@ public class Updater {
config.natives[Utils.currentFlavor] = natives;
}
GC_WrapperConfig.write(MetaHolder.WRAPPER_CONFIG_PATH, config);
GC_WrapperConfig.write(config, MetaHolder.WRAPPER_CONFIG_PATH);
if (relaunch) {
Runtime.runtime.addShutdownHook(new Thread(() -> {
@ -93,7 +95,7 @@ public class Updater {
}
}
if (configChanged) GC_WrapperConfig.write(MetaHolder.WRAPPER_CONFIG_PATH, wrapperConfig);
if (configChanged) GC_WrapperConfig.write(wrapperConfig, MetaHolder.WRAPPER_CONFIG_PATH);
return buildClasspath(libs.stream().concat(natives.stream())).toList();
}
@ -140,10 +142,10 @@ public class Updater {
public static @Nullable UpdateMetadata check(UpdateChannel channel, boolean versionCompare, boolean checkEnv, Consumer<UpdateChannel> channelInvalid) throws UpdateCheckException {
try {
UpdateMetadata experimental = Net.downloadObject(ARTIFACTS_URL + "version.json", GC_UpdateMetadata::read);
UpdateMetadata experimental = Net.downloadObject(ARTIFACTS_URL + "version.json", json -> GC_UpdateMetadata.read(json));
UpdateMetadata stable = null;
try {
stable = Net.downloadObject(STABLE_URL + "version.json", GC_UpdateMetadata::read);
stable = Net.downloadObject(STABLE_URL + "version.json", json -> GC_UpdateMetadata.read(json));
} catch (Throwable ignored) {}
if (stable == null && channel == UpdateChannel.Stable) {
channel = UpdateChannel.CI;

View File

@ -56,12 +56,12 @@ public class MavenApi {
switch (child.nodeName) {
case "groupId" -> {
if (groupId == null) {
groupId = node.textContent;
groupId = child.textContent;
}
}
case "version" -> {
if (version == null) {
version = node.textContent;
version = child.textContent;
}
}
}

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.inceptum.gtk;
import ch.bailu.gtk.gtk.Application;
import io.gitlab.jfronny.inceptum.common.R;
import io.gitlab.jfronny.commons.ref.R;
import io.gitlab.jfronny.inceptum.common.Utils;
import io.gitlab.jfronny.inceptum.gtk.menu.MenuBuilder;
import io.gitlab.jfronny.inceptum.gtk.util.I18n;

View File

@ -5,7 +5,7 @@ import ch.bailu.gtk.gio.ApplicationFlags;
import ch.bailu.gtk.gtk.*;
import ch.bailu.gtk.type.Str;
import ch.bailu.gtk.type.Strs;
import io.gitlab.jfronny.inceptum.common.R;
import io.gitlab.jfronny.commons.ref.R;
public class TestStart {
public static void main(String[] args) {

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.inceptum.imgui.window;
import imgui.ImGui;
import io.gitlab.jfronny.inceptum.common.R;
import io.gitlab.jfronny.commons.ref.R;
import io.gitlab.jfronny.inceptum.common.Utils;
import io.gitlab.jfronny.inceptum.imgui.GuiMain;
import io.gitlab.jfronny.inceptum.imgui.control.InstanceManageControls;

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.inceptum.imgui.window.edit;
import imgui.ImGui;
import io.gitlab.jfronny.inceptum.common.R;
import io.gitlab.jfronny.commons.ref.R;
import io.gitlab.jfronny.inceptum.imgui.GuiMain;
import io.gitlab.jfronny.inceptum.imgui.control.Tab;
import io.gitlab.jfronny.inceptum.imgui.window.dialog.ProcessStateWatcherWindow;

View File

@ -5,6 +5,7 @@ import imgui.type.ImBoolean;
import imgui.type.ImString;
import io.gitlab.jfronny.commons.OSUtils;
import io.gitlab.jfronny.commons.io.JFiles;
import io.gitlab.jfronny.commons.ref.R;
import io.gitlab.jfronny.inceptum.common.*;
import io.gitlab.jfronny.inceptum.imgui.GuiMain;
import io.gitlab.jfronny.inceptum.imgui.control.InstanceManageControls;

View File

@ -1,5 +1,9 @@
package io.gitlab.jfronny.inceptum.launcher.api;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.curseforge.response.FingerprintMatchesResponse.GC_FingerprintMatchesResponse;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.curseforge.response.GetModFileResponse.GC_GetModFileResponse;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.curseforge.response.GetModResponse.GC_GetModResponse;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.curseforge.response.SearchResponse.GC_SearchResponse;
import io.gitlab.jfronny.commons.HttpUtils;
import io.gitlab.jfronny.inceptum.common.Net;
import io.gitlab.jfronny.inceptum.launcher.model.curseforge.CurseforgeFile;

View File

@ -1,5 +1,6 @@
package io.gitlab.jfronny.inceptum.launcher.api;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.fabric.FabricVersionLoaderInfo.GC_FabricVersionLoaderInfo;
import io.gitlab.jfronny.gson.compile.util.GList;
import io.gitlab.jfronny.gson.stream.JsonReader;
import io.gitlab.jfronny.inceptum.common.Net;
@ -29,7 +30,7 @@ public class FabricMetaApi {
}
public static FabricVersionLoaderInfo getLoaderVersion(String gameVersion, String fabricVersion) throws IOException {
return Net.downloadObject(META_URL + "v2/versions/loader/" + gameVersion + "/" + fabricVersion, GC_FabricVersionLoaderInfo_WithMeta::read);
return Net.downloadObject(META_URL + "v2/versions/loader/" + gameVersion + "/" + fabricVersion, GC_FabricVersionLoaderInfo.WithMeta::read);
}
public static VersionInfo addFabric(VersionInfo version, String fabricVersion, FabricVersionInfoType type) throws IOException {

View File

@ -1,5 +1,10 @@
package io.gitlab.jfronny.inceptum.launcher.api;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.mojang.AssetIndex.GC_AssetIndex;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.mojang.JvmFileInfo.GC_JvmFileInfo;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.mojang.JvmInfo.GC_JvmInfo;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.mojang.VersionInfo.GC_VersionInfo;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.mojang.VersionsList.GC_VersionsList;
import io.gitlab.jfronny.commons.OSUtils;
import io.gitlab.jfronny.inceptum.common.MetaHolder;
import io.gitlab.jfronny.inceptum.common.Net;

View File

@ -1,5 +1,8 @@
package io.gitlab.jfronny.inceptum.launcher.api;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.modrinth.ModrinthProject.GC_ModrinthProject;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.modrinth.ModrinthSearchResult.GC_ModrinthSearchResult;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.modrinth.ModrinthVersion.GC_ModrinthVersion;
import io.gitlab.jfronny.gson.compile.util.GList;
import io.gitlab.jfronny.gson.stream.JsonReader;
import io.gitlab.jfronny.inceptum.common.Net;

View File

@ -1,5 +1,7 @@
package io.gitlab.jfronny.inceptum.launcher.api.account;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.api.account.MicrosoftAccount.GC_MicrosoftAccount;
import io.gitlab.jfronny.commons.ref.R;
import io.gitlab.jfronny.gson.compile.util.GList;
import io.gitlab.jfronny.gson.stream.JsonReader;
import io.gitlab.jfronny.gson.stream.JsonWriter;

View File

@ -1,8 +1,10 @@
package io.gitlab.jfronny.inceptum.launcher.api.account;
import io.gitlab.jfronny.commons.ref.R;
import io.gitlab.jfronny.gson.compile.annotations.GSerializable;
import io.gitlab.jfronny.inceptum.common.*;
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
import io.gitlab.jfronny.inceptum.launcher.gson.MicrosoftAccountAdapter;
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.response.*;
import io.gitlab.jfronny.inceptum.launcher.gson.MicrosoftAccountMeta;
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.*;
@ -11,7 +13,7 @@ import java.io.IOException;
import java.net.URISyntaxException;
import java.util.*;
@GSerializable(with = MicrosoftAccountMeta.class, configure = GsonPreset.Config.class)
@GSerializable(with = MicrosoftAccountAdapter.class, configure = GsonPreset.Config.class)
public class MicrosoftAccount {
/**
* The username/email/id of the account.

View File

@ -1,5 +1,13 @@
package io.gitlab.jfronny.inceptum.launcher.api.account;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.microsoft.Entitlements.GC_Entitlements;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.microsoft.Profile.GC_Profile;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.microsoft.request.LoginRequest.GC_LoginRequest;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.microsoft.request.XblTokenRequest.GC_XblTokenRequest;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.microsoft.request.XstsTokenRequest.GC_XstsTokenRequest;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.microsoft.response.LoginResponse.GC_LoginResponse;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.microsoft.response.OauthTokenResponse.GC_OauthTokenResponse;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.microsoft.response.XboxLiveAuthResponse.GC_XboxLiveAuthResponse;
import io.gitlab.jfronny.commons.HttpUtils;
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.*;
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.request.*;

View File

@ -0,0 +1,19 @@
package io.gitlab.jfronny.inceptum.launcher.gson;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.gson.MicrosoftAccountMeta.GC_MicrosoftAccountMeta;
import io.gitlab.jfronny.gson.stream.JsonReader;
import io.gitlab.jfronny.gson.stream.JsonWriter;
import io.gitlab.jfronny.inceptum.launcher.api.account.MicrosoftAccount;
import java.io.IOException;
public class MicrosoftAccountAdapter {
public static void write(JsonWriter writer, MicrosoftAccount value) throws IOException {
GC_MicrosoftAccountMeta.write(value == null ? null : value.toMeta(), writer);
}
public static MicrosoftAccount read(JsonReader reader) throws IOException {
MicrosoftAccountMeta meta = GC_MicrosoftAccountMeta.read(reader);
return meta == null ? null : new MicrosoftAccount(meta);
}
}

View File

@ -1,24 +1,12 @@
package io.gitlab.jfronny.inceptum.launcher.gson;
import io.gitlab.jfronny.gson.compile.annotations.GSerializable;
import io.gitlab.jfronny.gson.stream.JsonReader;
import io.gitlab.jfronny.gson.stream.JsonWriter;
import io.gitlab.jfronny.inceptum.common.GsonPreset;
import io.gitlab.jfronny.inceptum.launcher.api.account.MicrosoftAccount;
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.response.OauthTokenResponse;
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.response.XboxLiveAuthResponse;
import java.io.IOException;
import java.util.Date;
@GSerializable(configure = GsonPreset.Api.class)
public record MicrosoftAccountMeta(String accountId, String minecraftUsername, String uuid, String accessToken, OauthTokenResponse oauthToken, XboxLiveAuthResponse xstsAuth, Date accessTokenExpiresAt, boolean mustLogin) {
public static void write(JsonWriter writer, MicrosoftAccount value) throws IOException {
GC_MicrosoftAccountMeta.write(writer, value == null ? null : value.toMeta());
}
public static MicrosoftAccount read(JsonReader reader) throws IOException {
MicrosoftAccountMeta meta = GC_MicrosoftAccountMeta.read(reader);
return meta == null ? null : new MicrosoftAccount(meta);
}
}

View File

@ -1,5 +1,6 @@
package io.gitlab.jfronny.inceptum.launcher.gson;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.mojang.Rules.GC_Rules;
import io.gitlab.jfronny.gson.JsonParseException;
import io.gitlab.jfronny.gson.compile.util.GList;
import io.gitlab.jfronny.gson.stream.*;

View File

@ -1,9 +1,9 @@
package io.gitlab.jfronny.inceptum.launcher.gson;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.system.source.ModSource.GC_ModSource;
import io.gitlab.jfronny.gson.stream.JsonReader;
import io.gitlab.jfronny.gson.stream.JsonWriter;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.ModMeta$Sources;
import io.gitlab.jfronny.inceptum.launcher.system.source.GC_ModSource;
import io.gitlab.jfronny.inceptum.launcher.system.source.ModSource;
import java.io.IOException;
@ -12,7 +12,7 @@ import java.util.Optional;
public class ModMetaSourcesAdapter {
public static void write(JsonWriter writer, ModMeta$Sources value) throws IOException {
writer.beginArray();
for (ModSource source : value.keySet()) GC_ModSource.write(writer, source);
for (ModSource source : value.keySet()) GC_ModSource.write(source, writer);
writer.endArray();
}

View File

@ -87,8 +87,7 @@ public record ModMeta(
try {
FingerprintMatchesResponse.Result cf = CurseforgeApi.checkFingerprint(murmur2);
if (!cf.exactMatches.isEmpty) {
// TODO use array access once fixed
FingerprintMatchesResponse.Result.Match f = cf.exactMatches.get(0);
FingerprintMatchesResponse.Result.Match f = cf.exactMatches[0];
addSource(new CurseforgeModSource(f.id, f.file.id), gameVersion);
changed = true;
}
@ -101,8 +100,7 @@ public record ModMeta(
public void addSource(ModSource source, String gameVersion) {
try {
// TODO use array access once fixed
sources.put(source, source.getUpdate(gameVersion));
sources[source] = source.getUpdate(gameVersion);
} catch (IOException e) {
Utils.LOGGER.error("Could not check " + source.name + " for updates", e);
}

View File

@ -1,8 +1,8 @@
package io.gitlab.jfronny.inceptum.launcher.system.exporter;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.curseforge.CurseforgeModpackManifest.GC_CurseforgeModpackManifest;
import io.gitlab.jfronny.inceptum.common.InceptumConfig;
import io.gitlab.jfronny.inceptum.launcher.model.curseforge.CurseforgeModpackManifest;
import io.gitlab.jfronny.inceptum.launcher.model.curseforge.GC_CurseforgeModpackManifest;
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
import io.gitlab.jfronny.inceptum.launcher.system.source.CurseforgeModSource;
@ -41,7 +41,7 @@ public class CurseForgeExporter extends Exporter<CurseforgeModpackManifest> {
true
));
}
GC_CurseforgeModpackManifest.write(root.resolve("manifest.json"), manifest);
GC_CurseforgeModpackManifest.write(manifest, root.resolve("manifest.json"));
return manifest;
}
@ -60,6 +60,6 @@ public class CurseForgeExporter extends Exporter<CurseforgeModpackManifest> {
Files.createDirectories(modsOverrides);
Files.copy(mod.jarPath, modsOverrides.resolve(mod.jarPath.fileName.toString()));
}
GC_CurseforgeModpackManifest.write(root.resolve("manifest.json"), manifest);
GC_CurseforgeModpackManifest.write(manifest, root.resolve("manifest.json"));
}
}

View File

@ -1,6 +1,6 @@
package io.gitlab.jfronny.inceptum.launcher.system.exporter;
import io.gitlab.jfronny.inceptum.launcher.model.modrinth.GC_ModrinthModpackManifest;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.modrinth.ModrinthModpackManifest.GC_ModrinthModpackManifest;
import io.gitlab.jfronny.inceptum.launcher.model.modrinth.ModrinthModpackManifest;
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
@ -34,7 +34,7 @@ public class ModrinthExporter extends Exporter<ModrinthModpackManifest> {
null
)
);
GC_ModrinthModpackManifest.write(root.resolve("modrinth.index.json"), manifest);
GC_ModrinthModpackManifest.write(manifest, root.resolve("modrinth.index.json"));
return manifest;
}
@ -53,6 +53,6 @@ public class ModrinthExporter extends Exporter<ModrinthModpackManifest> {
Files.createDirectories(modsOverrides);
Files.copy(mod.jarPath, modsOverrides.resolve(mod.jarPath.fileName.toString()));
}
GC_ModrinthModpackManifest.write(root.resolve("modrinth.index.json"), manifest);
GC_ModrinthModpackManifest.write(manifest, root.resolve("modrinth.index.json"));
}
}

View File

@ -1,6 +1,6 @@
package io.gitlab.jfronny.inceptum.launcher.system.exporter;
import io.gitlab.jfronny.inceptum.launcher.model.multimc.GC_MMCPackMeta;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.multimc.MMCPackMeta.GC_MMCPackMeta;
import io.gitlab.jfronny.inceptum.launcher.model.multimc.MMCPackMeta;
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
@ -54,7 +54,7 @@ public class MultiMCExporter extends Exporter<MMCPackMeta> {
manifest.components.add(new MMCPackMeta.Component(true, false, "net.fabricmc.intermediary", instance.gameVersion));
manifest.components.add(new MMCPackMeta.Component(false, false, "net.fabricmc.fabric-loader", instance.loaderVersion));
}
GC_MMCPackMeta.write(root.resolve("mmc-pack.json"), manifest);
GC_MMCPackMeta.write(manifest, root.resolve("mmc-pack.json"));
return manifest;
}
}

View File

@ -1,8 +1,8 @@
package io.gitlab.jfronny.inceptum.launcher.system.importer;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.curseforge.CurseforgeModpackManifest.GC_CurseforgeModpackManifest;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.inceptum.ModMeta.GC_ModMeta;
import io.gitlab.jfronny.inceptum.launcher.model.curseforge.CurseforgeModpackManifest;
import io.gitlab.jfronny.inceptum.launcher.model.curseforge.GC_CurseforgeModpackManifest;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.GC_ModMeta;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.ModMeta;
import io.gitlab.jfronny.inceptum.launcher.system.instance.ModPath;
import io.gitlab.jfronny.inceptum.launcher.system.source.CurseforgeModSource;
@ -48,7 +48,7 @@ public class CurseForgeImporter extends Importer<CurseforgeModpackManifest> {
ModDownload download = source.download();
ModMeta imod = ModMeta.of(download.sha1, download.murmur2, source, manifest.minecraft.version);
Files.createDirectories(modsPath);
GC_ModMeta.write(modsPath.resolve(source.shortName + ModPath.EXT_IMOD), imod);
GC_ModMeta.write(imod, modsPath.resolve(source.shortName + ModPath.EXT_IMOD));
}
}
}

View File

@ -1,12 +1,12 @@
package io.gitlab.jfronny.inceptum.launcher.system.importer;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta.GC_InstanceMeta;
import io.gitlab.jfronny.commons.io.JFiles;
import io.gitlab.jfronny.commons.throwable.ThrowingFunction;
import io.gitlab.jfronny.inceptum.common.MetaHolder;
import io.gitlab.jfronny.inceptum.common.Utils;
import io.gitlab.jfronny.inceptum.launcher.api.FabricMetaApi;
import io.gitlab.jfronny.inceptum.launcher.api.McApi;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.GC_InstanceMeta;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta;
import io.gitlab.jfronny.inceptum.launcher.system.instance.*;
import io.gitlab.jfronny.inceptum.launcher.system.setup.Steps;
@ -60,7 +60,7 @@ public abstract class Importer<T> {
Instance.setSetupLock(iDir, true);
InstanceMeta meta = new InstanceMeta();
meta.version = createVersionString(man.gameVersion, man.fabricVersion);
GC_InstanceMeta.write(iDir.resolve("instance.json"), meta);
GC_InstanceMeta.write(meta, iDir.resolve("instance.json"));
state.incrementStep("Downloading mods");
downloadMods(manifest, iDir, state);

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.inceptum.launcher.system.importer;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.modrinth.ModrinthModpackManifest.GC_ModrinthModpackManifest;
import io.gitlab.jfronny.inceptum.common.Net;
import io.gitlab.jfronny.inceptum.launcher.model.modrinth.GC_ModrinthModpackManifest;
import io.gitlab.jfronny.inceptum.launcher.model.modrinth.ModrinthModpackManifest;
import io.gitlab.jfronny.inceptum.launcher.util.ProcessState;

View File

@ -1,6 +1,6 @@
package io.gitlab.jfronny.inceptum.launcher.system.importer;
import io.gitlab.jfronny.inceptum.launcher.model.multimc.GC_MMCPackMeta;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.multimc.MMCPackMeta.GC_MMCPackMeta;
import io.gitlab.jfronny.inceptum.launcher.model.multimc.MMCPackMeta;
import io.gitlab.jfronny.inceptum.launcher.util.ProcessState;

View File

@ -1,8 +1,8 @@
package io.gitlab.jfronny.inceptum.launcher.system.instance;
import io.gitlab.jfronny.inceptum.common.R;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta.GC_InstanceMeta;
import io.gitlab.jfronny.commons.ref.R;
import io.gitlab.jfronny.inceptum.common.Utils;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.GC_InstanceMeta;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta;
import io.gitlab.jfronny.inceptum.launcher.system.mds.ModsDirScanner;
import io.gitlab.jfronny.inceptum.launcher.util.GameVersionParser;
@ -132,7 +132,7 @@ public record Instance(String id, Path path, InstanceMeta meta, ModsDirScanner m
public void writeMeta() {
try {
GC_InstanceMeta.write(path.resolve("instance.json"), meta);
GC_InstanceMeta.write(meta, path.resolve("instance.json"));
} catch (IOException e) {
Utils.LOGGER.error("Could not write instance config", e);
}

View File

@ -1,10 +1,10 @@
package io.gitlab.jfronny.inceptum.launcher.system.instance;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta.GC_InstanceMeta;
import io.gitlab.jfronny.commons.io.JFiles;
import io.gitlab.jfronny.commons.throwable.ThrowingConsumer;
import io.gitlab.jfronny.inceptum.common.MetaHolder;
import io.gitlab.jfronny.inceptum.common.Utils;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.GC_InstanceMeta;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta;
import io.gitlab.jfronny.inceptum.launcher.util.FileBackedRef;

View File

@ -1,6 +1,6 @@
package io.gitlab.jfronny.inceptum.launcher.system.instance;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.GC_ModMeta;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.inceptum.ModMeta.GC_ModMeta;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.ModMeta;
import io.gitlab.jfronny.inceptum.launcher.system.mds.ModsDirScanner;
import io.gitlab.jfronny.inceptum.launcher.system.source.ModDownload;
@ -31,7 +31,7 @@ public class ModManager {
public record DownloadMeta(ModDownload download, ModMeta meta, ModSource source, Path metaFile) {
public void write() throws IOException {
GC_ModMeta.write(metaFile, meta);
GC_ModMeta.write(meta, metaFile);
}
}
}

View File

@ -1,6 +1,7 @@
package io.gitlab.jfronny.inceptum.launcher.system.launch;
import io.gitlab.jfronny.commons.OSUtils;
import io.gitlab.jfronny.commons.ref.R;
import io.gitlab.jfronny.inceptum.common.*;
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
import io.gitlab.jfronny.inceptum.launcher.api.FabricMetaApi;

View File

@ -1,10 +1,10 @@
package io.gitlab.jfronny.inceptum.launcher.system.mds;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.fabric.FabricModJson.GC_FabricModJson;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.inceptum.ModMeta.GC_ModMeta;
import io.gitlab.jfronny.gson.JsonParseException;
import io.gitlab.jfronny.inceptum.common.Utils;
import io.gitlab.jfronny.inceptum.launcher.model.fabric.FabricModJson;
import io.gitlab.jfronny.inceptum.launcher.model.fabric.GC_FabricModJson;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.GC_ModMeta;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.ModMeta;
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
import io.gitlab.jfronny.inceptum.launcher.system.instance.ModPath;
@ -46,7 +46,7 @@ public record FileScanTask(ProtoInstance instance, Path file, BiConsumer<Path, M
private <TEx extends Throwable> void evaluateSources(Path modFile, MetadataRef ref) throws IOException, TEx {
boolean modified = false;
if (ref.meta.initialize(gameVersion)) {
GC_ModMeta.write(ref.imodPath, ref.meta);
GC_ModMeta.write(ref.meta, ref.imodPath);
modified = true;
}
ModSource selectedSource = null;
@ -73,8 +73,7 @@ public record FileScanTask(ProtoInstance instance, Path file, BiConsumer<Path, M
if (md.sources.isEmpty()) {
throw new FileNotFoundException("Mod " + modJarDefault.fileName.toString() + " doesn't specify a source and has no file");
}
// TODO use array access once fixed
modJarDefault = List.copyOf(md.sources.keySet()).get(0).jarPath;
modJarDefault = List.copyOf(md.sources.keySet())[0].jarPath;
}
try (FileSystem fs = Utils.openZipFile(modJarDefault, false)) {
Path fmjPath = fs.getPath("fabric.mod.json");
@ -86,7 +85,7 @@ public record FileScanTask(ProtoInstance instance, Path file, BiConsumer<Path, M
private static class MetadataRef {
public MetadataRef(Path imodPath, @Nullable Function<Path, ModMeta> defaultMeta) throws IOException {
this.imodPath = imodPath;
if (!Files.exists(imodPath) && defaultMeta != null) GC_ModMeta.write(imodPath, defaultMeta.apply(imodPath));
if (!Files.exists(imodPath) && defaultMeta != null) GC_ModMeta.write(defaultMeta.apply(imodPath), imodPath);
if (Files.exists(imodPath)) update();
}

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.inceptum.launcher.system.mds;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.inceptum.ModMeta.GC_ModMeta;
import io.gitlab.jfronny.inceptum.launcher.model.fabric.FabricModJson;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.GC_ModMeta;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.ModMeta;
import io.gitlab.jfronny.inceptum.launcher.system.instance.*;
import io.gitlab.jfronny.inceptum.launcher.system.source.ModSource;
@ -131,6 +131,6 @@ public class MdsMod extends Mod {
}
private void write() throws IOException {
GC_ModMeta.write(imodPath, meta);
GC_ModMeta.write(meta, imodPath);
}
}

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.inceptum.launcher.system.mds;
import io.gitlab.jfronny.commons.io.JFiles;
import io.gitlab.jfronny.inceptum.common.R;
import io.gitlab.jfronny.commons.ref.R;
import io.gitlab.jfronny.inceptum.common.Utils;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta;
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.inceptum.launcher.system.setup.steps;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta.GC_InstanceMeta;
import io.gitlab.jfronny.inceptum.common.MetaHolder;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.GC_InstanceMeta;
import io.gitlab.jfronny.inceptum.launcher.system.mds.ModsDirScanner;
import io.gitlab.jfronny.inceptum.launcher.system.setup.SetupStepInfo;
import io.gitlab.jfronny.inceptum.launcher.system.setup.Step;

View File

@ -1,7 +1,7 @@
package io.gitlab.jfronny.inceptum.launcher.system.setup.steps;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta.GC_InstanceMeta;
import io.gitlab.jfronny.inceptum.common.MetaHolder;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.GC_InstanceMeta;
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta;
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
import io.gitlab.jfronny.inceptum.launcher.system.setup.SetupStepInfo;
@ -21,7 +21,7 @@ public class WriteMetadataStep implements Step {
if (!Files.exists(metaPath)) {
InstanceMeta meta = new InstanceMeta();
meta.version = info.version.id;
GC_InstanceMeta.write(metaPath, meta);
GC_InstanceMeta.write(meta, metaPath);
}
Instance.setSetupLock(instance, false);
if (!Files.exists(instance.resolve(".gitignore"))) {

View File

@ -1,14 +1,3 @@
pluginManagement {
repositories {
maven("https://maven.frohnmeyer-wds.de/artifacts")
gradlePluginPortal()
}
plugins {
id("jf.codegen") version "1.2-SNAPSHOT"
id("jf.autoversion") version "1.2-SNAPSHOT"
}
}
rootProject.name = "Inceptum"
include("common")

View File

@ -1,5 +1,7 @@
package io.gitlab.jfronny.inceptum.wrapper;
import gsoncompile.extensions.io.gitlab.jfronny.inceptum.common.model.inceptum.WrapperConfig.GC_WrapperConfig;
import io.gitlab.jfronny.commons.ref.R;
import io.gitlab.jfronny.inceptum.common.*;
import io.gitlab.jfronny.inceptum.common.model.inceptum.*;