<?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.springframework.amqp</groupId>
	<artifactId>spring-amqp-parent</artifactId>
	<name>Spring AMQP Parent</name>
	<description><![CDATA[Spring AMQP is framework that makes it easy to write Java applications for the Advanced Message Queue Protocol.  It supports a variety of common high-level messaging patterns, like synchronous and asynchronous consumers, synchronous producers, automatic re-connection, transactions, batching.  The emphasis is on declarative configuration and a POJO programming model without hiding the full power of the underlying protocol.
    ]]></description>
	<url>http://www.springsource.org/spring-amqp</url>
	<version>1.0.0.RELEASE</version>
	<packaging>pom</packaging>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<!-- versions for commonly-used dependencies -->
		<cglib.version>2.2</cglib.version>
		<commons-io.version>1.4</commons-io.version>
		<junit.version>4.8.2</junit.version>
		<log4j.version>1.2.15</log4j.version>
		<org.mockito.version>1.8.4</org.mockito.version>
		<org.codehaus.jackson.version>1.4.3</org.codehaus.jackson.version>
		<org.erlang.otp.version>1.5.3</org.erlang.otp.version>
		<com.rabbitmq.version>2.5.0</com.rabbitmq.version>
		<org.springframework.version>3.0.5.RELEASE</org.springframework.version>
	</properties>
	<licenses>
		<license>
			<name>Apache 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
		</license>
	</licenses>
	<developers>
		<developer>
			<id>dsyer</id>
			<name>Dave Syer</name>
			<email>dsyer@vmware.com</email>
		</developer>
		<developer>
			<id>markfisher</id>
			<name>Mark Fisher</name>
			<email>markfisher@vmware.com</email>
		</developer>
		<developer>
			<id>mpollack</id>
			<name>Mark Pollack</name>
			<email>mpollack@vmware.com</email>
		</developer>
		<developer>
			<id>jbrisbin</id>
			<name>Jon Brisbin</name>
			<email>jbrisbin@vmware.com</email>
		</developer>
		<developer>
			<id>tomas.lukosius</id>
			<name>Tomas Lukosius</name>
			<email>tomas.lukosius@opencredo.com</email>
		</developer>
    </developers>
	<scm>
		<url>http://github.com/SpringSource/spring-amqp</url>
		<connection>scm:git:git://github.com/SpringSource/spring-amqp.git</connection>
		<developerConnection>scm:git:git://github.com/SpringSource/spring-amqp.git</developerConnection>
	</scm>
	<profiles>
		<profile>
			<id>strict</id>
			<properties>
				<maven.test.failure.ignore>false</maven.test.failure.ignore>
			</properties>
		</profile>
		<profile>
			<id>fast</id>
			<properties>
				<maven.test.skip>true</maven.test.skip>
				<maven.javadoc.skip>true</maven.javadoc.skip>
			</properties>
		</profile>
		<profile>
			<id>integration</id>
			<properties>
				<integration.test>true</integration.test>
			</properties>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-surefire-plugin</artifactId>
						<configuration>
							<useFile>false</useFile>
							<includes>
								<include>**/*Tests.java</include>
							</includes>
							<excludes>
								<exclude>**/Abstract*.java</exclude>
							</excludes>
							<junitArtifactName>junit:junit</junitArtifactName>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>broker-integration</id>
			<properties>
				<integration.test>true</integration.test>
			</properties>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-surefire-plugin</artifactId>
						<configuration>
							<systemProperties>
								<property>
									<name>BROKER_INTEGRATION_TEST</name>
									<value>${integration.test}</value>
								</property>
							</systemProperties>
							<useFile>false</useFile>
							<includes>
								<include>**/*Tests.java</include>
							</includes>
							<excludes>
								<exclude>**/Abstract*.java</exclude>
							</excludes>
							<junitArtifactName>junit:junit</junitArtifactName>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>staging</id>
			<distributionManagement>
				<site>
					<id>spring-site-staging</id>
					<url>file:///${java.io.tmpdir}/spring-amqp/docs</url>
				</site>
				<repository>
					<id>spring-milestone-staging</id>
					<url>file:///${java.io.tmpdir}/spring-amqp/milestone</url>
				</repository>
				<snapshotRepository>
					<id>spring-snapshot-staging</id>
					<url>file:///${java.io.tmpdir}/spring-amqp/snapshot</url>
				</snapshotRepository>
			</distributionManagement>
		</profile>
		<profile>
			<id>central</id>
			<distributionManagement>
			  <snapshotRepository>
				<id>sonatype-nexus-snapshots</id>
				<name>Sonatype Nexus Snapshots</name>
				<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
			  </snapshotRepository>
			  <repository>
				<id>sonatype-nexus-staging</id>
				<name>Nexus Release Repository</name>
				<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
			  </repository>
			</distributionManagement>
			<build>
			  <plugins>
				<plugin>
				  <groupId>org.apache.maven.plugins</groupId>
				  <artifactId>maven-gpg-plugin</artifactId>
				  <executions>
					<execution>
					  <id>sign-artifacts</id>
					  <phase>verify</phase>
					  <goals>
						<goal>sign</goal>
					  </goals>
					</execution>
				  </executions>
				</plugin>
			  </plugins>
			</build>
		</profile>
		<profile>
			<id>milestone</id>
			<distributionManagement>
			  <repository>
				<id>spring-milestone</id>
				<name>Spring Milestone Repository</name>
				<url>s3://maven.springframework.org/milestone</url>
			  </repository>
			</distributionManagement>
		</profile>
		<profile>
			<id>bootstrap</id>
			<pluginRepositories>
			  <pluginRepository>
				<!-- necessary for bundlor and utils -->
				<id>repository.plugin.springsource.release</id>
				<name>SpringSource Maven Repository</name>
				<url>http://repository.springsource.com/maven/bundles/release</url>
			  </pluginRepository>
			</pluginRepositories>
			<repositories>
			  <repository>
				<id>repository.springframework.maven.release</id>
				<name>Spring Framework Maven Release Repository</name>
				<url>http://maven.springframework.org/release</url>
			  </repository>
			  <repository>
				<id>repository.springframework.maven.milestone</id>
				<name>Spring Framework Maven Milestone Repository</name>
				<url>http://maven.springframework.org/milestone</url>
			  </repository>
			  <repository>
				<id>repository.springframework.maven.snapshot</id>
				<name>Spring Framework Maven Snapshot Repository</name>
				<url>http://maven.springframework.org/snapshot</url>
			  </repository>
			</repositories>
		</profile>
	</profiles>
	<distributionManagement>
		<!-- see 'staging' profile for dry-run deployment settings -->
		<downloadUrl>http://www.springsource.com/download/community
		</downloadUrl>
		<site>
			<id>spring-site</id>
			<url>scp://static.springframework.org/var/www/domains/springframework.org/static/htdocs/spring-amqp/docs/${project.version}
			</url>
		</site>
		<repository>
			<id>spring-release</id>
			<name>Spring Release Repository</name>
			<url>s3://maven.springframework.org/release</url>
		</repository>
		<snapshotRepository>
			<id>spring-snapshot</id>
			<name>Spring Snapshot Repository</name>
			<url>s3://maven.springframework.org/snapshot</url>
		</snapshotRepository>
	</distributionManagement>
	<dependencyManagement>
		<!-- inheritable <dependency> declarations for child poms. children still must explicitly declare the groupId/artifactId 
			of these dependencies in order for them to show up on the classpath, but metadata like <version> and <scope> are inherited, 
			which cuts down on verbosity. see http://www.sonatype.com/books/mvnref-book/reference/pom-relationships-sect-dep-manage.html -->
		<dependencies>

			<dependency>
				<groupId>com.rabbitmq</groupId>
				<artifactId>amqp-client</artifactId>
				<version>${com.rabbitmq.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-cli</groupId>
						<artifactId>commons-cli</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.springframework.amqp</groupId>
				<artifactId>spring-amqp</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.amqp</groupId>
				<artifactId>spring-rabbit</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.amqp</groupId>
				<artifactId>spring-erlang</artifactId>
				<version>${project.version}</version>
			</dependency>

			<!-- Spring -->
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-aop</artifactId>
				<version>${org.springframework.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-beans</artifactId>
				<version>${org.springframework.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-core</artifactId>
				<version>${org.springframework.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-context</artifactId>
				<version>${org.springframework.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-oxm</artifactId>
				<version>${org.springframework.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-tx</artifactId>
				<version>${org.springframework.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-test</artifactId>
				<version>${org.springframework.version}</version>
				<scope>test</scope>
			</dependency>

			<!-- Other -->
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>${commons-io.version}</version>
			</dependency>

			<!-- Logging -->
			<dependency>
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
				<version>${log4j.version}</version>
				<exclusions>
					<exclusion>
						<groupId>javax.mail</groupId>
						<artifactId>mail</artifactId>
					</exclusion>
					<exclusion>
						<groupId>javax.jms</groupId>
						<artifactId>jms</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jdmk</groupId>
						<artifactId>jmxtools</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jmx</groupId>
						<artifactId>jmxri</artifactId>
					</exclusion>
				</exclusions>
				<scope>runtime</scope>
			</dependency>

			<dependency>
				<groupId>javax.annotation</groupId>
				<artifactId>jsr250-api</artifactId>
				<version>1.0</version>
				<optional>true</optional>
			</dependency>

			<dependency>
				<groupId>cglib</groupId>
				<artifactId>cglib-nodep</artifactId>
				<version>${cglib.version}</version>
				<optional>true</optional>
			</dependency>

			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-all</artifactId>
				<version>${org.mockito.version}</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
			</dependency>


			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-core-asl</artifactId>
				<version>${org.codehaus.jackson.version}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-mapper-asl</artifactId>
				<version>${org.codehaus.jackson.version}</version>
			</dependency>

			<dependency>
				<groupId>org.erlang.otp</groupId>
				<artifactId>jinterface</artifactId>
				<version>${org.erlang.otp.version}</version>
			</dependency>

		</dependencies>
	</dependencyManagement>
	<dependencies>
		<!-- dependency definitions to be inherited by child poms. any <dependency> declarations here will automatically show up 
			on child project classpaths. only items that are truly common across all projects (modules and samples) should go here. otherwise, 
			consider <dependencyManagement> above -->
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>${log4j.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<extensions>
			<extension>
				<!-- available only in the springframework maven repository. see <repositories> section below -->
				<groupId>org.springframework.build.aws</groupId>
				<artifactId>org.springframework.build.aws.maven</artifactId>
				<version>3.0.0.RELEASE</version>
			</extension>
		</extensions>
		<resources>
			<resource>
				<directory>${project.basedir}/src/main/java</directory>
				<includes>
					<include>**/*</include>
				</includes>
				<excludes>
					<exclude>**/*.java</exclude>
				</excludes>
			</resource>
			<resource>
				<directory>${project.basedir}/src/main/resources</directory>
				<includes>
					<include>**/*</include>
				</includes>
			</resource>
		</resources>
		<testResources>
			<testResource>
				<directory>${project.basedir}/src/test/java</directory>
				<includes>
					<include>**/*</include>
				</includes>
				<excludes>
					<exclude>**/*.java</exclude>
				</excludes>
			</testResource>
			<testResource>
				<directory>${project.basedir}/src/test/resources</directory>
				<includes>
					<include>**/*</include>
				</includes>
				<excludes>
					<exclude>**/*.java</exclude>
				</excludes>
			</testResource>
		</testResources>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.5</source>
					<target>1.5</target>
					<compilerArgument>-Xlint:all</compilerArgument>
					<showWarnings>true</showWarnings>
					<showDeprecation>false</showDeprecation>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<useFile>false</useFile>
					<includes>
						<include>**/*Tests.java</include>
					</includes>
					<excludes>
						<exclude>**/Abstract*.java</exclude>
						<exclude>**/*IntegrationTests.java</exclude>
					</excludes>
					<junitArtifactName>junit:junit</junitArtifactName>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-javadoc-plugin</artifactId>
				<executions>
					<execution>
						<id>aggregate</id>
						<goals>
							<goal>jar</goal>
						</goals>
						<phase>package</phase>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifestFile>target/classes/META-INF/MANIFEST.MF</manifestFile>
					</archive>
				</configuration>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<plugin>
					<!-- configures the springsource bundlor plugin, which generates OSGI-compatible MANIFEST.MF files during the 'compile' 
						phase of the maven build. this plugin is declared within the pluginManagement section because not every module that inherits 
						from this pom needs bundlor's services, e.g.: spring-integration-samples and all its children. for this reason, all modules 
						that wish to use bundlor must declare it explicitly. it is not necessary to specify the <version> or <configuration> sections, 
						but groupId and artifactId are required. see http://static.springsource.org/s2-bundlor/1.0.x/user-guide/html/ch04s03.html 
						for more info -->
					<groupId>com.springsource.bundlor</groupId>
					<artifactId>com.springsource.bundlor.maven</artifactId>
					<version>1.0.0.RELEASE</version>
					<executions>
						<execution>
							<id>bundlor</id>
							<goals>
								<goal>bundlor</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<failOnWarnings>true</failOnWarnings>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
	<reporting>
		<plugins>
			<plugin>
				<!-- significantly speeds up the 'Dependencies' report during site creation see http://old.nabble.com/Skipping-dependency-report-during-Maven2-site-generation-td20116761.html -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>2.1</version>
				<configuration>
					<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
				</configuration>
			</plugin>
		</plugins>
	</reporting>
</project>
