]> git.argeo.org Git - gpl/argeo-slc.git/blob - maven-argeo-osgi-plugin/src/main/scripts/argeo-osgi.build.xml
4d32de36fa0b63ff4759ef066410506febb98c59
[gpl/argeo-slc.git] / maven-argeo-osgi-plugin / src / main / scripts / argeo-osgi.build.xml
1 <project>
2
3 <taskdef resource="net/sf/antcontrib/antlib.xml" />
4
5 <target name="simple-bundles" depends="generate-poms,deploy-pom">
6 </target>
7
8 <target name="generate-poms">
9
10 <property name="targetDir" location="target" />
11 <mkdir dir="${targetDir}" />
12
13 <copy todir="${targetDir}/bundles">
14 <fileset dir="${bundlesBase}" includes="**" excludes="*.xml,.*,target/**" />
15 </copy>
16
17 <pathconvert property="dirs" pathsep=",">
18 <path>
19 <dirset dir="${targetDir}/bundles" includes="*" />
20 </path>
21 <mapper>
22 <flattenmapper />
23 </mapper>
24 </pathconvert>
25
26 <if>
27 <contains string="${projectVersion}" substring="-SNAPSHOT" />
28 <then>
29 <property name="qualifier" value="SNAPSHOT" />
30 </then>
31 <else>
32 <tstamp>
33 <format property="qualifier" pattern="yyyyMMdd" />
34 </tstamp>
35 </else>
36 </if>
37
38
39 <property name="aggregatorPomFile" value="${targetDir}/bundles/pom.xml" />
40 <echo file="${aggregatorPomFile}">
41 <![CDATA[
42 <project>
43 <modelVersion>4.0.0</modelVersion>
44 <groupId>${projectGroupId}</groupId>
45 <artifactId>aggregator</artifactId>
46 <version>${projectVersion}</version>
47 <packaging>pom</packaging>
48 <modules>
49 ]]></echo>
50 <for list="${dirs}" param="dir">
51
52 <sequential>
53 <echo file="${aggregatorPomFile}" append="true">
54 <![CDATA[<module>@{dir}</module>]]></echo>
55 </sequential>
56 </for>
57 <echo file="${aggregatorPomFile}" append="true">
58 <![CDATA[
59 <module>bundles</module>
60 </modules>
61 </project>
62 ]]></echo>
63
64 <for list="${dirs}" param="dir">
65
66 <sequential>
67 <echo>Generate POM for @{dir}</echo>
68
69 <var name="bundleDir" value="${targetDir}/bundles/@{dir}" />
70 <mkdir dir="${bundleDir}/target" />
71
72
73 <replace file="${bundleDir}/META-INF/MANIFEST.MF" token="qualifier" value="${qualifier}" />
74
75 <copy file="${bundleDir}/META-INF/MANIFEST.MF" tofile="${bundleDir}/target/bundle.properties" />
76 <replace file="${bundleDir}/target/bundle.properties" token=" " value="" />
77 <replace file="${bundleDir}/target/bundle.properties" token=":" value="=" />
78 <replace file="${bundleDir}/target/bundle.properties" token=".SNAPSHOT" value="-SNAPSHOT" />
79 <var file="${bundleDir}/target/bundle.properties" />
80
81 <copy file="pom-template.xml" toFile="${bundleDir}/pom.xml">
82 <filterset>
83 <filtersfile file="${bundleDir}/target/bundle.properties" />
84 </filterset>
85 </copy>
86
87 </sequential>
88 </for>
89
90 </target>
91
92 <target name="deploy-pom">
93
94 <property name="targetDir" location="target" />
95
96 <pathconvert property="dirs" pathsep=",">
97 <path>
98 <dirset dir="${targetDir}/bundles" includes="*" />
99 </path>
100 <mapper>
101 <flattenmapper />
102 </mapper>
103 </pathconvert>
104
105 <mkdir dir="${targetDir}/bundles/bundles" />
106 <property name="deployPomFile" value="${targetDir}/bundles/bundles/pom.xml" />
107
108 <echo file="${deployPomFile}">
109 <![CDATA[
110 <project>
111 <modelVersion>4.0.0</modelVersion>
112 <groupId>${projectGroupId}</groupId>
113 <artifactId>bundles</artifactId>
114 <version>${projectVersion}</version>
115 <packaging>pom</packaging>
116 <dependencies>
117 ]]></echo>
118
119 <for list="${dirs}" param="dir">
120
121 <sequential>
122 <echo>Add @{dir} to deploy POM</echo>
123 <mkdir dir="${targetDir}" />
124
125 <var name="bundleDir" value="${targetDir}/bundles/@{dir}" />
126 <var file="${bundleDir}/target/bundle.properties" />
127
128 <echo file="${deployPomFile}" append="true">
129 <![CDATA[
130 <dependency>
131 <groupId>${projectGroupId}</groupId>
132 <artifactId>${Bundle-SymbolicName}</artifactId>
133 <version>${Bundle-Version}</version>
134 </dependency>
135 ]]></echo>
136 </sequential>
137 </for>
138
139 <echo file="${deployPomFile}" append="true">
140 <![CDATA[
141 </dependencies>
142 </project>
143 ]]></echo>
144 </target>
145 </project>