org.argeo.slc.factory \
org.argeo.slc.runtime \
cms/org.argeo.slc.cms \
-suite/org.argeo.slc.tool \
+swt/rap/org.argeo.tool.server \
-VPATH = .:cms:suite
+VPATH = .:cms:swt/rap
clean:
rm -rf $(BUILD_BASE)
org.argeo.tp.jetty \
org.argeo.tp.eclipse \
osgi/api/org.argeo.tp.osgi \
-swt/rcp/org.argeo.tp.swt \
-lib/linux/x86_64/swt/rcp/org.argeo.tp.swt \
-swt/rcp/org.argeo.tp.swt.workbench \
+swt/rap/org.argeo.tp.swt \
+swt/rap/org.argeo.tp.swt.workbench \
org.argeo.tp.jcr \
org.argeo.tp.formats \
org.argeo.tp.gis \
org.argeo.cms \
-org.argeo.cms.eclipse.rcp \
+org.argeo.cms.eclipse.rap \
+GRAALVM_HOME = /opt/graalvm-ce
A2_BUNDLES_CLASSPATH = $(subst $(space),$(pathsep),$(strip $(A2_BUNDLES)))
-native-image:
+graalvm-custom:
+ $(GRAALVM_HOME)/bin/java -jar $(ECJ_JAR) @$(SDK_SRC_BASE)/sdk/argeo-build/ecj.args -cp $(A2_CLASSPATH) \
+ graalvm/org.argeo.slc.graalvm/src[-d $(SDK_BUILD_BASE)/$(A2_CATEGORY)/graalvm/bin]
+
+tool-server: osgi graalvm-custom
mkdir -p $(A2_OUTPUT)/libexec/$(A2_CATEGORY)
- cd $(A2_OUTPUT)/libexec/$(A2_CATEGORY) && /opt/graalvm-ce/bin/native-image \
- -cp $(A2_CLASSPATH):$(A2_BUNDLES_CLASSPATH) org.argeo.slc.tool.Main \
+ cd $(A2_OUTPUT)/libexec/$(A2_CATEGORY) && $(GRAALVM_HOME)/bin/native-image \
+ -cp $(A2_CLASSPATH):$(A2_BUNDLES_CLASSPATH):$(SDK_BUILD_BASE)/$(A2_CATEGORY)/graalvm/bin \
+ --features=org.argeo.slc.graalvm.feature.ArgeoToolFeature \
--enable-url-protocols=http,https \
-H:AdditionalSecurityProviders=sun.security.jgss.SunProvider,org.bouncycastle.jce.provider.BouncyCastleProvider,net.i2p.crypto.eddsa.EdDSASecurityProvider \
--initialize-at-build-time=org.argeo.init.logging.ThinLogging,org.slf4j.LoggerFactory \
- --no-fallback
-
+ --no-fallback \
+ org.argeo.tool.server.ArgeoServer \
+ argeo
+
include $(SDK_SRC_BASE)/sdk/argeo-build/osgi.mk
\ No newline at end of file
--- /dev/null
+include sdk.mk
+.PHONY: clean all osgi
+
+all: osgi
+
+A2_CATEGORY = org.argeo.slc
+
+BUNDLES = \
+swt/rcp/org.argeo.tool.desktop \
+
+VPATH = .:cms:swt/rcp
+
+clean:
+ rm -rf $(BUILD_BASE)
+
+A2_OUTPUT = $(SDK_BUILD_BASE)/a2
+A2_BASE = $(A2_OUTPUT)
+
+DEP_CATEGORIES = \
+org.argeo.tp \
+org.argeo.tp.sdk \
+org.argeo.tp.apache \
+org.argeo.tp.jetty \
+org.argeo.tp.eclipse \
+osgi/api/org.argeo.tp.osgi \
+swt/rcp/org.argeo.tp.swt \
+lib/linux/x86_64/swt/rcp/org.argeo.tp.swt \
+swt/rcp/org.argeo.tp.swt.workbench \
+org.argeo.cms \
+org.argeo.cms.eclipse.rcp \
+
+GRAALVM_HOME = /opt/graalvm-ce
+A2_BUNDLES_CLASSPATH = $(subst $(space),$(pathsep),$(strip $(A2_BUNDLES)))
+
+tool-desktop:
+ mkdir -p $(A2_OUTPUT)/libexec/$(A2_CATEGORY)
+ cd $(A2_OUTPUT)/libexec/$(A2_CATEGORY) && $(GRAALVM_HOME)/bin/native-image \
+ -cp $(A2_CLASSPATH):$(A2_BUNDLES_CLASSPATH):$(SDK_BUILD_BASE)/$(A2_CATEGORY)/graalvm/bin \
+ --features=org.argeo.slc.graalvm.feature.ArgeoToolFeature \
+ --enable-url-protocols=http,https \
+ -H:AdditionalSecurityProviders=sun.security.jgss.SunProvider,org.bouncycastle.jce.provider.BouncyCastleProvider,net.i2p.crypto.eddsa.EdDSASecurityProvider \
+ --initialize-at-build-time=org.argeo.init.logging.ThinLogging,org.slf4j.LoggerFactory \
+ --no-fallback \
+ org.argeo.tool.desktop.ArgeoDesktop \
+ argeo-desktop
+
+
+include $(SDK_SRC_BASE)/sdk/argeo-build/osgi.mk
\ No newline at end of file
+++ /dev/null
-package org.argeo.slc.cli.posix;
-
-import java.util.List;
-
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.Option;
-import org.apache.commons.cli.Options;
-import org.argeo.api.cli.DescribedCommand;
-
-public class Echo implements DescribedCommand<String> {
-
- @Override
- public Options getOptions() {
- Options options = new Options();
- options.addOption(Option.builder("n").desc("do not output the trailing newline").build());
- return options;
- }
-
- @Override
- public String getDescription() {
- return "Display a line of text";
- }
-
- @Override
- public String getUsage() {
- return "[STRING]...";
- }
-
- @Override
- public String apply(List<String> args) {
- CommandLine cl = toCommandLine(args);
-
- StringBuffer sb = new StringBuffer();
- for (String s : cl.getArgList()) {
- sb.append(s).append(' ');
- }
-
- if (cl.hasOption('n')) {
- sb.deleteCharAt(sb.length() - 1);
- } else {
- sb.setCharAt(sb.length() - 1, '\n');
- }
- return sb.toString();
- }
-
-}
+++ /dev/null
-package org.argeo.slc.cli.posix;
-
-import org.argeo.api.cli.CommandsCli;
-
-/** POSIX commands. */
-public class PosixCommands extends CommandsCli {
-
- public PosixCommands(String commandName) {
- super(commandName);
- addCommand("echo", new Echo());
- }
-
- @Override
- public String getDescription() {
- return "Reimplementation of some POSIX commands in plain Java";
- }
-
- public static void main(String[] args) {
- mainImpl(new PosixCommands("argeo-posix"), args);
- }
-}
+++ /dev/null
-/** Posix CLI commands. */
-package org.argeo.slc.cli.posix;
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.argeo.slc.graalvm</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
--- /dev/null
+Import-Package: \
+!org.graalvm.nativeimage.*, \
+*
\ No newline at end of file
--- /dev/null
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
--- /dev/null
+package org.argeo.slc.graalvm.feature;
+
+import java.security.Security;
+
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.graalvm.nativeimage.ImageSingletons;
+import org.graalvm.nativeimage.hosted.Feature;
+import org.graalvm.nativeimage.hosted.RuntimeClassInitialization;
+import org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport;
+
+import net.i2p.crypto.eddsa.EdDSASecurityProvider;
+
+/** Required native image customisations. */
+public class ArgeoToolFeature implements Feature {
+
+ @Override
+ public void afterRegistration(AfterRegistrationAccess access) {
+ // JCE providers need to be registered at build time.
+ // https://github.com/oracle/graal/issues/2800#issuecomment-702480444
+ // https://github.com/micronaut-projects/micronaut-oracle-cloud/pull/17/files#r498585779
+ RuntimeClassInitialization.initializeAtBuildTime("org.bouncycastle");
+ Security.addProvider(new BouncyCastleProvider());
+
+ RuntimeClassInitialization.initializeAtBuildTime("net.i2p.crypto.eddsa");
+ Security.addProvider(new EdDSASecurityProvider());
+
+ // required for Tomcat JNI DLL to load properly
+ RuntimeClassInitialization.initializeAtBuildTime("org.apache.tomcat.jni");
+
+ RuntimeClassInitializationSupport rci = ImageSingletons.lookup(RuntimeClassInitializationSupport.class);
+ rci.rerunInitialization("org.bouncycastle.jcajce.provider.drbg.DRBG$Default", "dependency with native random");
+ rci.rerunInitialization("org.bouncycastle.jcajce.provider.drbg.DRBG$NonceAndIV",
+ "dependency with native random");
+ }
+
+}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.slc.tool</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.annotationPath.allLocations=disabled
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.problem.APILeak=warning
-org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
-org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+++ /dev/null
-[
-{
- "name":"com.sun.security.auth.module.UnixSystem",
- "fields":[
- {"name":"gid"},
- {"name":"groups"},
- {"name":"uid"},
- {"name":"username"}
- ]
-},
-{
- "name":"java.lang.Boolean",
- "methods":[{"name":"getBoolean","parameterTypes":["java.lang.String"] }]
-},
-{
- "name":"java.lang.ClassLoader",
- "methods":[
- {"name":"getPlatformClassLoader","parameterTypes":[] },
- {"name":"loadClass","parameterTypes":["java.lang.String"] }
- ]
-},
-{
- "name":"java.lang.String",
- "methods":[
- {"name":"<init>","parameterTypes":["byte[]"] },
- {"name":"getBytes","parameterTypes":[] }
- ]
-},
-{
- "name":"java.lang.Throwable",
- "methods":[{"name":"addSuppressed","parameterTypes":["java.lang.Throwable"] }]
-},
-{
- "name":"jdk.internal.loader.ClassLoaders$PlatformClassLoader"
-},
-{
- "name":"org.apache.tomcat.jni.FileInfo",
- "fields":[
- {"name":"atime"},
- {"name":"csize"},
- {"name":"ctime"},
- {"name":"device"},
- {"name":"filehand"},
- {"name":"filetype"},
- {"name":"fname"},
- {"name":"group"},
- {"name":"inode"},
- {"name":"mtime"},
- {"name":"name"},
- {"name":"nlink"},
- {"name":"pool"},
- {"name":"protection"},
- {"name":"size"},
- {"name":"user"},
- {"name":"valid"}
- ],
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.apache.tomcat.jni.Sockaddr",
- "fields":[
- {"name":"family"},
- {"name":"hostname"},
- {"name":"next"},
- {"name":"pool"},
- {"name":"port"},
- {"name":"servname"}
- ],
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.argeo.slc.tool.Main",
- "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }]
-},
-{
- "name":"org.eclipse.swt.browser.WebKit",
- "methods":[
- {"name":"JSDOMEventProc","parameterTypes":["long","long","long"] },
- {"name":"Proc","parameterTypes":["long","long"] },
- {"name":"Proc","parameterTypes":["long","long","long"] },
- {"name":"Proc","parameterTypes":["long","long","long","long"] },
- {"name":"Proc","parameterTypes":["long","long","long","long","long"] }
- ]
-},
-{
- "name":"org.eclipse.swt.browser.WebKit$WebKitExtension",
- "methods":[{"name":"initializeWebExtensions_callback","parameterTypes":["long","long"] }]
-},
-{
- "name":"org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync",
- "methods":[
- {"name":"getCookie_callback","parameterTypes":["long","long","long"] },
- {"name":"getText_callback","parameterTypes":["long","long","long"] },
- {"name":"runjavascript_callback","parameterTypes":["long","long","long"] },
- {"name":"setCookie_callback","parameterTypes":["long","long","long"] }
- ]
-},
-{
- "name":"org.eclipse.swt.browser.WebkitGDBus",
- "methods":[
- {"name":"authenticatePeerCB","parameterTypes":["long","long","long","long"] },
- {"name":"callExtensionAsyncCB","parameterTypes":["long","long","long"] },
- {"name":"handleMethodCB","parameterTypes":["long","long","long","long","long","long","long","long"] },
- {"name":"newConnectionCB","parameterTypes":["long","long","long"] },
- {"name":"newConnectionToExtensionCB","parameterTypes":["long","long","long"] }
- ]
-},
-{
- "name":"org.eclipse.swt.graphics.Device",
- "methods":[{"name":"logProc","parameterTypes":["long","long","long","long"] }]
-},
-{
- "name":"org.eclipse.swt.internal.SessionManagerDBus",
- "methods":[{"name":"g_signal_handler","parameterTypes":["long","long","long","long","long"] }]
-},
-{
- "name":"org.eclipse.swt.internal.cairo.cairo_rectangle_int_t",
- "fields":[
- {"name":"height"},
- {"name":"width"},
- {"name":"x"},
- {"name":"y"}
- ]
-},
-{
- "name":"org.eclipse.swt.internal.gtk.GTypeInfo",
- "fields":[
- {"name":"base_finalize"},
- {"name":"base_init"},
- {"name":"class_data"},
- {"name":"class_finalize"},
- {"name":"class_init"},
- {"name":"class_size"},
- {"name":"instance_init"},
- {"name":"instance_size"},
- {"name":"n_preallocs"},
- {"name":"value_table"}
- ]
-},
-{
- "name":"org.eclipse.swt.internal.gtk.GdkKeymapKey",
- "fields":[
- {"name":"group"},
- {"name":"keycode"},
- {"name":"level"}
- ]
-},
-{
- "name":"org.eclipse.swt.internal.gtk.GdkRGBA",
- "fields":[
- {"name":"alpha"},
- {"name":"blue"},
- {"name":"green"},
- {"name":"red"}
- ]
-},
-{
- "name":"org.eclipse.swt.internal.gtk.GdkRectangle",
- "fields":[
- {"name":"height"},
- {"name":"width"},
- {"name":"x"},
- {"name":"y"}
- ]
-},
-{
- "name":"org.eclipse.swt.internal.gtk.GtkAllocation",
- "fields":[
- {"name":"height"},
- {"name":"width"},
- {"name":"x"},
- {"name":"y"}
- ]
-},
-{
- "name":"org.eclipse.swt.internal.gtk.GtkBorder",
- "fields":[
- {"name":"bottom"},
- {"name":"left"},
- {"name":"right"},
- {"name":"top"}
- ]
-},
-{
- "name":"org.eclipse.swt.internal.gtk.GtkRequisition",
- "fields":[
- {"name":"height"},
- {"name":"width"}
- ]
-},
-{
- "name":"org.eclipse.swt.internal.gtk3.GdkEvent",
- "fields":[{"name":"type"}]
-},
-{
- "name":"org.eclipse.swt.internal.gtk3.GdkEventCrossing",
- "fields":[
- {"name":"detail"},
- {"name":"focus"},
- {"name":"mode"},
- {"name":"send_event"},
- {"name":"state"},
- {"name":"subwindow"},
- {"name":"time"},
- {"name":"window"},
- {"name":"x"},
- {"name":"x_root"},
- {"name":"y"},
- {"name":"y_root"}
- ]
-},
-{
- "name":"org.eclipse.swt.internal.gtk3.GdkEventFocus",
- "fields":[
- {"name":"in"},
- {"name":"send_event"},
- {"name":"window"}
- ]
-},
-{
- "name":"org.eclipse.swt.internal.gtk3.GdkEventKey",
- "fields":[
- {"name":"group"},
- {"name":"hardware_keycode"},
- {"name":"is_modifier"},
- {"name":"keyval"},
- {"name":"length"},
- {"name":"send_event"},
- {"name":"state"},
- {"name":"string"},
- {"name":"time"},
- {"name":"window"}
- ]
-},
-{
- "name":"org.eclipse.swt.internal.gtk3.GdkEventMotion",
- "fields":[
- {"name":"axes"},
- {"name":"device"},
- {"name":"is_hint"},
- {"name":"send_event"},
- {"name":"state"},
- {"name":"time"},
- {"name":"window"},
- {"name":"x"},
- {"name":"x_root"},
- {"name":"y"},
- {"name":"y_root"}
- ]
-},
-{
- "name":"org.eclipse.swt.internal.gtk3.GdkEventWindowState",
- "fields":[
- {"name":"changed_mask"},
- {"name":"new_window_state"},
- {"name":"send_event"},
- {"name":"window"}
- ]
-},
-{
- "name":"org.eclipse.swt.widgets.Control",
- "methods":[
- {"name":"gestureBeginProc","parameterTypes":["long","long","long"] },
- {"name":"gestureEndProc","parameterTypes":["long","long","long"] },
- {"name":"magnifyProc","parameterTypes":["long","double","long"] },
- {"name":"rotateProc","parameterTypes":["long","double","double","long"] },
- {"name":"swipeProc","parameterTypes":["long","double","double","long"] }
- ]
-},
-{
- "name":"org.eclipse.swt.widgets.Display",
- "methods":[
- {"name":"allChildrenProc","parameterTypes":["long","long"] },
- {"name":"caretProc","parameterTypes":["long"] },
- {"name":"cellDataProc","parameterTypes":["long","long","long","long","long"] },
- {"name":"changeValue","parameterTypes":["long","int","double","long"] },
- {"name":"checkIfEventProc","parameterTypes":["long","long","long"] },
- {"name":"emissionProc","parameterTypes":["long","long","long","long"] },
- {"name":"eventProc","parameterTypes":["long","long"] },
- {"name":"idleProc","parameterTypes":["long"] },
- {"name":"keysChangedProc","parameterTypes":["long","long"] },
- {"name":"mouseHoverProc","parameterTypes":["long"] },
- {"name":"notifyProc","parameterTypes":["long","long","long"] },
- {"name":"rendererClassInitProc","parameterTypes":["long","long"] },
- {"name":"rendererGetPreferredWidthProc","parameterTypes":["long","long","long","long"] },
- {"name":"rendererRenderProc","parameterTypes":["long","long","long","long","long","long"] },
- {"name":"setDirectionProc","parameterTypes":["long","long"] },
- {"name":"shellMapProc","parameterTypes":["long","long","long"] },
- {"name":"signalProc","parameterTypes":["long","long","long"] },
- {"name":"sizeAllocateProc","parameterTypes":["long","long","long"] },
- {"name":"sizeRequestProc","parameterTypes":["long","long","long"] },
- {"name":"timerProc","parameterTypes":["long"] },
- {"name":"windowProc","parameterTypes":["long","long"] },
- {"name":"windowProc","parameterTypes":["long","long","long"] },
- {"name":"windowProc","parameterTypes":["long","long","long","long"] },
- {"name":"windowProc","parameterTypes":["long","long","long","long","long"] },
- {"name":"windowTimerProc","parameterTypes":["long"] }
- ]
-},
-{
- "name":"org.eclipse.swt.widgets.ToolBar",
- "methods":[{"name":"MenuItemSelectedProc","parameterTypes":["long","long"] }]
-},
-{
- "name":"org.graalvm.jniutils.JNIExceptionWrapperEntryPoints",
- "methods":[{"name":"getClassName","parameterTypes":["java.lang.Class"] }]
-},
-{
- "name":"sun.management.VMManagementImpl",
- "fields":[
- {"name":"compTimeMonitoringSupport"},
- {"name":"currentThreadCpuTimeSupport"},
- {"name":"objectMonitorUsageSupport"},
- {"name":"otherThreadCpuTimeSupport"},
- {"name":"remoteDiagnosticCommandsSupport"},
- {"name":"synchronizerUsageSupport"},
- {"name":"threadAllocatedMemorySupport"},
- {"name":"threadContentionMonitoringSupport"}
- ]
-}
-]
+++ /dev/null
-[
- {
- "type":"agent-extracted",
- "classes":[
- ]
- }
-]
-
+++ /dev/null
-[
- {
- "interfaces":["org.apache.sshd.common.channel.ChannelListener"]}
- ,
- {
- "interfaces":["org.apache.sshd.common.forward.PortForwardingEventListener"]}
- ,
- {
- "interfaces":["org.apache.sshd.common.session.SessionListener"]}
-
-]
+++ /dev/null
-[
-{
- "name":"[B"
-},
-{
- "name":"[Ljava.lang.String;"
-},
-{
- "name":"[Lsun.security.pkcs.SignerInfo;"
-},
-{
- "name":"com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"java.lang.String"
-},
-{
- "name":"java.security.KeyFactory",
- "methods":[{"name":"getInstance","parameterTypes":["java.lang.String","java.lang.String"] }]
-},
-{
- "name":"java.security.KeyPairGenerator",
- "methods":[{"name":"getInstance","parameterTypes":["java.lang.String","java.lang.String"] }]
-},
-{
- "name":"java.security.MessageDigest",
- "methods":[{"name":"getInstance","parameterTypes":["java.lang.String","java.lang.String"] }]
-},
-{
- "name":"java.security.SecureRandomParameters"
-},
-{
- "name":"java.security.Signature",
- "methods":[{"name":"getInstance","parameterTypes":["java.lang.String","java.lang.String"] }]
-},
-{
- "name":"java.security.cert.PKIXRevocationChecker"
-},
-{
- "name":"java.util.Date"
-},
-{
- "name":"javax.crypto.Cipher",
- "methods":[{"name":"getInstance","parameterTypes":["java.lang.String","java.lang.String"] }]
-},
-{
- "name":"javax.crypto.KeyAgreement",
- "methods":[{"name":"getInstance","parameterTypes":["java.lang.String","java.lang.String"] }]
-},
-{
- "name":"javax.crypto.spec.GCMParameterSpec"
-},
-{
- "name":"javax.security.auth.login.Configuration$Parameters"
-},
-{
- "name":"javax.security.auth.x500.X500Principal",
- "fields":[{"name":"thisX500Name"}],
- "queriedMethods":[{"name":"<init>","parameterTypes":["sun.security.x509.X500Name"] }]
-},
-{
- "name":"net.i2p.crypto.eddsa.EdDSAKey"
-},
-{
- "name":"net.i2p.crypto.eddsa.EdDSASecurityProvider",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"net.i2p.crypto.eddsa.KeyFactory",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.apache.sshd.common.SshConstants",
- "allPublicFields":true
-},
-{
- "name":"org.apache.sshd.common.io.nio2.Nio2ServiceFactoryFactory",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.apache.sshd.common.session.SessionListener",
- "methods":[
- {"name":"sessionClosed","parameterTypes":["org.apache.sshd.common.session.Session"] },
- {"name":"sessionCreated","parameterTypes":["org.apache.sshd.common.session.Session"] },
- {"name":"sessionEstablished","parameterTypes":["org.apache.sshd.common.session.Session"] },
- {"name":"sessionEvent","parameterTypes":["org.apache.sshd.common.session.Session","org.apache.sshd.common.session.SessionListener$Event"] },
- {"name":"sessionNegotiationEnd","parameterTypes":["org.apache.sshd.common.session.Session","java.util.Map","java.util.Map","java.util.Map","java.lang.Throwable"] },
- {"name":"sessionNegotiationOptionsCreated","parameterTypes":["org.apache.sshd.common.session.Session","java.util.Map"] },
- {"name":"sessionNegotiationStart","parameterTypes":["org.apache.sshd.common.session.Session","java.util.Map","java.util.Map"] },
- {"name":"sessionPeerIdentificationLine","parameterTypes":["org.apache.sshd.common.session.Session","java.lang.String","java.util.List"] },
- {"name":"sessionPeerIdentificationReceived","parameterTypes":["org.apache.sshd.common.session.Session","java.lang.String","java.util.List"] },
- {"name":"sessionPeerIdentificationSend","parameterTypes":["org.apache.sshd.common.session.Session","java.lang.String","java.util.List"] }
- ]
-},
-{
- "name":"org.apache.sshd.common.util.security.bouncycastle.BouncyCastleSecurityProviderRegistrar",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.apache.sshd.common.util.security.eddsa.EdDSASecurityProviderRegistrar",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.apache.xerces.impl.dv.dtd.XML11DTDDVFactoryImpl",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.apache.xerces.impl.dv.xs.ExtendedSchemaDVFactoryImpl",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.apache.xerces.impl.dv.xs.SchemaDVFactoryImpl",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.apache.xerces.impl.xs.XSMessageFormatter",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.apache.xerces.parsers.XIncludeAwareParserConfiguration",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.argeo.cms.auth.DataAdminLoginModule",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.argeo.cms.auth.SingleUserLoginModule",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.COMPOSITE$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.DH$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.DSA$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.DSTU4145$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.EC$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.ECGOST$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.EXTERNAL$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.EdEC$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.ElGamal$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.GM$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.GOST$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.IES$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.LMS$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.RSA$Mappings",
- "allPublicMethods":true,
- "allPublicConstructors":true,
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.SPHINCSPlus$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.X509$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.dh.KeyPairGeneratorSpi",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.ec.KeyFactorySpi$EC",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.ec.KeyPairGeneratorSpi$EC",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.ec.SignatureSpi$ecDSA256",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.ec.SignatureSpi$ecDSA512",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.edec.KeyAgreementSpi$X25519",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.edec.KeyAgreementSpi$X448",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.edec.KeyFactorySpi$X25519",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.edec.KeyFactorySpi$X448",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.edec.KeyPairGeneratorSpi$X25519",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.edec.KeyPairGeneratorSpi$X448",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.rsa.DigestSignatureSpi$SHA512",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyFactorySpi",
- "allPublicMethods":true,
- "allPublicConstructors":true
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.Blake2b$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.Blake2s$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.Blake3$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.DSTU7564$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.GOST3411$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.Haraka$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.Keccak$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.MD2$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.MD4$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.MD5$Digest",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.MD5$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.RIPEMD128$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.RIPEMD160$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.RIPEMD256$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.RIPEMD320$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.SHA1$Digest",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.SHA1$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.SHA224$Digest",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.SHA224$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.SHA256$Digest",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.SHA256$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.SHA3$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.SHA384$Digest",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.SHA384$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.SHA512$Digest",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.SHA512$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.SM3$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.Skein$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.Tiger$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.digest.Whirlpool$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.drbg.DRBG$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.keystore.BC$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.keystore.BCFKS$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.keystore.PKCS12$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.AES$ECB",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.AES$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.ARC4$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.ARIA$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.Blowfish$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.CAST5$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.CAST6$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.Camellia$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.ChaCha$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.DES$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.DESede$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.DSTU7624$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.GOST28147$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.GOST3412_2015$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.Grain128$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.Grainv1$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.HC128$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.HC256$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.IDEA$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.Noekeon$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.OpenSSLPBKDF$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF1$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.Poly1305$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.RC2$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.RC5$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.RC6$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.Rijndael$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.SCRYPT$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.SEED$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.SM4$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.Salsa20$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.Serpent$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.Shacal2$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.SipHash$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.SipHash128$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.Skipjack$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.TEA$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.TLSKDF$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.Threefish$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.Twofish$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.VMPC$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.VMPCKSA3$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.XSalsa20$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.XTEA$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jcajce.provider.symmetric.Zuc$Mappings",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.bouncycastle.jce.provider.BouncyCastleProvider",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"org.eclipse.swt.widgets.Display"
-},
-{
- "name":"sun.security.provider.ConfigFile$Spi",
- "methods":[{"name":"<init>","parameterTypes":["javax.security.auth.login.Configuration$Parameters"] }]
-},
-{
- "name":"sun.security.provider.DRBG",
- "methods":[{"name":"<init>","parameterTypes":["java.security.SecureRandomParameters"] }]
-},
-{
- "name":"sun.security.provider.NativePRNG",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"sun.security.provider.SHA",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"sun.security.provider.SHA2$SHA256",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"sun.security.provider.SHA5$SHA512",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"sun.security.provider.X509Factory",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"sun.security.rsa.RSAKeyFactory$Legacy",
- "methods":[{"name":"<init>","parameterTypes":[] }]
-},
-{
- "name":"sun.security.util.ObjectIdentifier"
-},
-{
- "name":"sun.security.x509.CertificateExtensions"
-}
-]
+++ /dev/null
-{
- "resources":{
- "includes":[
- {
- "pattern":"\\QMETA-INF/services/java.lang.System$LoggerFinder\\E"
- },
- {
- "pattern":"\\QMETA-INF/services/javax.xml.validation.SchemaFactory\\E"
- },
- {
- "pattern":"\\Qorg/apache/sshd/sshd-version.properties\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/acr/schemas/DSMLv2.xsd\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/acr/schemas/SVG.xsd\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/acr/schemas/XForms-11-Schema.xsd\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/acr/schemas/XMLSchema.dtd\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/acr/schemas/XMLSchema.xsd\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/acr/schemas/cr.xsd\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/acr/schemas/datatypes.dtd\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/acr/schemas/docbook.xsd\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/acr/schemas/schema-for-xslt20.xsd\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/acr/schemas/xlink.xsd\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/acr/schemas/xml-events-attribs-1.xsd\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/acr/schemas/xml.xsd\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/internal/runtime/dc=example,dc=com.ldif\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/internal/runtime/jaas.cfg\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/internal/runtime/ou=roles,ou=node.ldif\\E"
- },
- {
- "pattern":"\\Qorg/argeo/cms/internal/runtime/ou=tokens,ou=node.ldif\\E"
- },
- {
- "pattern":"\\Qorg/argeo/minidesktop/cheatsheet_obj@2x.png\\E"
- },
- {
- "pattern":"\\Qorg/argeo/minidesktop/console_view@2x.png\\E"
- },
- {
- "pattern":"\\Qorg/argeo/minidesktop/delete@2x.png\\E"
- },
- {
- "pattern":"\\Qorg/argeo/minidesktop/external_browser@2x.png\\E"
- },
- {
- "pattern":"\\Qorg/argeo/minidesktop/file_obj@2x.png\\E"
- },
- {
- "pattern":"\\Qorg/argeo/minidesktop/fldr_obj@2x.png\\E"
- },
- {
- "pattern":"\\Qorg/argeo/minidesktop/nav_home@2x.png\\E"
- },
- {
- "pattern":"\\Qorg/argeo/osgi/useradmin/jaas-os.cfg\\E"
- },
- {
- "pattern":"\\Qorg/eclipse/swt/internal/gtk/swt_functional_gtk_3_20.css\\E"
- },
- {
- "pattern":"\\Qorg/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_3_20.css\\E"
- },
- {
- "pattern":"\\Qorg/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_3_24_5.css\\E"
- },
- {
- "pattern":"\\Qorg/slf4j/impl/StaticLoggerBinder.class\\E"
- }
- ]},
- "bundles":[
- {
- "name":"org.apache.xerces.impl.msg.XMLSchemaMessages",
- "locales":[
- "en",
- "und"
- ]
- },
- {
- "name":"org.apache.xerces.impl.xpath.regex.message",
- "locales":[
- "",
- "en",
- "und"
- ]
- },
- {
- "name":"org.eclipse.swt.internal.SWTMessages",
- "locales":["und"]
- },
- {
- "name":"sun.security.util.Resources",
- "classNames":["sun.security.util.Resources"]
- }
- ]
-}
+++ /dev/null
-{
- "types":[
- ],
- "lambdaCapturingTypes":[
- ]
-}
+++ /dev/null
-Main-Class: org.argeo.slc.tool.Main
-
-Import-Package: \
-org.apache.sshd.client.session,\
-*
\ No newline at end of file
+++ /dev/null
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .
-additional.bundles = org.slf4j.api,\
- org.argeo.ext.slf4j,\
- org.apache.tomcat.jni
-
\ No newline at end of file
+++ /dev/null
-package org.argeo.slc.tool;
-
-import java.security.Security;
-
-import org.apache.commons.cli.Option;
-import org.argeo.api.cli.CommandsCli;
-import org.argeo.cms.ssh.cli.SshCli;
-import org.argeo.cms.swt.rcp.cli.CmsCli;
-import org.argeo.slc.cli.posix.PosixCommands;
-import org.argeo.slc.tool.swt.MiniDesktopCli;
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
-
-/** Argeo command line tools. */
-public class Main extends CommandsCli {
- static {
- Security.addProvider(new BouncyCastleProvider());
- }
-
- public Main(String commandName) {
- super(commandName);
- // Common options
- options.addOption(Option.builder("v").hasArg().argName("verbose").desc("verbosity").build());
- options.addOption(
- Option.builder("D").hasArgs().argName("property=value").desc("use value for given property").build());
-
- addCommandsCli(new PosixCommands("posix"));
- addCommandsCli(new CmsCli("cms"));
- addCommandsCli(new MiniDesktopCli("minidesktop"));
- addCommandsCli(new SshCli("ssh"));
-// addCommandsCli(new FsCommands("fs"));
-// addCommandsCli(new JcrCommands("jcr"));
- }
-
- @Override
- public String getDescription() {
- return "Argeo command line utilities";
- }
-
- public static void main(String[] args) {
- mainImpl(new Main("argeo"), args);
- }
-
-}
+++ /dev/null
-package org.argeo.slc.tool.graalvm;
-
-import java.security.Security;
-
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
-import org.graalvm.nativeimage.ImageSingletons;
-import org.graalvm.nativeimage.hosted.Feature;
-import org.graalvm.nativeimage.hosted.RuntimeClassInitialization;
-import org.graalvm.nativeimage.impl.RuntimeClassInitializationSupport;
-
-import com.oracle.svm.core.annotate.AutomaticFeature;
-
-import net.i2p.crypto.eddsa.EdDSASecurityProvider;
-
-/**
- * BounvyCastle JCE provider needs to be registered at build time.
- *
- * @see https://github.com/oracle/graal/issues/2800#issuecomment-702480444
- * @see https://github.com/micronaut-projects/micronaut-oracle-cloud/pull/17/files#r498585779
- */
-@AutomaticFeature
-public class BouncyCastleFeature implements Feature {
-
- @Override
- public void afterRegistration(AfterRegistrationAccess access) {
- RuntimeClassInitialization.initializeAtBuildTime("org.bouncycastle");
- Security.addProvider(new BouncyCastleProvider());
-
- RuntimeClassInitialization.initializeAtBuildTime("net.i2p.crypto.eddsa");
- Security.addProvider(new EdDSASecurityProvider());
-
- // required for Tomcat JNI DLL to load properly
- RuntimeClassInitialization.initializeAtBuildTime("org.apache.tomcat.jni");
-
- RuntimeClassInitializationSupport rci = ImageSingletons.lookup(RuntimeClassInitializationSupport.class);
- rci.rerunInitialization("org.bouncycastle.jcajce.provider.drbg.DRBG$Default", "dependency with native random");
- rci.rerunInitialization("org.bouncycastle.jcajce.provider.drbg.DRBG$NonceAndIV",
- "dependency with native random");
- }
-
-}
+++ /dev/null
-package org.argeo.slc.tool.swt;
-
-import java.util.List;
-
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.Option;
-import org.apache.commons.cli.Options;
-import org.argeo.api.cli.CommandsCli;
-import org.argeo.api.cli.DescribedCommand;
-import org.argeo.minidesktop.MiniDesktopManager;
-
-public class MiniDesktopCli extends CommandsCli {
-
- public MiniDesktopCli(String commandName) {
- super(commandName);
- addCommand("launch", new Launch());
- }
-
- @Override
- public String getDescription() {
- return "A minimalistic desktop manager based on Java and Eclipse SWT.";
- }
-
- public static void main(String[] args) {
- mainImpl(new MiniDesktopCli("minidesktop"), args);
- }
-
- static class Launch implements DescribedCommand<String> {
- @Override
- public Options getOptions() {
- Options options = new Options();
- options.addOption(Option.builder().longOpt("fullscreen")
- .desc("take control of the whole screen (default is to run in a window)").build());
- options.addOption(Option.builder().longOpt("stacking")
- .desc("open apps as tabs (default is to create new windows)").build());
- return options;
- }
-
- @Override
- public String apply(List<String> args) {
- CommandLine cl = toCommandLine(args);
- boolean fullscreen = cl.hasOption("fullscreen");
- boolean stacking = cl.hasOption("stacking");
-
- MiniDesktopManager desktopManager = new MiniDesktopManager(fullscreen, stacking);
- desktopManager.init();
- desktopManager.run();
- desktopManager.dispose();
- return null;
- }
-
- @Override
- public String getDescription() {
- return "Launch a minidesktop manager.";
- }
-
- }
-}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.argeo.tool.server</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
--- /dev/null
+Import-Package: \
+org.apache.commons.cli, \
+*
\ No newline at end of file
--- /dev/null
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
--- /dev/null
+package org.argeo.tool.server;
+
+import org.argeo.cms.cli.ArgeoCli;
+import org.argeo.cms.swt.rap.cli.CmsRapCli;
+
+/** Argeo command line tools. */
+public class ArgeoServer extends ArgeoCli {
+ public ArgeoServer(String commandName) {
+ super(commandName);
+ addCommandsCli(new CmsRapCli("cms"));
+ }
+
+ @Override
+ public String getDescription() {
+ return "Argeo server utilities";
+ }
+
+ public static void main(String[] args) {
+ mainImpl(new ArgeoServer("argeo"), args);
+ }
+
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.argeo.tool.desktop</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
--- /dev/null
+Main-Class: org.argeo.slc.tool.Main
+
+Import-Package: \
+org.apache.sshd.client.session,\
+*
\ No newline at end of file
--- /dev/null
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
+additional.bundles = org.slf4j.api,\
+ org.argeo.ext.slf4j,\
+ org.apache.tomcat.jni
+
\ No newline at end of file
--- /dev/null
+package org.argeo.tool.desktop;
+
+import org.argeo.cms.cli.ArgeoCli;
+import org.argeo.cms.swt.rcp.cli.CmsCli;
+
+/** Argeo command line tools. */
+public class ArgeoDesktop extends ArgeoCli {
+ public ArgeoDesktop(String commandName) {
+ super(commandName);
+ addCommandsCli(new CmsCli("cms"));
+ addCommandsCli(new MiniDesktopCli("minidesktop"));
+ }
+
+ @Override
+ public String getDescription() {
+ return "Argeo desktop utilities";
+ }
+
+ public static void main(String[] args) {
+ mainImpl(new ArgeoDesktop("argeo-desktop"), args);
+ }
+
+}
--- /dev/null
+package org.argeo.tool.desktop;
+
+import java.util.List;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.Options;
+import org.argeo.api.cli.CommandsCli;
+import org.argeo.api.cli.DescribedCommand;
+import org.argeo.minidesktop.MiniBrowser;
+import org.argeo.minidesktop.MiniDesktopManager;
+import org.argeo.minidesktop.MiniDesktopSpecific;
+import org.eclipse.swt.browser.Browser;
+
+public class MiniDesktopCli extends CommandsCli {
+
+ public MiniDesktopCli(String commandName) {
+ super(commandName);
+ addCommand("launch", new Launch());
+ }
+
+ @Override
+ public String getDescription() {
+ return "A minimalistic desktop manager based on Java and Eclipse SWT.";
+ }
+
+ public static void main(String[] args) {
+ mainImpl(new MiniDesktopCli("minidesktop"), args);
+ }
+
+ static class Launch implements DescribedCommand<String> {
+ @Override
+ public Options getOptions() {
+ Options options = new Options();
+ options.addOption(Option.builder().longOpt("fullscreen")
+ .desc("take control of the whole screen (default is to run in a window)").build());
+ options.addOption(Option.builder().longOpt("stacking")
+ .desc("open apps as tabs (default is to create new windows)").build());
+ return options;
+ }
+
+ @Override
+ public String apply(List<String> args) {
+ CommandLine cl = toCommandLine(args);
+ boolean fullscreen = cl.hasOption("fullscreen");
+ boolean stacking = cl.hasOption("stacking");
+
+ MiniDesktopSpecific.setMiniDesktopSpecific(new MiniDesktopSpecific() {
+ @Override
+ protected void addBrowserTitleListener(MiniBrowser miniBrowser, Browser browser) {
+ browser.addTitleListener(e -> miniBrowser.titleChanged(e.title));
+ }
+
+ @Override
+ protected void addBrowserOpenWindowListener(MiniBrowser miniBrowser, Browser browser) {
+ browser.addOpenWindowListener((e) -> {
+ e.browser = miniBrowser.openNewBrowserWindow();
+ });
+ }
+
+ });
+
+ MiniDesktopManager desktopManager = new MiniDesktopManager(fullscreen, stacking);
+ desktopManager.init();
+ desktopManager.run();
+ desktopManager.dispose();
+ return null;
+ }
+
+ @Override
+ public String getDescription() {
+ return "Launch a minidesktop manager.";
+ }
+
+ }
+}
+++ /dev/null
-Bundle-License: GPL-2.0-only WITH Classpath-exception-2.0
-SLC-Origin-M2: org.graalvm.nativeimage:svm:22.1.0.1
-# Workaround for errors in Eclipse PDE when using GraalVM as JCM
-Import-Package: *;resolution:="optional"
\ No newline at end of file