diff --git a/common/addons/manifest-addon-loader/build.gradle.kts b/common/addons/manifest-addon-loader/build.gradle.kts index 24299ea82..f1a1dc1ce 100644 --- a/common/addons/manifest-addon-loader/build.gradle.kts +++ b/common/addons/manifest-addon-loader/build.gradle.kts @@ -3,7 +3,7 @@ dependencies { "shadedImplementation"("com.dfsek.tectonic:yaml:2.1.2") } -tasks.withType() { +tasks.withType { manifest { attributes("Bootstrap-Addon-Entry-Point" to "com.dfsek.terra.addons.manifest.impl.ManifestAddonLoader") } diff --git a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/api/AddonInitializer.java b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/api/AddonInitializer.java index 63d811854..c3bebb971 100644 --- a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/api/AddonInitializer.java +++ b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/api/AddonInitializer.java @@ -1,9 +1,6 @@ package com.dfsek.terra.addons.manifest.api; -import com.dfsek.terra.api.addon.BaseAddon; - - public interface AddonInitializer { void initialize(); } diff --git a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddon.java b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddon.java index cc5c6e782..509e5bc73 100644 --- a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddon.java +++ b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddon.java @@ -1,5 +1,7 @@ package com.dfsek.terra.addons.manifest.impl; +import java.util.List; + import com.dfsek.terra.addons.manifest.api.AddonInitializer; import com.dfsek.terra.addons.manifest.impl.config.AddonManifest; import com.dfsek.terra.api.Platform; @@ -7,8 +9,6 @@ import com.dfsek.terra.api.addon.BaseAddon; import com.dfsek.terra.api.inject.Injector; import com.dfsek.terra.api.inject.annotations.Inject; -import java.util.List; - public class ManifestAddon implements BaseAddon { private final AddonManifest manifest; diff --git a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddonLoader.java b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddonLoader.java index 9f606e401..60b41076a 100644 --- a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddonLoader.java +++ b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddonLoader.java @@ -54,19 +54,18 @@ public class ManifestAddonLoader implements BootstrapBaseAddon { if(manifestEntry == null) { throw new ManifestNotPresentException("Addon " + path + " does not contain addon manifest."); } - - + try { AddonManifest manifest = manifestLoader.load(new AddonManifest(), new YamlConfiguration(jar.getInputStream(manifestEntry), "terra.addon.yml")); - + platform.logger().info("Loading addon " + manifest.getID()); - + ManifestAddonClassLoader loader = new ManifestAddonClassLoader(new URL[]{ path.toUri().toURL() }, getClass().getClassLoader()); - + return new ManifestAddon(manifest, manifest.getEntryPoints().stream().map(entryPoint -> { try { Object in = loader.loadClass(entryPoint).getConstructor().newInstance(); diff --git a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/config/AddonManifest.java b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/config/AddonManifest.java index 46a407069..2481ae3a2 100644 --- a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/config/AddonManifest.java +++ b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/config/AddonManifest.java @@ -6,12 +6,12 @@ import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.config.ConfigTemplate; -import com.dfsek.terra.api.util.StringIdentifiable; - import java.util.Collections; import java.util.List; import java.util.Map; +import com.dfsek.terra.api.util.StringIdentifiable; + @SuppressWarnings("FieldMayBeFinal") public class AddonManifest implements ConfigTemplate, StringIdentifiable { diff --git a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/exception/ManifestException.java b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/exception/ManifestException.java index 70430a373..eba6bd1d4 100644 --- a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/exception/ManifestException.java +++ b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/exception/ManifestException.java @@ -1,6 +1,6 @@ package com.dfsek.terra.addons.manifest.impl.exception; -public class ManifestException extends AddonException{ +public class ManifestException extends AddonException { public ManifestException(String message) { super(message); } diff --git a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/exception/ManifestNotPresentException.java b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/exception/ManifestNotPresentException.java index ae54d3dba..ba748d09a 100644 --- a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/exception/ManifestNotPresentException.java +++ b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/exception/ManifestNotPresentException.java @@ -1,6 +1,6 @@ package com.dfsek.terra.addons.manifest.impl.exception; -public class ManifestNotPresentException extends ManifestException{ +public class ManifestNotPresentException extends ManifestException { public ManifestNotPresentException(String message) { super(message); }