blob: 002036e84fc17a2bd564a52b3237a694865ad4bc [file] [log] [blame]
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.aries.jmx</groupId>
<artifactId>jmx</artifactId>
<version>0.3.1-SNAPSHOT</version>
</parent>
<artifactId>org.apache.aries.jmx.whiteboard</artifactId>
<packaging>bundle</packaging>
<name>Apache Aries Whiteboard support for JMX DynamicMBean services</name>
<description>
This bundle implements whiteboard pattern support for DynamicMBean
services registered with the OSGi service registry. Each DynamicMBean
service is registered with (and unregistered from) all MBeanServer
services registered in the OSGi service registry.
</description>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/incubator/aries/trunk/jmx/jmx-whiteboard</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/aries/trunk/jmx/jmx-whiteboard</developerConnection>
<url>http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-whiteboard</url>
</scm>
<!-- A Note on Testing ================= This project contains two kinds
of tests: regular unit tests running in the test phase and integration tests
based on PAX Exam running in the integration-test phase. Basically the complete
project is build using Java 1.3 source and target compatibility (as inherited
from the parent pom). The exception are the unit tests in the "integration"
packages. These have to be compiled with Java 5 source and target compatibility
because the employ annotations and generics. For running the integration
tests from the console using Maven nothing special has to be done as the
tests run automatically. To run the tests in your IDE, the project has to
be built to the "package" phase with the profile "ide" enabled: $ mvn -Pide
clean package This creates the scr.jar file in the target folder, which is
used by the integration tests when run from the IDE. Alternatively the "project.bundle.file"
system property may be set to the bundle JAR in the IDE launcher. -->
<properties>
<bundle.build.name>
${basedir}/target
</bundle.build.name>
<bundle.file.name>
${bundle.build.name}/${project.build.finalName}.jar
</bundle.file.name>
<aries.osgi.activator>
org.apache.aries.jmx.whiteboard.Activator
</aries.osgi.activator>
<aries.osgi.export.pkg>
!*
</aries.osgi.export.pkg>
<aries.osgi.private.pkg>
org.apache.aries.jmx.whiteboard
</aries.osgi.private.pkg>
<aries.osgi.import.service>
javax.management.MBeanServer
</aries.osgi.import.service>
</properties>
<build>
<plugins>
<!-- Exclude Integration tests in (default) unit tests and conversely
enable integration tests for integration testing only. Helper classes are
completely excluded from testing. -->
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<executions>
<execution>
<id>surefire-it</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<systemProperties>
<property>
<name>project.bundle.file</name>
<value>${bundle.file.name}</value>
</property>
</systemProperties>
<excludes>
<exclude>**/whiteboard/*</exclude>
</excludes>
<includes>
<include>**/integration/*</include>
</includes>
</configuration>
</execution>
</executions>
<configuration>
<excludes>
<exclude>**/integration/**</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<!-- OSGi Libraries -->
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
</dependency>
<!-- Integration Testing with Pax Exam -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-container-default</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.swissbox</groupId>
<artifactId>pax-swissbox-tinybundles</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<!-- copy the package such that IDEs may easily use it without setting
the system property -->
<profile>
<id>ide</id>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>cm-file-create</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<copy file="${project.build.directory}/${project.build.finalName}.jar" tofile="${project.build.directory}/jmx-whiteboard.jar" />
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<!-- repositories for Pax Exam and BND tool -->
<repositories>
<repository>
<id>ops4j</id>
<name>ops4j</name>
<url>http://repository.ops4j.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>aqute</id>
<name>aqute</name>
<url>http://www.aqute.biz/repo</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>