Okay.. after I put the example the other day, I realised it is so worse to be clicking on export and choosing the manifest file all the time. So For a quick start people can use this build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="BundleName" default="deploy" basedir=".">
<property name="version" value="1.0.0" />
<property name="src" location="src" />
<property name="build" location="build" />
<property name="deployloc" location="/home/to/equinox/bundles" />
<property name="dist" location="dist" />
<property name="buildfilename" value="${ant.project.name}-${version}.jar"/>
<path id="classpath.buildtime">
<pathelement location="/home/to/equinox/equinox.jar" />
<pathelement location="/home/to/dependency.jar" />
</path>
<target name="init" depends="clean">
<tstamp />
<mkdir dir="${build}" />
</target>
<target name="compile" depends="init" description="compile the source ">
<javac srcdir="${src}" destdir="${build}" classpathref="classpath.buildtime" />
</target>
<target name="dist" depends="compile" description="generate the distribution">
<mkdir dir="${dist}"/>
<jar jarfile="${dist}/${ant.project.name}-${version}.jar" basedir="${build}" manifest="META-INF/MANIFEST.MF">
<manifest>
<attribute name="Bundle-Name" value="${ant.project.name}"/>
<attribute name="Bundle-Version" value="${version}"/>
</manifest>
</jar>
</target>
<target name="deploy" depends="dist">
<copy file="${dist}/${buildfilename}" todir="${deployloc}" overwrite="true"/>
</target>
<target name="clean" description="clean up">
<delete dir="${build}" />
<delete dir="${dist}" />
</target>
</project>
Feel free to add to it, and contribute your additions in comments.