]> git.argeo.org Git - gpl/argeo-slc.git/blob - osgiboot.xml
7c89176817d6036e858bf805dc6d629062c840a5
[gpl/argeo-slc.git] / osgiboot.xml
1 <project default="launch">
2 <dirname property="baseDir" file="${ant.file}" />
3 <dirname property="equinoxDir" file="${ant.file}" />
4 <property name="equinoxJar" location="${equinoxDir}/org.eclipse.osgi.jar" />
5 <property name="equinoxArgs" value="-console -clean -noExit" />
6 <property name="osgiBootBundle" value="org.argeo.slc.osgiboot.jar" />
7 <property name="configurationDir" location="${equinoxDir}/configuration" />
8 <property name="configurationFile" location="${configurationDir}/config.ini" />
9
10 <path id="slc.osgi.locations.raw.default">
11 <fileset dir="${baseDir}/lib">
12 <include name="*.jar" />
13 </fileset>
14 </path>
15
16 <target name="launch" description="Launch Equinox" depends="prepareDefault,writeConfiguration,start">
17
18 </target>
19
20 <target name="prepareDefault" unless="noDefault">
21 <pathconvert dirsep="/" property="slc.osgi.locations" refid="slc.osgi.locations.raw.default" />
22
23 <property name="slc.osgi.start" value="org.springframework.osgi.extender" />
24 </target>
25
26 <target name="writeConfiguration" description="Generate configuration based on properties">
27 <echo message="equinoxJar=${equinoxJar}" />
28 <echo message="configurationDir=${configurationDir}" />
29 <mkdir dir="${configurationDir}" />
30 <echo message="osgiBootBundle=${osgiBootBundle}" />
31 <echo file="${configurationFile}">
32 <![CDATA[
33 osgi.bundles=reference:file:${osgiBootBundle}@start
34 ]]>
35 </echo>
36
37 <addProperty name="slc.osgi.locations" />
38 <addProperty name="slc.osgi.start" />
39 <addProperty name="slc.osgi.devBases" />
40 <addProperty name="slc.osgi.devPatterns" />
41 <addProperty name="slc.maven.dependencyFile" />
42 </target>
43
44 <target name="start.java" description="Start Equinox runtime based on generated config">
45 <java classname="org.eclipse.core.runtime.adaptor.EclipseStarter" fork="true" dir="${equinoxDir}" classpath="${equinoxJar}">
46 <arg value="-console" />
47 <arg value="-noExit" />
48 <arg value="-clean" />
49 <arg value="-debug" />
50 <arg value="-configuration" />
51 <arg value="${configurationDir}" />
52 </java>
53 </target>
54
55 <target name="start">
56 <property name="commandArgs" value="-cp ${equinoxJar} org.eclipse.core.runtime.adaptor.EclipseStarter ${equinoxArgs} -configuration ${configurationDir}" />
57
58 <condition property="starter" value="gnome-terminal">
59 <and>
60 <os family="unix" />
61 </and>
62 </condition>
63 <condition property="starterArgs" value="--maximize -x">
64 <and>
65 <os family="unix" />
66 </and>
67 </condition>
68 <condition property="starter" value="start">
69 <os family="windows" />
70 </condition>
71 <condition property="vmlauncher" value="false">
72 <os family="windows" />
73 </condition>
74 <property name="starterArgs" value="" />
75 <property name="javaCommand" value="java" />
76 <property name="vmlauncher" value="true" />
77
78 <echo message="commandArgs=${commandArgs}" />
79 <echo message="${javaCommand} ${commandArgs}" file="${equinoxDir}/launch.bat" />
80 <echo message="${javaCommand} ${commandArgs}" file="${equinoxDir}/launch.sh" />
81 <exec executable="${starter}" dir="${equinoxDir}" vmlauncher="${vmlauncher}">
82 <arg line="${starterArgs}" />
83 <arg line="${javaCommand}" />
84 <arg line="${commandArgs}" />
85 </exec>
86 </target>
87
88 <macrodef name="addProperty">
89 <attribute name="name" />
90 <sequential>
91 <property name="@{name}" value="" />
92 <echo message="@{name}=${@{name}}" />
93 <echo file="${configurationFile}" append="true">
94 <![CDATA[@{name}=${@{name}}]]>
95 </echo>
96 </sequential>
97 </macrodef>
98 </project>