blob: dc03de414bb72306cfb2b7375f067e01a6d940d4 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>org.eclipse.gemini.blueprint</groupId>
<artifactId>gemini-blueprint</artifactId>
<!-- Note: When updating the version, ensure it is a valid OSGi version -->
<version>3.0.0.M1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Gemini Blueprint</name>
<url>http://www.eclipse.org/gemini/blueprint/</url>
<description>
Eclipse Gemini Blueprint project makes it easy to build Java applications that run in an OSGi framework. By
using Gemini Blueprint, applications benefit from using a
better separation of modules, the ability to dynamically add, remove, and update modules in a running system,
the ability to deploy multiple versions of a module
simultaneously (and have clients automatically bind to the appropriate one), and a dynamic service model.
</description>
<inceptionYear>2006</inceptionYear>
<properties>
<!-- Source file encoding -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Spring version -->
<spring.maven.artifact.version>5.0.3.RELEASE_1</spring.maven.artifact.version>
<spring.base.version>5.0.0</spring.base.version>
<symName.prefix>org.eclipse.gemini.blueprint</symName.prefix>
<spring.osgi.symbolic.name>${project.groupId}.${project.artifactId}</spring.osgi.symbolic.name>
<spring.osgi.license.loc>..</spring.osgi.license.loc>
<!-- other properties -->
<slf4j.version>1.7.5</slf4j.version>
<logback.version>1.0.13</logback.version>
<env.buildPlan />
<env.buildNumber />
<!-- compiled against osgi Revision -->
<osgi.ver>5.0.0</osgi.ver>
<!-- platform versions -->
<!-- equinox - repackaged in ${basedir}/lib/equinox -->
<equinox.ver>3.9.1.v20130814-1242</equinox.ver>
<!-- Knopflerfish -->
<kf.ver>7.1.2</kf.ver>
<!-- Felix 4.4.x supports OSGi R5 -->
<felix.ver>4.4.0</felix.ver>
<!-- javadoc configuration -->
<javadoc.loc>${basedir}/docs/src/javadoc</javadoc.loc>
<clover.ver>4.0.6</clover.ver>
<clover.argLine />
<clover.skip>false</clover.skip>
<findbugs.skip>false</findbugs.skip>
<!-- security options for integration testing -->
<security.argLine />
<policy.url>..${file.separator}policy.all</policy.url>
<!-- common version ranges -->
<spring.version.range.nq>[${spring.base.version},6)</spring.version.range.nq>
<spring.version.range>"${spring.version.range.nq}"</spring.version.range>
<gemini.blueprint.version.range.nq>[${project.version},${project.version}]</gemini.blueprint.version.range.nq>
<gemini.blueprint.version.range>"${gemini.blueprint.version.range.nq}"</gemini.blueprint.version.range>
<logging.version.range>"[1.0,2.0)"</logging.version.range>
</properties>
<!-- ============================================= -->
<!-- Basic configuration: JIRA, SCM, CI, devs etc. -->
<!-- ============================================= -->
<issueManagement>
<system>Bugzilla</system>
<url>http://bugs.eclipse.org/bugs/buglist.cgi?product=Gemini.Blueprint</url>
</issueManagement>
<!--<ciManagement>-->
<!--<system>bamboo</system>-->
<!--<url>http://build.springframework.org/browse/OSGI-TRUNK</url>-->
<!--<notifiers>-->
<!--<notifier>-->
<!--<type>mail</type>-->
<!--<configuration>-->
<!--<address>adrian.colyer@SpringSource.com</address>-->
<!--</configuration>-->
<!--</notifier>-->
<!--<notifier>-->
<!--<type>mail</type>-->
<!--<configuration>-->
<!--<address>costin.leau@SpringSource.com</address>-->
<!--</configuration>-->
<!--</notifier>-->
<!--</notifiers>-->
<!--</ciManagement>-->
<scm>
<url>http://git.eclipse.org/c/gemini.blueprint/org.eclipse.gemini.blueprint.git/</url>
<connection>scm:git:git//git.eclipse.org/gitroot/gemini.blueprint/org.eclipse.gemini.blueprint.git</connection>
<!-- hudson-based releases require this SCM url to point to the local FS, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=512974 -->
<developerConnection>scm:git:file:///gitroot/gemini.blueprint/org.eclipse.gemini.blueprint.git</developerConnection>
<tag>HEAD</tag>
</scm>
<developers>
<developer>
<id>adrian-colyer</id>
<name>Adrian Colyer</name>
<email>adrian.colyer at SpringSource.com</email>
<organization>SpringSource, division of VMware</organization>
<organizationUrl>http://www.SpringSource.com</organizationUrl>
<roles>
<role>Developer</role>
</roles>
<timezone>0</timezone>
</developer>
<developer>
<id>jconstantine</id>
<name>Hal Hildebrand</name>
<email>hal.hildebrand at oracle.com</email>
<organization>Oracle</organization>
<organizationUrl>http://www.oracle.com</organizationUrl>
<roles>
<role>Developer</role>
</roles>
<timezone>-8</timezone>
</developer>
<developer>
<id>costin_leau</id>
<name>Costin Leau</name>
<email>costin.leau at SpringSource.com</email>
<organization>SpringSource, division of VMware</organization>
<organizationUrl>http://www.SpringSource.com</organizationUrl>
<roles>
<role>Project Admin</role>
<role>Developer</role>
</roles>
<timezone>+2</timezone>
</developer>
<developer>
<id>andypiper</id>
<name>Andy Piper</name>
<email>andy at oracle.com</email>
<organization>Oracle</organization>
<organizationUrl>http://www.oracle.com</organizationUrl>
<roles>
<role>Developer</role>
</roles>
<timezone>0</timezone>
</developer>
</developers>
<licenses>
<license>
<name>Eclipse Public License, Version 1.0</name>
<url>http://www.eclipse.org/legal/epl-v10.html</url>
</license>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0</url>
</license>
</licenses>
<!-- =================================================== -->
<!-- Project Modules, Dependencies, Plugins and Profiles -->
<!-- =================================================== -->
<!-- modules for Spring-OSGi -->
<modules>
<module>mock</module>
<module>io</module>
<module>core</module>
<module>extender</module>
<module>extensions</module>
<module>test-support</module>
</modules>
<dependencyManagement>
<dependencies>
<!-- Gemini Blueprint -->
<dependency>
<groupId>org.eclipse.gemini.blueprint</groupId>
<artifactId>gemini-blueprint-mock</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.gemini.blueprint</groupId>
<artifactId>gemini-blueprint-io</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.gemini.blueprint</groupId>
<artifactId>gemini-blueprint-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.gemini.blueprint</groupId>
<artifactId>gemini-blueprint-extender</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.gemini.blueprint</groupId>
<artifactId>gemini-blueprint-test</artifactId>
<version>${project.version}</version>
</dependency>
<!-- Spring -->
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.spring-aop</artifactId>
<version>${spring.maven.artifact.version}</version>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.spring-beans</artifactId>
<version>${spring.maven.artifact.version}</version>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.spring-core</artifactId>
<version>${spring.maven.artifact.version}</version>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.spring-context</artifactId>
<version>${spring.maven.artifact.version}</version>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.spring-expression</artifactId>
<version>${spring.maven.artifact.version}</version>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.spring-test</artifactId>
<version>${spring.maven.artifact.version}</version>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.aopalliance</artifactId>
<version>1.0_6</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<version>${osgi.ver}</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
<version>${osgi.ver}</version>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.junit</artifactId>
<version>4.12_1</version>
</dependency>
<dependency>
<groupId>org.eclipse.birt.runtime</groupId>
<artifactId>org.eclipse.osgi</artifactId>
<version>${equinox.ver}</version>
</dependency>
<dependency>
<groupId>org.knopflerfish</groupId>
<artifactId>framework</artifactId>
<version>${kf.ver}</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.main</artifactId>
<version>${felix.ver}</version>
<type>jar</type>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.framework</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement>
<!-- shared dependencies across modules -->
<dependencies>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<!-- junit -->
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>3.2</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.6.2</version>
<scope>test</scope>
</dependency>
<!-- commons-logging in slf4j wrapper -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
<excludes>
<exclude>git.properties</exclude>
</excludes>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<!--
Do not deploy using the default deploy plugin, but rather using the
nexus-staging-maven-plugin (see "release" profile).
-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<!-- one release version for all modules -->
<autoVersionSubmodules>true</autoVersionSubmodules>
<!-- Simple release tag format, e.g. "2.4.0" -->
<tagNameFormat>@{project.version}</tagNameFormat>
</configuration>
</plugin>
<plugin>
<groupId>biz.aQute.bnd</groupId>
<artifactId>bnd-maven-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<goals>
<goal>bnd-process</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>2.2.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.6</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<dependencies>
<!-- force surefire to use new junit 4.7+ runner, it would normally auto detect this -->
<!-- but since we're not using the official junit dependency it is unable to do so.-->
<!-- - this makes things like @Ignore work. -->
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.19.1</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<configuration>
<quiet>true</quiet>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jdepend-maven-plugin</artifactId>
<version>2.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
</plugin>
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-clover2-plugin</artifactId>
<version>${clover.ver}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.7</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.19.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
<configuration>
<archive>
<manifestEntries>
<Bundle-ManifestVersion>2</Bundle-ManifestVersion>
<Bundle-Name>${project.artifactId}</Bundle-Name>
<Bundle-Version>${project.version}</Bundle-Version>
<Bundle-SymbolicName>${spring.osgi.symbolic.name}.source</Bundle-SymbolicName>
<Bundle-Vendor>Eclipse Foundation</Bundle-Vendor>
<Bundle-DocURL>http://www.eclipse.org/gemini/blueprint/</Bundle-DocURL>
<Bundle-License>
http://www.opensource.org/licenses/eclipse-1.0.php,http://www.opensource.org/licenses/apache2.0.php
</Bundle-License>
<Implementation-Title>Eclipse Gemini Blueprint</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version>
<Implementation-Vendor>Eclipse Foundation</Implementation-Vendor>
<Implementation-Vendor-Id>org.eclipse.gemini.blueprint</Implementation-Vendor-Id>
<Gemini-Blueprint-Version>${project.version}</Gemini-Blueprint-Version>
<Spring-Version>${spring.maven.artifact.version}</Spring-Version>
<Git-Revision>${git.commit.id.describe}</Git-Revision>
<Eclipse-SourceBundle>${spring.osgi.symbolic.name};version="${project.version}";roots:="."
</Eclipse-SourceBundle>
</manifestEntries>
</archive>
</configuration>
</plugin>
<!-- clover plug-in -->
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-clover2-plugin</artifactId>
<configuration>
<licenseLocation>${env.clover.licenseLocation}</licenseLocation>
<generatePdf>false</generatePdf>
<generateXml>true</generateXml>
<generateHtml>true</generateHtml>
<generateHistorical>false</generateHistorical>
<!-- saving history is problematic since each module would override
the previous unless a different folder is used for the root
<historyDir>${basedir}/clover/history</historyDir>
-->
<jdk>1.7</jdk>
<includesTestSourceRoots>false</includesTestSourceRoots>
<skip>${clover.skip}</skip>
<!-- exclusions -->
<excludes>
<!-- integration tests -->
<exclude>org/eclipse/gemini/blueprint/iandt/**</exclude>
<exclude>org/eclipse/gemini/blueprint/test/parsing/**</exclude>
<!-- addressed in 1.2 -->
<exclude>org/eclipse/gemini/blueprint/compendium/internal/**</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<configuration>
<skipDeploy>true</skipDeploy>
<reportPlugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<configuration>
<aggregate>true</aggregate>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<configuration>
<aggregate>true</aggregate>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
<!-- ============== -->
<!-- FindBugs -->
<!-- ============== -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<configuration>
<!--
<xmlOutput>true</xmlOutput>
<xmlOutputDirectory>target</xmlOutputDirectory>
-->
<threshold>Normal</threshold>
<effort>Default</effort>
<!--
<debug>true</debug>
<relaxed>true</relaxed>
-->
<skip>${findbugs.skip}</skip>
</configuration>
</plugin>
<!-- =========== -->
<!-- PMD -->
<!-- =========== -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<configuration>
<targetJdk>1.7</targetJdk>
</configuration>
</plugin>
<!-- ============== -->
<!-- jDepend -->
<!-- ============== -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jdepend-maven-plugin</artifactId>
</plugin>
</reportPlugins>
</configuration>
</plugin>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>revision</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- that's the default value, you don't have to set it -->
<prefix>git</prefix>
<!-- that's the default value -->
<dateFormat>dd.MM.yyyy '@' HH:mm:ss z</dateFormat>
<!-- true is default here, it prints some more information during the build -->
<verbose>false</verbose>
<!--
If you'd like to tell the plugin where your .git directory is,
use this setting, otherwise we'll perform a search trying to
figure out the right directory. It's better to add it explicit IMHO.
-->
<dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
<!-- ALTERNATE SETUP - GENERATE FILE -->
<!--
If you want to keep git information, even in your WAR file etc,
use this mode, which will generate a properties file (with filled out values)
which you can then normally read using new Properties().load(/**/)
-->
<!--
this is true by default; You may want to set this to false, if the plugin should run inside a
<packaging>pom</packaging> project. Most projects won't need to override this property.
For an use-case for this kind of behaviour see: https://github.com/ktoso/maven-git-commit-id-plugin/issues/21
-->
<skipPoms>true</skipPoms>
<!-- this is false by default, forces the plugin to generate the git.properties file -->
<generateGitPropertiesFile>true</generateGitPropertiesFile>
<!-- The path for the to be generated properties file, it's relative to ${project.basedir} -->
<generateGitPropertiesFilename>src/main/resources/git.properties</generateGitPropertiesFilename>
<!-- true by default, controls whether the plugin will fail when no .git directory is found, when set to false the plugin will just skip execution -->
<!-- @since 2.0.4 -->
<failOnNoGitDirectory>false</failOnNoGitDirectory>
<!-- @since 2.1.0 -->
<!--
read up about git-describe on the in man, or it's homepage - it's a really powerful versioning helper
and the recommended way to use git-commit-id-plugin. The configuration bellow is optional,
by default describe will run "just like git-describe on the command line", even though it's a JGit reimplementation.
-->
<gitDescribe>
<!-- don't generate the describe property -->
<skip>false</skip>
<!--
if no tag was found "near" this commit, just print the commit's id instead,
helpful when you always expect this field to be not-empty
-->
<always>false</always>
<!--
how many chars should be displayed as the commit object id?
7 is git's default,
0 has a special meaning (see end of this README.md),
and 40 is the maximum value here
-->
<abbrev>7</abbrev>
<!-- when the build is triggered while the repo is in "dirty state", append this suffix -->
<dirty>-dirty</dirty>
<!--
always print using the "tag-commits_from_tag-g_commit_id-maybe_dirty" format, even if "on" a tag.
The distance will always be 0 if you're "on" the tag.
-->
<forceLongFormat>false</forceLongFormat>
</gitDescribe>
</configuration>
</plugin>
</plugins>
</build>
<!-- profiles for equinox, knopflerfish, and felix -->
<!-- to use these profiles invoke maven with -Pprofile-name, e.g. -->
<!-- mvn -Pfelix test -->
<profiles>
<profile>
<id>equinox</id>
<dependencies>
<dependency>
<groupId>org.eclipse.birt.runtime</groupId>
<artifactId>org.eclipse.osgi</artifactId>
<version>${equinox.ver}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<properties>
<osgi.test.platform>org.eclipse.gemini.blueprint.test.platform.EquinoxPlatform</osgi.test.platform>
</properties>
</profile>
<profile>
<id>knopflerfish</id>
<dependencies>
<dependency>
<groupId>org.knopflerfish</groupId>
<artifactId>framework</artifactId>
<version>${kf.ver}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<properties>
<osgi.test.platform>org.eclipse.gemini.blueprint.test.platform.KnopflerfishPlatform</osgi.test.platform>
<org.knopflerfish.osgi.setcontextclassloader>true</org.knopflerfish.osgi.setcontextclassloader>
</properties>
</profile>
<profile>
<id>felix</id>
<dependencies>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.main</artifactId>
<version>${felix.ver}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.framework</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>
<properties>
<osgi.test.platform>org.eclipse.gemini.blueprint.test.platform.FelixPlatform</osgi.test.platform>
</properties>
</profile>
<!-- integration testing profile -->
<profile>
<id>it</id>
<activation>
<property>
<name>env-test</name>
</property>
</activation>
<modules>
<module>integration-tests</module>
</modules>
</profile>
<!-- Java 2 security enabled profile -->
<profile>
<id>security</id>
<properties>
<security.argLine>-Djava.security.manager -Djava.security.policy=${policy.url}</security.argLine>
</properties>
</profile>
<!-- clover profile -->
<profile>
<id>clover</id>
<properties>
<clover.enabled>true</clover.enabled>
<spring.decorate.osgi.import>!com_cenqua_clover*,${spring.osgi.import}</spring.decorate.osgi.import>
<clover.argLine>
-Xbootclasspath/a:"${settings.localRepository}${file.separator}com${file.separator}cenqua${file.separator}clover${file.separator}clover${file.separator}${clover.ver}${file.separator}clover-${clover.ver}.jar
-Dansi.color"
</clover.argLine>
</properties>
<dependencies>
<dependency>
<groupId>com.cenqua.clover</groupId>
<artifactId>clover</artifactId>
<version>${clover.ver}</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
</dependencies>
</profile>
<profile>
<!--
The release profile includes all sub modules as their versions must be updated
with regard to the release. It enables attaching the sources, signing all artifacts
(a prerequisite for releasing to maven central) and generates a all-in-one
release + documentation package via the assembly plugin.
-->
<id>release</id>
<modules>
<module>core</module>
<module>extender</module>
<module>extensions</module>
<module>integration-tests</module>
<module>io</module>
<module>mock</module>
<module>test-support</module>
</modules>
<dependencies>
<dependency>
<!--
The test sources are compiled against this generic dependency.
usually, test sources are compiled with regard to the framework chosen for
running the integration tests (e.g. felix, knopflerfish...). however, during release
they are simply compiled and not executed, thus we need this generic dependency.
-->
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<inherited>false</inherited>
<executions>
<!-- w/o dependencies -->
<execution>
<id>wo-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/assembly/no-dependencies.xml</descriptor>
</descriptors>
<attach>false</attach>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<executions>
<execution>
<id>site</id>
<goals>
<goal>site</goal>
</goals>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.7</version>
<extensions>true</extensions>
<executions>
<execution>
<id>default-deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>false</autoReleaseAfterClose>
<!-- by default, local artifacts are gathered and deployed when the last project module
is built. However, the last project module may coincidentally not be deployed (e.g.
by skipping this plugin's execution), which results in nothing being deployed. Consequently,
deploy each module immediately after it was built. -->
<skipLocalStaging>true</skipLocalStaging>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<!-- ======================================= -->
<!-- Website and reporting -->
<!-- ======================================= -->
<distributionManagement>
<downloadUrl>http://www.eclipse.org/gemini/blueprint/download/</downloadUrl>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<!-- ================================================ -->
<!-- Repository Configuration -->
<!-- ================================================ -->
<pluginRepositories>
<pluginRepository>
<id>maven-repo</id>
<name>maven repo</name>
<url>http://repo1.maven.org/maven2/</url>
</pluginRepository>
</pluginRepositories>
<repositories>
<repository>
<id>maven-repo</id>
<name>maven repo</name>
<url>http://repo1.maven.org/maven2/</url>
</repository>
<repository>
<id>knopflerfish-repo</id>
<name>Official Knopflerfish Repository</name>
<url>http://www.knopflerfish.org/maven2/</url>
</repository>
</repositories>
</project>