+<project>
+
+ <taskdef resource="net/sf/antcontrib/antlib.xml" />
+
+ <target name="simple-bundles" depends="generate-poms,deploy-pom">
+ </target>
+
+ <target name="generate-poms">
+
+ <property name="targetDir" location="target" />
+ <mkdir dir="${targetDir}" />
+
+ <copy todir="${targetDir}/bundles">
+ <fileset dir="${bundlesBase}" includes="**" excludes="*.xml,.*,target/**" />
+ </copy>
+
+ <pathconvert property="dirs" pathsep=",">
+ <path>
+ <dirset dir="${targetDir}/bundles" includes="*" />
+ </path>
+ <mapper>
+ <flattenmapper />
+ </mapper>
+ </pathconvert>
+
+ <if>
+ <contains string="${projectVersion}" substring="-SNAPSHOT" />
+ <then>
+ <property name="qualifier" value="SNAPSHOT" />
+ </then>
+ <else>
+ <tstamp>
+ <format property="qualifier" pattern="yyyyMMdd" />
+ </tstamp>
+ </else>
+ </if>
+
+
+ <property name="aggregatorPomFile" value="${targetDir}/bundles/pom.xml" />
+ <echo file="${aggregatorPomFile}">
+ <![CDATA[
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>${projectGroupId}</groupId>
+ <artifactId>aggregator</artifactId>
+ <version>${projectVersion}</version>
+ <packaging>pom</packaging>
+ <modules>
+ ]]></echo>
+ <for list="${dirs}" param="dir">
+
+ <sequential>
+ <echo file="${aggregatorPomFile}" append="true">
+ <![CDATA[<module>@{dir}</module>]]></echo>
+ </sequential>
+ </for>
+ <echo file="${aggregatorPomFile}" append="true">
+ <![CDATA[
+ <module>bundles</module>
+ </modules>
+ </project>
+ ]]></echo>
+
+ <for list="${dirs}" param="dir">
+
+ <sequential>
+ <echo>Generate POM for @{dir}</echo>
+
+ <var name="bundleDir" value="${targetDir}/bundles/@{dir}" />
+ <mkdir dir="${bundleDir}/target" />
+
+
+ <replace file="${bundleDir}/META-INF/MANIFEST.MF" token="qualifier" value="${qualifier}" />
+
+ <copy file="${bundleDir}/META-INF/MANIFEST.MF" tofile="${bundleDir}/target/bundle.properties" />
+ <replace file="${bundleDir}/target/bundle.properties" token=" " value="" />
+ <replace file="${bundleDir}/target/bundle.properties" token=":" value="=" />
+ <replace file="${bundleDir}/target/bundle.properties" token=".SNAPSHOT" value="-SNAPSHOT" />
+ <var file="${bundleDir}/target/bundle.properties" />
+
+ <copy file="pom-template.xml" toFile="${bundleDir}/pom.xml">
+ <filterset>
+ <filtersfile file="${bundleDir}/target/bundle.properties" />
+ </filterset>
+ </copy>
+
+ </sequential>
+ </for>
+
+</target>
+
+<target name="deploy-pom">
+
+ <property name="targetDir" location="target" />
+
+ <pathconvert property="dirs" pathsep=",">
+ <path>
+ <dirset dir="${targetDir}/bundles" includes="*" />
+ </path>
+ <mapper>
+ <flattenmapper />
+ </mapper>
+ </pathconvert>
+
+ <mkdir dir="${targetDir}/bundles/bundles" />
+ <property name="deployPomFile" value="${targetDir}/bundles/bundles/pom.xml" />
+
+ <echo file="${deployPomFile}">
+ <![CDATA[
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>${projectGroupId}</groupId>
+ <artifactId>bundles</artifactId>
+ <version>${projectVersion}</version>
+ <packaging>pom</packaging>
+ <dependencies>
+ ]]></echo>
+
+ <for list="${dirs}" param="dir">
+
+ <sequential>
+ <echo>Add @{dir} to deploy POM</echo>
+ <mkdir dir="${targetDir}" />
+
+ <var name="bundleDir" value="${targetDir}/bundles/@{dir}" />
+ <var file="${bundleDir}/target/bundle.properties" />
+
+ <echo file="${deployPomFile}" append="true">
+ <![CDATA[
+ <dependency>
+ <groupId>${projectGroupId}</groupId>
+ <artifactId>${Bundle-SymbolicName}</artifactId>
+ <version>${Bundle-Version}</version>
+ </dependency>
+ ]]></echo>
+ </sequential>
+ </for>
+
+ <echo file="${deployPomFile}" append="true">
+ <![CDATA[
+ </dependencies>
+ </project>
+ ]]></echo>
+</target>
+</project>
\ No newline at end of file