Fix (don't use extension methods for now)
This commit is contained in:
parent
18810b255b
commit
fb56c9e922
|
@ -13,7 +13,7 @@ val lwjglVersion by extra("3.3.1")
|
||||||
val imguiVersion by extra("1.86.4")
|
val imguiVersion by extra("1.86.4")
|
||||||
val jfCommonsVersion by extra("1.0-SNAPSHOT")
|
val jfCommonsVersion by extra("1.0-SNAPSHOT")
|
||||||
val gsonCompileVersion by extra("1.1-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 jlhttpVersion by extra("2.6")
|
||||||
|
|
||||||
val flavorProp: String by extra(prop("flavor", "custom"))
|
val flavorProp: String by extra(prop("flavor", "custom"))
|
||||||
|
|
|
@ -4,9 +4,11 @@ plugins {
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
gradlePluginPortal()
|
gradlePluginPortal()
|
||||||
|
maven("https://maven.frohnmeyer-wds.de/artifacts")
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("gradle.plugin.com.github.johnrengelman:shadow:7.1.2")
|
implementation("gradle.plugin.com.github.johnrengelman:shadow:7.1.2")
|
||||||
implementation("de.undercouch:gradle-download-task:5.1.2")
|
implementation("de.undercouch:gradle-download-task:5.1.2")
|
||||||
|
implementation("io.gitlab.jfronny:convention:1.2-SNAPSHOT")
|
||||||
}
|
}
|
|
@ -1,22 +1,10 @@
|
||||||
plugins {
|
plugins {
|
||||||
id("inceptum.java-conventions")
|
id("inceptum.java-conventions")
|
||||||
|
id("jf.manifold")
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
val manifoldVersion: String by rootProject.extra
|
val jfCommonsVersion: String by rootProject.extra
|
||||||
|
|
||||||
implementation("systems.manifold:manifold-props-rt:$manifoldVersion")
|
implementation("io.gitlab.jfronny:commons-manifold:$jfCommonsVersion")
|
||||||
|
|
||||||
testAnnotationProcessor(annotationProcessor("systems.manifold:manifold-ext:$manifoldVersion")!!)
|
|
||||||
testAnnotationProcessor(annotationProcessor("systems.manifold:manifold-props:$manifoldVersion")!!)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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"))
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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 {
|
|
||||||
}
|
|
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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> {
|
|
||||||
}
|
|
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,5 +1,7 @@
|
||||||
package io.gitlab.jfronny.inceptum.common;
|
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.commons.OSUtils;
|
||||||
import io.gitlab.jfronny.inceptum.common.api.MavenApi;
|
import io.gitlab.jfronny.inceptum.common.api.MavenApi;
|
||||||
import io.gitlab.jfronny.inceptum.common.model.inceptum.*;
|
import io.gitlab.jfronny.inceptum.common.model.inceptum.*;
|
||||||
|
@ -52,7 +54,7 @@ public class Updater {
|
||||||
config.natives[Utils.currentFlavor] = natives;
|
config.natives[Utils.currentFlavor] = natives;
|
||||||
}
|
}
|
||||||
|
|
||||||
GC_WrapperConfig.write(MetaHolder.WRAPPER_CONFIG_PATH, config);
|
GC_WrapperConfig.write(config, MetaHolder.WRAPPER_CONFIG_PATH);
|
||||||
|
|
||||||
if (relaunch) {
|
if (relaunch) {
|
||||||
Runtime.runtime.addShutdownHook(new Thread(() -> {
|
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();
|
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 {
|
public static @Nullable UpdateMetadata check(UpdateChannel channel, boolean versionCompare, boolean checkEnv, Consumer<UpdateChannel> channelInvalid) throws UpdateCheckException {
|
||||||
try {
|
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;
|
UpdateMetadata stable = null;
|
||||||
try {
|
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) {}
|
} catch (Throwable ignored) {}
|
||||||
if (stable == null && channel == UpdateChannel.Stable) {
|
if (stable == null && channel == UpdateChannel.Stable) {
|
||||||
channel = UpdateChannel.CI;
|
channel = UpdateChannel.CI;
|
||||||
|
|
|
@ -56,12 +56,12 @@ public class MavenApi {
|
||||||
switch (child.nodeName) {
|
switch (child.nodeName) {
|
||||||
case "groupId" -> {
|
case "groupId" -> {
|
||||||
if (groupId == null) {
|
if (groupId == null) {
|
||||||
groupId = node.textContent;
|
groupId = child.textContent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case "version" -> {
|
case "version" -> {
|
||||||
if (version == null) {
|
if (version == null) {
|
||||||
version = node.textContent;
|
version = child.textContent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package io.gitlab.jfronny.inceptum.gtk;
|
package io.gitlab.jfronny.inceptum.gtk;
|
||||||
|
|
||||||
import ch.bailu.gtk.gtk.Application;
|
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.common.Utils;
|
||||||
import io.gitlab.jfronny.inceptum.gtk.menu.MenuBuilder;
|
import io.gitlab.jfronny.inceptum.gtk.menu.MenuBuilder;
|
||||||
import io.gitlab.jfronny.inceptum.gtk.util.I18n;
|
import io.gitlab.jfronny.inceptum.gtk.util.I18n;
|
||||||
|
|
|
@ -5,7 +5,7 @@ import ch.bailu.gtk.gio.ApplicationFlags;
|
||||||
import ch.bailu.gtk.gtk.*;
|
import ch.bailu.gtk.gtk.*;
|
||||||
import ch.bailu.gtk.type.Str;
|
import ch.bailu.gtk.type.Str;
|
||||||
import ch.bailu.gtk.type.Strs;
|
import ch.bailu.gtk.type.Strs;
|
||||||
import io.gitlab.jfronny.inceptum.common.R;
|
import io.gitlab.jfronny.commons.ref.R;
|
||||||
|
|
||||||
public class TestStart {
|
public class TestStart {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package io.gitlab.jfronny.inceptum.imgui.window;
|
package io.gitlab.jfronny.inceptum.imgui.window;
|
||||||
|
|
||||||
import imgui.ImGui;
|
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.common.Utils;
|
||||||
import io.gitlab.jfronny.inceptum.imgui.GuiMain;
|
import io.gitlab.jfronny.inceptum.imgui.GuiMain;
|
||||||
import io.gitlab.jfronny.inceptum.imgui.control.InstanceManageControls;
|
import io.gitlab.jfronny.inceptum.imgui.control.InstanceManageControls;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package io.gitlab.jfronny.inceptum.imgui.window.edit;
|
package io.gitlab.jfronny.inceptum.imgui.window.edit;
|
||||||
|
|
||||||
import imgui.ImGui;
|
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.GuiMain;
|
||||||
import io.gitlab.jfronny.inceptum.imgui.control.Tab;
|
import io.gitlab.jfronny.inceptum.imgui.control.Tab;
|
||||||
import io.gitlab.jfronny.inceptum.imgui.window.dialog.ProcessStateWatcherWindow;
|
import io.gitlab.jfronny.inceptum.imgui.window.dialog.ProcessStateWatcherWindow;
|
||||||
|
|
|
@ -5,6 +5,7 @@ import imgui.type.ImBoolean;
|
||||||
import imgui.type.ImString;
|
import imgui.type.ImString;
|
||||||
import io.gitlab.jfronny.commons.OSUtils;
|
import io.gitlab.jfronny.commons.OSUtils;
|
||||||
import io.gitlab.jfronny.commons.io.JFiles;
|
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.common.*;
|
||||||
import io.gitlab.jfronny.inceptum.imgui.GuiMain;
|
import io.gitlab.jfronny.inceptum.imgui.GuiMain;
|
||||||
import io.gitlab.jfronny.inceptum.imgui.control.InstanceManageControls;
|
import io.gitlab.jfronny.inceptum.imgui.control.InstanceManageControls;
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.api;
|
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.commons.HttpUtils;
|
||||||
import io.gitlab.jfronny.inceptum.common.Net;
|
import io.gitlab.jfronny.inceptum.common.Net;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.model.curseforge.CurseforgeFile;
|
import io.gitlab.jfronny.inceptum.launcher.model.curseforge.CurseforgeFile;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.api;
|
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.compile.util.GList;
|
||||||
import io.gitlab.jfronny.gson.stream.JsonReader;
|
import io.gitlab.jfronny.gson.stream.JsonReader;
|
||||||
import io.gitlab.jfronny.inceptum.common.Net;
|
import io.gitlab.jfronny.inceptum.common.Net;
|
||||||
|
@ -29,7 +30,7 @@ public class FabricMetaApi {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static FabricVersionLoaderInfo getLoaderVersion(String gameVersion, String fabricVersion) throws IOException {
|
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 {
|
public static VersionInfo addFabric(VersionInfo version, String fabricVersion, FabricVersionInfoType type) throws IOException {
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.api;
|
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.commons.OSUtils;
|
||||||
import io.gitlab.jfronny.inceptum.common.MetaHolder;
|
import io.gitlab.jfronny.inceptum.common.MetaHolder;
|
||||||
import io.gitlab.jfronny.inceptum.common.Net;
|
import io.gitlab.jfronny.inceptum.common.Net;
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.api;
|
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.compile.util.GList;
|
||||||
import io.gitlab.jfronny.gson.stream.JsonReader;
|
import io.gitlab.jfronny.gson.stream.JsonReader;
|
||||||
import io.gitlab.jfronny.inceptum.common.Net;
|
import io.gitlab.jfronny.inceptum.common.Net;
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.api.account;
|
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.compile.util.GList;
|
||||||
import io.gitlab.jfronny.gson.stream.JsonReader;
|
import io.gitlab.jfronny.gson.stream.JsonReader;
|
||||||
import io.gitlab.jfronny.gson.stream.JsonWriter;
|
import io.gitlab.jfronny.gson.stream.JsonWriter;
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.api.account;
|
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.gson.compile.annotations.GSerializable;
|
||||||
import io.gitlab.jfronny.inceptum.common.*;
|
import io.gitlab.jfronny.inceptum.common.*;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
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.model.microsoft.response.*;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.gson.MicrosoftAccountMeta;
|
import io.gitlab.jfronny.inceptum.launcher.gson.MicrosoftAccountMeta;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.*;
|
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.*;
|
||||||
|
@ -11,7 +13,7 @@ import java.io.IOException;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
@GSerializable(with = MicrosoftAccountMeta.class, configure = GsonPreset.Config.class)
|
@GSerializable(with = MicrosoftAccountAdapter.class, configure = GsonPreset.Config.class)
|
||||||
public class MicrosoftAccount {
|
public class MicrosoftAccount {
|
||||||
/**
|
/**
|
||||||
* The username/email/id of the account.
|
* The username/email/id of the account.
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.api.account;
|
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.commons.HttpUtils;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.*;
|
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.*;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.request.*;
|
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.request.*;
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,24 +1,12 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.gson;
|
package io.gitlab.jfronny.inceptum.launcher.gson;
|
||||||
|
|
||||||
import io.gitlab.jfronny.gson.compile.annotations.GSerializable;
|
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.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.OauthTokenResponse;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.response.XboxLiveAuthResponse;
|
import io.gitlab.jfronny.inceptum.launcher.model.microsoft.response.XboxLiveAuthResponse;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@GSerializable(configure = GsonPreset.Api.class)
|
@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 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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.gson;
|
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.JsonParseException;
|
||||||
import io.gitlab.jfronny.gson.compile.util.GList;
|
import io.gitlab.jfronny.gson.compile.util.GList;
|
||||||
import io.gitlab.jfronny.gson.stream.*;
|
import io.gitlab.jfronny.gson.stream.*;
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.gson;
|
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.JsonReader;
|
||||||
import io.gitlab.jfronny.gson.stream.JsonWriter;
|
import io.gitlab.jfronny.gson.stream.JsonWriter;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.ModMeta$Sources;
|
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 io.gitlab.jfronny.inceptum.launcher.system.source.ModSource;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -12,7 +12,7 @@ import java.util.Optional;
|
||||||
public class ModMetaSourcesAdapter {
|
public class ModMetaSourcesAdapter {
|
||||||
public static void write(JsonWriter writer, ModMeta$Sources value) throws IOException {
|
public static void write(JsonWriter writer, ModMeta$Sources value) throws IOException {
|
||||||
writer.beginArray();
|
writer.beginArray();
|
||||||
for (ModSource source : value.keySet()) GC_ModSource.write(writer, source);
|
for (ModSource source : value.keySet()) GC_ModSource.write(source, writer);
|
||||||
writer.endArray();
|
writer.endArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -87,8 +87,7 @@ public record ModMeta(
|
||||||
try {
|
try {
|
||||||
FingerprintMatchesResponse.Result cf = CurseforgeApi.checkFingerprint(murmur2);
|
FingerprintMatchesResponse.Result cf = CurseforgeApi.checkFingerprint(murmur2);
|
||||||
if (!cf.exactMatches.isEmpty) {
|
if (!cf.exactMatches.isEmpty) {
|
||||||
// TODO use array access once fixed
|
FingerprintMatchesResponse.Result.Match f = cf.exactMatches[0];
|
||||||
FingerprintMatchesResponse.Result.Match f = cf.exactMatches.get(0);
|
|
||||||
addSource(new CurseforgeModSource(f.id, f.file.id), gameVersion);
|
addSource(new CurseforgeModSource(f.id, f.file.id), gameVersion);
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
|
@ -101,8 +100,7 @@ public record ModMeta(
|
||||||
|
|
||||||
public void addSource(ModSource source, String gameVersion) {
|
public void addSource(ModSource source, String gameVersion) {
|
||||||
try {
|
try {
|
||||||
// TODO use array access once fixed
|
sources[source] = source.getUpdate(gameVersion);
|
||||||
sources.put(source, source.getUpdate(gameVersion));
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Utils.LOGGER.error("Could not check " + source.name + " for updates", e);
|
Utils.LOGGER.error("Could not check " + source.name + " for updates", e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.exporter;
|
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.common.InceptumConfig;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.model.curseforge.CurseforgeModpackManifest;
|
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.Instance;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
|
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.source.CurseforgeModSource;
|
import io.gitlab.jfronny.inceptum.launcher.system.source.CurseforgeModSource;
|
||||||
|
@ -41,7 +41,7 @@ public class CurseForgeExporter extends Exporter<CurseforgeModpackManifest> {
|
||||||
true
|
true
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
GC_CurseforgeModpackManifest.write(root.resolve("manifest.json"), manifest);
|
GC_CurseforgeModpackManifest.write(manifest, root.resolve("manifest.json"));
|
||||||
return manifest;
|
return manifest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,6 +60,6 @@ public class CurseForgeExporter extends Exporter<CurseforgeModpackManifest> {
|
||||||
Files.createDirectories(modsOverrides);
|
Files.createDirectories(modsOverrides);
|
||||||
Files.copy(mod.jarPath, modsOverrides.resolve(mod.jarPath.fileName.toString()));
|
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"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.exporter;
|
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.model.modrinth.ModrinthModpackManifest;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
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.instance.Mod;
|
||||||
|
@ -34,7 +34,7 @@ public class ModrinthExporter extends Exporter<ModrinthModpackManifest> {
|
||||||
null
|
null
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
GC_ModrinthModpackManifest.write(root.resolve("modrinth.index.json"), manifest);
|
GC_ModrinthModpackManifest.write(manifest, root.resolve("modrinth.index.json"));
|
||||||
return manifest;
|
return manifest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,6 +53,6 @@ public class ModrinthExporter extends Exporter<ModrinthModpackManifest> {
|
||||||
Files.createDirectories(modsOverrides);
|
Files.createDirectories(modsOverrides);
|
||||||
Files.copy(mod.jarPath, modsOverrides.resolve(mod.jarPath.fileName.toString()));
|
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"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.exporter;
|
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.model.multimc.MMCPackMeta;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
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.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(true, false, "net.fabricmc.intermediary", instance.gameVersion));
|
||||||
manifest.components.add(new MMCPackMeta.Component(false, false, "net.fabricmc.fabric-loader", instance.loaderVersion));
|
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;
|
return manifest;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.importer;
|
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.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.model.inceptum.ModMeta;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.ModPath;
|
import io.gitlab.jfronny.inceptum.launcher.system.instance.ModPath;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.source.CurseforgeModSource;
|
import io.gitlab.jfronny.inceptum.launcher.system.source.CurseforgeModSource;
|
||||||
|
@ -48,7 +48,7 @@ public class CurseForgeImporter extends Importer<CurseforgeModpackManifest> {
|
||||||
ModDownload download = source.download();
|
ModDownload download = source.download();
|
||||||
ModMeta imod = ModMeta.of(download.sha1, download.murmur2, source, manifest.minecraft.version);
|
ModMeta imod = ModMeta.of(download.sha1, download.murmur2, source, manifest.minecraft.version);
|
||||||
Files.createDirectories(modsPath);
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.importer;
|
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.io.JFiles;
|
||||||
import io.gitlab.jfronny.commons.throwable.ThrowingFunction;
|
import io.gitlab.jfronny.commons.throwable.ThrowingFunction;
|
||||||
import io.gitlab.jfronny.inceptum.common.MetaHolder;
|
import io.gitlab.jfronny.inceptum.common.MetaHolder;
|
||||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.api.FabricMetaApi;
|
import io.gitlab.jfronny.inceptum.launcher.api.FabricMetaApi;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.api.McApi;
|
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.model.inceptum.InstanceMeta;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.*;
|
import io.gitlab.jfronny.inceptum.launcher.system.instance.*;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.Steps;
|
import io.gitlab.jfronny.inceptum.launcher.system.setup.Steps;
|
||||||
|
@ -60,7 +60,7 @@ public abstract class Importer<T> {
|
||||||
Instance.setSetupLock(iDir, true);
|
Instance.setSetupLock(iDir, true);
|
||||||
InstanceMeta meta = new InstanceMeta();
|
InstanceMeta meta = new InstanceMeta();
|
||||||
meta.version = createVersionString(man.gameVersion, man.fabricVersion);
|
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");
|
state.incrementStep("Downloading mods");
|
||||||
downloadMods(manifest, iDir, state);
|
downloadMods(manifest, iDir, state);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.importer;
|
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.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.model.modrinth.ModrinthModpackManifest;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.util.ProcessState;
|
import io.gitlab.jfronny.inceptum.launcher.util.ProcessState;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.importer;
|
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.model.multimc.MMCPackMeta;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.util.ProcessState;
|
import io.gitlab.jfronny.inceptum.launcher.util.ProcessState;
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.instance;
|
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.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.model.inceptum.InstanceMeta;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.mds.ModsDirScanner;
|
import io.gitlab.jfronny.inceptum.launcher.system.mds.ModsDirScanner;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.util.GameVersionParser;
|
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() {
|
public void writeMeta() {
|
||||||
try {
|
try {
|
||||||
GC_InstanceMeta.write(path.resolve("instance.json"), meta);
|
GC_InstanceMeta.write(meta, path.resolve("instance.json"));
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Utils.LOGGER.error("Could not write instance config", e);
|
Utils.LOGGER.error("Could not write instance config", e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.instance;
|
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.io.JFiles;
|
||||||
import io.gitlab.jfronny.commons.throwable.ThrowingConsumer;
|
import io.gitlab.jfronny.commons.throwable.ThrowingConsumer;
|
||||||
import io.gitlab.jfronny.inceptum.common.MetaHolder;
|
import io.gitlab.jfronny.inceptum.common.MetaHolder;
|
||||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
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.model.inceptum.InstanceMeta;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.util.FileBackedRef;
|
import io.gitlab.jfronny.inceptum.launcher.util.FileBackedRef;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.instance;
|
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.model.inceptum.ModMeta;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.mds.ModsDirScanner;
|
import io.gitlab.jfronny.inceptum.launcher.system.mds.ModsDirScanner;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.source.ModDownload;
|
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 record DownloadMeta(ModDownload download, ModMeta meta, ModSource source, Path metaFile) {
|
||||||
public void write() throws IOException {
|
public void write() throws IOException {
|
||||||
GC_ModMeta.write(metaFile, meta);
|
GC_ModMeta.write(meta, metaFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.launch;
|
package io.gitlab.jfronny.inceptum.launcher.system.launch;
|
||||||
|
|
||||||
import io.gitlab.jfronny.commons.OSUtils;
|
import io.gitlab.jfronny.commons.OSUtils;
|
||||||
|
import io.gitlab.jfronny.commons.ref.R;
|
||||||
import io.gitlab.jfronny.inceptum.common.*;
|
import io.gitlab.jfronny.inceptum.common.*;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
import io.gitlab.jfronny.inceptum.launcher.LauncherEnv;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.api.FabricMetaApi;
|
import io.gitlab.jfronny.inceptum.launcher.api.FabricMetaApi;
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.mds;
|
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.gson.JsonParseException;
|
||||||
import io.gitlab.jfronny.inceptum.common.Utils;
|
import io.gitlab.jfronny.inceptum.common.Utils;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.model.fabric.FabricModJson;
|
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.model.inceptum.ModMeta;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
|
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.ModPath;
|
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 {
|
private <TEx extends Throwable> void evaluateSources(Path modFile, MetadataRef ref) throws IOException, TEx {
|
||||||
boolean modified = false;
|
boolean modified = false;
|
||||||
if (ref.meta.initialize(gameVersion)) {
|
if (ref.meta.initialize(gameVersion)) {
|
||||||
GC_ModMeta.write(ref.imodPath, ref.meta);
|
GC_ModMeta.write(ref.meta, ref.imodPath);
|
||||||
modified = true;
|
modified = true;
|
||||||
}
|
}
|
||||||
ModSource selectedSource = null;
|
ModSource selectedSource = null;
|
||||||
|
@ -73,8 +73,7 @@ public record FileScanTask(ProtoInstance instance, Path file, BiConsumer<Path, M
|
||||||
if (md.sources.isEmpty()) {
|
if (md.sources.isEmpty()) {
|
||||||
throw new FileNotFoundException("Mod " + modJarDefault.fileName.toString() + " doesn't specify a source and has no file");
|
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())[0].jarPath;
|
||||||
modJarDefault = List.copyOf(md.sources.keySet()).get(0).jarPath;
|
|
||||||
}
|
}
|
||||||
try (FileSystem fs = Utils.openZipFile(modJarDefault, false)) {
|
try (FileSystem fs = Utils.openZipFile(modJarDefault, false)) {
|
||||||
Path fmjPath = fs.getPath("fabric.mod.json");
|
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 {
|
private static class MetadataRef {
|
||||||
public MetadataRef(Path imodPath, @Nullable Function<Path, ModMeta> defaultMeta) throws IOException {
|
public MetadataRef(Path imodPath, @Nullable Function<Path, ModMeta> defaultMeta) throws IOException {
|
||||||
this.imodPath = imodPath;
|
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();
|
if (Files.exists(imodPath)) update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.mds;
|
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.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.model.inceptum.ModMeta;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.*;
|
import io.gitlab.jfronny.inceptum.launcher.system.instance.*;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.source.ModSource;
|
import io.gitlab.jfronny.inceptum.launcher.system.source.ModSource;
|
||||||
|
@ -131,6 +131,6 @@ public class MdsMod extends Mod {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void write() throws IOException {
|
private void write() throws IOException {
|
||||||
GC_ModMeta.write(imodPath, meta);
|
GC_ModMeta.write(meta, imodPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.mds;
|
package io.gitlab.jfronny.inceptum.launcher.system.mds;
|
||||||
|
|
||||||
import io.gitlab.jfronny.commons.io.JFiles;
|
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.common.Utils;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta;
|
import io.gitlab.jfronny.inceptum.launcher.model.inceptum.InstanceMeta;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
|
import io.gitlab.jfronny.inceptum.launcher.system.instance.Mod;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.setup.steps;
|
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.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.mds.ModsDirScanner;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.SetupStepInfo;
|
import io.gitlab.jfronny.inceptum.launcher.system.setup.SetupStepInfo;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.Step;
|
import io.gitlab.jfronny.inceptum.launcher.system.setup.Step;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package io.gitlab.jfronny.inceptum.launcher.system.setup.steps;
|
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.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.model.inceptum.InstanceMeta;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
import io.gitlab.jfronny.inceptum.launcher.system.instance.Instance;
|
||||||
import io.gitlab.jfronny.inceptum.launcher.system.setup.SetupStepInfo;
|
import io.gitlab.jfronny.inceptum.launcher.system.setup.SetupStepInfo;
|
||||||
|
@ -21,7 +21,7 @@ public class WriteMetadataStep implements Step {
|
||||||
if (!Files.exists(metaPath)) {
|
if (!Files.exists(metaPath)) {
|
||||||
InstanceMeta meta = new InstanceMeta();
|
InstanceMeta meta = new InstanceMeta();
|
||||||
meta.version = info.version.id;
|
meta.version = info.version.id;
|
||||||
GC_InstanceMeta.write(metaPath, meta);
|
GC_InstanceMeta.write(meta, metaPath);
|
||||||
}
|
}
|
||||||
Instance.setSetupLock(instance, false);
|
Instance.setSetupLock(instance, false);
|
||||||
if (!Files.exists(instance.resolve(".gitignore"))) {
|
if (!Files.exists(instance.resolve(".gitignore"))) {
|
||||||
|
|
|
@ -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"
|
rootProject.name = "Inceptum"
|
||||||
|
|
||||||
include("common")
|
include("common")
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package io.gitlab.jfronny.inceptum.wrapper;
|
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.*;
|
||||||
import io.gitlab.jfronny.inceptum.common.model.inceptum.*;
|
import io.gitlab.jfronny.inceptum.common.model.inceptum.*;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue