]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.osgiboot/src/main/ant/osgiboot.xml
XML format for executions
[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 </and>
49 </condition>
50 <condition property="starterArgs" value="--maximize -x">
51 <and>
52 <os family="unix" />
53 </and>
54 </condition>
55 <condition property="starter" value="start">
56 <os family="windows" />
57 </condition>
58 <condition property="vmlauncher" value="false">
59 <os family="windows" />
60 </condition>
61 <property name="starterArgs" value="" />
62 <property name="javaCommand" value="java" />
63 <property name="vmlauncher" value="true" />
64
65 <echo message="commandArgs=${commandArgs}"/>
66 <echo message="${javaCommand} ${commandArgs}" file="${equinoxDir}/launch.bat"/>
67 <echo message="${javaCommand} ${commandArgs}" file="${equinoxDir}/launch.sh"/>
68 <exec executable="${starter}" dir="${equinoxDir}" vmlauncher="${vmlauncher}">
69 <arg line="${starterArgs}" />
70 <arg line="${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>