echo SLC_HOME=%SLC_HOME%
set CLASSPATH=
-cd %SLC_HOME%\lib
-FOR %f IN (*.jar) DO echo %f
+
+FOR %%f IN (%SLC_HOME%\lib\te*.jar) DO set CLASSPATH=%CLASSPATH%;%%f
echo CLASSPATH=%CLASSPATH%
\ No newline at end of file
-<assembly 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/xsd/assembly-1.1.0-SNAPSHOT.xsd">
- <id>dist</id>
- <formats>
- <format>tar.gz</format>
- </formats>
- <dependencySets>
- <dependencySet>
- <unpack>false</unpack>
- <outputDirectory>lib</outputDirectory>
- <includes>
- <include>*:jar</include>
- </includes>
- </dependencySet>
- <!--
- <dependencySet>
- <unpack>true</unpack>
- <outputDirectory></outputDirectory>
- <outputFileNameMapping></outputFileNameMapping>
- <includes>
- <include>
- org.argeo.slc:argeo-slc-agent:tar.gz:base
- </include>
- </includes>
- <fileMode>0755</fileMode>
- </dependencySet>
- -->
- </dependencySets>
+<assembly xmlns="http://maven.apache.org/POM/4.0.0"\r
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/assembly-1.1.0-SNAPSHOT.xsd">\r
+ <id>dist</id>\r
+ <includeBaseDirectory>false</includeBaseDirectory>\r
+ <formats>\r
+ <format>zip</format>\r
+ </formats>\r
+ <fileSets>\r
+ <fileSet>\r
+ <directory>src/main/base</directory>\r
+ <outputDirectory></outputDirectory>\r
+ <fileMode>0755</fileMode>\r
+ </fileSet>\r
+ <fileSet>\r
+ <directory>target</directory>\r
+ <includes>\r
+ <include>${project.artifactId}-*.jar</include>\r
+ </includes>\r
+ <excludes>\r
+ <exclude>${project.artifactId}-*-sources.jar</exclude>\r
+ </excludes>\r
+ <outputDirectory>lib/detached</outputDirectory>\r
+ </fileSet>\r
+ </fileSets>\r
+ <dependencySets>\r
+ <dependencySet>\r
+ <unpack>false</unpack>\r
+ <outputDirectory>lib/detached</outputDirectory>\r
+ <includes>\r
+ <include>*:jar</include>\r
+ </includes>\r
+ </dependencySet>\r
+ <!-- \r
+ <dependencySet>\r
+ <unpack>true</unpack>\r
+ <outputDirectory></outputDirectory>\r
+ <outputFileNameMapping></outputFileNameMapping>\r
+ <includes>\r
+ <include>\r
+ org.argeo.slc:argeo-slc-agent:tar.gz:base\r
+ </include>\r
+ </includes>\r
+ <fileMode>0755</fileMode>\r
+ </dependencySet>\r
+ -->\r
+ </dependencySets>\r
</assembly>
\ No newline at end of file
--- /dev/null
+@echo off
+echo SLC Detached
+set SLC_HOME=%~dp0..
+echo SLC_HOME=%SLC_HOME%
+set SLC_LIB_DETACHED=%SLC_HOME%\lib\detached
+
+call slc-detached-settings.bat
+
+rem FOR %%f IN (%SLC_HOME%\lib\detached\*.jar) DO set CLASSPATH=%CLASSPATH%;%%f
+FOR %%f IN (%SLC_HOME%\lib\detached\org.argeo.slc.detached.launcher-*.jar) DO set SLC_DETACHED_LAUNCHER_JAR=%%f
+
+set CLASSPATH=%SLC_DETACHED_LAUNCHER_JAR%;%SLC_USER_CLASSPATH%;%SLC_LIB_DETACHED%\aopalliance-1.0.jar;%SLC_LIB_DETACHED%\commons-io-1.4.jar;%SLC_LIB_DETACHED%\commons-logging-1.1.1.jar;%SLC_LIB_DETACHED%\log4j-1.2.15.jar;%SLC_LIB_DETACHED%\org.apache.felix.main-1.2.1.jar;%SLC_LIB_DETACHED%\spring-beans-2.0.8.jar;%SLC_LIB_DETACHED%\spring-context-2.0.8.jar;%SLC_LIB_DETACHED%\spring-core-2.0.8.jar;%SLC_LIB_DETACHED%\xercesImpl-2.8.1.jar;%SLC_LIB_DETACHED%\xml-apis-1.3.03.jar
+
+set CMD=%JAVA_HOME%\bin\java -Dslc.home=%SLC_HOME% -Dslc.workDir=%SLC_WORK_DIR% "-Dslc.detached.userBundles=%SLC_USER_BUNDLES%" -Dslc.detached.appclass=%SLC_DETACHED_APPCLASS% "-Dslc.detached.appargs=%SLC_DETACHED_APPARGS%" -classpath %CLASSPATH% org.argeo.slc.detached.launcher.Main
+rem echo CMD=%CMD%
+
+start %CMD%
+
import java.util.Properties;
import java.util.Vector;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.felix.framework.Felix;
protected static Properties prepareConfig(String propertyFilePath)
throws Exception {
+ // Format slc.home
+ String slcHome = System.getProperty("slc.home");
+ if (slcHome != null) {
+ slcHome = new File(slcHome).getCanonicalPath();
+ System.setProperty("slc.home", slcHome);
+ }
+
// Load config
Properties config = new Properties();
InputStream in = null;
- ;
+
try {
in = Main.class
.getResourceAsStream("/org/argeo/slc/detached/launcher/felix.properties");
config.load(in);
} finally {
- if (in != null)
- in.close();
+ IOUtils.closeQuietly(in);
}
try {
- in = new FileInputStream(propertyFilePath);
- config.load(in);
+ File file = new File(propertyFilePath);
+ if (file.exists()) {
+ in = new FileInputStream(propertyFilePath);
+ config.load(in);
+ }
} finally {
- if (in != null)
- in.close();
+ IOUtils.closeQuietly(in);
}
// System properties have priority.
}
public static void startApp(Properties config) throws Exception {
- String className = config.getProperty("argeo.scl.detached.appclass");
+ String className = config.getProperty("slc.detached.appclass");
String[] uiArgs = readArgumentsFromLine(config.getProperty(
- "argeo.slc.detached.appargs", ""));
+ "slc.detached.appargs", ""));
// Launch main method using reflection
Class clss = Class.forName(className);
# Argeo Specific Context Properties
argeo.slc.mavenBase=file:${user.home}/.m2/repository
-argeo.scl.detached.appclass=org.argeo.slc.testui.SwingTestUi
-argeo.slc.detached.appargs=noExitOnClose
-
#
# Framework config properties.
#
#org.osgi.framework.bootdelegation=sun.*,com.sun.*
#felix.cache.profile=foo
-#felix.auto.start.1= \
-# file:bundle/org.apache.felix.shell-1.0.2.jar \
-# file:bundle/org.apache.felix.shell.tui-1.0.2.jar \
-# file:bundle/org.apache.felix.bundlerepository-1.2.0.jar
+
+felix.auto.start.1= \
+ file:${slc.home}/lib/org.argeo.slc.detached-0.11.1-SNAPSHOT.jar \
+ file:${slc.home}/lib/detached/org.apache.felix.shell-1.0.2.jar \
+ file:${slc.home}/lib/detached/org.apache.felix.shell.tui-1.0.2.jar \
+ file:${slc.home}/lib/org.argeo.dep.jemmy.nb61-0.2.2.jar \
+ ${slc.detached.userBundles}
#felix.auto.start.1= \
# reference:file:${user.dir}/../sandbox/argeo.slc.jemmytest/bin/ \
</dependency>
<!-- Additional SLC dependencies -->
- <dependency>
- <groupId>org.argeo.slc</groupId>
- <artifactId>argeo-slc-agent</artifactId>
- <version>${project.version}</version>
- <type>tar.gz</type>
- <classifier>base</classifier>
- </dependency>
-
+ <dependency>\r
+ <groupId>org.argeo.slc</groupId>\r
+ <artifactId>argeo-slc-agent</artifactId>\r
+ <version>${project.version}</version>\r
+ <type>tar.gz</type>\r
+ <classifier>base</classifier>\r
+ </dependency>\r
+\r
+ <dependency>\r
+ <groupId>org.argeo.slc</groupId>\r
+ <artifactId>org.argeo.slc.detached.launcher</artifactId>\r
+ <version>${project.version}</version>\r
+ <type>zip</type>\r
+ <classifier>dist</classifier>\r
+ </dependency>\r
+\r
+ <dependency>\r
+ <groupId>org.argeo.dep.jemmy</groupId>\r
+ <artifactId>org.argeo.dep.jemmy.nb61</artifactId>\r
+ </dependency>\r
+\r
<!-- Additional Third Parties
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<include>*:jar</include>
</includes>
</dependencySet>
- <dependencySet>
- <unpack>true</unpack>
- <outputDirectory></outputDirectory>
- <outputFileNameMapping></outputFileNameMapping>
- <includes>
- <include>
- org.argeo.slc:argeo-slc-agent:tar.gz:base
- </include>
- </includes>
- <fileMode>0755</fileMode>
- </dependencySet>
+ <dependencySet>\r
+ <unpack>true</unpack>\r
+ <outputDirectory></outputDirectory>\r
+ <outputFileNameMapping></outputFileNameMapping>\r
+ <includes>\r
+ <include>\r
+ org.argeo.slc:argeo-slc-agent:tar.gz:base\r
+ </include>\r
+ </includes>\r
+ <fileMode>0755</fileMode>\r
+ </dependencySet>\r
+ <dependencySet>\r
+ <unpack>true</unpack>\r
+ <outputDirectory></outputDirectory>\r
+ <outputFileNameMapping></outputFileNameMapping>\r
+ <includes>\r
+ <include>\r
+ org.argeo.slc:org.argeo.slc.detached.launcher:zip:dist\r
+ </include>\r
+ </includes>\r
+ <fileMode>0755</fileMode>\r
+ </dependencySet>\r
</dependencySets>
</assembly>
\ No newline at end of file
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src/main/java"/>
- <classpathentry kind="src" path="src/test/java"/>
- <classpathentry kind="src" path="src/test/resources"/>
- <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.3.1_20"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+ <classpathentry kind="src" path="src/main/java"/>\r
+ <classpathentry kind="src" path="src/test/java"/>\r
+ <classpathentry kind="src" path="src/test/resources"/>\r
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>\r
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.3"/>\r
+ <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r