<?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-SNAPSHOT</version>
	<packaging>pom</packaging>

	<properties>
		<bnd.version>4.3.0</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>HEAD</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>
						<includeOptional>false</includeOptional>
					</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>
