.PHONY: clean all osgi
all: osgi
+ $(MAKE) -f Makefile-rcp.mk all
A2_CATEGORY = org.argeo.slc
org.argeo.slc.repo \
org.argeo.slc.rpmfactory \
org.argeo.slc.jcr \
+swt/rap/org.argeo.tool.rap.cli \
swt/rap/org.argeo.tool.server \
clean:
rm -rf $(BUILD_BASE)
+ $(MAKE) -f Makefile-rcp.mk clean
DEP_CATEGORIES = \
org.argeo.tp \
org.argeo.tp.gis \
org.argeo.cms \
org.argeo.cms.jcr \
+swt/org.argeo.cms \
swt/rap/org.argeo.cms \
GRAALVM_HOME = /opt/graalvm-ce
A2_CATEGORY = org.argeo.slc
BUNDLES = \
+swt/rcp/org.argeo.tool.rcp.cli \
swt/rcp/org.argeo.tool.desktop \
clean:
--- /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.rap.cli</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
+[
+{
+ "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":"jdk.internal.loader.ClassLoaders$PlatformClassLoader"
+},
+{
+ "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":["javax.servlet.http.HttpServletRequest"]}
+ ,
+ {
+ "interfaces":["javax.servlet.http.HttpServletResponse"]}
+
+]
--- /dev/null
+[
+{
+ "name":"[B"
+},
+{
+ "name":"[Ljava.lang.String;"
+},
+{
+ "name":"[Lorg.eclipse.swt.widgets.TableColumn;"
+},
+{
+ "name":"[Lorg.eclipse.swt.widgets.TreeColumn;"
+},
+{
+ "name":"[Lsun.security.pkcs.SignerInfo;"
+},
+{
+ "name":"com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"java.lang.Boolean",
+ "queriedMethods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
+{
+ "name":"java.lang.Byte",
+ "queriedMethods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
+{
+ "name":"java.lang.Class"
+},
+{
+ "name":"java.lang.Double",
+ "queriedMethods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
+{
+ "name":"java.lang.Float",
+ "queriedMethods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
+{
+ "name":"java.lang.Integer",
+ "queriedMethods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
+{
+ "name":"java.lang.Long",
+ "queriedMethods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
+{
+ "name":"java.lang.Object",
+ "queriedMethods":[
+ {"name":"equals","parameterTypes":["java.lang.Object"] },
+ {"name":"hashCode","parameterTypes":[] },
+ {"name":"toString","parameterTypes":[] }
+ ]
+},
+{
+ "name":"java.lang.Short",
+ "queriedMethods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
+{
+ "name":"java.lang.String"
+},
+{
+ "name":"java.lang.management.ManagementFactory",
+ "methods":[{"name":"getRuntimeMXBean","parameterTypes":[] }]
+},
+{
+ "name":"java.lang.management.RuntimeMXBean",
+ "methods":[{"name":"getUptime","parameterTypes":[] }]
+},
+{
+ "name":"java.security.AlgorithmParametersSpi"
+},
+{
+ "name":"java.security.SecureRandomParameters"
+},
+{
+ "name":"java.util.Date"
+},
+{
+ "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":"javax.servlet.ServletRequest",
+ "queriedMethods":[
+ {"name":"getAsyncContext","parameterTypes":[] },
+ {"name":"getAttribute","parameterTypes":["java.lang.String"] },
+ {"name":"getAttributeNames","parameterTypes":[] },
+ {"name":"getCharacterEncoding","parameterTypes":[] },
+ {"name":"getContentLength","parameterTypes":[] },
+ {"name":"getContentLengthLong","parameterTypes":[] },
+ {"name":"getContentType","parameterTypes":[] },
+ {"name":"getDispatcherType","parameterTypes":[] },
+ {"name":"getInputStream","parameterTypes":[] },
+ {"name":"getLocalAddr","parameterTypes":[] },
+ {"name":"getLocalName","parameterTypes":[] },
+ {"name":"getLocalPort","parameterTypes":[] },
+ {"name":"getLocale","parameterTypes":[] },
+ {"name":"getLocales","parameterTypes":[] },
+ {"name":"getParameter","parameterTypes":["java.lang.String"] },
+ {"name":"getParameterMap","parameterTypes":[] },
+ {"name":"getParameterNames","parameterTypes":[] },
+ {"name":"getParameterValues","parameterTypes":["java.lang.String"] },
+ {"name":"getProtocol","parameterTypes":[] },
+ {"name":"getReader","parameterTypes":[] },
+ {"name":"getRealPath","parameterTypes":["java.lang.String"] },
+ {"name":"getRemoteAddr","parameterTypes":[] },
+ {"name":"getRemoteHost","parameterTypes":[] },
+ {"name":"getRemotePort","parameterTypes":[] },
+ {"name":"getRequestDispatcher","parameterTypes":["java.lang.String"] },
+ {"name":"getScheme","parameterTypes":[] },
+ {"name":"getServerName","parameterTypes":[] },
+ {"name":"getServerPort","parameterTypes":[] },
+ {"name":"getServletContext","parameterTypes":[] },
+ {"name":"isAsyncStarted","parameterTypes":[] },
+ {"name":"isAsyncSupported","parameterTypes":[] },
+ {"name":"isSecure","parameterTypes":[] },
+ {"name":"removeAttribute","parameterTypes":["java.lang.String"] },
+ {"name":"setAttribute","parameterTypes":["java.lang.String","java.lang.Object"] },
+ {"name":"setCharacterEncoding","parameterTypes":["java.lang.String"] },
+ {"name":"startAsync","parameterTypes":[] },
+ {"name":"startAsync","parameterTypes":["javax.servlet.ServletRequest","javax.servlet.ServletResponse"] }
+ ]
+},
+{
+ "name":"javax.servlet.ServletResponse"
+},
+{
+ "name":"javax.servlet.http.HttpServletRequest",
+ "methods":[{"name":"<init>","parameterTypes":["java.lang.reflect.InvocationHandler"] }],
+ "queriedMethods":[
+ {"name":"authenticate","parameterTypes":["javax.servlet.http.HttpServletResponse"] },
+ {"name":"changeSessionId","parameterTypes":[] },
+ {"name":"getAuthType","parameterTypes":[] },
+ {"name":"getContextPath","parameterTypes":[] },
+ {"name":"getCookies","parameterTypes":[] },
+ {"name":"getDateHeader","parameterTypes":["java.lang.String"] },
+ {"name":"getHeader","parameterTypes":["java.lang.String"] },
+ {"name":"getHeaderNames","parameterTypes":[] },
+ {"name":"getHeaders","parameterTypes":["java.lang.String"] },
+ {"name":"getHttpServletMapping","parameterTypes":[] },
+ {"name":"getIntHeader","parameterTypes":["java.lang.String"] },
+ {"name":"getMethod","parameterTypes":[] },
+ {"name":"getPart","parameterTypes":["java.lang.String"] },
+ {"name":"getParts","parameterTypes":[] },
+ {"name":"getPathInfo","parameterTypes":[] },
+ {"name":"getPathTranslated","parameterTypes":[] },
+ {"name":"getQueryString","parameterTypes":[] },
+ {"name":"getRemoteUser","parameterTypes":[] },
+ {"name":"getRequestURI","parameterTypes":[] },
+ {"name":"getRequestURL","parameterTypes":[] },
+ {"name":"getRequestedSessionId","parameterTypes":[] },
+ {"name":"getServletPath","parameterTypes":[] },
+ {"name":"getSession","parameterTypes":[] },
+ {"name":"getSession","parameterTypes":["boolean"] },
+ {"name":"getTrailerFields","parameterTypes":[] },
+ {"name":"getUserPrincipal","parameterTypes":[] },
+ {"name":"isRequestedSessionIdFromCookie","parameterTypes":[] },
+ {"name":"isRequestedSessionIdFromURL","parameterTypes":[] },
+ {"name":"isRequestedSessionIdFromUrl","parameterTypes":[] },
+ {"name":"isRequestedSessionIdValid","parameterTypes":[] },
+ {"name":"isTrailerFieldsReady","parameterTypes":[] },
+ {"name":"isUserInRole","parameterTypes":["java.lang.String"] },
+ {"name":"login","parameterTypes":["java.lang.String","java.lang.String"] },
+ {"name":"logout","parameterTypes":[] },
+ {"name":"newPushBuilder","parameterTypes":[] },
+ {"name":"upgrade","parameterTypes":["java.lang.Class"] }
+ ]
+},
+{
+ "name":"javax.servlet.http.HttpServletResponse"
+},
+{
+ "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.AnonymousLoginModule",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.argeo.cms.auth.DataAdminLoginModule",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.argeo.cms.auth.IdentLoginModule",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.argeo.cms.auth.RemoteSessionLoginModule",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.argeo.cms.auth.UserAdminLoginModule",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.jetty.servlet.DefaultServlet",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.jetty.util.TypeUtil",
+ "methods":[
+ {"name":"getClassLoaderLocation","parameterTypes":["java.lang.Class"] },
+ {"name":"getCodeSourceLocation","parameterTypes":["java.lang.Class"] },
+ {"name":"getModuleLocation","parameterTypes":["java.lang.Class"] },
+ {"name":"getSystemClassLoaderLocation","parameterTypes":["java.lang.Class"] }
+ ]
+},
+{
+ "name":"org.eclipse.rap.rwt.internal.client.BrowserNavigationImpl",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.rap.rwt.internal.client.ClientInfoImpl",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.rap.rwt.internal.client.ExitConfirmationImpl",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.rap.rwt.internal.client.StartupParametersImpl",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.rap.rwt.internal.client.WebClientMessages",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle",
+ "methods":[{"name":"<init>","parameterTypes":["org.eclipse.rap.rwt.internal.application.ApplicationContextImpl"] }]
+},
+{
+ "name":"org.eclipse.rap.rwt.internal.lifecycle.RequestCounter",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.rap.rwt.internal.remote.RemoteObjectRegistry",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.rap.rwt.internal.serverpush.ServerPushManager",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.rap.rwt.internal.textsize.ProbeResultStore",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.swt.SWT",
+ "allDeclaredFields":true
+},
+{
+ "name":"org.eclipse.swt.graphics.Color",
+ "methods":[{"name":"<init>","parameterTypes":["int"] }]
+},
+{
+ "name":"org.eclipse.swt.graphics.Font",
+ "methods":[{"name":"<init>","parameterTypes":["org.eclipse.swt.graphics.FontData"] }]
+},
+{
+ "name":"org.eclipse.swt.internal.image.GIFFileFormat",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.swt.internal.image.JPEGFileFormat",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.swt.internal.image.PNGFileFormat",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.swt.internal.image.WinBMPFileFormat",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.swt.internal.image.WinICOFileFormat",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.swt.internal.widgets.IdGenerator",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.swt.internal.widgets.displaykit.DisplayLCA",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.swt.internal.widgets.scrollbarkit.ScrollBarThemeAdapter",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.swt.internal.widgets.shellkit.ShellThemeAdapter",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.swt.internal.widgets.tablekit.TableThemeAdapter",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"org.eclipse.swt.internal.widgets.treekit.TreeThemeAdapter",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "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.DSAKeyFactory",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"sun.security.provider.DSAParameters",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "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.X509Factory",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"sun.security.rsa.RSAKeyFactory$Legacy",
+ "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+ "name":"sun.security.util.ObjectIdentifier"
+},
+{
+ "name":"sun.security.x509.AuthorityKeyIdentifierExtension",
+ "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
+},
+{
+ "name":"sun.security.x509.BasicConstraintsExtension",
+ "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
+},
+{
+ "name":"sun.security.x509.CertificateExtensions"
+},
+{
+ "name":"sun.security.x509.ExtendedKeyUsageExtension",
+ "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
+},
+{
+ "name":"sun.security.x509.KeyUsageExtension",
+ "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
+},
+{
+ "name":"sun.security.x509.SubjectKeyIdentifierExtension",
+ "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
+}
+]
--- /dev/null
+{
+ "resources":{
+ "includes":[
+ {
+ "pattern":"\\QMETA-INF/MANIFEST.MF\\E"
+ },
+ {
+ "pattern":"\\QMETA-INF/services/javax.xml.parsers.DocumentBuilderFactory\\E"
+ },
+ {
+ "pattern":"\\QMETA-INF/services/javax.xml.validation.SchemaFactory\\E"
+ },
+ {
+ "pattern":"\\QMETA-INF/services/org.eclipse.jetty.http.HttpFieldPreEncoder\\E"
+ },
+ {
+ "pattern":"\\Qclient.files\\E"
+ },
+ {
+ "pattern":"\\Qclient.js\\E"
+ },
+ {
+ "pattern":"\\Qjetty-dir.css\\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.xsd\\E"
+ },
+ {
+ "pattern":"\\Qorg/argeo/cms/acr/schemas/cr.xsd\\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/jaas.cfg\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/jetty/http/encoding.properties\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/jetty/http/mime.properties\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/jetty/version/build.properties\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/nebula/widgets/grid/internal/gridkit/Grid.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/nebula/widgets/grid/internal/gridkit/Grid.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/nebula/widgets/grid/internal/gridkit/Grid.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/rap/rwt/internal/service/rwt-index.html\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/rap/rwt/internal/widgets/dropdownkit/DropDown.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/rap/rwt/internal/widgets/dropdownkit/DropDown.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/rap/rwt/internal/widgets/dropdownkit/DropDown.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/rap/rwt/internal/widgets/fileuploadkit/FileUpload.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/rap/rwt/internal/widgets/fileuploadkit/FileUpload.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/rap/rwt/internal/widgets/fileuploadkit/FileUpload.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/browser/browserkit/Browser.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/browser/browserkit/Browser.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/browser/browserkit/Browser.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/custom/ccombokit/CCombo.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/custom/ccombokit/CCombo.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/custom/ccombokit/CCombo.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/custom/clabelkit/CLabel.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/custom/clabelkit/CLabel.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/custom/clabelkit/CLabel.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/custom/ctabfolderkit/CTabFolder.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/custom/ctabfolderkit/CTabFolder.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/custom/ctabfolderkit/CTabFolder.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/custom/scrolledcompositekit/ScrolledComposite.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/buttonkit/Button.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/buttonkit/Button.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/buttonkit/Button.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/combokit/Combo.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/combokit/Combo.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/combokit/Combo.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/compositekit/Composite.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/compositekit/Composite.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/compositekit/Composite.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/controlkit/Control.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/controlkit/Control.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/coolbarkit/CoolBar.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/coolbarkit/CoolBar.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/coolbarkit/CoolBar.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/datetimekit/DateTime.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/datetimekit/DateTime.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/datetimekit/DateTime.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/expandbarkit/ExpandBar.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/expandbarkit/ExpandBar.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/expandbarkit/ExpandBar.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/groupkit/Group.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/groupkit/Group.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/groupkit/Group.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/labelkit/Label.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/labelkit/Label.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/labelkit/Label.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/linkkit/Link.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/linkkit/Link.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/linkkit/Link.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/listkit/List.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/listkit/List.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/listkit/List.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/menukit/Menu.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/menukit/Menu.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/menukit/Menu.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/progressbarkit/ProgressBar.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/progressbarkit/ProgressBar.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/progressbarkit/ProgressBar.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/sashkit/Sash.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/sashkit/Sash.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/sashkit/Sash.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/scalekit/Scale.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/scalekit/Scale.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/scalekit/Scale.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/scrollbarkit/ScrollBar.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/scrollbarkit/ScrollBar.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/scrollbarkit/ScrollBar.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/shellkit/Shell.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/shellkit/Shell.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/shellkit/Shell.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/sliderkit/Slider.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/sliderkit/Slider.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/sliderkit/Slider.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/spinnerkit/Spinner.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/spinnerkit/Spinner.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/spinnerkit/Spinner.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/tabfolderkit/TabFolder.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/tabfolderkit/TabFolder.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/tabfolderkit/TabFolder.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/tablekit/Table.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/tablekit/Table.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/tablekit/Table.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/textkit/Text.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/textkit/Text.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/textkit/Text.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/toolbarkit/ToolBar.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/toolbarkit/ToolBar.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/toolbarkit/ToolBar.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/tooltipkit/ToolTip.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/tooltipkit/ToolTip.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/tooltipkit/ToolTip.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/treekit/Tree.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/treekit/Tree.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/treekit/Tree.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/widgetkit/Widget.appearances.js\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/widgetkit/Widget.default.css\\E"
+ },
+ {
+ "pattern":"\\Qorg/eclipse/swt/internal/widgets/widgetkit/Widget.theme.xml\\E"
+ },
+ {
+ "pattern":"\\Qorg/slf4j/impl/StaticLoggerBinder.class\\E"
+ },
+ {
+ "pattern":"\\Qresource/static/html/blank.html\\E"
+ },
+ {
+ "pattern":"\\Qresource/static/image/blank.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/theme/default.css\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/arrows/chevron-left-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/arrows/chevron-left.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/arrows/chevron-right-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/arrows/chevron-right.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/arrows/tooltip-down.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/arrows/tooltip-left.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/arrows/tooltip-right.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/arrows/tooltip-up.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/button/arrow-down.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/button/arrow-left.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/button/arrow-right.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/button/arrow-up.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/button/check-grayed-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/button/check-grayed.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/button/check-selected-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/button/check-selected.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/button/check-unselected-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/button/check-unselected.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/button/radio-selected-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/button/radio-selected.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/button/radio-unselected-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/button/radio-unselected.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/calendar/lastMonth-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/calendar/lastMonth.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/calendar/lastYear-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/calendar/lastYear.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/calendar/nextMonth-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/calendar/nextMonth.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/calendar/nextYear-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/calendar/nextYear.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/ccombo/down-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/ccombo/down.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/column/sort-indicator-down.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/column/sort-indicator-up.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/combo/down-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/combo/down.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/ctabfolder/close.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/ctabfolder/close_hover.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/ctabfolder/ctabfolder-dropdown-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/ctabfolder/ctabfolder-dropdown-left-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/ctabfolder/ctabfolder-dropdown-left.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/ctabfolder/ctabfolder-dropdown.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/ctabfolder/maximize.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/ctabfolder/minimize.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/ctabfolder/restore.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/cursors/alias.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/cursors/copy.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/cursors/move.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/cursors/nodrop.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/cursors/up_arrow.cur\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/datetime/down-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/datetime/down.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/datetime/up-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/datetime/up.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/dialog/error.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/dialog/information.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/dialog/question.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/dialog/warning.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/display/browser_bg.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/display/loading.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/expanditem/expanditem-collapse-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/expanditem/expanditem-collapse.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/expanditem/expanditem-expand-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/expanditem/expanditem-expand.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/menu/arrow-left.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/menu/arrow-right.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/menu/checkbox.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/menu/radiobutton.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/progressbar/progressbar-background.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/sash/sash-handle-horizontal.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/sash/sash-handle-vertical.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/scale/h_line.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/scale/v_line.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/scrollbar/down.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/scrollbar/left.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/scrollbar/right.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/scrollbar/scrollbar-background.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/scrollbar/up.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/slider/down.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/slider/left.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/slider/right.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/slider/slider-background.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/slider/up.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/spinner/down-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/spinner/down.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/spinner/up-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/spinner/up.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/text/clear.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/text/find.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/toolbar/down.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/tooltip/error.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/tooltip/information.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/tooltip/warning.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/tree/loading.gif\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/tree/tree-collapsed-hover-left.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/tree/tree-collapsed-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/tree/tree-collapsed-left.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/tree/tree-collapsed.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/tree/tree-expanded-hover-left.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/tree/tree-expanded-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/tree/tree-expanded-left.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/tree/tree-expanded.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/window/shell-close-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/window/shell-close.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/window/shell-max-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/window/shell-max.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/window/shell-min-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/window/shell-min.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/window/shell-restore-hover.png\\E"
+ },
+ {
+ "pattern":"\\Qresource/widget/rap/window/shell-restore.png\\E"
+ }
+ ]},
+ "bundles":[
+ {
+ "name":"javax.servlet.LocalStrings",
+ "locales":[""]
+ },
+ {
+ "name":"javax.servlet.http.LocalStrings",
+ "locales":[""]
+ },
+ {
+ "name":"org.apache.xerces.impl.xpath.regex.message",
+ "locales":[
+ "",
+ "en"
+ ]
+ },
+ {
+ "name":"org.eclipse.rap.rwt.internal.RWTMessages",
+ "locales":[""]
+ },
+ {
+ "name":"sun.security.util.Resources",
+ "classNames":["sun.security.util.Resources"]
+ }
+ ]
+}
--- /dev/null
+{
+ "types":[
+ ],
+ "lambdaCapturingTypes":[
+ ]
+}
--- /dev/null
+Import-Package: \
+org.eclipse.jetty.util.component;version="[9.4,12)";resolution:=optional,\
+org.eclipse.jetty.http;version="[9.4,12)";resolution:=optional,\
+org.eclipse.jetty.io;version="[9.4,12)";resolution:=optional,\
+org.eclipse.jetty.security;version="[9.4,12)";resolution:=optional,\
+org.eclipse.jetty.server.handler;version="[9.4,12)";resolution:=optional,\
+org.eclipse.jetty.*;version="[9.4,12)";resolution:=optional,\
+*
\ No newline at end of file
--- /dev/null
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
--- /dev/null
+package org.argeo.tool.rap.cli;
+
+import java.io.IOException;
+import java.lang.management.ManagementFactory;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+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.acr.spi.ProvidedRepository;
+import org.argeo.api.cli.CommandsCli;
+import org.argeo.api.cli.DescribedCommand;
+import org.argeo.api.cms.CmsApp;
+import org.argeo.api.cms.CmsContext;
+import org.argeo.api.cms.CmsState;
+import org.argeo.cms.jetty.CmsJettyServer;
+import org.argeo.cms.runtime.StaticCms;
+import org.argeo.cms.swt.app.CmsUserApp;
+import org.argeo.cms.web.CmsWebApp;
+import org.argeo.util.register.Component;
+import org.argeo.util.register.ComponentRegister;
+import org.eclipse.rap.rwt.application.ApplicationConfiguration;
+
+public class CmsRapCli extends CommandsCli {
+
+ public CmsRapCli(String commandName) {
+ super(commandName);
+ addCommand("user", new Launch());
+ }
+
+ @Override
+ public String getDescription() {
+ return "Argeo CMS utilities.";
+ }
+
+ public static void main(String[] args) {
+ mainImpl(new CmsRapCli("web"), args);
+ }
+
+ static class Launch implements DescribedCommand<String> {
+ private Option dataOption;
+ private Option uiOption;
+
+ @Override
+ public Options getOptions() {
+ Options options = new Options();
+ dataOption = Option.builder().longOpt("data").hasArg().required()
+ .desc("path to the writable data area (mandatory)").build();
+ uiOption = Option.builder().longOpt("ui").desc("open a user interface").build();
+ options.addOption(dataOption);
+ options.addOption(uiOption);
+ return options;
+ }
+
+ @Override
+ public String apply(List<String> args) {
+ CommandLine cl = toCommandLine(args);
+ String dataPath = cl.getOptionValue(dataOption);
+ boolean ui = cl.hasOption(uiOption);
+
+ Path instancePath = Paths.get(dataPath);
+ System.setProperty("osgi.instance.area", instancePath.toUri().toString());
+ System.setProperty("argeo.http.port", "0");
+
+ StaticCms staticCms = new StaticCms() {
+ @Override
+ protected void addComponents(ComponentRegister register) {
+ if (ui) {
+ CmsUserApp cmsApp = new CmsUserApp();
+ Component<CmsUserApp> cmsAppC = new Component.Builder<>(cmsApp) //
+ .addType(CmsApp.class) //
+ .addType(CmsUserApp.class) //
+ .addDependency(register.getSingleton(CmsContext.class), cmsApp::setCmsContext, null) //
+ .addDependency(register.getSingleton(ProvidedRepository.class),
+ cmsApp::setContentRepository, null) //
+ .build(register);
+
+ CmsWebApp cmsWebApp = new CmsWebApp();
+ Component<CmsWebApp> cmsWebAppC = new Component.Builder<>(cmsWebApp) //
+ .addType(ApplicationConfiguration.class) //
+ .addType(CmsWebApp.class) //
+ .addDependency(cmsAppC.getType(CmsApp.class), cmsWebApp::setCmsApp, null) //
+ .build(register);
+
+ RapJettyServer rwtRunner = new RapJettyServer();
+ Component<RapJettyServer> rwtRunnerC = new Component.Builder<>(rwtRunner) //
+ .addActivation(rwtRunner::start) //
+ .addDeactivation(rwtRunner::stop) //
+ .addType(CmsJettyServer.class) //
+ .addDependency(register.getSingleton(CmsState.class), rwtRunner::setCmsState, null) //
+ .addDependency(cmsWebAppC.getType(CmsWebApp.class), rwtRunner::setCmsWebApp, null) //
+ .build(register);
+ }
+ }
+
+ };
+ Runtime.getRuntime().addShutdownHook(new Thread(() -> staticCms.stop(), "Static CMS Shutdown"));
+ staticCms.start();
+
+ long jvmUptime = ManagementFactory.getRuntimeMXBean().getUptime();
+ System.out.println("Static CMS available in " + jvmUptime + " ms.");
+
+ if (ui) {
+ try {
+ // open browser in app mode
+ Thread.sleep(2000);// wait for RWT to be ready
+ String browserCommand = "google-chrome --app=http://localhost:"
+ + staticCms.getComponentRegister().getObject(CmsJettyServer.class).getHttpPort() + "/data";
+ Runtime.getRuntime().exec(browserCommand);
+ } catch (InterruptedException | IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ staticCms.waitForStop();
+
+ return null;
+ }
+
+ @Override
+ public String getDescription() {
+ return "Launch a static CMS.";
+ }
+
+ }
+}
--- /dev/null
+package org.argeo.tool.rap.cli;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.ServletException;
+
+import org.argeo.cms.jetty.CmsJettyServer;
+import org.argeo.cms.web.CmsWebApp;
+import org.eclipse.jetty.servlet.DefaultServlet;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.util.resource.Resource;
+import org.eclipse.rap.rwt.application.ApplicationRunner;
+import org.eclipse.rap.rwt.engine.RWTServlet;
+
+public class RapJettyServer extends CmsJettyServer {
+ private CmsWebApp cmsWebApp;
+
+ @Override
+ protected void addServlets(ServletContextHandler servletContextHandler) throws ServletException {
+ // rwt-resources requires a file system
+ try {
+ Path tempDir = Files.createTempDirectory("argeo-rwtRunner");
+ servletContextHandler.setBaseResource(Resource.newResource(tempDir.resolve("www").toString()));
+ } catch (IOException e) {
+ throw new IllegalStateException("Cannot create temporary directory", e);
+ }
+ servletContextHandler.addEventListener(new ServletContextListener() {
+ ApplicationRunner applicationRunner;
+
+ @Override
+ public void contextInitialized(ServletContextEvent sce) {
+ applicationRunner = new ApplicationRunner(cmsWebApp, sce.getServletContext());
+ applicationRunner.start();
+ }
+
+ @Override
+ public void contextDestroyed(ServletContextEvent sce) {
+ applicationRunner.stop();
+ }
+ });
+ for (String uiName : cmsWebApp.getCmsApp().getUiNames())
+ servletContextHandler.addServlet(new ServletHolder(new RWTServlet()), "/" + uiName);
+
+ // Required to serve rwt-resources. It is important that this is last.
+ ServletHolder holderPwd = new ServletHolder("default", DefaultServlet.class);
+ servletContextHandler.addServlet(holderPwd, "/");
+
+ }
+
+ public void setCmsWebApp(CmsWebApp cmsWebApp) {
+ this.cmsWebApp = cmsWebApp;
+ }
+
+}
--- /dev/null
+package org.argeo.tool.rap.cli;
+
+import java.io.IOException;
+import java.lang.management.ManagementFactory;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Objects;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+import org.argeo.minidesktop.MiniDesktopManager;
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ServerConnector;
+import org.eclipse.jetty.servlet.DefaultServlet;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.util.resource.Resource;
+import org.eclipse.jetty.util.thread.QueuedThreadPool;
+import org.eclipse.rap.rwt.application.ApplicationConfiguration;
+import org.eclipse.rap.rwt.application.ApplicationRunner;
+import org.eclipse.rap.rwt.application.EntryPoint;
+import org.eclipse.rap.rwt.application.Application.OperationMode;
+import org.eclipse.rap.rwt.engine.RWTServlet;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+
+/** A minimal RWT runner based on embedded Jetty. */
+public class RwtRunner {
+
+ private final Server server;
+ private final ServerConnector serverConnector;
+ private Path tempDir;
+
+ private ApplicationConfiguration applicationConfiguration;
+
+ public RwtRunner() {
+ server = new Server(new QueuedThreadPool(10, 1));
+ serverConnector = new ServerConnector(server);
+ serverConnector.setPort(0);
+ server.setConnectors(new Connector[] { serverConnector });
+ }
+
+ protected Control createUi(Composite parent, Object context) {
+ return new Label(parent, 0);
+ }
+
+ public void init() {
+ Objects.requireNonNull(applicationConfiguration);
+
+ ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
+ context.setContextPath("/");
+ server.setHandler(context);
+
+ String entryPoint = "app";
+
+ // rwt-resources requires a file system
+ try {
+ tempDir = Files.createTempDirectory("argeo-rwtRunner");
+ context.setBaseResource(Resource.newResource(tempDir.resolve("www").toString()));
+ } catch (IOException e) {
+ throw new IllegalStateException("Cannot create temporary directory", e);
+ }
+ context.addEventListener(new ServletContextListener() {
+ ApplicationRunner applicationRunner;
+
+ @Override
+ public void contextInitialized(ServletContextEvent sce) {
+ applicationRunner = new ApplicationRunner(applicationConfiguration, sce.getServletContext());
+ applicationRunner.start();
+ }
+
+ @Override
+ public void contextDestroyed(ServletContextEvent sce) {
+ applicationRunner.stop();
+ }
+ });
+
+ context.addServlet(new ServletHolder(new RWTServlet()), "/" + entryPoint);
+
+ // Required to serve rwt-resources. It is important that this is last.
+ ServletHolder holderPwd = new ServletHolder("default", DefaultServlet.class);
+ context.addServlet(holderPwd, "/");
+
+ try {
+ server.start();
+ } catch (Exception e) {
+ throw new IllegalStateException("Cannot start Jetty server", e);
+ }
+ Runtime.getRuntime().addShutdownHook(new Thread(() -> destroy(), "Jetty shutdown"));
+
+ long jvmUptime = ManagementFactory.getRuntimeMXBean().getUptime();
+ System.out.println("RWT App available in " + jvmUptime + " ms, on port " + getEffectivePort());
+ }
+
+ public void destroy() {
+ try {
+ serverConnector.close();
+ server.stop();
+ // TODO delete temp dir
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public Integer getEffectivePort() {
+ return serverConnector.getLocalPort();
+ }
+
+ public void waitFor() throws InterruptedException {
+ server.join();
+ }
+
+ public void setApplicationConfiguration(ApplicationConfiguration applicationConfiguration) {
+ this.applicationConfiguration = applicationConfiguration;
+ }
+
+ public static void main(String[] args) throws Exception {
+ RwtRunner rwtRunner = new RwtRunner();
+
+ String entryPoint = "app";
+ ApplicationConfiguration applicationConfiguration = (application) -> {
+ application.setOperationMode(OperationMode.SWT_COMPATIBILITY);
+ application.addEntryPoint("/" + entryPoint, () -> new EntryPoint() {
+ @Override
+ public int createUI() {
+ MiniDesktopManager miniDesktopManager = new MiniDesktopManager(false, false);
+ miniDesktopManager.init();
+ miniDesktopManager.run();
+ return 0;
+ }
+ }, null);
+ };
+
+ rwtRunner.setApplicationConfiguration(applicationConfiguration);
+ rwtRunner.init();
+
+ // open browser in app mode
+ Thread.sleep(2000);// wait for RWT to be ready
+ Runtime.getRuntime().exec("google-chrome --app=http://localhost:" + rwtRunner.getEffectivePort() + "/app");
+
+ rwtRunner.waitFor();
+ }
+}
package org.argeo.tool.server;
import org.argeo.cms.cli.ArgeoCli;
-import org.argeo.cms.swt.rap.cli.CmsRapCli;
+import org.argeo.tool.rap.cli.CmsRapCli;
/** Argeo command line tools. */
public class ArgeoServer extends ArgeoCli {
--- /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.rcp.cli</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
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
--- /dev/null
+package org.argeo.cms.swt.rcp.cli;
+
+import java.lang.management.ManagementFactory;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.List;
+import java.util.concurrent.ForkJoinPool;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.Options;
+import org.argeo.api.acr.spi.ProvidedRepository;
+import org.argeo.api.cli.CommandsCli;
+import org.argeo.api.cli.DescribedCommand;
+import org.argeo.api.cms.CmsApp;
+import org.argeo.cms.runtime.StaticCms;
+import org.argeo.cms.swt.app.CmsUserApp;
+import org.argeo.cms.ui.rcp.CmsRcpDisplayFactory;
+import org.argeo.util.register.Component;
+import org.argeo.util.register.ComponentRegister;
+
+public class CmsCli extends CommandsCli {
+
+ public CmsCli(String commandName) {
+ super(commandName);
+ addCommand("static", new Launch());
+ }
+
+ @Override
+ public String getDescription() {
+ return "Argeo CMS utilities.";
+ }
+
+ static class Launch implements DescribedCommand<String> {
+ private Option dataOption;
+ private Option uiOption;
+
+ @Override
+ public Options getOptions() {
+ Options options = new Options();
+ dataOption = Option.builder().longOpt("data").hasArg().required()
+ .desc("path to the writable data area (mandatory)").build();
+ uiOption = Option.builder().longOpt("ui").desc("open a user interface").build();
+ options.addOption(dataOption);
+ options.addOption(uiOption);
+ return options;
+ }
+
+ @Override
+ public String apply(List<String> args) {
+ CommandLine cl = toCommandLine(args);
+ String dataPath = cl.getOptionValue(dataOption);
+ boolean ui = cl.hasOption(uiOption);
+
+ Path instancePath = Paths.get(dataPath);
+ System.setProperty("osgi.instance.area", instancePath.toUri().toString());
+
+ StaticCms staticCms = new StaticCms() {
+ @Override
+ protected void addComponents(ComponentRegister register) {
+ if (ui) {
+ Component<? extends ProvidedRepository> contentRepositoryC = register
+ .find(ProvidedRepository.class, null).first();
+ CmsUserApp cmsApp = new CmsUserApp();
+ Component<CmsUserApp> cmsAppC = new Component.Builder<>(cmsApp) //
+ .addType(CmsApp.class) //
+ .addType(CmsUserApp.class) //
+ .addDependency(contentRepositoryC.getType(ProvidedRepository.class),
+ cmsApp::setContentRepository, null) //
+ .build(register);
+
+ CmsRcpDisplayFactory displayFactory = new CmsRcpDisplayFactory();
+ Component<CmsRcpDisplayFactory> displayFactoryC = new Component.Builder<>(displayFactory) //
+ .addActivation(displayFactory::init) //
+ .addDeactivation(displayFactory::destroy) //
+ .build(register);
+
+ }
+ }
+
+ @Override
+ protected void postActivation(ComponentRegister register) {
+ if (ui) {
+ Component<? extends CmsUserApp> cmsAppC = register.find(CmsUserApp.class, null).first();
+ CmsRcpDisplayFactory.openCmsApp(cmsAppC.get(), "data", (e) -> {
+ // asynchronous in order to avoid deadlock in UI thread
+ ForkJoinPool.commonPool().execute(() -> stop());
+ });
+ }
+ }
+
+ };
+ Runtime.getRuntime().addShutdownHook(new Thread(() -> staticCms.stop(), "Static CMS Shutdown"));
+ staticCms.start();
+
+ long jvmUptime = ManagementFactory.getRuntimeMXBean().getUptime();
+ System.out.println("Static CMS available in " + jvmUptime + " ms.");
+
+ staticCms.waitForStop();
+
+ return null;
+ }
+
+ @Override
+ public String getDescription() {
+ return "Launch a static CMS.";
+ }
+
+ }
+}