<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
 * Licensed 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/xsd/maven-4.0.0.xsd">

	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>org.apache</groupId>
		<artifactId>apache</artifactId>
		<version>21</version>
		<relativePath />
	</parent>

	<groupId>org.apache.aries.cdi</groupId>
	<artifactId>org.apache.aries.cdi</artifactId>
	<name>Apache Aries CDI - OSGi CDI Integration Project</name>
	<version>1.0.3</version>
	<packaging>pom</packaging>

	<properties>
		<bnd.version>4.3.1</bnd.version>
		<jsp.version>2.0</jsp.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<surefire.version>2.12</surefire.version>
		<slf4j.version>1.7.25</slf4j.version>
		<weld.version>3.0.5.Final</weld.version>
	</properties>

	<licenses>
		<license>
			<name>ASL 2.0</name>
			<url>https://www.apache.org/licenses/LICENSE-2.0</url>
		</license>
	</licenses>

	<scm>
		<connection>scm:git:git@github.com:apache/aries-cdi.git</connection>
		<developerConnection>scm:git:git@github.com:apache/aries-cdi.git</developerConnection>
		<tag>org.apache.aries.cdi-1.0.3</tag>
		<url>https://github.com/apache/aries-cdi</url>
	</scm>

	<modules>
		<module>cdi-extra</module>
		<module>cdi-extender</module>
		<module>cdi-extension-el-jsp</module>
		<module>cdi-extension-http</module>
		<module>cdi-extension-jndi</module>
		<module>cdi-bom</module>
		<module>cdi-itests</module>
		<module>cdi-executable</module>
	</modules>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.apache.felix</groupId>
				<artifactId>org.apache.felix.converter</artifactId>
				<version>1.0.4</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.felix</groupId>
				<artifactId>org.apache.felix.http.servlet-api</artifactId>
				<version>1.1.2</version>
			</dependency>
			<dependency>
				<groupId>org.apache.felix</groupId>
				<artifactId>org.apache.felix.utils</artifactId>
				<version>1.11.2</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.geronimo.specs</groupId>
				<artifactId>geronimo-annotation_1.3_spec</artifactId>
				<version>1.1</version>
			</dependency>
			<dependency>
				<groupId>org.apache.geronimo.specs</groupId>
				<artifactId>geronimo-atinject_1.0_spec</artifactId>
				<version>1.1</version>
			</dependency>
			<dependency>
				<groupId>org.apache.geronimo.specs</groupId>
				<artifactId>geronimo-el_2.2_spec</artifactId>
				<version>1.1</version>
			</dependency>
			<dependency>
				<groupId>org.apache.geronimo.specs</groupId>
				<artifactId>geronimo-interceptor_1.2_spec</artifactId>
				<version>1.1</version>
			</dependency>
			<dependency>
				<groupId>org.apache.geronimo.specs</groupId>
				<artifactId>geronimo-jcdi_2.0_spec</artifactId>
				<version>1.1</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.weld</groupId>
				<artifactId>weld-osgi-bundle</artifactId>
				<version>${weld.version}</version>
				<exclusions>
					<exclusion>
						<groupId>javax.annotation</groupId>
						<artifactId>javax.annotation-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>javax.enterprise</groupId>
						<artifactId>cdi-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>javax.inject</groupId>
						<artifactId>javax.inject</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.jboss.spec.javax.annotation</groupId>
						<artifactId>jboss-annotations-api_1.3_spec</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.jboss.spec.javax.ejb</groupId>
						<artifactId>jboss-ejb-api_3.2_spec</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.jboss.spec.javax.el</groupId>
						<artifactId>jboss-el-api_3.0_spec</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.jboss.spec.javax.interceptor</groupId>
						<artifactId>jboss-interceptors-api_1.2_spec</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.jboss.spec.javax.transaction</groupId>
						<artifactId>jboss-transaction-api_1.2_spec</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.namespace.extender</artifactId>
				<version>1.0.1</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.namespace.implementation</artifactId>
				<version>1.0.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.namespace.service</artifactId>
				<version>1.0.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.service.cdi</artifactId>
				<version>1.0.0</version>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.service.cm</artifactId>
				<version>1.6.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.service.http.whiteboard</artifactId>
				<version>1.0.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.service.log</artifactId>
				<version>1.4.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.util.function</artifactId>
				<version>1.1.0</version>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.util.promise</artifactId>
				<version>1.1.0</version>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>osgi.annotation</artifactId>
				<version>7.0.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>osgi.core</artifactId>
				<version>7.0.0</version>
				<scope>provided</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<profiles>
		<profile>
			<id>apache-release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.rat</groupId>
						<artifactId>apache-rat-plugin</artifactId>
						<executions>
							<execution>
								<phase>verify</phase>
								<goals>
									<goal>check</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<excludes>
								<exclude>**/target/**/*</exclude>
								<exclude>**/appended-resources/**/*</exclude>
								<exclude>**/dependency-reduced-pom.xml</exclude>
								<exclude>**/DEPENDENCIES</exclude>
								<exclude>**/generated/**/*</exclude>
								<exclude>**/*.iml</exclude>
								<exclude>**/*.ipr</exclude>
								<exclude>**/*.iws</exclude>
								<exclude>**/.idea/**/*</exclude>
								<exclude>**/.project</exclude>
								<exclude>**/.classpath</exclude>
								<exclude>**/.settings/**</exclude>
								<exclude>**/eclipse-classes/**/*</exclude>
								<exclude>.gitignore</exclude>
								<exclude>*.md</exclude>
								<exclude>*.cfg</exclude>
								<exclude>**/*.md</exclude>
							</excludes>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>deploy</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<executions>
							<execution>
							<id>attach-sources</id>
							<goals>
								<goal>jar-no-fork</goal>
							</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<executions>
							<execution>
							<id>attach-javadocs</id>
							<goals>
								<goal>jar</goal>
							</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<build>
		<defaultGoal>install</defaultGoal>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>biz.aQute.bnd</groupId>
					<artifactId>bnd-baseline-maven-plugin</artifactId>
					<version>${bnd.version}</version>
					<configuration>
						<includeDistributionManagement>false</includeDistributionManagement>
						<fullReport>true</fullReport>
					</configuration>
					<executions>
						<execution>
							<id>baseline</id>
							<goals>
								<goal>baseline</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>biz.aQute.bnd</groupId>
					<artifactId>bnd-export-maven-plugin</artifactId>
					<version>${bnd.version}</version>
					<configuration>
						<failOnChanges>false</failOnChanges>
						<resolve>false</resolve>
					</configuration>
					<executions>
						<execution>
							<id>export</id>
							<goals>
								<goal>export</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>biz.aQute.bnd</groupId>
					<artifactId>bnd-maven-plugin</artifactId>
					<version>${bnd.version}</version>
					<executions>
						<execution>
							<id>bnd-process</id>
							<goals>
								<goal>bnd-process</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>biz.aQute.bnd</groupId>
					<artifactId>bnd-resolver-maven-plugin</artifactId>
					<version>${bnd.version}</version>
					<configuration>
						<failOnChanges>false</failOnChanges>
						<reportOptional>false</reportOptional>
					</configuration>
					<executions>
						<execution>
							<id>resolve</id>
							<goals>
								<goal>resolve</goal>
							</goals>
							<phase>package</phase>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>biz.aQute.bnd</groupId>
					<artifactId>bnd-testing-maven-plugin</artifactId>
					<version>${bnd.version}</version>
					<configuration>
						<failOnChanges>false</failOnChanges>
						<resolve>false</resolve>
					</configuration>
					<executions>
						<execution>
							<id>testing</id>
							<goals>
								<goal>testing</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>biz.aQute.bnd</groupId>
					<artifactId>bnd-run-maven-plugin</artifactId>
					<version>${bnd.version}</version>
					<configuration>
						<failOnChanges>false</failOnChanges>
						<includeDependencyManagement>true</includeDependencyManagement>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.1</version>
					<configuration>
						<source>1.8</source>
						<target>1.8</target>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.0.1</version>
					<configuration>
						<archive>
							<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
						</archive>
					</configuration>
				</plugin>
				<plugin>
					<artifactId>maven-surefire-plugin</artifactId>
					<configuration>
						<failIfNoTests>false</failIfNoTests>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-remote-resources-plugin</artifactId>
										<versionRange>[1.0,)</versionRange>
										<goals>
											<goal>process</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore>
										</ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>biz.aQute.bnd</groupId>
				<artifactId>bnd-run-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
				<version>2.4.0</version>
			</plugin>
		</plugins>
	</reporting>
</project>
