]> git.argeo.org Git - gpl/argeo-slc.git/blob - dist/org.argeo.slc.sdk/pom.xml
Improve packaging (esp. security)
[gpl/argeo-slc.git] / dist / org.argeo.slc.sdk / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3 <modelVersion>4.0.0</modelVersion>
4 <parent>
5 <groupId>org.argeo.slc</groupId>
6 <artifactId>dist</artifactId>
7 <version>0.13.1-SNAPSHOT</version>
8 </parent>
9 <groupId>org.argeo.slc.dist</groupId>
10 <artifactId>org.argeo.slc.sdk</artifactId>
11 <packaging>pom</packaging>
12 <name>SLC SDK</name>
13 <properties>
14 <argeo.p2.cmd>/opt/equinox-p2-agent/eclipse</argeo.p2.cmd>
15 <argeo.p2.repository>/var/argeo/projects/SLC/www/sdk-dev</argeo.p2.repository>
16 </properties>
17 <build>
18 <plugins>
19 <plugin>
20 <groupId>org.apache.maven.plugins</groupId>
21 <artifactId>maven-dependency-plugin</artifactId>
22 <executions>
23 <execution>
24 <id>copy-dependencies</id>
25 <phase>process-resources</phase>
26 <goals>
27 <goal>copy-dependencies</goal>
28 </goals>
29 <configuration>
30 <includeTypes>jar</includeTypes>
31 <outputDirectory>${project.build.directory}/lib</outputDirectory>
32 </configuration>
33 </execution>
34 </executions>
35 </plugin>
36 <plugin>
37 <groupId>org.argeo.maven.plugins</groupId>
38 <artifactId>maven-argeo-osgi-plugin</artifactId>
39 <version>${version.maven-argeo-osgi}</version>
40 <executions>
41 <execution>
42 <id>pde-source</id>
43 <phase>process-resources</phase>
44 <goals>
45 <goal>pde-sources</goal>
46 </goals>
47 <configuration>
48 </configuration>
49 </execution>
50 <execution>
51 <id>check-osgi</id>
52 <phase>test</phase>
53 <goals>
54 <goal>equinox</goal>
55 </goals>
56 <configuration>
57 <useDependencies>false</useDependencies>
58 <onlyCheck>true</onlyCheck>
59 <argsToAppend>
60 <arg>-clean</arg>
61 </argsToAppend>
62 <systemProperties>
63 <!-- Make sure that no bundle will be started -->
64 <argeo.osgi.start>XXX</argeo.osgi.start>
65 <argeo.osgi.bundles>
66 ${project.build.directory}/lib;in=*.jar,
67 </argeo.osgi.bundles>
68 </systemProperties>
69 </configuration>
70 </execution>
71 </executions>
72 </plugin>
73 <plugin>
74 <artifactId>maven-resources-plugin</artifactId>
75 <executions>
76 <execution>
77 <id>filter-base</id>
78 <phase>process-resources</phase>
79 <goals>
80 <goal>copy-resources</goal>
81 </goals>
82 <configuration>
83 <outputDirectory>${basedir}/target/base</outputDirectory>
84 <resources>
85 <resource>
86 <directory>src/main/base</directory>
87 <filtering>true</filtering>
88 </resource>
89 </resources>
90 </configuration>
91 </execution>
92 </executions>
93 </plugin>
94 <!-- <plugin> -->
95 <!-- <groupId>org.apache.maven.plugins</groupId> -->
96 <!-- <artifactId>maven-assembly-plugin</artifactId> -->
97 <!-- <configuration> -->
98 <!-- <descriptors> -->
99 <!-- <descriptor>src/assembly/dist.xml</descriptor> -->
100 <!-- <descriptor>src/assembly/devel.xml</descriptor> -->
101 <!-- </descriptors> -->
102 <!-- </configuration> -->
103 <!-- <executions> -->
104 <!-- <execution> -->
105 <!-- <id>attach-assembly</id> -->
106 <!-- <phase>package</phase> -->
107 <!-- <goals> -->
108 <!-- <goal>single</goal> -->
109 <!-- </goals> -->
110 <!-- </execution> -->
111 <!-- </executions> -->
112 <!-- </plugin> -->
113 <!-- <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId>
114 <version>1.1</version> <executions> <execution> <id>create-repository</id>
115 <phase>deploy</phase> <goals> <goal>exec</goal> </goals> </execution> </executions>
116 <configuration> <executable>${argeo.p2.cmd}</executable> optional <workingDirectory>/tmp</workingDirectory>
117 <arguments> <argument>-noSplash</argument> <argument>-application</argument>
118 <argument>org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher</argument>
119 <argument>-metadataRepository</argument> <argument>file:${argeo.p2.repository}</argument>
120 <argument>-artifactRepository</argument> <argument>file:${argeo.p2.repository}</argument>
121 <argument>-bundles</argument> <argument>${project.build.directory}</argument>
122 <argument>-features</argument> <argument>${project.build.directory}</argument>
123 <argument>-compress</argument> <argument>-publishArtifacts</argument> </arguments>
124 </configuration> </plugin> -->
125 <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId>
126 <executions> <execution> <id>p2-copyToRepo</id> <phase>deploy</phase> <goals>
127 <goal>run</goal> </goals> <configuration> <tasks> <mkdir dir="${project.build.directory}/repobase"
128 /> <copy todir="${project.build.directory}/repobase"> <fileset dir="${project.build.directory}/lib">
129 <include name="*.jar" /> </fileset> <fileset dir="${project.build.directory}/libsrc">
130 <include name="*.jar" /> </fileset> </copy> <exec executable="${argeo.p2.cmd}">
131 <arg value="-noSplash" /> <arg value="-application" /> <arg value="org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher"
132 /> <arg value="-metadataRepository" /> <arg value="file:${argeo.p2.repository}"
133 /> <arg value="-artifactRepository" /> <arg value="file:${argeo.p2.repository}"
134 /> <arg value="-bundles" /> <arg value="${project.build.directory}/repobase"
135 /> <arg value="-features" /> <arg value="${project.build.directory}/repobase"
136 /> <arg value="-compress" /> <arg value="-publishArtifacts" /> </exec> </tasks>
137 </configuration> </execution> </executions> </plugin> -->
138 </plugins>
139 </build>
140 <dependencies>
141 <dependency>
142 <groupId>org.argeo.slc.dep</groupId>
143 <artifactId>org.argeo.slc.dep.sdk.rcp</artifactId>
144 <version>${project.version}</version>
145 </dependency>
146 </dependencies>
147 <profiles>
148 <profile>
149 <id>rpmbuild</id>
150
151 <activation>
152 <os>
153 <name>Linux</name>
154 </os>
155 <file>
156 <exists>/usr/bin/rpmbuild</exists>
157 </file>
158 </activation>
159
160 <properties>
161 <package.version>${project.version}</package.version>
162 <distribution.label>argeo</distribution.label>
163 <distribution.root>/var/argeo/linux/argeo-el/5/argeo-testing</distribution.root>
164 </properties>
165 <build>
166 <plugins>
167 <plugin>
168 <groupId>org.codehaus.mojo</groupId>
169 <artifactId>rpm-maven-plugin</artifactId>
170 <version>2.1-alpha-1</version>
171 <extensions>true</extensions>
172 <configuration>
173 <version>${package.version}</version>
174 <release>r${buildNumber}.${distribution.label}</release>
175 <copyright>2010 Argeo</copyright>
176 <distribution>${distribution.label}</distribution>
177 <packager>mbaudier@argeo.org</packager>
178 <group>Applications/System</group>
179 <prefix>/usr</prefix>
180 </configuration>
181 <executions>
182 <execution>
183 <id>rpm-sdk</id>
184 <phase>deploy</phase>
185 <goals>
186 <goal>rpm</goal>
187 </goals>
188 <configuration>
189 <mappings>
190 <mapping>
191 <directory>/usr/bin</directory>
192 <username>root</username>
193 <groupname>root</groupname>
194 <filemode>755</filemode>
195 <directoryIncluded>false</directoryIncluded>
196 <sources>
197 <source>
198 <location>src/main/rpm/usr/bin</location>
199 <includes>
200 <include>*</include>
201 </includes>
202 </source>
203 </sources>
204 </mapping>
205 <mapping>
206 <directory>/etc/init.d</directory>
207 <username>root</username>
208 <groupname>root</groupname>
209 <filemode>755</filemode>
210 <directoryIncluded>false</directoryIncluded>
211 <sources>
212 <source>
213 <location>src/main/rpm/etc/init.d</location>
214 <includes>
215 <include>*</include>
216 </includes>
217 </source>
218 </sources>
219 </mapping>
220 <mapping>
221 <directory>/etc/slc-agent</directory>
222 <username>root</username>
223 <groupname>root</groupname>
224 <filemode>644</filemode>
225 <configuration>true</configuration>
226 <sources>
227 <source>
228 <location>src/main/rpm/etc/slc-agent</location>
229 <includes>
230 <include>*</include>
231 </includes>
232 </source>
233 </sources>
234 </mapping>
235 <mapping>
236 <directory>/etc/slc-server</directory>
237 <username>root</username>
238 <groupname>root</groupname>
239 <filemode>644</filemode>
240 <configuration>true</configuration>
241 <sources>
242 <source>
243 <location>src/main/rpm/etc/slc-server</location>
244 <includes>
245 <include>*</include>
246 </includes>
247 </source>
248 </sources>
249 </mapping>
250 <mapping>
251 <directory>/usr/share/osgi</directory>
252 <username>root</username>
253 <groupname>root</groupname>
254 <filemode>644</filemode>
255 <directoryIncluded>false</directoryIncluded>
256 <sources>
257 <source>
258 <location>target/lib</location>
259 <includes>
260 <include>*.jar</include>
261 </includes>
262 </source>
263 </sources>
264 </mapping>
265 </mappings>
266 <postinstallScriptlet>
267 <scriptFile>src/main/scripts/postinstall</scriptFile>
268 </postinstallScriptlet>
269 <preremoveScriptlet>
270 <scriptFile>src/main/scripts/preremove</scriptFile>
271 </preremoveScriptlet>
272 <requires>
273 <require>java</require>
274 <!-- For the start/stop scripts -->
275 <require>expect</require>
276 </requires>
277 </configuration>
278 </execution>
279 <execution>
280 <id>rpm-devel</id>
281 <phase>deploy</phase>
282 <goals>
283 <goal>rpm</goal>
284 </goals>
285 <configuration>
286 <name>${project.artifactId}-pdesources</name>
287 <mappings>
288 <mapping>
289 <directory>/usr/src/osgi/pde</directory>
290 <username>root</username>
291 <groupname>root</groupname>
292 <filemode>644</filemode>
293 <directoryIncluded>false</directoryIncluded>
294 <sources>
295 <source>
296 <location>target/libsrc</location>
297 <includes>
298 <include>*.jar</include>
299 </includes>
300 </source>
301 </sources>
302 </mapping>
303 </mappings>
304 <requires>
305 <require>org.argeo.slc.sdk</require>
306 </requires>
307 </configuration>
308 </execution>
309 <execution>
310 <id>rpm-demo</id>
311 <phase>deploy</phase>
312 <goals>
313 <goal>rpm</goal>
314 </goals>
315 <configuration>
316 <name>${project.artifactId}-demo</name>
317 <mappings>
318 <mapping>
319 <directory>/var/lib/slc-agent/modules</directory>
320 <username>root</username>
321 <groupname>root</groupname>
322 <filemode>644</filemode>
323 <directoryIncluded>false</directoryIncluded>
324 <sources>
325 <source>
326 <location>../../demo/site</location>
327 <includes>
328 <include>org.argeo.*/**</include>
329 </includes>
330 <excludes>
331 <exclude>pom.xml</exclude>
332 <exclude>target</exclude>
333 <exclude>.svn</exclude>
334 <exclude>**/.svn/**</exclude>
335 </excludes>
336 </source>
337 </sources>
338 </mapping>
339 </mappings>
340 <requires>
341 <require>org.argeo.slc.sdk</require>
342 <!-- <require> org.argeo.slc.dep.sdk.rcp</require> -->
343 </requires>
344 </configuration>
345 </execution>
346 </executions>
347 </plugin>
348 <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId>
349 <executions> <execution> <id>rpm-copyToRepo</id> <phase>deploy</phase> <goals>
350 <goal>run</goal> </goals> <configuration> <tasks> <mkdir dir="${distribution.root}/i386"
351 /> <mkdir dir="${distribution.root}/x86_64" /> <delete verbose="true"> <fileset
352 dir="${distribution.root}" includes="*/org.argeo.slc.sdk-*.rpm" /> </delete>
353 <copy todir="${distribution.root}/x86_64" verbose="true"> <fileset dir="target">
354 <include name="rpm/*/RPMS/*/*.rpm" /> </fileset> <flattenmapper /> </copy>
355 <exec executable="/usr/bin/createrepo"> <arg value="${distribution.root}/x86_64"
356 /> </exec> <copy todir="${distribution.root}/i386" verbose="true"> <fileset
357 dir="target"> <include name="rpm/*/RPMS/*/*.rpm" /> </fileset> <flattenmapper
358 /> </copy> <exec executable="/usr/bin/createrepo"> <arg value="${distribution.root}/i386"
359 /> </exec> </tasks> </configuration> </execution> </executions> </plugin> -->
360 </plugins>
361 </build>
362
363 </profile>
364 </profiles>
365 </project>