<argeo.rpm.stagingRepository>/srv/rpmfactory/testing/argeo-osgi-2/argeo</argeo.rpm.stagingRepository>
</properties>
<modules>
- <!-- Desktop -->
- <module>rcp</module>
-
<!-- Legacy UI -->
<module>legacy</module>
<module>cms</module>
+++ /dev/null
-log4j.rootLogger=WARN, development
-
-## Levels
-log4j.logger.org.argeo=DEBUG
-log4j.logger.org.argeo.jackrabbit.remote.ExtendedDispatcherServlet=WARN
-log4j.logger.org.argeo.server.webextender.TomcatDeployer=INFO
-
-#log4j.logger.org.springframework.security=DEBUG
-#log4j.logger.org.apache.commons.exec=DEBUG
-#log4j.logger.org.apache.jackrabbit.webdav=DEBUG
-#log4j.logger.org.apache.jackrabbit.remote=DEBUG
-#log4j.logger.org.apache.jackrabbit.core.observation=DEBUG
-
-log4j.logger.org.apache.catalina=INFO
-log4j.logger.org.apache.coyote=INFO
-
-log4j.logger.org.apache.directory=INFO
-log4j.logger.org.apache.directory.server=ERROR
-log4j.logger.org.apache.jackrabbit.core.query.lucene=ERROR
-
-## Appenders
-# console is set to be a ConsoleAppender.
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-
-# console uses PatternLayout.
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern= %-5p %d{ISO8601} %m - %c - [%t]%n
-
-# development appender (slow!)
-log4j.appender.development=org.apache.log4j.ConsoleAppender
-log4j.appender.development.layout=org.apache.log4j.PatternLayout
-log4j.appender.development.layout.ConversionPattern=%d{HH:mm:ss} [%16.16t] %5p %m (%F:%L) %c%n
+++ /dev/null
-/org.argeo.security.dep.node.rcp-maven.target
-/target/
-/*.target
+++ /dev/null
-/MANIFEST.MF
+++ /dev/null
-properties.1.name=org.eclipse.equinox.p2.type.category
-properties.1.value=true
\ No newline at end of file
+++ /dev/null
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>dep</artifactId>
- <version>2.1.86</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.dep.cms.e4.rcp</artifactId>
- <name>CMS Platform Eclipse 4 RCP</name>
- <dependencies>
- <dependency>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>org.argeo.dep.cms.ui.rcp</artifactId>
- <version>2.1.86</version>
- <type>pom</type>
- </dependency>
-
- <!-- E4 specific -->
- <dependency>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>org.argeo.cms.e4.rcp</artifactId>
- <version>2.1.86</version>
- </dependency>
-
- <!-- Argeo Commons -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.cms.e4</artifactId>
- <version>${version.argeo-commons}</version>
- </dependency>
-
- <!-- SDK -->
- <dependency>
- <groupId>org.argeo.tp.equinox</groupId>
- <artifactId>org.eclipse.osgi</artifactId>
- <scope>test</scope>
- </dependency>
-
- <!-- Additional text components (not in RCP distribution) -->
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.text</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.jface.text</artifactId>
- </dependency>
-
-
- <!-- RCP -->
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.css.swt.theme</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.workbench.swt</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.core.di</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.core.databinding</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.bindings</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.model.workbench</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.jface.databinding</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.workbench.addons.swt</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.core.services</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.core.commands</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.apache.felix.gogo.shell</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.widgets</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.core.di.extensions.supplier</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.core.expressions</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>com.ibm.icu</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.swt.gtk</artifactId>
- </dependency>
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.e4.emf.xpath</artifactId> -->
- <!-- </dependency> -->
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.core.databinding.observable</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.rcp</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.help</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.workbench.renderers.swt</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.core.databinding.property</artifactId>
- </dependency>
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.apache.commons.io</artifactId> -->
- <!-- </dependency> -->
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.di</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.dialogs</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.core.di.extensions</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.equinox.bidi</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.core.di.annotations</artifactId>
- </dependency>
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.apache.commons.logging</artifactId> -->
- <!-- <version>1.2.0.v20180409-1502</version> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.apache.felix.gogo.command</artifactId> -->
- <!-- <version>1.0.2.v20170914-1324</version> -->
- <!-- </dependency> -->
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.workbench3</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.core.contexts</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.core.databinding.beans</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.ui.workbench</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.services</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.ui</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.workbench</artifactId>
- </dependency>
-
- <!-- Platform dependent -->
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.workbench.renderers.swt.cocoa</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.ui.cocoa</artifactId>
- </dependency>
-
-
- <!-- RCP -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp</groupId> -->
- <!-- <artifactId>argeo-tp-rcp-e4</artifactId> -->
- <!-- <version>${version.argeo-tp}</version> -->
- <!-- <exclusions> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.osgi</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.osgi.services</artifactId> -->
- <!-- </exclusion> -->
-
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.osgi.compatibility.state</artifactId> -->
- <!-- </exclusion> -->
-
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.update.configurator</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.carbon.macosx</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.gtk.solaris.sparc</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.gtk.solaris.x86</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.motif.solaris.sparc</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.gtk.linux.s390</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.gtk.linux.s390x</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.gtk.linux.ppc64</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.motif.linux.x86</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.gtk.linux.ppc</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.photon.qnx.x86</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.motif.aix.ppc</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.motif.aix.ppc64</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.motif.hpux.ia64_32</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.gtk.aix.ppc</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.gtk.aix.ppc64</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.gtk.hpux.ia64_32</artifactId> -->
- <!-- </exclusion> -->
-
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.carbon.macosx</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.gtk.solaris.sparc</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.gtk.solaris.x86</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.motif.solaris.sparc</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.gtk.linux.s390</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.gtk.linux.s390x</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.gtk.linux.ppc64</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.motif.linux.x86</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.gtk.linux.ppc</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.photon.qnx.x86</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.motif.aix.ppc</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.motif.aix.ppc64</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.motif.hpux.ia64_32</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.gtk.aix.ppc</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.gtk.aix.ppc64</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.gtk.hpux.ia64_32</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.ui.carbon</artifactId> -->
- <!-- </exclusion> -->
- <!-- </exclusions> -->
- <!-- </dependency> -->
-
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.e4.ui.di</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.e4.core.di</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.e4.core.di.extensions.supplier</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.e4.ui.model.workbench</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.e4.core.contexts</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.e4.core.services</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.e4.core.di.annotations</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.e4.ui.services</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.e4.core.di.extensions</artifactId> -->
- <!-- </dependency> -->
-
- <!-- Taking EMF from RAP -->
- <!-- FIXME investigate why we have to -->
- <dependency>
- <groupId>org.argeo.tp.rap.e4</groupId>
- <artifactId>org.eclipse.emf.common</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rap.e4</groupId>
- <artifactId>org.eclipse.emf.ecore</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rap.e4</groupId>
- <artifactId>org.eclipse.emf.ecore.change</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rap.e4</groupId>
- <artifactId>org.eclipse.emf.ecore.xmi</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rap.e4</groupId>
- <artifactId>org.eclipse.e4.emf.xpath</artifactId>
- </dependency>
-
-
- </dependencies>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>argeo-tp-rcp-e4</artifactId>
- <version>${version.argeo-tp}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <profiles>
- <profile>
- <id>rpmbuild</id>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <executions>
- <execution>
- <id>prepare-source</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- <configuration>
- <descriptorRefs>
- <descriptorRef>a2-source</descriptorRef>
- </descriptorRefs>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>rpm-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>rpm-argeo</id>
- <phase>package</phase>
- <goals>
- <goal>rpm</goal>
- </goals>
- <configuration>
- <name>argeo-cms-e4-rcp</name>
- <mappings>
- <mapping>
- <directory>/usr/lib/osgi</directory>
- <username>root</username>
- <groupname>root</groupname>
- <filemode>644</filemode>
- <directoryIncluded>false</directoryIncluded>
- <sources>
- <source>
- <location>${project.build.directory}/${project.artifactId}-${project.version}-a2-source</location>
- <includes>
- <include>**/*.jar</include>
- </includes>
- </source>
- </sources>
- </mapping>
- </mappings>
- <requires>
- <require>argeo-cms-ui-rcp</require>
- <require>argeo-cms-e4-rcp-tp</require>
- </requires>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>rpmbuild-tp</id>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <executions>
- <execution>
- <id>prepare-source-tp</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- <configuration>
- <descriptorRefs>
- <descriptorRef>a2-source-tp</descriptorRef>
- </descriptorRefs>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>rpm-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>rpm-tp</id>
- <phase>package</phase>
- <goals>
- <goal>rpm</goal>
- </goals>
- <configuration>
- <name>argeo-cms-e4-rcp-tp</name>
- <projversion>${version.argeo-tp}</projversion>
- <release>${maven.build.timestamp}</release>
- <mappings>
- <mapping>
- <directory>/usr/lib/osgi</directory>
- <username>root</username>
- <groupname>root</groupname>
- <filemode>644</filemode>
- <directoryIncluded>false</directoryIncluded>
- <sources>
- <source>
- <location>${project.build.directory}/${project.artifactId}-${project.version}-a2-source-tp</location>
- <includes>
- <include>**/*.jar</include>
- </includes>
- </source>
- </sources>
- </mapping>
- <mapping>
- <directory>/usr/share/osgi/boot</directory>
- <username>root</username>
- <groupname>root</groupname>
- <filemode>644</filemode>
- <directoryIncluded>false</directoryIncluded>
- <dependency>
- <stripVersion>true</stripVersion>
- <includes>
- <include>org.argeo.tp.rcp.e4:org.eclipse.equinox.launcher</include>
- </includes>
- </dependency>
- </mapping>
- </mappings>
- <requires>
- <require>argeo-cms-ui-rcp-tp</require>
- </requires>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
+++ /dev/null
-<!--
-
- Copyright (C) 2007-2012 Argeo GmbH
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<!-- Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org> Licensed under
- the Apache License, Version 2.0 (the "License"); you may not use this file
- except in compliance with the License. You may obtain a copy of the License
- at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- law or agreed to in writing, software distributed under the License is distributed
- on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- express or implied. See the License for the specific language governing permissions
- and limitations under the License. -->
-
-<assembly
- xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
- <id>linux.x86</id>
- <baseDirectory>argeo-node-ui</baseDirectory>
- <formats>
- <format>tar.gz</format>
- </formats>
- <dependencySets>
- <dependencySet>
- <unpack>false</unpack>
- <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
- </outputFileNameMapping>
- <outputDirectory>lib</outputDirectory>
- <includes>
- <include>*:jar</include>
- </includes>
- <excludes>
- <exclude>org.eclipse.swt:org.eclipse.swt*:jar</exclude>
- </excludes>
- </dependencySet>
- <dependencySet>
- <unpack>false</unpack>
- <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
- </outputFileNameMapping>
- <outputDirectory>lib</outputDirectory>
- <includes>
- <include>org.eclipse.swt:org.eclipse.swt.gtk.linux.x86:jar</include>
- </includes>
- </dependencySet>
- </dependencySets>
-</assembly>
\ No newline at end of file
+++ /dev/null
-<!--
-
- Copyright (C) 2007-2012 Argeo GmbH
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<!-- Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org> Licensed under
- the Apache License, Version 2.0 (the "License"); you may not use this file
- except in compliance with the License. You may obtain a copy of the License
- at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- law or agreed to in writing, software distributed under the License is distributed
- on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- express or implied. See the License for the specific language governing permissions
- and limitations under the License. -->
-
-<assembly
- xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
- <id>linux.x86_64</id>
- <baseDirectory>argeo-node-ui</baseDirectory>
- <formats>
- <format>tar.gz</format>
- </formats>
- <dependencySets>
- <dependencySet>
- <unpack>false</unpack>
- <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
- </outputFileNameMapping>
- <outputDirectory>lib</outputDirectory>
- <includes>
- <include>*:jar</include>
- </includes>
- <excludes>
- <exclude>org.eclipse.swt:org.eclipse.swt*:jar</exclude>
- </excludes>
- </dependencySet>
- <dependencySet>
- <unpack>false</unpack>
- <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
- </outputFileNameMapping>
- <outputDirectory>lib</outputDirectory>
- <includes>
- <include>org.eclipse.swt:org.eclipse.swt.gtk.linux.x86_64:jar</include>
- </includes>
- </dependencySet>
- </dependencySets>
-</assembly>
\ No newline at end of file
+++ /dev/null
-<!--
-
- Copyright (C) 2007-2012 Argeo GmbH
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<!-- Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org> Licensed under
- the Apache License, Version 2.0 (the "License"); you may not use this file
- except in compliance with the License. You may obtain a copy of the License
- at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
- law or agreed to in writing, software distributed under the License is distributed
- on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- express or implied. See the License for the specific language governing permissions
- and limitations under the License. -->
-
-<assembly
- xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
- <id>win32.x86</id>
- <baseDirectory>argeo-node-ui</baseDirectory>
- <formats>
- <format>zip</format>
- </formats>
- <dependencySets>
- <dependencySet>
- <unpack>false</unpack>
- <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
- </outputFileNameMapping>
- <outputDirectory>lib</outputDirectory>
- <includes>
- <include>*:jar</include>
- </includes>
- <excludes>
- <exclude>org.eclipse.swt:org.eclipse.swt*:jar</exclude>
- </excludes>
- </dependencySet>
- <dependencySet>
- <unpack>false</unpack>
- <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
- </outputFileNameMapping>
- <outputDirectory>lib</outputDirectory>
- <includes>
- <include>org.eclipse.swt:org.eclipse.swt.win32.win32.x86:jar</include>
- </includes>
- </dependencySet>
- </dependencySets>
-</assembly>
\ No newline at end of file
+++ /dev/null
-/org.argeo.security.dep.node.rcp-maven.target
-/target/
-/*.target
+++ /dev/null
-/MANIFEST.MF
+++ /dev/null
-properties.1.name=org.eclipse.equinox.p2.type.category
-properties.1.value=true
\ No newline at end of file
+++ /dev/null
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>dep</artifactId>
- <version>2.1.86</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.dep.cms.ui.rcp</artifactId>
- <name>CMS Platform UI RCP</name>
- <dependencies>
- <!-- Argeo -->
- <dependency>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>org.argeo.eclipse.ui.rcp</artifactId>
- <version>2.1.86</version>
- </dependency>
- <dependency>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>org.argeo.cms.ui.rcp</artifactId>
- <version>2.1.86</version>
- </dependency>
-
- <!-- Desktop -->
- <dependency>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>org.argeo.minidesktop</artifactId>
- <version>2.1.86</version>
- </dependency>
-
- <!-- Argeo Commons -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.eclipse.ui</artifactId>
- <version>${version.argeo-commons}</version>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.cms.ui</artifactId>
- <version>${version.argeo-commons}</version>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.cms.ui.theme</artifactId>
- <version>${version.argeo-commons}</version>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.dep.cms.node</artifactId>
- <version>${version.argeo-commons}</version>
- <type>pom</type>
- </dependency>
-
- <!-- SDK -->
- <dependency>
- <groupId>org.argeo.tp.equinox</groupId>
- <artifactId>org.eclipse.osgi</artifactId>
- <scope>test</scope>
- </dependency>
-
- <!-- SWT native -->
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.swt.gtk.linux.x86_64</artifactId>
- </dependency>
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.gtk.linux.x86</artifactId> -->
- <!-- </dependency> -->
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.swt.cocoa.macosx.x86_64</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
- </dependency>
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.win32.win32.x86</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.swt.gtk.linux.ppc64le</artifactId> -->
- <!-- </dependency> -->
- <!-- SWT for ARM -->
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.swt.gtk.linux.arm</artifactId>
- <version>3.108.0.v20180905-1254</version>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.swt.gtk.linux.aarch64</artifactId>
- <version>3.109.0.202003311246</version>
- </dependency>
-
-
- <!-- Eclipse launcher -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.gtk.linux.x86_64</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.gtk.linux.x86</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.cocoa.macosx.x86_64</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.win32.win32.x86_64</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.rcp.e4</groupId> -->
- <!-- <artifactId>org.eclipse.equinox.launcher.win32.win32.x86</artifactId> -->
- <!-- </dependency> -->
-
- <!-- SWT JFace -->
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.swt</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.jface</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.core.commands</artifactId>
- </dependency>
-
- <!-- CSS -->
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.css.core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.e4.ui.css.swt</artifactId>
- </dependency>
-
- <!-- Eclipse core -->
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.core.runtime</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.core.jobs</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.eclipse.core.contenttype</artifactId>
- </dependency>
-
- <!-- Third party -->
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.w3c.css.sac</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.w3c.dom.svg</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.w3c.dom.events</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.w3c.dom.smil</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.apache.xmlgraphics</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.apache.commons.jxpath</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.apache.batik.util</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.apache.batik.i18n</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.apache.batik.css</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.apache.batik.constants</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.apache.felix.gogo.runtime</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.e4</groupId>
- <artifactId>org.apache.felix.scr</artifactId>
- </dependency>
-
- </dependencies>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>argeo-tp-rcp-e4</artifactId>
- <version>${version.argeo-tp}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <profiles>
- <profile>
- <id>rpmbuild</id>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <executions>
- <execution>
- <id>prepare-source</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- <configuration>
- <descriptorRefs>
- <descriptorRef>a2-source</descriptorRef>
- </descriptorRefs>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>rpm-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>rpm-argeo</id>
- <phase>package</phase>
- <goals>
- <goal>rpm</goal>
- </goals>
- <configuration>
- <name>argeo-cms-ui-rcp</name>
- <mappings>
- <mapping>
- <directory>/usr/lib/osgi</directory>
- <username>root</username>
- <groupname>root</groupname>
- <filemode>644</filemode>
- <directoryIncluded>false</directoryIncluded>
- <sources>
- <source>
- <location>${project.build.directory}/${project.artifactId}-${project.version}-a2-source</location>
- <includes>
- <include>**/*.jar</include>
- </includes>
- </source>
- </sources>
- </mapping>
- </mappings>
- <requires>
- <require>argeo-cms-node</require>
- <require>argeo-cms-ui-rcp-tp</require>
- </requires>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>rpmbuild-tp</id>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <executions>
- <execution>
- <id>prepare-source-tp</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- <configuration>
- <descriptorRefs>
- <descriptorRef>a2-source-tp</descriptorRef>
- </descriptorRefs>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>rpm-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>rpm-tp</id>
- <phase>package</phase>
- <goals>
- <goal>rpm</goal>
- </goals>
- <configuration>
- <name>argeo-cms-ui-rcp-tp</name>
- <projversion>${version.argeo-tp}</projversion>
- <release>${maven.build.timestamp}</release>
- <mappings>
- <mapping>
- <directory>/usr/lib/osgi</directory>
- <username>root</username>
- <groupname>root</groupname>
- <filemode>644</filemode>
- <directoryIncluded>false</directoryIncluded>
- <sources>
- <source>
- <location>${project.build.directory}/${project.artifactId}-${project.version}-a2-source-tp</location>
- <includes>
- <include>**/*.jar</include>
- </includes>
- </source>
- </sources>
- </mapping>
- <mapping>
- <directory>/usr/share/osgi/boot</directory>
- <username>root</username>
- <groupname>root</groupname>
- <filemode>644</filemode>
- <directoryIncluded>false</directoryIncluded>
- <dependency>
- <stripVersion>true</stripVersion>
- <includes>
- <include>org.argeo.tp.rcp.e4:org.eclipse.equinox.launcher</include>
- </includes>
- </dependency>
- </mapping>
- </mappings>
- <requires>
- <require>argeo-cms-node-tp</require>
- </requires>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>argeo-rcp</artifactId>
- <version>2.1.86</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>dep</artifactId>
- <name>RCP Base Dependencies</name>
- <packaging>pom</packaging>
- <modules>
- <module>org.argeo.dep.cms.ui.rcp</module>
- <module>org.argeo.dep.cms.e4.rcp</module>
- </modules>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <configuration>
- <instructions>
- <SLC-ModularDistribution>default</SLC-ModularDistribution>
- </instructions>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.argeo.maven.plugins</groupId>
- <artifactId>argeo-osgi-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-descriptors</id>
- <goals>
- <goal>descriptors</goal>
- </goals>
- <phase>generate-resources</phase>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <attach>false</attach>
- </configuration>
- </plugin>
- </plugins>
- </build>
- <dependencies>
- <dependency>
- <groupId>org.argeo.tp.equinox</groupId>
- <artifactId>org.eclipse.osgi</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.sdk</groupId>
- <artifactId>org.junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.sdk</groupId>
- <artifactId>org.hamcrest</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <profiles>
- <profile>
- <id>check-osgi</id>
- <dependencies>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.osgi.boot</artifactId>
- <version>${version.argeo-commons}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.argeo.maven.plugins</groupId>
- <artifactId>argeo-osgi-plugin</artifactId>
- <executions>
- <execution>
- <id>check-osgi</id>
- <phase>test</phase>
- <goals>
- <goal>equinox</goal>
- </goals>
- <configuration>
- <onlyCheck>true</onlyCheck>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
\ No newline at end of file
+++ /dev/null
-<assembly
- xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
- <id>dist</id>
- <baseDirectory></baseDirectory>
- <formats>
- <format>dir</format>
- </formats>
- <fileSets>
- <fileSet>
- <directory>base/bin</directory>
- <outputDirectory>bin</outputDirectory>
- <fileMode>0755</fileMode>
- <includes>
- <include>**</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>base/etc</directory>
- <outputDirectory>etc</outputDirectory>
- <fileMode>0644</fileMode>
- <includes>
- <include>**</include>
- </includes>
- </fileSet>
- </fileSets>
- <dependencySets>
- <dependencySet>
- <unpack>false</unpack>
- <outputFileNameMapping>${artifact.groupId}/${artifact.artifactId}-${artifact.version}.${artifact.extension}</outputFileNameMapping>
- <outputDirectory>share/osgi</outputDirectory>
- <useTransitiveDependencies>true</useTransitiveDependencies>
- <useTransitiveFiltering>true</useTransitiveFiltering>
- <scope>compile</scope>
- <excludes>
- <exclude>org.argeo.tp:argeo-tp</exclude>
- <exclude>*:*:zip:*:*</exclude>
- </excludes>
- </dependencySet>
- <dependencySet>
- <useStrictFiltering>true</useStrictFiltering>
- <unpack>true</unpack>
- <outputDirectory></outputDirectory>
- <includes>
- <include>org.argeo.commons:osgi-boot:zip:*:*</include>
- </includes>
- </dependencySet>
- </dependencySets>
-</assembly>
\ No newline at end of file
+++ /dev/null
-#!/bin/sh
-APP=argeo-companion
-
-JVM=java
-
-BASE_DIR="$(cd "$(dirname "$0")/.."; pwd -P)"
-
-# Directories and files
-CONF_DIR=$BASE_DIR/etc/$APP
-
-EXEC_DIR=.
-DATA_DIR=$EXEC_DIR/data
-CONF_RW=$EXEC_DIR/state
-
-A2_SOURCES=a2://$BASE_DIR/share/osgi
-OSGI_INSTALL_AREA=$BASE_DIR/share/osgi/boot
-OSGI_FRAMEWORK=$OSGI_INSTALL_AREA/org.eclipse.osgi.jar
-
-# Overwrite variables
-if [ -f $CONF_DIR/settings.sh ];then
- . $CONF_DIR/settings.sh
-fi
-
-RETVAL=0
-
-start() {
- mkdir -p $CONF_RW
- mkdir -p $DATA_DIR
-
- cp $CONF_DIR/argeo-companion.ini $CONF_RW/config.ini
-
- cd $EXEC_DIR
- $JVM \
- -Dlog4j.configuration="file:$CONF_DIR/log4j.properties" \
- -Dargeo.osgi.sources=$A2_SOURCES \
- $JAVA_OPTS -jar $OSGI_FRAMEWORK \
- -console \
- -configuration "$CONF_RW" \
- -data "$DATA_DIR"
-}
-
-start
\ No newline at end of file
+++ /dev/null
-argeo.osgi.start.2.node=\
-org.eclipse.equinox.metatype,\
-org.eclipse.equinox.ds,\
-org.eclipse.equinox.cm,\
-
-argeo.osgi.start.3.node=\
-org.argeo.cms
-
-argeo.osgi.start.4.rcp=\
-org.eclipse.core.runtime
-
-applicationXMI=org.argeo.cms.e4.rcp/argeo-companion.e4xmi
-lifeCycleURI=bundleclass://org.argeo.cms.e4.rcp/org.argeo.cms.e4.rcp.CmsRcpLifeCycle
-clearPersistedState=true
-#argeo.cms.desktop.inTray=true
-
-# Remote node:
-#argeo.node.repo.labeledUri=http://root:demo@localhost:7070/jcr/node
-
-argeo.node.useradmin.uris=os:///
-eclipse.application=org.argeo.cms.e4.rcp.CmsE4Application
-
-# Bootstrap
-osgi.bundles=org.argeo.osgi.boot@start
-osgi.clean=true
-# Packages provided by the OpenJDK JVM
-org.osgi.framework.bootdelegation=com.sun.jndi.ldap,\
-com.sun.jndi.ldap.sasl,\
-com.sun.security.jgss,\
-com.sun.jndi.dns,\
-com.sun.nio.file,\
-com.sun.nio.sctp
-
-org.eclipse.equinox.http.jetty.autostart=false
+++ /dev/null
-log4j.rootLogger=WARN, console
-
-log4j.logger.org.argeo=DEBUG
-
-## Appenders
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%-5p %m%n
-
-log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.file.File=/var/log/argeo/argeo.csv
-log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern=%d{ISO8601};"%m";%c;%p%n
-log4j.appender.file.bufferedIO=true
-log4j.appender.file.immediateFlush=false
+++ /dev/null
-export LANG=en_US.utf8
-JAVA_OPTS="-showversion -Xmx128m"
-
-# JMX
-#JAVA_OPTS="-showversion -Xmx512m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=7084 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
-
-# Development
-#JAVA_OPTS="-ea -agentlib:jdwp=transport=dt_socket,server=y,address=*:8000,suspend=n -showversion -Xmx512m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=7084 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
-
-# JMX over server tunnel
-#JAVA_OPTS="-showversion -Xmx2048m -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.rmi.port=7084 -Dcom.sun.management.jmxremote.port=7084 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
-# and then: ssh root@remote-host -L 7084:127.0.0.1:7084 -N
\ No newline at end of file
+++ /dev/null
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>dist</artifactId>
- <version>2.1.86</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>argeo-companion</artifactId>
- <packaging>pom</packaging>
- <name>Argeo Companion</name>
- <profiles>
- <profile>
- <id>dist</id>
- <dependencies>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.dep.cms.client</artifactId>
- <version>${version.argeo-commons}</version>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.dep.cms.node</artifactId>
- <version>${version.argeo-commons}</version>
- </dependency>
-
- <dependency>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>org.argeo.dep.cms.e4.rcp</artifactId>
- <version>2.1.86</version>
- </dependency>
-
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>osgi-boot</artifactId>
- <type>zip</type>
- <version>${version.argeo-commons}</version>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <finalName>argeo-companion-${project.version}</finalName>
- <appendAssemblyId>false</appendAssemblyId>
- <descriptors>
- <descriptor>assembly/argeo-companion.xml</descriptor>
- </descriptors>
- </configuration>
- <executions>
- <execution>
- <id>assembly-base</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>rpmbuild</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>rpm-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>rpm-node</id>
- <phase>package</phase>
- <goals>
- <goal>rpm</goal>
- </goals>
- <configuration>
- <name>argeo-companion</name>
- <mappings>
- <mapping>
- <directory>/etc/argeo-companion</directory>
- <username>root</username>
- <groupname>wheel</groupname>
- <filemode>640</filemode>
- <configuration>noreplace</configuration>
- <directoryIncluded>false</directoryIncluded>
- <sources>
- <source>
- <location>base/etc/argeo-companion</location>
- </source>
- </sources>
- </mapping>
- <mapping>
- <directory>/usr/bin</directory>
- <username>root</username>
- <groupname>root</groupname>
- <filemode>755</filemode>
- <directoryIncluded>false</directoryIncluded>
- <sources>
- <source>
- <location>rpm/usr/bin</location>
- <includes>
- <include>argeo-companion</include>
- </includes>
- </source>
- </sources>
- </mapping>
- </mappings>
- <requires>
- <require>argeo-cms-e4-rcp</require>
- <require>argeo-osgi-boot</require>
- <!-- do not explicitely require java -->
- </requires>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
+++ /dev/null
-#!/bin/sh
-APP=argeo-companion
-
-JVM=java
-
-# Directories and files
-CONF_DIR=/etc/$APP
-
-EXEC_DIR=$HOME/.local/share/$APP
-DATA_DIR=$EXEC_DIR/data
-CONF_RW=$EXEC_DIR/state
-
-A2_SOURCES=a2:///usr/share/osgi,a2:///usr/lib/osgi
-OSGI_INSTALL_AREA=/usr/share/osgi/boot
-OSGI_FRAMEWORK=$OSGI_INSTALL_AREA/org.eclipse.osgi.jar
-
-# Overwrite variables
-if [ -f $CONF_DIR/settings.sh ];then
- . $CONF_DIR/settings.sh
-fi
-
-RETVAL=0
-
-start() {
- mkdir -p $CONF_RW
- mkdir -p $DATA_DIR
-
- cp $CONF_DIR/argeo-companion.ini $CONF_RW/config.ini
-
- cd $EXEC_DIR
- $JVM \
- -Dlog4j.configuration="file:$CONF_DIR/log4j.properties" \
- -Dargeo.osgi.sources=$A2_SOURCES \
- $JAVA_OPTS -jar $OSGI_FRAMEWORK \
- -console \
- -configuration "$CONF_RW" \
- -data "$DATA_DIR"
-}
-
-start
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>argeo-rcp</artifactId>
- <version>2.1.86</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>dist</artifactId>
- <name>RCP Deployable Distributions</name>
- <packaging>pom</packaging>
- <modules>
- <module>argeo-companion</module>
- </modules>
-</project>
\ 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-1.8"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+++ /dev/null
-/bin/
-/target/
-/exec
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.cms.e4.rcp</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.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.8
+++ /dev/null
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
+++ /dev/null
-/MANIFEST.MF
+++ /dev/null
-<?xml version="1.0" encoding="ASCII"?>
-<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:advanced="http://www.eclipse.org/ui/2010/UIModel/application/ui/advanced" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmi:id="_c4iAgCnCEei1F8sdBz8Mpw" elementId="org.argeo.cms.e4.rcp.application">
- <children xsi:type="basic:TrimmedWindow" xmi:id="_hSGBwCnCEei1F8sdBz8Mpw" elementId="org.argeo.cms.e4.rcp.trimmedwindow.argeocompanion" label="Argeo Companion">
- <children xsi:type="advanced:PerspectiveStack" xmi:id="_nxzQICnCEei1F8sdBz8Mpw" elementId="org.argeo.cms.e4.rcp.perspectivestack.0">
- <children xsi:type="advanced:Perspective" xmi:id="_oI_oICnCEei1F8sdBz8Mpw" elementId="org.argeo.cms.e4.rcp.perspective.cmsadmin" label="CMS Admin">
- <children xsi:type="basic:PartSashContainer" xmi:id="_qc16ECnCEei1F8sdBz8Mpw" elementId="org.argeo.cms.e4.rcp.partsashcontainer.0" horizontal="true">
- <children xsi:type="basic:PartStack" xmi:id="_RE87kDsXEeiUntFYWh-hFg" elementId="org.argeo.cms.e4.rcp.partstack.1">
- <children xsi:type="basic:Part" xmi:id="_V1WvgDsXEeiUntFYWh-hFg" elementId="org.argeo.cms.e4.rcp.part.files" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.files.NodeFsBrowserView" label="Files"/>
- <children xsi:type="basic:Part" xmi:id="_vOqDQCnCEei1F8sdBz8Mpw" elementId="org.argeo.cms.e4.rcp.part.jcr" containerData="4000" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.jcr.JcrBrowserView" label="JCR"/>
- </children>
- <children xsi:type="basic:PartStack" xmi:id="_0eRiwCnCEei1F8sdBz8Mpw" elementId="org.argeo.cms.e4.rcp.partstack.0" containerData="6000">
- <tags>editorArea</tags>
- </children>
- </children>
- </children>
- </children>
- </children>
- <descriptors xmi:id="__9SDsC8JEeq0koquN4xGyg" elementId="org.argeo.cms.e4.partdescriptor.nodeEditor" allowMultiple="true" category="editorArea" closeable="true" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.jcr.JcrNodeEditor"/>
- <addons xmi:id="_c4iAgSnCEei1F8sdBz8Mpw" elementId="org.eclipse.e4.core.commands.service" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
- <addons xmi:id="_c4iAginCEei1F8sdBz8Mpw" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
- <addons xmi:id="_c4iAgynCEei1F8sdBz8Mpw" elementId="org.eclipse.e4.ui.bindings.service" contributionURI="bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon"/>
- <addons xmi:id="_c4iAhCnCEei1F8sdBz8Mpw" elementId="org.eclipse.e4.ui.workbench.commands.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"/>
- <addons xmi:id="_c4iAhSnCEei1F8sdBz8Mpw" elementId="org.eclipse.e4.ui.workbench.contexts.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"/>
- <addons xmi:id="_c4iAhinCEei1F8sdBz8Mpw" elementId="org.eclipse.e4.ui.workbench.bindings.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon"/>
- <addons xmi:id="_c4iAhynCEei1F8sdBz8Mpw" elementId="org.eclipse.e4.ui.workbench.handler.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"/>
-</application:Application>
+++ /dev/null
-argeo.osgi.start.2.node=\
-org.eclipse.equinox.metatype,\
-org.eclipse.equinox.ds,\
-org.eclipse.equinox.cm,\
-
-argeo.osgi.start.3.node=\
-org.argeo.cms
-
-applicationXMI=org.argeo.cms.e4.rcp/argeo-companion.e4xmi
-lifeCycleURI=bundleclass://org.argeo.cms.e4.rcp/org.argeo.cms.e4.rcp.CmsRcpLifeCycle
-clearPersistedState=true
-#argeo.cms.desktop.inTray=true
-
-# Remote node:
-#argeo.node.repo.labeledUri=http://root:demo@localhost:7070/jcr/node
-
-log4j.configuration=file:../../log4j.properties
-argeo.node.useradmin.uris=os:///
-eclipse.application=org.argeo.cms.e4.rcp.CmsE4Application
+++ /dev/null
-Bundle-SymbolicName: org.argeo.cms.e4.rcp;singleton=true
-
-Require-Bundle: org.eclipse.core.runtime
-
-Import-Package: org.argeo.api,\
-!org.eclipse.core.runtime,\
-org.eclipse.swt,\
-*
+++ /dev/null
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- argeo-companion.e4xmi
-source.. = src/
+++ /dev/null
-log4j.rootLogger=WARN, development
-
-## Levels
-log4j.logger.org.argeo=DEBUG
-log4j.logger.org.argeo.jackrabbit.remote.ExtendedDispatcherServlet=WARN
-log4j.logger.org.argeo.server.webextender.TomcatDeployer=INFO
-
-#log4j.logger.org.springframework.security=DEBUG
-#log4j.logger.org.apache.commons.exec=DEBUG
-#log4j.logger.org.apache.jackrabbit.webdav=DEBUG
-#log4j.logger.org.apache.jackrabbit.remote=DEBUG
-#log4j.logger.org.apache.jackrabbit.core.observation=DEBUG
-
-log4j.logger.org.apache.catalina=INFO
-log4j.logger.org.apache.coyote=INFO
-
-log4j.logger.org.apache.directory=INFO
-log4j.logger.org.apache.directory.server=ERROR
-log4j.logger.org.apache.jackrabbit.core.query.lucene=ERROR
-
-## Appenders
-# console is set to be a ConsoleAppender.
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-
-# console uses PatternLayout.
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern= %-5p %d{ISO8601} %m - %c - [%t]%n
-
-# development appender (slow!)
-log4j.appender.development=org.apache.log4j.ConsoleAppender
-log4j.appender.development.layout=org.apache.log4j.PatternLayout
-log4j.appender.development.layout.ConversionPattern=%d{HH:mm:ss} [%16.16t] %5p %m (%F:%L) %c%n
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- id="CmsE4Application"
- name="CMS E4 Application"
- point="org.eclipse.core.runtime.applications">
- <application
- cardinality="singleton-global"
- thread="main"
- visible="true">
- <run class="org.argeo.cms.e4.rcp.CmsE4Application"></run>
- </application>
- </extension>
-</plugin>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>argeo-rcp</artifactId>
- <version>2.1.86</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.cms.e4.rcp</artifactId>
- <name>CMS E4 RCP</name>
- <packaging>jar</packaging>
- <dependencies>
- <!-- Base Argeo UI -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.cms.ui</artifactId>
- <version>${version.argeo-commons}</version>
- </dependency>
- <!-- RCP specific -->
- <dependency>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>org.argeo.eclipse.ui.rcp</artifactId>
- <version>2.1.86</version>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
+++ /dev/null
-package org.argeo.cms.e4.rcp;
-
-import java.security.PrivilegedExceptionAction;
-import java.util.UUID;
-
-import javax.security.auth.Subject;
-import javax.security.auth.login.LoginContext;
-import javax.security.auth.login.LoginException;
-
-import org.argeo.api.NodeConstants;
-import org.argeo.cms.CmsException;
-import org.argeo.cms.auth.CurrentUser;
-import org.argeo.cms.ui.CmsImageManager;
-import org.argeo.cms.ui.CmsView;
-import org.argeo.cms.ui.UxContext;
-import org.argeo.cms.ui.util.SimpleUxContext;
-import org.argeo.cms.ui.widgets.auth.CmsLoginShell;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-
-public class CmsE4Application implements IApplication, CmsView {
- private LoginContext loginContext;
- private IApplication e4Application;
- private UxContext uxContext;
- private String uid;
-
- @Override
- public Object start(IApplicationContext context) throws Exception {
- uid = UUID.randomUUID().toString();
- Subject subject = new Subject();
- Display display = createDisplay();
- CmsLoginShell loginShell = new CmsLoginShell(this);
- // TODO customize CmsLoginShell to be smaller and centered
- loginShell.setSubject(subject);
- try {
- // try pre-auth
- loginContext = new LoginContext(NodeConstants.LOGIN_CONTEXT_USER, subject, loginShell);
- loginContext.login();
- } catch (LoginException e) {
- e.printStackTrace();
- loginShell.createUi();
- loginShell.open();
-
- while (!loginShell.getShell().isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- }
- if (CurrentUser.getUsername(getSubject()) == null)
- throw new CmsException("Cannot log in");
-
- // try {
- // CallbackHandler callbackHandler = new DefaultLoginDialog(
- // display.getActiveShell());
- // loginContext = new LoginContext(
- // NodeConstants.LOGIN_CONTEXT_SINGLE_USER, subject,
- // callbackHandler);
- // } catch (LoginException e1) {
- // throw new CmsException("Cannot initialize login context", e1);
- // }
- //
- // // login
- // try {
- // loginContext.login();
- // subject = loginContext.getSubject();
- // } catch (LoginException e) {
- // e.printStackTrace();
- // display.dispose();
- // try {
- // Thread.sleep(2000);
- // } catch (InterruptedException e1) {
- // // silent
- // }
- // return null;
- // }
-
- uxContext = new SimpleUxContext();
- //UiContext.setData(CmsView.KEY, this);
- CmsView.registerCmsView(loginShell.getShell(), this);
- e4Application = getApplication(null);
- Object res = Subject.doAs(subject, new PrivilegedExceptionAction<Object>() {
-
- @Override
- public Object run() throws Exception {
- return e4Application.start(context);
- }
-
- });
- return res;
- }
-
- @Override
- public void stop() {
- if (e4Application != null)
- e4Application.stop();
- }
-
- static IApplication getApplication(String[] args) {
- IExtension extension = Platform.getExtensionRegistry().getExtension(Platform.PI_RUNTIME,
- Platform.PT_APPLICATIONS, "org.eclipse.e4.ui.workbench.swt.E4Application");
- try {
- IConfigurationElement[] elements = extension.getConfigurationElements();
- if (elements.length > 0) {
- IConfigurationElement[] runs = elements[0].getChildren("run");
- if (runs.length > 0) {
- Object runnable;
- runnable = runs[0].createExecutableExtension("class");
- if (runnable instanceof IApplication)
- return (IApplication) runnable;
- }
- }
- } catch (Exception e) {
- throw new IllegalStateException("Cannot find e4 application", e);
- }
- throw new IllegalStateException("Cannot find e4 application");
- }
-
- public static Display createDisplay() {
- Display.setAppName("Argeo CMS RCP");
-
- // create the display
- Display newDisplay = Display.getCurrent();
- if (newDisplay == null) {
- newDisplay = new Display();
- }
- // Set the priority higher than normal so as to be higher
- // than the JobManager.
- Thread.currentThread().setPriority(Math.min(Thread.MAX_PRIORITY, Thread.NORM_PRIORITY + 1));
- return newDisplay;
- }
-
- //
- // CMS VIEW
- //
-
- @Override
- public UxContext getUxContext() {
- return uxContext;
- }
-
- @Override
- public void navigateTo(String state) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void authChange(LoginContext loginContext) {
- if (loginContext == null)
- throw new CmsException("Login context cannot be null");
- // logout previous login context
- // if (this.loginContext != null)
- // try {
- // this.loginContext.logout();
- // } catch (LoginException e1) {
- // System.err.println("Could not log out: " + e1);
- // }
- this.loginContext = loginContext;
- }
-
- @Override
- public void logout() {
- if (loginContext == null)
- throw new CmsException("Login context should not bet null");
- try {
- CurrentUser.logoutCmsSession(loginContext.getSubject());
- loginContext.logout();
- } catch (LoginException e) {
- throw new CmsException("Cannot log out", e);
- }
- }
-
- @Override
- public void exception(Throwable e) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public CmsImageManager getImageManager() {
- // TODO Auto-generated method stub
- return null;
- }
-
- protected Subject getSubject() {
- return loginContext.getSubject();
- }
-
- @Override
- public boolean isAnonymous() {
- return CurrentUser.isAnonymous(getSubject());
- }
-
- @Override
- public String getUid() {
- return uid;
- }
-
-
-}
+++ /dev/null
-package org.argeo.cms.e4.rcp;
-
-import org.eclipse.e4.core.contexts.IEclipseContext;
-import org.eclipse.e4.ui.workbench.lifecycle.PostContextCreate;
-import org.eclipse.e4.ui.workbench.lifecycle.PreSave;
-import org.eclipse.e4.ui.workbench.lifecycle.ProcessAdditions;
-import org.eclipse.e4.ui.workbench.lifecycle.ProcessRemovals;
-
-@SuppressWarnings("restriction")
-public class CmsRcpLifeCycle {
-
- @PostContextCreate
- void postContextCreate(IEclipseContext workbenchContext) {
- }
-
- @PreSave
- void preSave(IEclipseContext workbenchContext) {
- }
-
- @ProcessAdditions
- void processAdditions(IEclipseContext workbenchContext) {
- }
-
- @ProcessRemovals
- void processRemovals(IEclipseContext workbenchContext) {
- }
-}
+++ /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-11"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+++ /dev/null
-/bin/
-/target/
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.cms.ui.rcp</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>
- <buildCommand>
- <name>org.eclipse.pde.ds.core.builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-/MANIFEST.MF
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="init" deactivate="destroy" name="CMS RCP App">
- <implementation class="org.argeo.cms.ui.rcp.CmsRcpApp"/>
- <reference bind="setCmsApp" cardinality="1..1" interface="org.argeo.cms.ui.CmsApp" name="CmsApp" policy="dynamic"/>
- <reference bind="setEventAdmin" cardinality="1..1" interface="org.osgi.service.event.EventAdmin" name="EventAdmin" policy="static"/>
-</scr:component>
+++ /dev/null
-
-Service-Component: OSGI-INF/cmsRcpApp.xml
-
-Import-Package:\
-org.argeo.api,\
-org.argeo.cms.auth,\
-org.eclipse.swt,\
-org.eclipse.swt.graphics,\
-org.w3c.css.sac,\
-*
+++ /dev/null
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- OSGI-INF/
-source.. = src/
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>argeo-rcp</artifactId>
- <version>2.1.86</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.cms.ui.rcp</artifactId>
- <name>CMS UI RCP</name>
- <packaging>jar</packaging>
- <dependencies>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.cms.ui</artifactId>
- <version>${version.argeo-commons}</version>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
+++ /dev/null
-package org.argeo.cms.ui.rcp;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.PrivilegedAction;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.security.auth.Subject;
-import javax.security.auth.login.LoginContext;
-import javax.security.auth.login.LoginException;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.api.NodeConstants;
-import org.argeo.cms.ui.CmsApp;
-import org.argeo.cms.ui.CmsImageManager;
-import org.argeo.cms.ui.CmsTheme;
-import org.argeo.cms.ui.CmsView;
-import org.argeo.cms.ui.UxContext;
-import org.argeo.cms.ui.util.CmsUiUtils;
-import org.eclipse.e4.ui.css.core.engine.CSSEngine;
-import org.eclipse.e4.ui.css.core.engine.CSSErrorHandler;
-import org.eclipse.e4.ui.css.swt.engine.CSSSWTEngineImpl;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.osgi.service.event.Event;
-import org.osgi.service.event.EventAdmin;
-
-/** Runs a {@link CmsApp} as an SWT desktop application. */
-@SuppressWarnings("restriction")
-public class CmsRcpApp implements CmsView {
- private final static Log log = LogFactory.getLog(CmsRcpApp.class);
-
- private Display display;
- private Shell shell;
- private CmsApp cmsApp;
- private CmsUiThread uiThread;
-
- // CMS View
- private String uid;
- private LoginContext loginContext;
-
- private EventAdmin eventAdmin;
-
- private CSSEngine cssEngine;
-
- public CmsRcpApp() {
- uid = UUID.randomUUID().toString();
- }
-
- public void init(Map<String, String> properties) {
- try {
- Thread.sleep(5000);
- } catch (InterruptedException e) {
- // silent
- }
- uiThread = new CmsUiThread();
- uiThread.start();
-
- }
-
- public void destroy(Map<String, String> properties) {
- if (!shell.isDisposed())
- shell.dispose();
- try {
- uiThread.join();
- } catch (InterruptedException e) {
- // silent
- } finally {
- uiThread = null;
- }
- }
-
- class CmsUiThread extends Thread {
-
- public CmsUiThread() {
- super("CMS UI");
- }
-
- @Override
- public void run() {
- display = new Display();
- shell = new Shell(display);
- shell.setText("Argeo CMS");
- Composite parent = shell;
- parent.setLayout(new GridLayout());
- CmsView.registerCmsView(shell, CmsRcpApp.this);
-
-// Subject subject = new Subject();
-// CmsLoginShell loginShell = new CmsLoginShell(CmsRcpApp.this);
-// loginShell.setSubject(subject);
- try {
- // try pre-auth
-// loginContext = new LoginContext(NodeConstants.LOGIN_CONTEXT_USER, subject, loginShell);
- loginContext = new LoginContext(NodeConstants.LOGIN_CONTEXT_SINGLE_USER);
- loginContext.login();
- } catch (LoginException e) {
- throw new IllegalStateException("Could not log in.", e);
-// loginShell.createUi();
-// loginShell.open();
-//
-// while (!loginShell.getShell().isDisposed()) {
-// if (!display.readAndDispatch())
-// display.sleep();
-// }
- }
-
- Subject.doAs(loginContext.getSubject(), (PrivilegedAction<Void>) () -> {
- Composite ui = cmsApp.initUi(parent);
- // ui.setData(CmsApp.UI_NAME_PROPERTY, uiName);
- ui.setLayoutData(CmsUiUtils.fillAll());
-
- // Styling
- CmsTheme theme = CmsTheme.getCmsTheme(ui);
- if (theme != null) {
- cssEngine = new CSSSWTEngineImpl(display);
- for (String path : theme.getSwtCssPaths()) {
- try (InputStream in = theme.loadPath(path)) {
- cssEngine.parseStyleSheet(in);
- } catch (IOException e) {
- throw new IllegalStateException("Cannot load stylesheet " + path, e);
- }
- }
- cssEngine.setErrorHandler(new CSSErrorHandler() {
- public void error(Exception e) {
- log.error("SWT styling error: ", e);
- }
- });
- applyStyles(shell);
- }
- shell.layout(true, true);
-
- shell.open();
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- display.dispose();
- return null;
- });
- }
-
- }
-
- /*
- * CMS VIEW
- */
-
- @Override
- public String getUid() {
- return uid;
- }
-
- @Override
- public UxContext getUxContext() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void navigateTo(String state) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void authChange(LoginContext loginContext) {
- }
-
- @Override
- public void logout() {
- if (loginContext != null)
- try {
- loginContext.logout();
- } catch (LoginException e) {
- log.error("Cannot log out", e);
- }
- }
-
- @Override
- public void exception(Throwable e) {
- log.error("Unexpected exception in CMS RCP", e);
- }
-
- @Override
- public CmsImageManager getImageManager() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean isAnonymous() {
- return false;
- }
-
- @Override
- public void applyStyles(Object node) {
- if (cssEngine != null)
- cssEngine.applyStyles(node, true);
- }
-
- @Override
- public void sendEvent(String topic, Map<String, Object> properties) {
- if (properties == null)
- properties = new HashMap<>();
- if (properties.containsKey(CMS_VIEW_UID_PROPERTY) && !properties.get(CMS_VIEW_UID_PROPERTY).equals(uid))
- throw new IllegalArgumentException("Property " + CMS_VIEW_UID_PROPERTY + " is set to another CMS view uid ("
- + properties.get(CMS_VIEW_UID_PROPERTY) + ") then " + uid);
- properties.put(CMS_VIEW_UID_PROPERTY, uid);
- eventAdmin.sendEvent(new Event(topic, properties));
- }
-
- public <T> T doAs(PrivilegedAction<T> action) {
- return Subject.doAs(getSubject(), action);
- }
-
- protected Subject getSubject() {
- return loginContext.getSubject();
- }
-
- /*
- * DEPENDENCY INJECTION
- */
- public void setCmsApp(CmsApp cmsApp) {
- this.cmsApp = cmsApp;
- }
-
- public void setEventAdmin(EventAdmin eventAdmin) {
- this.eventAdmin = eventAdmin;
- }
-
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src" />
- <classpathentry kind="con"
- path="org.eclipse.pde.core.requiredPlugins" />
- <classpathentry kind="con"
- path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8" />
- <classpathentry kind="output" path="bin" />
-</classpath>
+++ /dev/null
-/target/
-/bin/
-*.log
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.eclipse.ui.rcp</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
-/MANIFEST.MF
+++ /dev/null
-Import-Package: org.apache.commons.io,\
- org.eclipse.core.commands,\
- org.argeo.eclipse.ui.util,\
- !org.eclipse.core.runtime,\
- !org.eclipse.ui.plugin,\
- org.eclipse.swt,\
- *
-
-Export-Package: org.argeo.*,\
-org.eclipse.rap.fileupload.*;version="3.10",\
-org.eclipse.rap.rwt.*;version="3.10"
-
-# Was !org.eclipse.core.commands,\ why ?
-
-#Bundle-Activator: org.argeo.eclipse.ui.ArgeoUiPlugin
-#Bundle-ActivationPolicy: lazy
-#Ignore-Package: org.eclipse.core.commands
\ No newline at end of file
+++ /dev/null
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>argeo-rcp</artifactId>
- <version>2.1.86</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.eclipse.ui.rcp</artifactId>
- <name>Eclipse UI RCP</name>
- <description>Provide RCP specific classes and behaviour in order to enable single sourcing</description>
- <packaging>jar</packaging>
- <dependencies>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.eclipse.ui</artifactId>
- <version>${version.argeo-commons}</version>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
+++ /dev/null
-package org.argeo.eclipse.ui.rcp.internal.rwt;
-
-import org.eclipse.rap.rwt.client.Client;
-import org.eclipse.rap.rwt.client.service.BrowserNavigation;
-import org.eclipse.rap.rwt.client.service.BrowserNavigationListener;
-import org.eclipse.rap.rwt.client.service.ClientService;
-import org.eclipse.rap.rwt.client.service.JavaScriptExecutor;
-
-public class RcpClient implements Client {
-
- @Override
- public <T extends ClientService> T getService(Class<T> type) {
- if (type.isAssignableFrom(JavaScriptExecutor.class))
- return (T) javaScriptExecutor;
- else if (type.isAssignableFrom(BrowserNavigation.class))
- return (T) browserNavigation;
- else
- return null;
- }
-
- private JavaScriptExecutor javaScriptExecutor = new JavaScriptExecutor() {
-
- @Override
- public void execute(String code) {
- // TODO Auto-generated method stub
-
- }
- };
- private BrowserNavigation browserNavigation = new BrowserNavigation() {
-
- @Override
- public void pushState(String state, String title) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void addBrowserNavigationListener(
- BrowserNavigationListener listener) {
- // TODO Auto-generated method stub
-
- }
- };
-}
+++ /dev/null
-package org.argeo.eclipse.ui.rcp.internal.rwt;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Map;
-import java.util.TreeMap;
-
-import org.apache.commons.io.IOUtils;
-import org.eclipse.rap.rwt.service.ResourceManager;
-
-public class RcpResourceManager implements ResourceManager {
- private Map<String, byte[]> register = Collections
- .synchronizedMap(new TreeMap<String, byte[]>());
-
- @Override
- public void register(String name, InputStream in) {
- try {
- register.put(name, IOUtils.toByteArray(in));
- } catch (IOException e) {
- throw new RuntimeException("Cannot register " + name, e);
- }
- }
-
- @Override
- public boolean unregister(String name) {
- return register.remove(name) != null;
- }
-
- @Override
- public InputStream getRegisteredContent(String name) {
- return new ByteArrayInputStream(register.get(name));
- }
-
- @Override
- public String getLocation(String name) {
- return name;
- }
-
- @Override
- public boolean isRegistered(String name) {
- return register.containsKey(name);
- }
-
-}
+++ /dev/null
-package org.argeo.eclipse.ui.specific;
-
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Shell;
-
-public class CmsFileDialog extends FileDialog {
- public CmsFileDialog(Shell parent, int style) {
- super(parent, style);
- }
-
- public CmsFileDialog(Shell parent) {
- super(parent);
- }
-
-}
+++ /dev/null
-package org.argeo.eclipse.ui.specific;
-
-import org.eclipse.rap.rwt.widgets.FileUpload;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Composite;
-
-public class CmsFileUpload extends FileUpload {
- public CmsFileUpload(Composite parent, int style) {
- super(parent, style);
- }
-
- @Override
- public void setText(String text) {
- super.setText(text);
- }
-
- @Override
- public String getFileName() {
- return super.getFileName();
- }
-
- @Override
- public String[] getFileNames() {
- return super.getFileNames();
- }
-
- @Override
- public void addSelectionListener(SelectionListener listener) {
- super.addSelectionListener(listener);
- }
-
-}
+++ /dev/null
-package org.argeo.eclipse.ui.specific;
-
-/** RCP specific {@link NLS} to be extended */
-public class DefaultNLS {// extends NLS {
-// public final static String DEFAULT_BUNDLE_LOCATION = "/properties/plugin";
-//
-// public DefaultNLS() {
-// this(DEFAULT_BUNDLE_LOCATION);
-// }
-//
-// public DefaultNLS(String bundleName) {
-// NLS.initializeMessages(bundleName, getClass());
-// }
-}
\ No newline at end of file
+++ /dev/null
-package org.argeo.eclipse.ui.specific;
-
-/** Constants which are specific to RWT.*/
-public interface EclipseUiConstants {
- final static String CSS_CLASS = "org.eclipse.e4.ui.css.CssClassName";
- final static String MARKUP_SUPPORT = null;
-}
+++ /dev/null
-package org.argeo.eclipse.ui.specific;
-
-import org.eclipse.jface.viewers.ColumnViewer;
-import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Widget;
-
-/** Static utilities to bridge differences between RCP and RAP */
-public class EclipseUiSpecificUtils {
- private final static String CSS_CLASS = "org.eclipse.e4.ui.css.CssClassName";
-
- public static void setStyleData(Widget widget, Object data) {
- widget.setData(CSS_CLASS, data);
- }
-
- public static Object getStyleData(Widget widget) {
- return widget.getData(CSS_CLASS);
- }
-
- public static void setMarkupData(Widget widget) {
- // does nothing
- }
-
- /**
- * TootlTip support is supported for {@link ColumnViewer} in RCP
- *
- * @see ColumnViewerToolTipSupport#enableFor(Viewer)
- */
- public static void enableToolTipSupport(Viewer viewer) {
- if (viewer instanceof ColumnViewer)
- ColumnViewerToolTipSupport.enableFor((ColumnViewer) viewer);
- }
-
- private EclipseUiSpecificUtils() {
- }
-}
+++ /dev/null
-package org.argeo.eclipse.ui.specific;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.swt.dnd.DropTargetAdapter;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.widgets.Control;
-
-public class FileDropAdapter {
-
- public void prepareDropTarget(Control control, DropTarget dropTarget) {
- dropTarget.setTransfer(new Transfer[] { FileTransfer.getInstance() });
- dropTarget.addDropListener(new DropTargetAdapter() {
- @Override
- public void dropAccept(DropTargetEvent event) {
- if (!FileTransfer.getInstance().isSupportedType(event.currentDataType)) {
- event.detail = DND.DROP_NONE;
- }
- }
-
- @Override
- public void drop(DropTargetEvent event) {
- handleFileDrop(control, event);
- }
- });
- }
-
- public void handleFileDrop(Control control, DropTargetEvent event) {
- String fileList[] = null;
- FileTransfer ft = FileTransfer.getInstance();
- if (ft.isSupportedType(event.currentDataType)) {
- fileList = (String[]) event.data;
- }
- System.out.println(Arrays.toString(fileList));
- }
-
- /** Executed in UI thread */
- protected void processUpload(InputStream in, String fileName, String contentType) throws IOException {
-
- }
-
-}
+++ /dev/null
-package org.argeo.eclipse.ui.specific;
-
-import static org.argeo.eclipse.ui.util.SingleSourcingConstants.FILE_SCHEME;
-import static org.argeo.eclipse.ui.util.SingleSourcingConstants.SCHEME_HOST_SEPARATOR;
-
-import java.awt.Desktop;
-import java.io.File;
-import java.io.IOException;
-
-import org.argeo.eclipse.ui.util.SingleSourcingConstants;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-
-/**
- * RCP specific command handler to open a file.
- *
- * The parameter "URI" is used to determine the correct method to open it.
- *
- * Various instances of this handler with different command ID might coexist in
- * order to provide context specific open file services.
- *
- */
-public class OpenFile extends AbstractHandler {
- // private final static Log log = LogFactory.getLog(OpenFile.class);
- public final static String ID = SingleSourcingConstants.OPEN_FILE_CMD_ID;
- public final static String PARAM_FILE_NAME = SingleSourcingConstants.PARAM_FILE_NAME;
- public final static String PARAM_FILE_URI = SingleSourcingConstants.PARAM_FILE_URI;
-
- public Object execute(ExecutionEvent event) throws ExecutionException {
- String fileUri = event.getParameter(PARAM_FILE_URI);
-
- // sanity check
- if (fileUri == null || "".equals(fileUri.trim()))
- return null;
-
- Desktop desktop = null;
- if (Desktop.isDesktopSupported()) {
- desktop = Desktop.getDesktop();
- }
-
- File file = getFileFromUri(fileUri);
- if (file != null)
- try {
- desktop.open(file);
- } catch (IOException e) {
- throw new SingleSourcingException("Unable to open file with URI: " + fileUri, e);
- }
- return null;
- }
-
- protected File getFileFromUri(String uri) {
- if (uri.startsWith(FILE_SCHEME)) {
- String path = uri.substring((FILE_SCHEME + SCHEME_HOST_SEPARATOR).length());
- return new File(path);
- }
- return null;
- }
-}
+++ /dev/null
-package org.argeo.eclipse.ui.specific;
-
-/** Exception related to SWT/RWT single sourcing. */
-public class SingleSourcingException extends RuntimeException {
- private static final long serialVersionUID = -727700418055348468L;
-
- public SingleSourcingException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public SingleSourcingException(String message) {
- super(message);
- }
-
-}
+++ /dev/null
-package org.argeo.eclipse.ui.specific;
-
-import java.util.Locale;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.eclipse.swt.widgets.Display;
-
-/** Singleton class providing single sources infos about the UI context. */
-public class UiContext {
-
- public static HttpServletRequest getHttpRequest() {
- return null;
- }
-
- public static HttpServletResponse getHttpResponse() {
- return null;
- }
-
- public static Locale getLocale() {
- return Locale.getDefault();
- }
-
- public static void setLocale(Locale locale) {
- Locale.setDefault(locale);
- }
-
- /** Can always be null */
- @SuppressWarnings("unchecked")
- public static <T> T getData(String key) {
- Display display = getDisplay();
- if (display == null)
- return null;
- return (T) display.getData(key);
- }
-
- public static void setData(String key, Object value) {
- Display display = getDisplay();
- if (display == null)
- throw new SingleSourcingException(
- "Not display available in RAP context");
- display.setData(key, value);
- }
-
- private static Display getDisplay() {
- return Display.getCurrent();
- }
-
- private UiContext() {
- }
-
-}
+++ /dev/null
-package org.eclipse.rap.fileupload;
-
-public interface FileDetails {
- String getContentType();
-
- long getContentLength();
-
- String getFileName();
-}
+++ /dev/null
-package org.eclipse.rap.fileupload;
-
-import java.util.EventObject;
-
-public abstract class FileUploadEvent extends EventObject {
-
- private static final long serialVersionUID = 1L;
-
- protected FileUploadEvent(FileUploadHandler source) {
- super(source);
- }
-
- public abstract FileDetails[] getFileDetails();
-
- public abstract long getContentLength();
-
- public abstract long getBytesRead();
-
- public abstract Exception getException();
-
-}
+++ /dev/null
-/*******************************************************************************
- * Copyright (c) 2011, 2012 EclipseSource and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource - initial API and implementation
- ******************************************************************************/
-package org.eclipse.rap.fileupload;
-
-/**
- * A file upload handler is used to accept file uploads from a client. After
- * creating a file upload handler, the server will accept file uploads to the
- * URL returned by <code>getUploadUrl()</code>. Upload listeners can be attached
- * to react on progress. When the upload has finished, a FileUploadHandler has
- * to be disposed of by calling its <code>dispose()</code> method.
- *
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class FileUploadHandler {
-
- public FileUploadHandler(FileUploadReceiver fileUploadReceiver) {
- }
-
- public void dispose() {
-
- }
-
- public void addUploadListener(FileUploadListener listener) {
-
- }
-
- public String getUploadUrl() {
- return null;
- }
-}
+++ /dev/null
-/*******************************************************************************
- * Copyright (c) 2011, 2012 EclipseSource and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource - initial API and implementation
- ******************************************************************************/
-package org.eclipse.rap.fileupload;
-
-import org.eclipse.swt.widgets.Display;
-
-
-/**
- * Listener to react on progress and completion of a file upload.
- * <p>
- * <strong>Note:</strong> This listener will be called from a different thread than the UI thread.
- * Implementations must use {@link Display#asyncExec(Runnable)} to access the UI.
- * </p>
- *
- * @see FileUploadEvent
- */
-public interface FileUploadListener {
-
- /**
- * Called when new information about an in-progress upload is available.
- *
- * @param event event object that contains information about the uploaded file
- * @see FileUploadEvent#getBytesRead()
- */
- void uploadProgress( FileUploadEvent event );
-
- /**
- * Called when a file upload has finished successfully.
- *
- * @param event event object that contains information about the uploaded file
- * @see FileUploadEvent
- */
- void uploadFinished( FileUploadEvent event );
-
- /**
- * Called when a file upload failed.
- *
- * @param event event object that contains information about the uploaded file
- * @see FileUploadEvent#getErrorMessage()
- */
- void uploadFailed( FileUploadEvent event );
-
-}
+++ /dev/null
-/*******************************************************************************
- * Copyright (c) 2011, 2013 EclipseSource and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource - initial API and implementation
- ******************************************************************************/
-package org.eclipse.rap.fileupload;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-
-/**
- * Instances of this interface are responsible for reading and processing the data from a file
- * upload.
- */
-public abstract class FileUploadReceiver {
-
- /**
- * Reads and processes all data from the provided input stream.
- *
- * @param stream the stream to read from
- * @param details the details of the uploaded file like file name, content-type and size
- * @throws IOException if an input / output error occurs
- */
- public abstract void receive( InputStream stream, FileDetails details ) throws IOException;
-
-}
+++ /dev/null
-package org.eclipse.rap.rwt;
-
-import java.util.Locale;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.argeo.eclipse.ui.rcp.internal.rwt.RcpClient;
-import org.argeo.eclipse.ui.rcp.internal.rwt.RcpResourceManager;
-import org.eclipse.rap.rwt.client.Client;
-import org.eclipse.rap.rwt.service.ResourceManager;
-
-public class RWT {
- public final static String CUSTOM_VARIANT = "argeo-rcp:CUSTOM_VARIANT";
- public final static String MARKUP_ENABLED = "argeo-rcp:MARKUP_ENABLED";
- public static final String TOOLTIP_MARKUP_ENABLED = "argeo-rcp:TOOLTIP_MARKUP_ENABLED";
- public final static String CUSTOM_ITEM_HEIGHT = "argeo-rcp:CUSTOM_ITEM_HEIGHT";
- public final static String ACTIVE_KEYS = "argeo-rcp:ACTIVE_KEYS";
- public final static String CANCEL_KEYS = "argeo-rcp:CANCEL_KEYS";
- public final static String DEFAULT_THEME_ID = "argeo-rcp:DEFAULT_THEME_ID";
-
- public final static int HYPERLINK = 0;
-
- private static Locale locale = Locale.getDefault();
- private static RcpClient client = new RcpClient();
- private static ResourceManager resourceManager = new RcpResourceManager();
- static {
-
- }
-
- public static Locale getLocale() {
- return locale;
- }
-
- public static HttpServletRequest getRequest() {
- return null;
- }
-
- public static ResourceManager getResourceManager() {
- return resourceManager;
- }
-
- public static Client getClient() {
- return client;
- }
-}
+++ /dev/null
-package org.eclipse.rap.rwt;
-
-public class SingletonUtil {
- public static <T> T getSessionInstance(Class<T> clss) {
- return null;
- }
-}
+++ /dev/null
-package org.eclipse.rap.rwt.application;
-
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-public abstract class AbstractEntryPoint implements EntryPoint {
- private Display display;
- private Shell shell;
-
- protected Shell createShell(Display display) {
- return new Shell(display);
- }
-
- protected void createContents(Composite parent) {
-
- }
-
- public int createUI() {
- display = new Display();
- shell = createShell(display);
- shell.setLayout(new GridLayout(1, false));
- createContents(shell);
- if (shell.getMaximized()) {
- shell.layout();
- } else {
- shell.pack();
- }
- shell.open();
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch()) {
- display.sleep();
- }
- }
- display.dispose();
- return 0;
- }
-
- protected Shell getShell() {
- return shell;
- }
-}
+++ /dev/null
-package org.eclipse.rap.rwt.application;
-
-import java.util.Map;
-
-import org.eclipse.rap.rwt.service.ResourceLoader;
-
-public interface Application {
- public static enum OperationMode {
- JEE_COMPATIBILITY, SWT_COMPATIBILITY,
- }
-
- void setOperationMode(OperationMode operationMode);
-
- void addResource(String name, ResourceLoader resourceLoader);
-
- void setExceptionHandler(ExceptionHandler exceptionHandler);
-
- void addEntryPoint(String path, EntryPointFactory entryPointFactory,
- Map<String, String> properties);
-
- void addEntryPoint(String path, Class<? extends EntryPoint> entryPoint,
- Map<String, String> properties);
-
- void addStyleSheet(String themeId, String styleSheetLocation,
- ResourceLoader resourceLoader);
-
-}
+++ /dev/null
-package org.eclipse.rap.rwt.application;
-
-public interface ApplicationConfiguration {
- void configure(Application application);
-}
+++ /dev/null
-package org.eclipse.rap.rwt.application;
-
-public interface EntryPoint {
- int createUI();
-}
+++ /dev/null
-package org.eclipse.rap.rwt.application;
-
-public interface EntryPointFactory {
- public EntryPoint create();
-}
+++ /dev/null
-package org.eclipse.rap.rwt.application;
-
-public interface ExceptionHandler {
- public void handleException(Throwable throwable);
-}
+++ /dev/null
-package org.eclipse.rap.rwt.client;
-
-import java.io.Serializable;
-
-import org.eclipse.rap.rwt.client.service.ClientService;
-
-public interface Client extends Serializable {
-
- /**
- * Returns this client's implementation of a given service, if available.
- *
- * @param type the type of the requested service, must be a subtype of ClientService
- * @return the requested service if provided by this client, otherwise <code>null</code>
- * @see ClientService
- */
- <T extends ClientService> T getService( Class<T> type );
-
-}
\ No newline at end of file
+++ /dev/null
-package org.eclipse.rap.rwt.client;
-
-public interface WebClient {
- public final static String FAVICON = "rcp:FAVICON";
- public final static String PAGE_TITLE = "rcp:PAGE_TITLE";
- public final static String BODY_HTML = "rcp:BODY_HTML";
- public final static String THEME_ID = "rcp:THEME_ID";
- public final static String HEAD_HTML = "rcp:HEAD_HTML";
- public final static String PAGE_OVERFLOW = "rcp:PAGE_OVERFLOW";
-}
+++ /dev/null
-package org.eclipse.rap.rwt.client.service;
-
-public interface BrowserNavigation extends ClientService {
- void pushState(String state, String title);
-
- void addBrowserNavigationListener(BrowserNavigationListener listener);
-}
+++ /dev/null
-package org.eclipse.rap.rwt.client.service;
-
-public class BrowserNavigationEvent {
- private String state;
-
- public String getState() {
- return state;
- }
-
-}
+++ /dev/null
-package org.eclipse.rap.rwt.client.service;
-
-public interface BrowserNavigationListener {
- public void navigated(BrowserNavigationEvent event);
-}
+++ /dev/null
-package org.eclipse.rap.rwt.client.service;
-
-import java.io.Serializable;
-
-public interface ClientService extends Serializable {
-}
+++ /dev/null
-package org.eclipse.rap.rwt.client.service;
-
-public interface JavaScriptExecutor extends ClientService {
- public void execute( String code );
-}
+++ /dev/null
-/*******************************************************************************
- * Copyright (c) 2012 EclipseSource and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * EclipseSource - initial API and implementation
- ******************************************************************************/
-package org.eclipse.rap.rwt.client.service;
-
-/**
- * The UrlLauncher service allows loading an URL in an external window, application or save dialog.
- *
- * @since 2.0
- * @noimplement This interface is not intended to be implemented by clients.
- */
-public interface UrlLauncher extends ClientService {
-
- /**
- * Opens the given URL.
- *
- * Any HTTP URL or relative URL will be opened in a new window.
- * Modern browser may block any attempt to open new windows, but will usually prompt the user to
- * accept or ignore. Even if accepted, the decision may be applied to only this attempt, or only
- * to future attempts. It could also trigger a document reload, causing a session restart.
- *
- * Non-HTTP URLs like "mailto" will not create a new browser window, but require the client
- * to have a matching protocol handler registered.
- *
- * @param url the URL to open
- */
- void openURL( String url );
-
-}
+++ /dev/null
-package org.eclipse.rap.rwt.service;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-public interface ResourceLoader {
- public InputStream getResourceAsStream(String resourceName)
- throws IOException;
-}
+++ /dev/null
-package org.eclipse.rap.rwt.service;
-
-import java.io.InputStream;
-
-public interface ResourceManager {
- public void register(String name, InputStream in);
-
- boolean unregister(String name);
-
- public InputStream getRegisteredContent(String name);
-
- public String getLocation(String name);
-
- public boolean isRegistered(String name);
-}
+++ /dev/null
-package org.eclipse.rap.rwt.service;
-
-/** Mock, does nothing as this is irrelevant for RCP. */
-public class ServerPushSession {
- public void start() {
-
- }
-
- public void stop() {
-
- }
-}
+++ /dev/null
-package org.eclipse.rap.rwt.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Widget;
-
-public class DropDown {
- private boolean visible=false;
-
- public DropDown(Widget parent, int style) {
- // FIXME implement a shell
- }
-
- public DropDown(Widget parent) {
- this(parent, SWT.NONE);
- }
-
- public void setVisible(boolean visible) {
- this.visible = visible;
- }
-
- public boolean isVisible() {
- return visible;
- }
-
- public void setItems( String[] items ) {
-
- }
-
- public void setSelectionIndex( int selection ) {
-
- }
-
-}
+++ /dev/null
-package org.eclipse.rap.rwt.widgets;
-
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-
-public class FileUpload extends Composite {
-
- public FileUpload(Composite parent, int style) {
- super(parent, style);
- }
-
- public void addSelectionListener(SelectionListener listener) {
-
- }
-
- public void submit(String url) {
-
- }
-
- public void setImage(Image image) {
-
- }
-
- public void setText(String text) {
-
- }
-
- public String getFileName() {
- return null;
- }
-
- public String[] getFileNames() {
- return null;
- }
-
-}
+++ /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-1.8"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+++ /dev/null
-/bin/
-/target/
-*.log
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.minidesktop</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
-/MANIFEST.MF
+++ /dev/null
-Import-Package: org.eclipse.swt,\
-*
+++ /dev/null
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>argeo-rcp</artifactId>
- <version>2.1.86</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.minidesktop</artifactId>
- <name>Mini Desktop</name>
- <packaging>jar</packaging>
-</project>
\ No newline at end of file
+++ /dev/null
-package org.argeo.minidesktop;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.browser.LocationAdapter;
-import org.eclipse.swt.browser.LocationEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/** A very minimalistic web browser based on {@link Browser}. */
-public class MiniBrowser {
- private static Point defaultShellSize = new Point(800, 480);
-
- private Browser browser;
- private Text addressT;
-
- private final boolean fullscreen;
- private final boolean appMode;
-
- public MiniBrowser(Composite composite, String url, boolean fullscreen, boolean appMode) {
- this.fullscreen = fullscreen;
- this.appMode = appMode;
- createUi(composite);
- setUrl(url);
- }
-
- public Control createUi(Composite parent) {
- parent.setLayout(noSpaceGridLayout(new GridLayout()));
- if (!isAppMode()) {
- Control toolBar = createToolBar(parent);
- toolBar.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- }
- Control body = createBody(parent);
- body.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- return body;
- }
-
- protected Control createToolBar(Composite parent) {
- Composite toolBar = new Composite(parent, SWT.NONE);
- toolBar.setLayout(new FillLayout());
- addressT = new Text(toolBar, SWT.SINGLE);
- addressT.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- setUrl(addressT.getText().trim());
- }
- });
- return toolBar;
- }
-
- protected Control createBody(Composite parent) {
- browser = new Browser(parent, SWT.NONE);
- if (isFullScreen())
- browser.addKeyListener(new KeyAdapter() {
- @Override
- public void keyPressed(KeyEvent e) {
- if (e.keyCode == 0x77 && e.stateMask == 0x40000) {// Ctrl+W
- browser.getShell().dispose();
- }
- }
- });
- browser.addLocationListener(new LocationAdapter() {
- @Override
- public void changed(LocationEvent event) {
- System.out.println(event);
- if (addressT != null)
- addressT.setText(event.location);
- }
-
- });
- browser.addTitleListener(e -> titleChanged(e.title));
- browser.addOpenWindowListener((e) -> {
- e.browser = openNewBrowserWindow();
- });
- return browser;
- }
-
- protected Browser openNewBrowserWindow() {
-
- if (isFullScreen()) {
- // TODO manage multiple tabs?
- return browser;
- } else {
- Shell newShell = new Shell(browser.getDisplay(), SWT.SHELL_TRIM);
- MiniBrowser newMiniBrowser = new MiniBrowser(newShell, null, false, isAppMode());
- newShell.setSize(defaultShellSize);
- newShell.open();
- return newMiniBrowser.browser;
- }
- }
-
- protected boolean isFullScreen() {
- return fullscreen;
- }
-
- void setUrl(String url) {
- if (browser != null && url != null && !url.equals(browser.getUrl()))
- browser.setUrl(url.toString());
- }
-
- /** Called when URL changed; to be overridden, does nothing by default. */
- protected void urlChanged(String url) {
- }
-
- /** Called when title changed; to be overridden, does nothing by default. */
- protected void titleChanged(String title) {
- }
-
- protected Browser getBrowser() {
- return browser;
- }
-
- protected boolean isAppMode() {
- return appMode;
- }
-
- private static GridLayout noSpaceGridLayout(GridLayout layout) {
- layout.horizontalSpacing = 0;
- layout.verticalSpacing = 0;
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- return layout;
- }
-
- public static void main(String[] args) {
- List<String> options = Arrays.asList(args);
- if (options.contains("--help")) {
- System.out.println("Usage: java " + MiniBrowser.class.getName().replace('.', '/') + " [OPTION] [URL]");
- System.out.println("A minimalistic web browser Eclipse SWT Browser integration.");
- System.out.println(" --fullscreen : take control of the whole screen (default is to run in a window)");
- System.out.println(" --app : open without an address bar and a toolbar");
- System.out.println(" --help : print this help and exit");
- System.exit(1);
- }
- boolean fullscreen = options.contains("--fullscreen");
- boolean appMode = options.contains("--app");
- String url = "https://start.duckduckgo.com/";
- if (options.size() > 0) {
- String last = options.get(options.size() - 1);
- if (!last.startsWith("--"))
- url = last.trim();
- }
-
- Display display = Display.getCurrent() == null ? new Display() : Display.getCurrent();
- Shell shell;
- if (fullscreen) {
- shell = new Shell(display, SWT.NO_TRIM);
- shell.setFullScreen(true);
- Rectangle bounds = display.getBounds();
- shell.setSize(bounds.width, bounds.height);
- } else {
- shell = new Shell(display, SWT.SHELL_TRIM);
- shell.setSize(defaultShellSize);
- }
-
- new MiniBrowser(shell, url, fullscreen, appMode) {
-
- @Override
- protected void titleChanged(String title) {
- shell.setText(title);
- }
- };
- shell.open();
-
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- }
-
-}
+++ /dev/null
-package org.argeo.minidesktop;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-/** Icons. */
-public class MiniDesktopImages {
-
- public final Image homeIcon;
- public final Image exitIcon;
-
- public final Image terminalIcon;
- public final Image browserIcon;
- public final Image explorerIcon;
- public final Image textEditorIcon;
-
- public final Image folderIcon;
- public final Image fileIcon;
-
- public MiniDesktopImages(Display display) {
- homeIcon = loadImage(display, "nav_home@2x.png");
- exitIcon = loadImage(display, "delete@2x.png");
-
- terminalIcon = loadImage(display, "console_view@2x.png");
- browserIcon = loadImage(display, "external_browser@2x.png");
- explorerIcon = loadImage(display, "fldr_obj@2x.png");
- textEditorIcon = loadImage(display, "cheatsheet_obj@2x.png");
-
- folderIcon = loadImage(display, "fldr_obj@2x.png");
- fileIcon = loadImage(display, "file_obj@2x.png");
- }
-
- static Image loadImage(Display display, String path) {
- InputStream stream = MiniDesktopImages.class.getResourceAsStream(path);
- if (stream == null)
- throw new IllegalArgumentException("Image " + path + " not found");
- Image image = null;
- try {
- image = new Image(display, stream);
- } catch (SWTException ex) {
- } finally {
- try {
- stream.close();
- } catch (IOException ex) {
- }
- }
- return image;
- }
-}
+++ /dev/null
-package org.argeo.minidesktop;
-
-import java.lang.management.ManagementFactory;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.nio.file.Path;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.program.Program;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-
-/** A very minimalistic desktop manager based on Java and Eclipse SWT. */
-public class MiniDesktopManager {
- private Display display;
-
- private Shell rootShell;
- private Shell toolBarShell;
- private CTabFolder tabFolder;
- private int maxTabTitleLength = 16;
-
- private final boolean fullscreen;
- private final boolean stacking;
-
- private MiniDesktopImages images;
-
- public MiniDesktopManager(boolean fullscreen, boolean stacking) {
- this.fullscreen = fullscreen;
- this.stacking = stacking;
- }
-
- public void init() {
- Display.setAppName("Mini SWT Desktop");
- display = Display.getCurrent();
- if (display != null)
- throw new IllegalStateException("Already a display " + display);
- display = new Display();
-
- if (display.getTouchEnabled()) {
- System.out.println("Touch enabled.");
- }
-
- images = new MiniDesktopImages(display);
-
- int toolBarSize = 48;
-
- if (isFullscreen()) {
- rootShell = new Shell(display, SWT.NO_TRIM);
- rootShell.setFullScreen(true);
- Rectangle bounds = display.getBounds();
- rootShell.setLocation(0, 0);
- rootShell.setSize(bounds.width, bounds.height);
- } else {
- rootShell = new Shell(display, SWT.CLOSE | SWT.RESIZE);
- Rectangle shellArea = rootShell.computeTrim(200, 200, 800, 480);
- rootShell.setSize(shellArea.width, shellArea.height);
- rootShell.setText(Display.getAppName());
- rootShell.setImage(images.terminalIcon);
- }
-
- rootShell.setLayout(noSpaceGridLayout(new GridLayout(2, false)));
- Composite toolBarArea = new Composite(rootShell, SWT.NONE);
- toolBarArea.setLayoutData(new GridData(toolBarSize, rootShell.getSize().y));
-
- ToolBar toolBar;
- if (isFullscreen()) {
- toolBarShell = new Shell(rootShell, SWT.NO_TRIM | SWT.ON_TOP);
- toolBar = new ToolBar(toolBarShell, SWT.VERTICAL | SWT.FLAT | SWT.BORDER);
- createDock(toolBar);
- toolBarShell.pack();
- toolBarArea.setLayoutData(new GridData(toolBar.getSize().x, toolBar.getSize().y));
- } else {
- toolBar = new ToolBar(toolBarArea, SWT.VERTICAL | SWT.FLAT | SWT.BORDER);
- createDock(toolBar);
- toolBarArea.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
- }
-
- if (isStacking()) {
- tabFolder = new CTabFolder(rootShell, SWT.MULTI | SWT.BORDER | SWT.BOTTOM);
- tabFolder.setLayout(noSpaceGridLayout(new GridLayout()));
- tabFolder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
- Color selectionBackground = display.getSystemColor(SWT.COLOR_LIST_SELECTION);
- tabFolder.setSelectionBackground(selectionBackground);
-
- // background
- Control background = createBackground(tabFolder);
- CTabItem homeTabItem = new CTabItem(tabFolder, SWT.NONE);
- homeTabItem.setText("Home");
- homeTabItem.setImage(images.homeIcon);
- homeTabItem.setControl(background);
- tabFolder.setFocus();
- } else {
- createBackground(rootShell);
- }
-
- rootShell.open();
- // rootShell.layout(true, true);
-
- if (toolBarShell != null) {
- int toolBarShellY = (display.getBounds().height - toolBar.getSize().y) / 2;
- toolBarShell.setLocation(0, toolBarShellY);
- toolBarShell.open();
- }
-
- long jvmUptime = ManagementFactory.getRuntimeMXBean().getUptime();
- System.out.println("SWT Mini Desktop Manager available in " + jvmUptime + " ms.");
- }
-
- protected void createDock(ToolBar toolBar) {
- // Terminal
- addToolItem(toolBar, images.terminalIcon, "Terminal", () -> {
- String url = System.getProperty("user.home");
- AppContext appContext = createAppParent(images.terminalIcon);
- new MiniTerminal(appContext.getAppParent(), url) {
-
- @Override
- protected void exitCalled() {
- if (appContext.shell != null)
- appContext.shell.dispose();
- if (appContext.tabItem != null)
- appContext.tabItem.dispose();
- }
- };
- String title;
- try {
- title = System.getProperty("user.name") + "@" + InetAddress.getLocalHost().getHostName();
- } catch (UnknownHostException e) {
- title = System.getProperty("user.name") + "@localhost";
- }
- if (appContext.shell != null)
- appContext.shell.setText(title);
- if (appContext.tabItem != null) {
- appContext.tabItem.setText(tabTitle(title));
- appContext.tabItem.setToolTipText(title);
- }
- openApp(appContext);
- });
-
- // Web browser
- addToolItem(toolBar, images.browserIcon, "Browser", () -> {
- String url = "https://start.duckduckgo.com/";
- AppContext appContext = createAppParent(images.browserIcon);
- new MiniBrowser(appContext.getAppParent(), url, false, false) {
- @Override
- protected void titleChanged(String title) {
- if (appContext.shell != null)
- appContext.shell.setText(title);
- if (appContext.tabItem != null) {
- appContext.tabItem.setText(tabTitle(title));
- appContext.tabItem.setToolTipText(title);
- }
- }
- };
- openApp(appContext);
- });
-
- // File explorer
- addToolItem(toolBar, images.explorerIcon, "Explorer", () -> {
- String url = System.getProperty("user.home");
- AppContext appContext = createAppParent(images.explorerIcon);
- new MiniExplorer(appContext.getAppParent(), url) {
-
- @Override
- protected void pathChanged(Path path) {
- if (appContext.shell != null)
- appContext.shell.setText(path.toString());
- if (appContext.tabItem != null) {
- appContext.tabItem.setText(path.getFileName().toString());
- appContext.tabItem.setToolTipText(path.toString());
- }
- }
- };
- openApp(appContext);
- });
-
- // Separator
- new ToolItem(toolBar, SWT.SEPARATOR);
-
- // Exit
- addToolItem(toolBar, images.exitIcon, "Exit", () -> rootShell.dispose());
-
- toolBar.pack();
- }
-
- protected String tabTitle(String title) {
- return title.length() > maxTabTitleLength ? title.substring(0, maxTabTitleLength) : title;
- }
-
- protected void addToolItem(ToolBar toolBar, Image icon, String name, Runnable action) {
- ToolItem searchI = new ToolItem(toolBar, SWT.PUSH);
- searchI.setImage(icon);
- searchI.setToolTipText(name);
- searchI.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- action.run();
- }
-
- });
- }
-
- protected AppContext createAppParent(Image icon) {
- if (isStacking()) {
- Composite appParent = new Composite(tabFolder, SWT.CLOSE);
- appParent.setLayout(noSpaceGridLayout(new GridLayout()));
- CTabItem item = new CTabItem(tabFolder, SWT.CLOSE);
- item.setImage(icon);
- item.setControl(appParent);
- return new AppContext(item);
- } else {
- Shell shell = isFullscreen() ? new Shell(rootShell, SWT.SHELL_TRIM)
- : new Shell(rootShell.getDisplay(), SWT.SHELL_TRIM);
- shell.setImage(icon);
- return new AppContext(shell);
- }
- }
-
- protected void openApp(AppContext appContext) {
- if (appContext.shell != null) {
- Shell shell = (Shell) appContext.shell;
- shell.open();
- shell.setSize(new Point(800, 480));
- }
- if (appContext.tabItem != null) {
- tabFolder.setFocus();
- tabFolder.setSelection(appContext.tabItem);
- }
- }
-
- protected Control createBackground(Composite parent) {
- Composite backgroundArea = new Composite(parent, SWT.NONE);
- backgroundArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- initBackground(backgroundArea);
- return backgroundArea;
- }
-
- protected void initBackground(Composite backgroundArea) {
- MiniHomePart homePart = new MiniHomePart() {
-
- @Override
- protected void fillAppsToolBar(ToolBar toolBar) {
- createDock(toolBar);
- }
- };
- homePart.createUiPart(backgroundArea, null);
- }
-
- public void run() {
- while (!rootShell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- }
-
- public void dispose() {
- if (!rootShell.isDisposed())
- rootShell.dispose();
- }
-
- protected boolean isFullscreen() {
- return fullscreen;
- }
-
- protected boolean isStacking() {
- return stacking;
- }
-
- protected Image getIconForExt(String ext) {
- Program program = Program.findProgram(ext);
- if (program == null)
- return display.getSystemImage(SWT.ICON_INFORMATION);
-
- ImageData iconData = program.getImageData();
- if (iconData == null) {
- return display.getSystemImage(SWT.ICON_INFORMATION);
- } else {
- return new Image(display, iconData);
- }
-
- }
-
- private static GridLayout noSpaceGridLayout(GridLayout layout) {
- layout.horizontalSpacing = 0;
- layout.verticalSpacing = 0;
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- return layout;
- }
-
- public static void main(String[] args) {
- List<String> options = Arrays.asList(args);
- if (options.contains("--help")) {
- System.out.println("Usage: java " + MiniDesktopManager.class.getName().replace('.', '/') + " [OPTION]");
- System.out.println("A minimalistic desktop manager based on Java and Eclipse SWT.");
- System.out.println(" --fullscreen : take control of the whole screen (default is to run in a window)");
- System.out.println(" --stacking : open apps as tabs (default is to create new windows)");
- System.out.println(" --help : print this help and exit");
- System.exit(1);
- }
- boolean fullscreen = options.contains("--fullscreen");
- boolean stacking = options.contains("--stacking");
-
- MiniDesktopManager desktopManager = new MiniDesktopManager(fullscreen, stacking);
- desktopManager.init();
- desktopManager.run();
- desktopManager.dispose();
- System.exit(0);
- }
-
- class AppContext {
- private Shell shell;
- private CTabItem tabItem;
-
- public AppContext(Shell shell) {
- this.shell = shell;
- }
-
- public AppContext(CTabItem tabItem) {
- this.tabItem = tabItem;
- }
-
- Composite getAppParent() {
- if (shell != null)
- return shell;
- if (tabItem != null)
- return (Composite) tabItem.getControl();
- throw new IllegalStateException();
- }
- }
-}
+++ /dev/null
-package org.argeo.minidesktop;
-
-import java.io.IOException;
-import java.nio.file.DirectoryStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.program.Program;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-
-public class MiniExplorer {
- private Path path;
- private Text addressT;
- private Table browser;
-
- private boolean showHidden = false;
-
- public MiniExplorer(Composite parent, String url) {
- this(parent);
- setUrl(url);
- }
-
- public MiniExplorer(Composite parent) {
- parent.setLayout(noSpaceGridLayout(new GridLayout()));
-
- Composite toolBar = new Composite(parent, SWT.NONE);
- toolBar.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- toolBar.setLayout(new FillLayout());
- addressT = new Text(toolBar, SWT.SINGLE);
- addressT.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- setUrl(addressT.getText().trim());
- }
- });
- browser = createTable(parent, this.path);
-
- }
-
- public void setPath(Path url) {
- this.path = url;
- if (addressT != null)
- addressT.setText(url.toString());
- if (browser != null) {
- Composite parent = browser.getParent();
- browser.dispose();
- browser = createTable(parent, this.path);
- parent.layout(true, true);
- }
- pathChanged(url);
- }
-
- protected void pathChanged(Path path) {
-
- }
-
- protected Table createTable(Composite parent, Path path) {
- Table table = new Table(parent, SWT.BORDER);
- table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- table.addMouseListener(new MouseAdapter() {
-
- @Override
- public void mouseDoubleClick(MouseEvent e) {
- Point pt = new Point(e.x, e.y);
- TableItem item = table.getItem(pt);
- Path path = (Path) item.getData();
- if (Files.isDirectory(path)) {
- setPath(path);
- } else {
- Program.launch(path.toString());
- }
- }
- });
-
- if (path != null) {
- if (path.getParent() != null) {
- TableItem parentTI = new TableItem(table, SWT.NONE);
- parentTI.setText("..");
- parentTI.setData(path.getParent());
- }
-
- try {
- // directories
- DirectoryStream<Path> ds = Files.newDirectoryStream(path, p -> Files.isDirectory(p) && isShown(p));
- ds.forEach(p -> {
- TableItem ti = new TableItem(table, SWT.NONE);
- ti.setText(p.getFileName().toString() + "/");
- ti.setData(p);
- });
- // files
- ds = Files.newDirectoryStream(path, p -> !Files.isDirectory(p) && isShown(p));
- ds.forEach(p -> {
- TableItem ti = new TableItem(table, SWT.NONE);
- ti.setText(p.getFileName().toString());
- ti.setData(p);
- });
- } catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- }
- return table;
- }
-
- protected boolean isShown(Path path) {
- if (showHidden)
- return true;
- try {
- return !Files.isHidden(path);
- } catch (IOException e) {
- throw new IllegalArgumentException("Cannot check " + path, e);
- }
- }
-
- public void setUrl(String url) {
- setPath(Paths.get(url));
- }
-
- private static GridLayout noSpaceGridLayout(GridLayout layout) {
- layout.horizontalSpacing = 0;
- layout.verticalSpacing = 0;
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- return layout;
- }
-
- public static void main(String[] args) {
- Display display = Display.getCurrent() == null ? new Display() : Display.getCurrent();
- Shell shell = new Shell(display, SWT.SHELL_TRIM);
-
- String url = args.length > 0 ? args[0] : System.getProperty("user.home");
- new MiniExplorer(shell, url) {
-
- @Override
- protected void pathChanged(Path path) {
- shell.setText(path.toString());
- }
-
- };
-
- shell.open();
- shell.setSize(new Point(800, 480));
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- }
-
-}
+++ /dev/null
-package org.argeo.minidesktop;
-
-import java.net.InetAddress;
-import java.net.InterfaceAddress;
-import java.net.NetworkInterface;
-import java.net.SocketException;
-import java.net.UnknownHostException;
-import java.util.Enumeration;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.ProgressBar;
-import org.eclipse.swt.widgets.ToolBar;
-
-/** A start page displaying network information and resources. */
-public class MiniHomePart {
-
- public Control createUiPart(Composite parent, Object context) {
- parent.setLayout(new GridLayout(2, false));
- Display display = parent.getDisplay();
-
- // Apps
- Group appsGroup = new Group(parent, SWT.NONE);
- appsGroup.setText("Apps");
- appsGroup.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 2, 1));
- ToolBar appsToolBar = new ToolBar(appsGroup, SWT.HORIZONTAL | SWT.FLAT);
- fillAppsToolBar(appsToolBar);
-
- // Host
- Group hostGroup = new Group(parent, SWT.NONE);
- hostGroup.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
- hostGroup.setText("Host");
- hostGroup.setLayout(new GridLayout(2, false));
- label(hostGroup, "Hostname: ");
- try {
- InetAddress defaultAddr = InetAddress.getLocalHost();
- String hostname = defaultAddr.getHostName();
- label(hostGroup, hostname);
- label(hostGroup, "Address: ");
- label(hostGroup, defaultAddr.getHostAddress());
- } catch (UnknownHostException e) {
- label(hostGroup, e.getMessage());
- }
-
- Enumeration<NetworkInterface> netInterfaces = null;
- try {
- netInterfaces = NetworkInterface.getNetworkInterfaces();
- } catch (SocketException e) {
- label(hostGroup, "Interfaces: ");
- label(hostGroup, e.getMessage());
- }
- if (netInterfaces != null)
- while (netInterfaces.hasMoreElements()) {
- NetworkInterface netInterface = netInterfaces.nextElement();
- byte[] hardwareAddress = null;
- try {
- hardwareAddress = netInterface.getHardwareAddress();
- if (hardwareAddress != null) {
- label(hostGroup, convertHardwareAddress(hardwareAddress));
- label(hostGroup, netInterface.getName());
- for (InterfaceAddress addr : netInterface.getInterfaceAddresses()) {
- label(hostGroup, cleanHostAddress(addr.getAddress().getHostAddress()));
- label(hostGroup, Short.toString(addr.getNetworkPrefixLength()));
- }
- }
- } catch (SocketException e) {
- label(hostGroup, e.getMessage());
- }
- }
-
- // Resources
- Group resGroup = new Group(parent, SWT.NONE);
- resGroup.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
- resGroup.setText("Resources");
- resGroup.setLayout(new GridLayout(3, false));
-
- Runtime runtime = Runtime.getRuntime();
-
- String maxMemoryStr = Long.toString(runtime.maxMemory() / (1024 * 1024)) + " MB";
- label(resGroup, "Max Java memory: ");
- label(resGroup, maxMemoryStr);
- label(resGroup, "Java version: " + Runtime.version().toString());
-
- label(resGroup, "Usable Java memory: ");
- Label totalMemory = label(resGroup, maxMemoryStr);
- ProgressBar totalOnMax = new ProgressBar(resGroup, SWT.SMOOTH);
- totalOnMax.setMaximum(100);
- label(resGroup, "Used Java memory: ");
- Label usedMemory = label(resGroup, maxMemoryStr);
- ProgressBar usedOnTotal = new ProgressBar(resGroup, SWT.SMOOTH);
- totalOnMax.setMaximum(100);
- new Thread() {
- @Override
- public void run() {
- while (!totalOnMax.isDisposed()) {
- display.asyncExec(() -> {
- if (totalOnMax.isDisposed())
- return;
- totalOnMax.setSelection(javaTotalOnMaxPerct(runtime));
- usedOnTotal.setSelection(javaUsedOnTotalPerct(runtime));
- totalMemory.setText(Long.toString(runtime.totalMemory() / (1024 * 1024)) + " MB");
- usedMemory.setText(
- Long.toString((runtime.totalMemory() - runtime.freeMemory()) / (1024 * 1024)) + " MB");
- });
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- return;
- }
- }
- }
- }.start();
- return parent;
- }
-
- protected void fillAppsToolBar(ToolBar toolBar) {
-
- }
-
- protected int javaUsedOnTotalPerct(Runtime runtime) {
- return Math.toIntExact((runtime.totalMemory() - runtime.freeMemory()) * 100 / runtime.totalMemory());
- }
-
- protected int javaTotalOnMaxPerct(Runtime runtime) {
- return Math.toIntExact((runtime.totalMemory()) * 100 / runtime.maxMemory());
- }
-
- protected Label label(Composite parent, String text) {
- Label label = new Label(parent, SWT.WRAP);
- label.setText(text);
- return label;
- }
-
- protected String cleanHostAddress(String hostAddress) {
- // remove % from Ipv6 addresses
- int index = hostAddress.indexOf('%');
- if (index > 0)
- return hostAddress.substring(0, index);
- else
- return hostAddress;
- }
-
- protected String convertHardwareAddress(byte[] hardwareAddress) {
- if (hardwareAddress == null)
- return "";
- // from https://stackoverflow.com/a/2797498/7878010
- StringBuilder sb = new StringBuilder(18);
- for (byte b : hardwareAddress) {
- if (sb.length() > 0)
- sb.append(':');
- sb.append(String.format("%02x", b).toUpperCase());
- }
- return sb.toString();
- }
-}
+++ /dev/null
-package org.argeo.minidesktop;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.ImageLoader;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Shell;
-
-public class MiniImageViewer implements PaintListener {
- private URL url;
- private Canvas area;
-
- private Image image;
-
- public MiniImageViewer(Composite parent, int style) {
- parent.setLayout(new GridLayout());
-
- Composite toolBar = new Composite(parent, SWT.NONE);
- toolBar.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- toolBar.setLayout(new RowLayout());
- Button load = new Button(toolBar, SWT.FLAT);
- load.setText("\u2191");// up arrow
- load.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- FileDialog fileDialog = new FileDialog(area.getShell());
- String path = fileDialog.open();
- if (path != null) {
- setUrl(path);
- }
- }
-
- });
-
- area = new Canvas(parent, SWT.NONE);
- area.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- area.addPaintListener(this);
- }
-
- protected void load(URL url) {
- try {
- ImageLoader imageLoader = new ImageLoader();
- ImageData[] data = imageLoader.load(url.openStream());
- image = new Image(area.getDisplay(), data[0]);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
- @Override
- public void paintControl(PaintEvent e) {
- e.gc.drawImage(image, 0, 0);
-
- }
-
- protected Path url2path(URL url) {
- try {
- Path path = Paths.get(url.toURI());
- return path;
- } catch (URISyntaxException e) {
- throw new IllegalStateException("Cannot convert " + url + " to uri", e);
- }
- }
-
- public void setUrl(URL url) {
- this.url = url;
- if (area != null)
- load(this.url);
- }
-
- public void setUrl(String url) {
- try {
- setUrl(new URL(url));
- } catch (MalformedURLException e) {
- // try with http
- try {
- setUrl(new URL("file://" + url));
- return;
- } catch (MalformedURLException e1) {
- // nevermind...
- }
- throw new IllegalArgumentException("Cannot interpret URL " + url, e);
- }
- }
-
- public static void main(String[] args) {
- Display display = Display.getCurrent() == null ? new Display() : Display.getCurrent();
- Shell shell = new Shell(display, SWT.SHELL_TRIM);
-
- MiniImageViewer miniBrowser = new MiniImageViewer(shell, SWT.NONE);
- String url = args.length > 0 ? args[0] : "";
- if (!url.trim().equals("")) {
- miniBrowser.setUrl(url);
- shell.setText(url);
- } else {
- shell.setText("*");
- }
-
- shell.open();
- shell.setSize(new Point(800, 480));
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- }
-
-}
+++ /dev/null
-package org.argeo.minidesktop;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Caret;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-public class MiniTerminal implements KeyListener, PaintListener {
-
- private Canvas area;
- private Caret caret;
-
- private StringBuffer buf = new StringBuffer("");
- private StringBuffer userInput = new StringBuffer("");
- private List<String> history = new ArrayList<>();
-
- private Point charExtent = null;
- private int charsPerLine = 0;
- private String[] lines = new String[0];
- private List<String> logicalLines = new ArrayList<>();
-
- private Font mono;
- private Charset charset;
-
- private Path currentDir;
- private Path homeDir;
- private String host = "localhost";
- private String username;
-
- // Sub process
- private Process process;
- private boolean running = false;
- private OutputStream stdIn = null;
-
- private Thread readOut;
-
- public MiniTerminal(Composite parent, String url) {
- this(parent);
- setPath(url);
- }
-
- public MiniTerminal(Composite parent) {
- charset = StandardCharsets.UTF_8;
-
- Display display = parent.getDisplay();
- // Linux-specific
- mono = new Font(display, "Monospace", 10, SWT.NONE);
-
- parent.setLayout(new GridLayout());
- area = new Canvas(parent, SWT.NONE);
- area.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- caret = new Caret(area, SWT.NONE);
- area.setCaret(caret);
-
- area.addKeyListener(this);
- area.addPaintListener(this);
-
- username = System.getProperty("user.name");
- try {
- host = InetAddress.getLocalHost().getHostName();
- if (host.indexOf('.') > 0)
- host = host.substring(0, host.indexOf('.'));
- } catch (UnknownHostException e) {
- host = "localhost";
- }
- homeDir = Paths.get(System.getProperty("user.home"));
- currentDir = homeDir;
-
- buf = new StringBuffer(prompt());
- }
-
- @Override
- public void keyPressed(KeyEvent e) {
- }
-
- @Override
- public void keyReleased(KeyEvent e) {
- if (e.keyLocation != 0)
- return;// weird characters
- // System.out.println(e.character);
- if (e.keyCode == 0xd) {// return
- markLogicalLine();
- if (!running)
- processUserInput();
- // buf.append(prompt());
- } else if (e.keyCode == 0x8) {// delete
- if (userInput.length() == 0)
- return;
- userInput.setLength(userInput.length() - 1);
- if (!running && buf.length() > 0)
- buf.setLength(buf.length() - 1);
- } else if (e.stateMask == 0x40000 && e.keyCode == 0x63) {// Ctrl+C
- if (process != null)
- process.destroy();
- } else if (e.stateMask == 0x40000 && e.keyCode == 0xdf) {// Ctrl+\
- if (process != null) {
- process.destroyForcibly();
- }
- } else {
- // if (!running)
- buf.append(e.character);
- userInput.append(e.character);
- }
-
- if (area.isDisposed())
- return;
- area.redraw();
- // System.out.println("Append " + e);
-
- if (running) {
- if (stdIn != null) {
- try {
- stdIn.write(Character.toString(e.character).getBytes(charset));
- } catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- }
- }
- }
-
- protected String prompt() {
- String fileName = currentDir.equals(homeDir) ? "~" : currentDir.getFileName().toString();
- String end = username.equals("root") ? "]# " : "]$ ";
- return "[" + username + "@" + host + " " + fileName + end;
- }
-
- private void displayPrompt() {
- buf.append(prompt() + userInput);
- }
-
- protected void markLogicalLine() {
- String str = buf.toString().trim();
- logicalLines.add(str);
- buf = new StringBuffer("");
- }
-
- private void processUserInput() {
- String cmd = userInput.toString();
- userInput = new StringBuffer("");
- processUserInput(cmd);
- history.add(cmd);
- }
-
- protected void processUserInput(String input) {
- try {
- StringTokenizer st = new StringTokenizer(input);
- List<String> args = new ArrayList<>();
- while (st.hasMoreTokens())
- args.add(st.nextToken());
- if (args.size() == 0) {
- displayPrompt();
- return;
- }
-
- // change directory
- if (args.get(0).equals("cd")) {
- if (args.size() == 1) {
- setPath(homeDir);
- } else {
- Path newPath = currentDir.resolve(args.get(1));
- if (!Files.exists(newPath) || !Files.isDirectory(newPath)) {
- println(newPath + ": No such file or directory");
- return;
- }
- setPath(newPath);
- }
- displayPrompt();
- return;
- }
- // show current directory
- else if (args.get(0).equals("pwd")) {
- println(currentDir);
- displayPrompt();
- return;
- }
- // exit
- else if (args.get(0).equals("exit")) {
- println("logout");
- exitCalled();
- return;
- }
-
- ProcessBuilder pb = new ProcessBuilder(args);
- pb.redirectErrorStream(true);
- pb.directory(currentDir.toFile());
-// Process process = Runtime.getRuntime().exec(input, null, currentPath.toFile());
- process = pb.start();
-
- stdIn = process.getOutputStream();
- readOut = new Thread("MiniTerminal read out") {
- @Override
- public void run() {
- running = true;
- try (BufferedReader in = new BufferedReader(
- new InputStreamReader(process.getInputStream(), charset))) {
- String line = null;
- while ((line = in.readLine()) != null) {
- println(line);
- }
- } catch (IOException e) {
- println(e.getMessage());
- }
- stdIn = null;
- displayPrompt();
- running = false;
- readOut = null;
- process = null;
- }
- };
- readOut.start();
- } catch (IOException e) {
- println(e.getMessage());
- displayPrompt();
- }
- }
-
- protected int linesForLogicalLine(char[] line) {
- return line.length / charsPerLine + 1;
- }
-
- protected void println(Object line) {
- buf.append(line);
- markLogicalLine();
- }
-
- protected void refreshLines(int charPerLine, int nbrOfLines) {
- if (lines.length != nbrOfLines) {
- lines = new String[nbrOfLines];
- Arrays.fill(lines, null);
- }
- if (this.charsPerLine != charPerLine)
- this.charsPerLine = charPerLine;
-
- int currentLine = nbrOfLines - 1;
- // current line
- if (buf.length() > 0) {
- lines[currentLine] = buf.toString();
- } else {
- lines[currentLine] = "";
- }
- currentLine--;
-
- logicalLines: for (int i = logicalLines.size() - 1; i >= 0; i--) {
- char[] logicalLine = logicalLines.get(i).toCharArray();
- int linesNeeded = linesForLogicalLine(logicalLine);
- for (int j = linesNeeded - 1; j >= 0; j--) {
- int from = j * charPerLine;
- int to = j == linesNeeded - 1 ? from + charPerLine : Math.min(from + charPerLine, logicalLine.length);
- lines[currentLine] = new String(Arrays.copyOfRange(logicalLine, from, to));
-// System.out.println("Set line " + currentLine + " to : " + lines[currentLine]);
- currentLine--;
- if (currentLine < 0)
- break logicalLines;
- }
- }
- }
-
- @Override
- public void paintControl(PaintEvent e) {
- GC gc = e.gc;
- gc.setFont(mono);
- if (charExtent == null)
- charExtent = gc.textExtent("a");
-
- Point areaSize = area.getSize();
- int charPerLine = areaSize.x / charExtent.x;
- int nbrOfLines = areaSize.y / charExtent.y;
- refreshLines(charPerLine, nbrOfLines);
-
- for (int i = 0; i < lines.length; i++) {
- String line = lines[i];
- if (line != null)
- gc.drawString(line, 0, i * charExtent.y);
- }
-// String toDraw = buf.toString();
-// gc.drawString(toDraw, 0, 0);
-// area.setCaret(caret);
- }
-
- protected void exitCalled() {
-
- }
-
- public void setPath(String path) {
- this.currentDir = Paths.get(path);
- }
-
- public void setPath(Path path) {
- this.currentDir = path;
- }
-
- public static void main(String[] args) {
- Display display = Display.getCurrent() == null ? new Display() : Display.getCurrent();
- Shell shell = new Shell(display, SWT.SHELL_TRIM);
-
- String url = args.length > 0 ? args[0] : System.getProperty("user.home");
- new MiniTerminal(shell, url) {
-
- @Override
- protected void exitCalled() {
- shell.dispose();
- System.exit(0);
- }
- };
-
- shell.open();
- shell.setSize(new Point(800, 480));
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- }
-
-}
+++ /dev/null
-package org.argeo.minidesktop;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.net.MalformedURLException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-public class MiniTextEditor {
- private URL url;
- private Text text;
-
- public MiniTextEditor(Composite parent, int style) {
- parent.setLayout(new GridLayout());
-
- Composite toolBar = new Composite(parent, SWT.NONE);
- toolBar.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
- toolBar.setLayout(new RowLayout());
- Button load = new Button(toolBar, SWT.FLAT);
- load.setText("\u2191");// up arrow
- load.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- FileDialog fileDialog = new FileDialog(text.getShell());
- String path = fileDialog.open();
- if (path != null) {
- setUrl(path);
- }
- }
-
- });
-
- Button save = new Button(toolBar, SWT.FLAT);
- save.setText("\u2193");// down arrow
- // save.setText("\u1F609");// emoji
- save.addSelectionListener(new SelectionAdapter() {
-
- @Override
- public void widgetSelected(SelectionEvent e) {
- save(url);
- }
-
- });
-
- text = new Text(parent, SWT.WRAP | SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
- text.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- }
-
- protected void load(URL url) {
- text.setText("");
- // TODO deal with encoding and binary data
- try (BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), StandardCharsets.UTF_8))) {
- String line = null;
- while ((line = in.readLine()) != null) {
- text.append(line + "\n");
- }
- text.setEditable(true);
- } catch (IOException e) {
- if (e instanceof FileNotFoundException) {
- Path path = url2path(url);
- try {
- Files.createFile(path);
- load(url);
- return;
- } catch (IOException e1) {
- e = e1;
- }
- }
- text.setText(e.getMessage());
- text.setEditable(false);
- e.printStackTrace();
- // throw new IllegalStateException("Cannot load " + url, e);
- }
- }
-
- protected Path url2path(URL url) {
- try {
- Path path = Paths.get(url.toURI());
- return path;
- } catch (URISyntaxException e) {
- throw new IllegalStateException("Cannot convert " + url + " to uri", e);
- }
- }
-
- protected void save(URL url) {
- if (!url.getProtocol().equals("file"))
- throw new IllegalArgumentException(url.getProtocol() + " protocol is not supported for write");
- Path path = url2path(url);
- try (BufferedWriter out = new BufferedWriter(new OutputStreamWriter(Files.newOutputStream(path)))) {
- out.write(text.getText());
- } catch (IOException e) {
- throw new IllegalStateException("Cannot save " + url + " to " + path, e);
- }
- }
-
- public void setUrl(URL url) {
- this.url = url;
- if (text != null)
- load(url);
- }
-
- public void setUrl(String url) {
- try {
- setUrl(new URL(url));
- } catch (MalformedURLException e) {
- // try with http
- try {
- setUrl(new URL("file://" + url));
- return;
- } catch (MalformedURLException e1) {
- // nevermind...
- }
- throw new IllegalArgumentException("Cannot interpret URL " + url, e);
- }
- }
-
- public static void main(String[] args) {
- Display display = Display.getCurrent() == null ? new Display() : Display.getCurrent();
- Shell shell = new Shell(display, SWT.SHELL_TRIM);
-
- MiniTextEditor miniBrowser = new MiniTextEditor(shell, SWT.NONE);
- String url = args.length > 0 ? args[0] : "";
- if (!url.trim().equals("")) {
- miniBrowser.setUrl(url);
- shell.setText(url);
- } else {
- shell.setText("*");
- }
-
- shell.open();
- shell.setSize(new Point(800, 480));
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- }
-
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.maven</groupId>
- <artifactId>argeo-osgi-parent</artifactId>
- <version>2.1.3</version>
- </parent>
- <groupId>org.argeo.slc.rcp</groupId>
- <artifactId>argeo-rcp</artifactId>
- <version>2.1.86</version>
- <name>Argeo RCP</name>
- <packaging>pom</packaging>
- <properties>
- <version.argeo-tp>2.1.27</version.argeo-tp>
- <version.argeo-tp-extras>2.1.13</version.argeo-tp-extras>
- <version.argeo-commons>2.1.91</version.argeo-commons>
-
- <argeo.rpm.stagingRepository>/srv/rpmfactory/testing/argeo-osgi-2/argeo</argeo.rpm.stagingRepository>
- </properties>
- <modules>
- <module>org.argeo.minidesktop</module>
- <module>org.argeo.eclipse.ui.rcp</module>
- <module>org.argeo.cms.ui.rcp</module>
- <module>org.argeo.cms.e4.rcp</module>
- <module>dep</module>
- <module>dist</module>
- <!-- <module>demo</module> -->
- </modules>
- <dependencies>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>argeo-tp</artifactId>
- <version>${version.argeo-tp}</version>
- <scope>provided</scope>
- <exclusions>
- <!-- Equinox base -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.equinox</groupId> -->
- <!-- <artifactId>org.eclipse.osgi</artifactId> -->
- <!-- </exclusion> -->
- <!-- <exclusion> -->
- <!-- <groupId>org.argeo.tp.equinox</groupId> -->
- <!-- <artifactId>org.eclipse.osgi.services</artifactId> -->
- <!-- </exclusion> -->
-
- <!-- RAP UI -->
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.ui.forms</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.rwt</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.jface</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.ui</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.ui.views</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.ui.workbench</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.rwt.osgi</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.jface.databinding</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.core.jobs</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.core.expressions</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.core.databinding.observable</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.help</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.core.databinding</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.core.databinding.beans</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.core.runtime</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.core.databinding.property</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>com.ibm.icu.base</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.core.contenttype</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.core.commands</artifactId>
- </exclusion>
-
- <!-- Addons -->
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.filedialog</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.fileupload</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>argeo-tp-rcp-e4</artifactId>
- <version>${version.argeo-tp}</version>
- <scope>provided</scope>
- <exclusions>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.osgi</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.osgi.services</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.eclipse.ide</groupId> -->
- <!-- <artifactId>org.eclipse.ui.forms</artifactId> -->
- <!-- <version>3.7.101.v20170815-1446</version> -->
- <!-- <scope>provided</scope> -->
- <!-- </dependency> -->
- </dependencies>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>argeo-tp</artifactId>
- <version>${version.argeo-tp}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>argeo-tp-rcp-e4</artifactId>
- <version>${version.argeo-tp}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <!-- Required for a few Eclipse 4 dependencies -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>argeo-tp-rap-e4</artifactId>
- <version>${version.argeo-tp}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <repositories>
- <repository>
- <id>argeo</id>
- <url>http://forge.argeo.org/data/java/argeo-2.1/</url>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>daily</updatePolicy>
- <checksumPolicy>warn</checksumPolicy>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>argeo-extras</id>
- <url>http://forge.argeo.org/data/java/argeo-extras-2.1/</url>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>daily</updatePolicy>
- <checksumPolicy>warn</checksumPolicy>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
- <reporting>
- <plugins>
- <plugin>
- <artifactId>maven-project-info-reports-plugin</artifactId>
- <version>2.9</version>
- <reportSets>
- <reportSet>
- <reports>
- <report>index</report>
- <report>summary</report>
- <report>license</report>
- <report>scm</report>
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
- <plugin>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>3.0.0</version>
- <configuration>
- <failOnError>false</failOnError>
- <additionalJOption>-Xdoclint:none</additionalJOption>
- <excludePackageNames>*.internal.*,org.eclipse.*</excludePackageNames>
- <encoding>UTF-8</encoding>
- <detectLinks>true</detectLinks>
- <links>
- <link>http://docs.oracle.com/javase/8/docs/api</link>
- <link>https://osgi.org/javadoc/r5/core</link>
- <link>https://osgi.org/javadoc/r5/enterprise</link>
- <link>https://docs.adobe.com/docs/en/spec/javax.jcr/javadocs/jcr-2.0</link>
- <link>http://help.eclipse.org/oxygen/topic/org.eclipse.platform.doc.isv/reference/api</link>
- <link>http://docs.spring.io/spring/docs/3.2.x/javadoc-api</link>
- </links>
- </configuration>
- <reportSets>
- <reportSet>
- <id>aggregate-javadoc</id>
- <inherited>false</inherited>
- <reports>
- <report>aggregate</report>
- </reports>
- </reportSet>
- <reportSet>
- <id>javadoc</id>
- <reports />
- </reportSet>
- </reportSets>
- </plugin>
- <plugin>
- <artifactId>maven-jxr-plugin</artifactId>
- <version>2.5</version>
- <reportSets>
- <reportSet>
- <id>aggregate-jxr</id>
- <inherited>false</inherited>
- <reports>
- <report>aggregate</report>
- </reports>
- </reportSet>
- <reportSet>
- <id>jxr</id>
- <reports />
- </reportSet>
- </reportSets>
- </plugin>
- </plugins>
- </reporting>
-</project>