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