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" />
10 <path id=
"slc.osgi.locations.raw.default">
11 <fileset dir=
"${baseDir}/lib">
12 <include name=
"*.jar" />
16 <target name=
"launch" description=
"Launch Equinox" depends=
"prepareDefault,writeConfiguration,start">
20 <target name=
"prepareDefault" unless=
"slc.osgi.locations">
21 <pathconvert dirsep=
"/" property=
"slc.osgi.locations" refid=
"slc.osgi.locations.raw.default" />
23 <property name=
"slc.osgi.start" value=
"org.springframework.osgi.extender" />
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}">
33 osgi.bundles=reference:file:${osgiBootBundle}@start
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" />
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}" />
57 <property name=
"commandArgs" value=
"-cp ${equinoxJar} org.eclipse.core.runtime.adaptor.EclipseStarter ${equinoxArgs} -configuration ${configurationDir}" />
59 <condition property=
"starter" value=
"gnome-terminal">
64 <condition property=
"starterArgs" value=
"--maximize -x">
69 <condition property=
"starter" value=
"start">
70 <os family=
"windows" />
72 <condition property=
"vmlauncher" value=
"false">
73 <os family=
"windows" />
75 <property name=
"starterArgs" value=
"" />
76 <property name=
"javaCommand" value=
"java" />
77 <property name=
"vmlauncher" value=
"true" />
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}" />
89 <macrodef name=
"addProperty">
90 <attribute name=
"name" />
92 <property name=
"@{name}" value=
"" />
93 <echo message=
"@{name}=${@{name}}" />
94 <echo file=
"${configurationFile}" append=
"true">
95 <![CDATA[@{name}=${@{name}}]]
>