blob: 942feecb109005e80b2f00584a51990c81e1b4ea [file] [log] [blame]
Carsten Ziegelerb61fe0e2008-01-03 09:24:12 +00001<!--
2 Licensed to the Apache Software Foundation (ASF) under one
3 or more contributor license agreements. See the NOTICE file
4 distributed with this work for additional information
5 regarding copyright ownership. The ASF licenses this file
6 to you under the Apache License, Version 2.0 (the
7 "License"); you may not use this file except in compliance
8 with the License. You may obtain a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12 Unless required by applicable law or agreed to in writing,
13 software distributed under the License is distributed on an
14 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 KIND, either express or implied. See the License for the
16 specific language governing permissions and limitations
17 under the License.
18-->
Carsten Ziegeler4fec0962008-01-11 16:13:31 +000019<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
Karl Pauls589e2b32007-07-11 18:29:29 +000020 <parent>
21 <groupId>org.apache.felix</groupId>
Felix Meschbergera4ad70a2009-04-27 13:12:37 +000022 <artifactId>felix-parent</artifactId>
Felix Meschberger3229b522011-10-11 18:10:07 +000023 <version>2.1</version>
Felix Meschbergerc1ee5692012-11-07 11:38:42 +000024 <relativePath />
Karl Pauls589e2b32007-07-11 18:29:29 +000025 </parent>
26 <modelVersion>4.0.0</modelVersion>
27 <packaging>bundle</packaging>
28 <name>Apache Felix Declarative Services</name>
29 <description>
Felix Meschbergerc5aeea62012-11-07 11:27:40 +000030 Implementation of the Declarative Services specification 1.2
Karl Pauls589e2b32007-07-11 18:29:29 +000031 </description>
32 <artifactId>org.apache.felix.scr</artifactId>
David Jencks70381912014-01-18 03:37:24 +000033 <version>1.8.3-SNAPSHOT</version>
Felix Meschberger4753fcb2009-04-29 08:46:06 +000034 <scm>
David Jencks70381912014-01-18 03:37:24 +000035 <connection>scm:svn:https://svn.apache.org/repos/asf/felix/trunk/scr</connection>
36 <developerConnection>scm:svn:https://svn.apache.org/repos/asf/felix/trunk/scr</developerConnection>
37 <url>scm:svn:https://svn.apache.org/repos/asf/felix/trunk/scr</url>
Felix Meschberger4753fcb2009-04-29 08:46:06 +000038 </scm>
Felix Meschberger55e3b972009-10-12 07:16:08 +000039
40 <!--
41 A Note on Testing
42 =================
43
44 This project contains two kinds of tests: regular unit tests running
45 in the test phase and integration tests based on PAX Exam running
46 in the integration-test phase.
47
48 Basically the complete project is build using Java 1.3 source and target
49 compatibility (as inherited from the parent pom). The exception are the
50 unit tests in the "integration" packages. These have to be compiled with
51 Java 5 source and target compatibility because the employ annotations
52 and generics.
53
54 For running the integration tests from the console using Maven nothing
55 special has to be done as the tests run automatically. To run the tests
56 in your IDE, the project has to be built to the "package" phase with
57 the profile "ide" enabled:
58
59 $ mvn -Pide clean package
60
61 This creates the scr.jar file in the target folder, which is used by
62 the integration tests when run from the IDE. Alternatively the
63 "project.bundle.file" system property may be set to the bundle JAR
64 in the IDE launcher.
65 -->
Felix Meschbergerc17fdbd2009-10-12 07:25:39 +000066 <properties>
Felix Meschberger6c63b752009-10-12 08:11:27 +000067 <bundle.build.name>
68 ${basedir}/target
69 </bundle.build.name>
Felix Meschbergere130b0b2009-10-12 07:51:50 +000070 <bundle.file.name>
Felix Meschberger6c63b752009-10-12 08:11:27 +000071 ${bundle.build.name}/${project.build.finalName}.jar
Felix Meschbergere130b0b2009-10-12 07:51:50 +000072 </bundle.file.name>
David Jencksc03f8e52013-10-29 16:20:41 +000073 <felix.ca.version>1.8.0</felix.ca.version>
Felix Meschbergerc17fdbd2009-10-12 07:25:39 +000074 </properties>
75
Felix Meschberger55e3b972009-10-12 07:16:08 +000076
Karl Pauls589e2b32007-07-11 18:29:29 +000077 <dependencies>
78 <dependency>
Felix Meschbergerca797922009-10-07 08:38:18 +000079 <groupId>org.osgi</groupId>
Karl Pauls589e2b32007-07-11 18:29:29 +000080 <artifactId>org.osgi.core</artifactId>
David Jencks8a1f6af2014-07-31 19:28:30 +000081 <version>6.0.0</version>
Felix Meschbergerbbd1e9d2009-10-11 08:18:18 +000082 <scope>provided</scope>
David Jencks8a1f6af2014-07-31 19:28:30 +000083 </dependency>
84 <dependency>
85 <groupId>org.osgi</groupId>
86 <artifactId>org.osgi.annotation</artifactId>
87 <version>6.0.0</version>
88 <scope>provided</scope>
Karl Pauls589e2b32007-07-11 18:29:29 +000089 </dependency>
90 <dependency>
Felix Meschbergerca797922009-10-07 08:38:18 +000091 <groupId>org.osgi</groupId>
David Jencksfbf5f8e2013-03-06 02:51:10 +000092 <artifactId>org.osgi.enterprise</artifactId>
93 <version>5.0.0</version>
Felix Meschbergerbbd1e9d2009-10-11 08:18:18 +000094 <scope>provided</scope>
Karl Pauls589e2b32007-07-11 18:29:29 +000095 </dependency>
96 <dependency>
Guillaume Nodetd767b212013-08-02 13:22:32 +000097 <groupId>org.apache.felix</groupId>
98 <artifactId>org.apache.felix.utils</artifactId>
David Jencks725a6ab2014-01-18 03:19:32 +000099 <version>1.4.2</version>
Guillaume Nodetd767b212013-08-02 13:22:32 +0000100 <scope>provided</scope>
101 </dependency>
102 <dependency>
Felix Meschberger02fd53d2011-04-06 15:02:42 +0000103 <groupId>${project.groupId}</groupId>
Felix Meschbergerd25a63d2007-11-23 13:02:49 +0000104 <artifactId>org.apache.felix.shell</artifactId>
105 <version>1.0.0</version>
Felix Meschbergerbbd1e9d2009-10-11 08:18:18 +0000106 <scope>provided</scope>
Felix Meschberger6c63b752009-10-12 08:11:27 +0000107 <exclusions>
108 <exclusion>
109 <groupId>org.apache.felix</groupId>
110 <artifactId>org.osgi.core</artifactId>
111 </exclusion>
112 </exclusions>
Felix Meschbergerd25a63d2007-11-23 13:02:49 +0000113 </dependency>
114 <dependency>
Felix Meschberger44add772010-12-23 18:13:24 +0000115 <groupId>org.apache.felix</groupId>
116 <artifactId>org.apache.felix.gogo.runtime</artifactId>
117 <version>0.6.1</version>
118 <scope>provided</scope>
119 </dependency>
120 <dependency>
Karl Pauls589e2b32007-07-11 18:29:29 +0000121 <groupId>net.sf.kxml</groupId>
122 <artifactId>kxml2</artifactId>
123 <version>2.2.2</version>
Felix Meschbergerbbd1e9d2009-10-11 08:18:18 +0000124 <scope>provided</scope>
Karl Pauls589e2b32007-07-11 18:29:29 +0000125 </dependency>
David Jencksdd6e9d42012-09-11 23:01:29 +0000126
Felix Meschberger47eb0372009-07-28 13:48:28 +0000127 <!-- Integration Testing with Pax Exam -->
128 <dependency>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000129 <groupId>org.ops4j.pax.exam</groupId>
130 <artifactId>pax-exam-container-forked</artifactId>
David Jencksb5aa87c2013-09-11 21:13:44 +0000131 <version>3.2.0</version>
Felix Meschbergerbbd1e9d2009-10-11 08:18:18 +0000132 <scope>test</scope>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000133 </dependency>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000134
Felix Meschberger47eb0372009-07-28 13:48:28 +0000135 <dependency>
136 <groupId>org.ops4j.pax.exam</groupId>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000137 <artifactId>pax-exam-junit4</artifactId>
David Jencksb5aa87c2013-09-11 21:13:44 +0000138 <version>3.2.0</version>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000139 <scope>test</scope>
140 </dependency>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000141
Felix Meschberger47eb0372009-07-28 13:48:28 +0000142 <dependency>
143 <groupId>org.ops4j.pax.exam</groupId>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000144 <artifactId>pax-exam-link-mvn</artifactId>
David Jencksb5aa87c2013-09-11 21:13:44 +0000145 <version>3.2.0</version>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000146 <scope>test</scope>
147 </dependency>
148
149 <dependency>
150 <groupId>org.ops4j.pax.url</groupId>
151 <artifactId>pax-url-aether</artifactId>
152 <version>1.4.0.RC1</version>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000153 <scope>test</scope>
154 </dependency>
155 <dependency>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000156 <groupId>org.ops4j.pax.url</groupId>
157 <artifactId>pax-url-wrap</artifactId>
158 <version>1.4.0.RC1</version>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000159 <scope>test</scope>
160 </dependency>
161 <dependency>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000162 <groupId>org.ops4j.pax.logging</groupId>
163 <artifactId>pax-logging-api</artifactId>
164 <version>1.6.3</version>
165 <scope>test</scope>
166 </dependency>
167 <dependency>
168 <groupId>org.ops4j.pax.logging</groupId>
169 <artifactId>pax-logging-service</artifactId>
170 <version>1.6.3</version>
171 <scope>test</scope>
172 </dependency>
173
174 <dependency>
175 <groupId>ch.qos.logback</groupId>
176 <artifactId>logback-core</artifactId>
177 <version>0.9.29</version>
178 <scope>test</scope>
179 </dependency>
180
181 <dependency>
182 <groupId>ch.qos.logback</groupId>
183 <artifactId>logback-classic</artifactId>
184 <version>0.9.29</version>
185 <scope>test</scope>
186 </dependency>
187 <dependency>
David Jencksc03f8e52013-10-29 16:20:41 +0000188 <groupId>org.apache.felix</groupId>
189 <artifactId>org.apache.felix.configadmin</artifactId>
190 <version>1.8.0</version>
191 <scope>test</scope>
192 </dependency>
193 <dependency>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000194 <groupId>org.apache.geronimo.specs</groupId>
195 <artifactId>geronimo-atinject_1.0_spec</artifactId>
196 <version>1.0</version>
197 <scope>test</scope>
198 </dependency>
199 <dependency>
David Jencks51432552012-06-05 01:02:17 +0000200 <groupId>org.apache.servicemix.bundles</groupId>
201 <artifactId>org.apache.servicemix.bundles.junit</artifactId>
David Jencks5ccbba22012-10-19 06:52:50 +0000202 <version>4.9_2</version>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000203 <scope>test</scope>
204 </dependency>
205 <dependency>
206 <groupId>org.ops4j.base</groupId>
207 <artifactId>ops4j-base-lang</artifactId>
208 <version>1.2.3</version>
209 <scope>provided</scope>
210 </dependency>
211 <dependency>
212 <groupId>org.ops4j.base</groupId>
213 <artifactId>ops4j-base-net</artifactId>
214 <version>1.2.3</version>
215 <scope>provided</scope>
216 </dependency>
217 <dependency>
218 <groupId>org.ops4j.pax.tinybundles</groupId>
219 <artifactId>tinybundles</artifactId>
220 <version>1.0.0</version>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000221 <scope>test</scope>
222 </dependency>
David Jencksfbf5f8e2013-03-06 02:51:10 +0000223 <dependency>
224 <groupId>org.codehaus.mojo</groupId>
225 <artifactId>animal-sniffer-annotations</artifactId>
David Jencksddd90942013-04-06 06:52:25 +0000226 <version>1.9</version>
David Jencksfbf5f8e2013-03-06 02:51:10 +0000227 <scope>compile</scope>
228 </dependency>
Karl Pauls589e2b32007-07-11 18:29:29 +0000229 </dependencies>
230 <build>
Felix Meschberger6c63b752009-10-12 08:11:27 +0000231 <directory>${bundle.build.name}</directory>
Karl Pauls589e2b32007-07-11 18:29:29 +0000232 <plugins>
233 <plugin>
234 <groupId>org.apache.felix</groupId>
235 <artifactId>maven-bundle-plugin</artifactId>
David Jenckse8e89b62014-06-15 01:10:29 +0000236 <version>2.4.0</version>
Karl Pauls589e2b32007-07-11 18:29:29 +0000237 <extensions>true</extensions>
238 <configuration>
239 <instructions>
David Jenckse8e89b62014-06-15 01:10:29 +0000240 <_include>-bnd.bnd</_include>
David Jencks89cc89f2014-08-07 19:54:45 +0000241 </instructions>
Karl Pauls589e2b32007-07-11 18:29:29 +0000242 </configuration>
243 </plugin>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000244
245 <!--
Felix Meschberger47a0c6e2012-05-31 13:48:16 +0000246 Ensure not using too recent Java API
Felix Meschbergerd1636bf2012-11-07 11:08:20 +0000247 - Ensure Java 5 API
Felix Meschberger47a0c6e2012-05-31 13:48:16 +0000248 -->
David Jencks08a463d2013-01-22 19:19:08 +0000249 <plugin>
Felix Meschberger47a0c6e2012-05-31 13:48:16 +0000250 <groupId>org.codehaus.mojo</groupId>
251 <artifactId>animal-sniffer-maven-plugin</artifactId>
252 <version>1.7</version>
253 <configuration>
254 <signature>
255 <groupId>org.codehaus.mojo.signature</groupId>
Felix Meschbergerd1636bf2012-11-07 11:08:20 +0000256 <artifactId>java15</artifactId>
Felix Meschberger47a0c6e2012-05-31 13:48:16 +0000257 <version>1.0</version>
258 </signature>
Felix Meschberger47a0c6e2012-05-31 13:48:16 +0000259 </configuration>
260 <executions>
261 <execution>
262 <phase>test</phase>
263 <goals>
264 <goal>check</goal>
265 </goals>
266 </execution>
267 </executions>
268 </plugin>
269
270 <!--
Felix Meschbergerd1636bf2012-11-07 11:08:20 +0000271 Configure default compilation for Java 5
Felix Meschberger47eb0372009-07-28 13:48:28 +0000272 -->
273 <plugin>
274 <artifactId>maven-compiler-plugin</artifactId>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000275 <configuration>
David Jencks7978fb92012-10-12 00:40:18 +0000276 <source>1.5</source>
277 <target>1.5</target>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000278 </configuration>
279 </plugin>
280
Felix Meschberger4f43c912012-03-08 04:37:56 +0000281 <!-- plain unit tests -->
Felix Meschberger47eb0372009-07-28 13:48:28 +0000282 <plugin>
283 <artifactId>maven-surefire-plugin</artifactId>
Felix Meschberger47eb0372009-07-28 13:48:28 +0000284 <configuration>
285 <excludes>
286 <exclude>**/integration/**</exclude>
287 <exclude>**/components/**</exclude>
288 <exclude>**/instances/**</exclude>
289 <exclude>**/instances2/**</exclude>
290 </excludes>
291 </configuration>
292 </plugin>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000293 <!-- integration tests run with pax-exam -->
294 <plugin>
295 <artifactId>maven-failsafe-plugin</artifactId>
296 <version>2.12</version>
297 <executions>
298 <execution>
299 <goals>
300 <goal>integration-test</goal>
301 <goal>verify</goal>
302 </goals>
303 </execution>
304 </executions>
305 <configuration>
David Jencksfbf5f8e2013-03-06 02:51:10 +0000306 <systemPropertyVariables>
307 <project.bundle.file>${bundle.file.name}</project.bundle.file>
308 <felix.ca.version>${felix.ca.version}</felix.ca.version>
309 </systemPropertyVariables>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000310 <excludes>
311 <exclude>**/components/**</exclude>
312 </excludes>
313 <includes>
David Jencks91128a42013-04-22 06:44:24 +0000314 <include>**/integration/**</include>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000315 </includes>
316 </configuration>
317 </plugin>
Felix Meschbergerdf922662011-02-04 23:09:29 +0000318 <plugin>
319 <groupId>org.apache.maven.plugins</groupId>
320 <artifactId>maven-javadoc-plugin</artifactId>
321 <configuration>
322 <encoding>${project.build.sourceEncoding}</encoding>
323 <excludePackageNames>*.impl</excludePackageNames>
324 </configuration>
325 </plugin>
David Jenckscb9f9422013-02-04 02:16:11 +0000326 <plugin>
327 <groupId>org.apache.aries.versioning</groupId>
328 <artifactId>org.apache.aries.versioning.plugin</artifactId>
329 <version>0.1.0</version>
330 <executions>
331 <execution>
332 <id>default-verify</id>
333 <phase>verify</phase>
334 <goals>
335 <goal>version-check</goal>
336 </goals>
337 <configuration>
338 <oldArtifact>org.apache.felix:org.apache.felix.scr:1.6.2</oldArtifact>
339 </configuration>
340 </execution>
341 </executions>
342 </plugin>
Karl Pauls589e2b32007-07-11 18:29:29 +0000343 </plugins>
344 </build>
Felix Meschberger55e3b972009-10-12 07:16:08 +0000345
David Jencks081fa832013-05-09 05:50:38 +0000346 <reporting>
347 <plugins>
348 <plugin>
349 <groupId>org.codehaus.mojo</groupId>
350 <artifactId>findbugs-maven-plugin</artifactId>
351 <version>2.5.2</version>
352 <configuration>
353 <effort>Max</effort>
354 <threshold>Low</threshold>
355 </configuration>
356 </plugin>
357 </plugins>
358 </reporting>
359
Felix Meschberger55e3b972009-10-12 07:16:08 +0000360 <profiles>
361 <!--
362 copy the package such that IDEs may easily use it without
363 setting the system property
364 -->
365 <profile>
366 <id>ide</id>
367 <build>
368 <plugins>
369 <plugin>
370 <artifactId>maven-antrun-plugin</artifactId>
Felix Meschberger55e3b972009-10-12 07:16:08 +0000371 <executions>
372 <execution>
373 <id>scr-file-create</id>
374 <phase>package</phase>
375 <goals>
376 <goal>run</goal>
377 </goals>
378 <configuration>
Felix Meschberger3229b522011-10-11 18:10:07 +0000379 <target>
Felix Meschberger9afc4d72009-11-02 22:28:37 +0000380 <copy file="${project.build.directory}/${project.build.finalName}.jar" tofile="${project.build.directory}/scr.jar" />
Felix Meschberger3229b522011-10-11 18:10:07 +0000381 </target>
Felix Meschberger55e3b972009-10-12 07:16:08 +0000382 </configuration>
383 </execution>
384 </executions>
385 </plugin>
386 </plugins>
387 </build>
388 </profile>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000389
390 <profile>
391 <id>felix</id>
392 <activation>
393 <activeByDefault>true</activeByDefault>
394 </activation>
395 <dependencies>
396 <dependency>
397 <groupId>org.apache.felix</groupId>
398 <artifactId>org.apache.felix.framework</artifactId>
399 <version>4.0.2</version>
400 <scope>test</scope>
401 </dependency>
402 </dependencies>
403 </profile>
404 <profile>
405 <id>equinox</id>
406 <dependencies>
407 <dependency>
408 <groupId>org.eclipse</groupId>
David Jencks588b3d32013-02-10 07:43:27 +0000409 <artifactId>org.eclipse.osgi</artifactId>
410 <version>3.8.0.v20120529-1548</version>
Felix Meschberger4f43c912012-03-08 04:37:56 +0000411 <scope>test</scope>
412 </dependency>
413 </dependencies>
414 </profile>
David Jencksfbf5f8e2013-03-06 02:51:10 +0000415 <profile>
David Jencksc03f8e52013-10-29 16:20:41 +0000416 <!-- use to test with R4 ca, without change count, targetetPids, location changed event -->
417 <!-- remember you need to specify all profiles using this, e.g. -PcaR4,felix -->
418 <id>caR4</id>
David Jencksfbf5f8e2013-03-06 02:51:10 +0000419 <properties>
David Jencksc03f8e52013-10-29 16:20:41 +0000420 <felix.ca.version>1.0.10</felix.ca.version>
David Jencksfbf5f8e2013-03-06 02:51:10 +0000421 </properties>
422 </profile>
Felix Meschberger55e3b972009-10-12 07:16:08 +0000423 </profiles>
424
Karl Pauls589e2b32007-07-11 18:29:29 +0000425</project>