Argeo Companion launcher.
authorMathieu Baudier <mbaudier@argeo.org>
Sun, 29 Mar 2020 07:28:06 +0000 (09:28 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Sun, 29 Mar 2020 07:28:06 +0000 (09:28 +0200)
12 files changed:
rcp/dep/org.argeo.dep.cms.e4.rcp/pom.xml
rcp/dist/argeo-companion/assembly/argeo-companion.xml [new file with mode: 0644]
rcp/dist/argeo-companion/base/bin/argeo-companion [new file with mode: 0755]
rcp/dist/argeo-companion/base/etc/argeo-companion/argeo-companion.ini [new file with mode: 0644]
rcp/dist/argeo-companion/base/etc/argeo-companion/log4j.properties [new file with mode: 0644]
rcp/dist/argeo-companion/base/etc/argeo-companion/settings.sh [new file with mode: 0644]
rcp/dist/argeo-companion/pom.xml [new file with mode: 0644]
rcp/dist/argeo-companion/rpm/etc/argeo-companion/argeo-companion.ini [deleted file]
rcp/dist/argeo-companion/rpm/etc/argeo-companion/log4j.properties [deleted file]
rcp/dist/argeo-companion/rpm/usr/bin/argeo-companion
rcp/dist/pom.xml [new file with mode: 0644]
rcp/pom.xml

index 86d28a330e9d6422c7edb2ea5c943c5b1df5a585..af8416d7accb6367fcded0516e5a5411aef8e0da 100644 (file)
                                                                        <name>argeo-cms-e4-rcp</name>
                                                                        <mappings>
                                                                                <mapping>
-                                                                                       <directory>/usr/share/osgi</directory>
+                                                                                       <directory>/usr/lib/osgi</directory>
                                                                                        <username>root</username>
                                                                                        <groupname>root</groupname>
                                                                                        <filemode>644</filemode>
                                                                        <release>${maven.build.timestamp}</release>
                                                                        <mappings>
                                                                                <mapping>
-                                                                                       <directory>/usr/share/osgi</directory>
+                                                                                       <directory>/usr/lib/osgi</directory>
                                                                                        <username>root</username>
                                                                                        <groupname>root</groupname>
                                                                                        <filemode>644</filemode>
diff --git a/rcp/dist/argeo-companion/assembly/argeo-companion.xml b/rcp/dist/argeo-companion/assembly/argeo-companion.xml
new file mode 100644 (file)
index 0000000..9b0db0e
--- /dev/null
@@ -0,0 +1,50 @@
+<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
diff --git a/rcp/dist/argeo-companion/base/bin/argeo-companion b/rcp/dist/argeo-companion/base/bin/argeo-companion
new file mode 100755 (executable)
index 0000000..b4f944b
--- /dev/null
@@ -0,0 +1,42 @@
+#!/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
diff --git a/rcp/dist/argeo-companion/base/etc/argeo-companion/argeo-companion.ini b/rcp/dist/argeo-companion/base/etc/argeo-companion/argeo-companion.ini
new file mode 100644 (file)
index 0000000..5e40508
--- /dev/null
@@ -0,0 +1,34 @@
+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
diff --git a/rcp/dist/argeo-companion/base/etc/argeo-companion/log4j.properties b/rcp/dist/argeo-companion/base/etc/argeo-companion/log4j.properties
new file mode 100644 (file)
index 0000000..d93b234
--- /dev/null
@@ -0,0 +1,15 @@
+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
diff --git a/rcp/dist/argeo-companion/base/etc/argeo-companion/settings.sh b/rcp/dist/argeo-companion/base/etc/argeo-companion/settings.sh
new file mode 100644 (file)
index 0000000..b20d4d8
--- /dev/null
@@ -0,0 +1,12 @@
+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
diff --git a/rcp/dist/argeo-companion/pom.xml b/rcp/dist/argeo-companion/pom.xml
new file mode 100644 (file)
index 0000000..8e5de5d
--- /dev/null
@@ -0,0 +1,124 @@
+<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-SNAPSHOT</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-SNAPSHOT</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>osgi-boot</require>
+                                                                               <!-- do not explicitely require java -->
+                                                                       </requires>
+                                                               </configuration>
+                                                       </execution>
+                                               </executions>
+                                       </plugin>
+                               </plugins>
+                       </build>
+               </profile>
+       </profiles>
+</project>
diff --git a/rcp/dist/argeo-companion/rpm/etc/argeo-companion/argeo-companion.ini b/rcp/dist/argeo-companion/rpm/etc/argeo-companion/argeo-companion.ini
deleted file mode 100644 (file)
index 444c39d..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-osgi.bundles=org.argeo.osgi.boot@start
-osgi.clean=true
-
-argeo.osgi.start.2.rcp=\
-org.eclipse.core.runtime
-
-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
diff --git a/rcp/dist/argeo-companion/rpm/etc/argeo-companion/log4j.properties b/rcp/dist/argeo-companion/rpm/etc/argeo-companion/log4j.properties
deleted file mode 100644 (file)
index 13f949f..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-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
index ab25dc79e2123daf17db6e53b4bb75fa356b23aa..c48beb80f2659456e784d28fdfcf70eb8ecf1df8 100755 (executable)
@@ -5,18 +5,14 @@ JVM=java
 
 # Directories and files
 CONF_DIR=/etc/$APP
-CONF_DIRS=/etc/$APP/conf.d
-BASE_POLICY_ALL=/usr/share/$APP/all.policy
-BASE_CONFIG_INI=/usr/share/$APP/config.ini
 
-EXEC_DIR=$HOME/.local/share/argeo-companion
+EXEC_DIR=$HOME/.local/share/$APP
 DATA_DIR=$EXEC_DIR/data
 CONF_RW=$EXEC_DIR/state
-CONFIG_INI=$CONF_RW/config.ini
 
+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
-ECLIPSE_LAUNCHER=$OSGI_INSTALL_AREA/org.eclipse.equinox.launcher.jar
 
 # Overwrite variables
 if [ -f $CONF_DIR/settings.sh ];then
@@ -28,27 +24,17 @@ RETVAL=0
 start() {
        mkdir -p $CONF_RW
        mkdir -p $DATA_DIR
-
-    # Merge config files
-    printf "## Equinox configuration - Generated by /usr/sbin/nodectl ##\n\n" > $CONFIG_INI
-#    cat $BASE_CONFIG_INI >> $CONFIG_INI
-    printf "\n##\n## $CONF_DIR/$APP.ini\n##\n\n" >> $CONFIG_INI
-    cat $CONF_DIR/$APP.ini >> $CONFIG_INI
-    for file in `ls -v $CONF_DIRS/*.ini`; do
-            printf "\n##\n## $file\n##\n\n" >> $CONFIG_INI
-            cat $file >> $CONFIG_INI
-    done;
-
-#              $JAVA_OPTS -jar $OSGI_FRAMEWORK \
+       
+       cp $CONF_DIR/argeo-companion.ini $CONF_RW/config.ini
 
        cd $EXEC_DIR
        $JVM \
                -Dlog4j.configuration="file:$CONF_DIR/log4j.properties" \
-               -Dosgi.framework=$OSGI_FRAMEWORK \
-               $JAVA_OPTS -classpath $ECLIPSE_LAUNCHER org.eclipse.equinox.launcher.Main \
+               -Dargeo.osgi.sources=$A2_SOURCES \
+               $JAVA_OPTS -jar $OSGI_FRAMEWORK \
+               -console \
                -configuration "$CONF_RW" \
                -data "$DATA_DIR"
 }
 
-start
-
+start
\ No newline at end of file
diff --git a/rcp/dist/pom.xml b/rcp/dist/pom.xml
new file mode 100644 (file)
index 0000000..2a7c544
--- /dev/null
@@ -0,0 +1,18 @@
+<?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-SNAPSHOT</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
index 3663069df66c7850481cb73accdd68085a37e41d..d5f4010051487484d1ebd4d548de47fd5f8eca09 100644 (file)
@@ -17,6 +17,7 @@
                <module>org.argeo.cms.desktop</module>
                <module>org.argeo.cms.e4.rcp</module>
                <module>dep</module>
+               <module>dist</module>
                <!-- <module>demo</module> -->
        </modules>
        <dependencies>