]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.osgiboot/src/main/ant/osgiboot.xml
[maven-release-plugin] copy for tag argeo-slc-all-0.11.3
[gpl/argeo-slc.git] / runtime / org.argeo.slc.osgiboot / src / main / ant / 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="slc.osgi.locations">
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.bundles" />
40 <addProperty name="slc.osgi.devBases" />
41 <addProperty name="slc.osgi.devPatterns" />
42 <addProperty name="slc.maven.dependencyFile" />
43 </target>
44
45 <target name="start.java" description="Start Equinox runtime based on generated config">
46 <java classname="org.eclipse.core.runtime.adaptor.EclipseStarter" fork="true" dir="${equinoxDir}" classpath="${equinoxJar}">
47 <arg value="-console" />
48 <arg value="-noExit" />
49 <arg value="-clean" />
50 <arg value="-debug" />
51 <arg value="-configuration" />
52 <arg value="${configurationDir}" />
53 </java>
54 </target>
55
56 <target name="start">
57 <property name="commandArgs" value="-cp ${equinoxJar} org.eclipse.core.runtime.adaptor.EclipseStarter ${equinoxArgs} -configuration ${configurationDir}" />
58
59 <condition property="starter" value="gnome-terminal">
60 <and>
61 <os family="unix" />
62 </and>
63 </condition>
64 <condition property="starterArgs" value="--maximize -x">
65 <and>
66 <os family="unix" />
67 </and>
68 </condition>
69 <condition property="starter" value="start">
70 <os family="windows" />
71 </condition>
72 <condition property="vmlauncher" value="false">
73 <os family="windows" />
74 </condition>
75 <property name="starterArgs" value="" />
76 <property name="javaCommand" value="java" />
77 <property name="vmlauncher" value="true" />
78
79 <echo message="commandArgs=${commandArgs}" />
80 <echo message="${javaCommand} ${commandArgs}" file="${equinoxDir}/launch.bat" />
81 <echo message="${javaCommand} ${commandArgs}" file="${equinoxDir}/launch.sh" />
82 <exec executable="${starter}" dir="${equinoxDir}" vmlauncher="${vmlauncher}">
83 <arg line="${starterArgs}" />
84 <arg line="${javaCommand}" />
85 <arg line="${commandArgs}" />
86 </exec>
87 </target>
88
89 <macrodef name="addProperty">
90 <attribute name="name" />
91 <sequential>
92 <property name="@{name}" value="" />
93 <echo message="@{name}=${@{name}}" />
94 <echo file="${configurationFile}" append="true">
95 <![CDATA[@{name}=${@{name}}]]>
96 </echo>
97 </sequential>
98 </macrodef>
99 </project>