diff --git a/README.md b/README.md index fee3aad8..1df0ba36 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,22 @@ Final version will be written in HolyC++ on templeOS called VRGEM⁴. ## Project Setup -Use the AdoptOpenJDK(11++) to run the demo. +Requirements; + +* Setup [Hyperdrive](https://github.com/hyperspace-org/hyperdrive-service) +* Use an AdoptOpenJDK(11++) to run the demo. + +### Project Launch Release + +When hyperdrive is running just start the jar file with; + + java -jar todo.jar + +### Project Launch IDE + +Run "mvn package" once before starting. + +Append "use-local" to the main launcher to use the local chains. ## Duytschen Code diff --git a/gdxapp4d-boot-desktop/local-override.xml b/gdxapp4d-boot-desktop/local-override.xml index f5979bc6..602ce5af 100644 --- a/gdxapp4d-boot-desktop/local-override.xml +++ b/gdxapp4d-boot-desktop/local-override.xml @@ -3,6 +3,7 @@ ../gdxapp4d-chain-sys-engine/src/chain ../gdxapp4d-chain-sys-ocean/src/chain + ../gdxapp4d-chain-dep-osgi-scr/src/chain ../gdxapp4d-vrgem4/src/chain ../gdxapp4d-vrgem4/target/classes diff --git a/gdxapp4d-chain-dep-osgi-scr/pom.xml b/gdxapp4d-chain-dep-osgi-scr/pom.xml new file mode 100644 index 00000000..40f2f17b --- /dev/null +++ b/gdxapp4d-chain-dep-osgi-scr/pom.xml @@ -0,0 +1,10 @@ + + 4.0.0 + + love.distributedrebirth.gdxapp4d + gdxapp4d + 0.0.1-SNAPSHOT + + gdxapp4d-chain-dep-osgi-scr + pom + \ No newline at end of file diff --git a/gdxapp4d-chain-dep-osgi-scr/src/chain/bundle/org.apache.felix.scr-2.2.0.jar b/gdxapp4d-chain-dep-osgi-scr/src/chain/bundle/org.apache.felix.scr-2.2.0.jar new file mode 100644 index 00000000..7073cd14 Binary files /dev/null and b/gdxapp4d-chain-dep-osgi-scr/src/chain/bundle/org.apache.felix.scr-2.2.0.jar differ diff --git a/gdxapp4d-chain-dep-osgi-scr/src/chain/bundle/org.osgi.util.function-1.2.0.jar b/gdxapp4d-chain-dep-osgi-scr/src/chain/bundle/org.osgi.util.function-1.2.0.jar new file mode 100644 index 00000000..09af58e9 Binary files /dev/null and b/gdxapp4d-chain-dep-osgi-scr/src/chain/bundle/org.osgi.util.function-1.2.0.jar differ diff --git a/gdxapp4d-chain-dep-osgi-scr/src/chain/bundle/org.osgi.util.promise-1.2.0.jar b/gdxapp4d-chain-dep-osgi-scr/src/chain/bundle/org.osgi.util.promise-1.2.0.jar new file mode 100644 index 00000000..f0a308c1 Binary files /dev/null and b/gdxapp4d-chain-dep-osgi-scr/src/chain/bundle/org.osgi.util.promise-1.2.0.jar differ diff --git a/gdxapp4d-chain-dep-osgi-scr/src/chain/warp-sea.xml b/gdxapp4d-chain-dep-osgi-scr/src/chain/warp-sea.xml new file mode 100644 index 00000000..d8354dce --- /dev/null +++ b/gdxapp4d-chain-dep-osgi-scr/src/chain/warp-sea.xml @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/gdxapp4d-chain-sys-engine/src/chain/warp-sea.xml b/gdxapp4d-chain-sys-engine/src/chain/warp-sea.xml index 1e56813e..7e4a9441 100644 --- a/gdxapp4d-chain-sys-engine/src/chain/warp-sea.xml +++ b/gdxapp4d-chain-sys-engine/src/chain/warp-sea.xml @@ -4,6 +4,8 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://wrap-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root http://warp-sea.x4o.distributedrebirth.love/xml/ns/warp-sea-root-1.0.xsd"> + + diff --git a/gdxapp4d-tos4/pom.xml b/gdxapp4d-tos4/pom.xml index 74cdd2dd..ed53bafb 100644 --- a/gdxapp4d-tos4/pom.xml +++ b/gdxapp4d-tos4/pom.xml @@ -44,6 +44,11 @@ ch.qos.logback logback-classic + + org.osgi + org.osgi.service.component.annotations + 1.4.0 + diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Activator.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Activator.java index f070f984..e3922bd6 100644 --- a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Activator.java +++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Activator.java @@ -14,12 +14,14 @@ import java.util.function.Consumer; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; import org.osgi.framework.BundleException; +import org.slf4j.LoggerFactory; import org.x4o.xml.io.X4OConnectionException; import org.xml.sax.SAXException; import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ; import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpBase; import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpBootArgs; +import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpLogger; import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpSea; import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpShip; import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpTerminal; @@ -138,6 +140,7 @@ public class GDXAppTos4Activator implements BundleActivator { SystemWarpShipImpl systemWarpShip = new SystemWarpShipImpl(); + context.registerService(SystemWarpLogger.class.getName(), new SystemWarpLoggerImpl(), new Hashtable()); context.registerService(SystemWarpBase.class.getName(), new SystemWarpBaseImpl(), new Hashtable()); context.registerService(SystemWarpBootArgs.class.getName(), new SystemWarpBootArgsImpl(), new Hashtable()); context.registerService(SystemWarpShip.class.getName(), systemWarpShip, new Hashtable()); @@ -286,4 +289,27 @@ public class GDXAppTos4Activator implements BundleActivator { return buf.toString(); } } + + public static class SystemWarpLoggerImpl implements SystemWarpLogger { + + @Override + public void infoTag(String tag, String message, Object...args) { + LoggerFactory.getLogger(tag).info(message, args); + } + + @Override + public void debugTag(String tag, String message, Object...args) { + LoggerFactory.getLogger(tag).debug(message, args); + } + + @Override + public void errorTag(String tag, String message, Object...args) { + LoggerFactory.getLogger(tag).error(message, args); + } + + @Override + public void errorTag(String tag, String message, Throwable exception) { + LoggerFactory.getLogger(tag).error(message, exception); + } + } } diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Startup.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Startup.java index 8a792bf8..8973c234 100644 --- a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Startup.java +++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Startup.java @@ -44,6 +44,7 @@ public class GDXAppTos4Startup { } }; Thread framework = new Thread(run); + framework.setName("boot"); framework.start(); return systemBundle; diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemWarpLogger.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemWarpLogger.java new file mode 100644 index 00000000..33b51f3b --- /dev/null +++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemWarpLogger.java @@ -0,0 +1,31 @@ +package love.distributedrebirth.gdxapp4d.tos4.service; + +import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ; + +@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天") +public interface SystemWarpLogger { + + void infoTag(String tag, String message, Object...args); + + void debugTag(String tag, String message, Object...args); + + void errorTag(String tag, String message, Object...args); + + void errorTag(String tag, String message, Throwable exception); + + default void info(Object tag, String message, Object...args) { + infoTag(tag.getClass().getName(), message, args); + } + + default void debug(Object tag, String message, Object...args) { + debugTag(tag.getClass().getName(), message, args); + } + + default void error(Object tag, String message, Object...args) { + errorTag(tag.getClass().getName(), message, args); + } + + default void error(Object tag, String message, Throwable exception) { + errorTag(tag.getClass().getName(), message, exception); + } +} diff --git a/gdxapp4d-vrgem4/pom.xml b/gdxapp4d-vrgem4/pom.xml index c5f22526..ebe6b61f 100644 --- a/gdxapp4d-vrgem4/pom.xml +++ b/gdxapp4d-vrgem4/pom.xml @@ -12,6 +12,7 @@ love.distributedrebirth.gdxapp4d gdxapp4d-tos4 ${project.version} + provided @@ -21,11 +22,20 @@ maven-bundle-plugin true + true <_donotcopy>(.git) + + <_dsannotations>* + + <_metatypeannotations>* - love.distributedrebirth.gdxapp4d.tos4.service, org.osgi.framework, + org.osgi.service.packageadmin, + org.osgi.service.url, + org.osgi.service.startlevel, + org.osgi.util.tracker, + love.distributedrebirth.gdxapp4d.tos4.service, com.badlogic.gdx, com.badlogic.gdx.assets, com.badlogic.gdx.assets.loaders, diff --git a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java index dad6e7a5..90e43a70 100644 --- a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java +++ b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java @@ -41,6 +41,11 @@ public class GDXAppVrGem4Activator implements BundleActivator { public void start(final BundleContext context) { // LOG.info("GDXAppVrGem4Activator started"); + try { + Thread.sleep(2000); + } catch (InterruptedException ignored) { + } + ServiceReference termRef = context.getServiceReference(SystemWarpTerminal.class); SystemWarpTerminal terminal = context.getService(termRef); @@ -162,7 +167,7 @@ public class GDXAppVrGem4Activator implements BundleActivator { } else { bootScreen.bootLine("vrGEM4: chains resolved."); try { - Thread.sleep(5000); + Thread.sleep(2000); } catch (InterruptedException ignored) { } Gdx.app.postRunnable(new Runnable() { diff --git a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/TestComponent.java b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/TestComponent.java new file mode 100644 index 00000000..57bda70c --- /dev/null +++ b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/TestComponent.java @@ -0,0 +1,28 @@ +package love.distributedrebirth.gdxapp4d.vrgem4; + +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; + +import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpLogger; +import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpShip; + +@Component +public class TestComponent { + + @Reference + private SystemWarpLogger log; + + @Reference + private SystemWarpShip warpShip; + + @Activate + void open() { + log.info(this, "Activated warpEngine: {}", warpShip.getWarpShip().theShip().getEngine()); + } + + @Deactivate + void close() { + } +} diff --git a/pom.xml b/pom.xml index 09a970fc..af63aa4d 100644 --- a/pom.xml +++ b/pom.xml @@ -12,6 +12,7 @@ gdxapp4d-app-notepad gdxapp4d-app-tosamp gdxapp4d-boot-desktop + gdxapp4d-chain-dep-osgi-scr gdxapp4d-chain-music-msx gdxapp4d-chain-music-templeos gdxapp4d-chain-sys-engine