<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.eclipse.gemini.management</groupId>
		<artifactId>org.eclipse.gemini.management_parent</artifactId>
		<version>1.0.3.RELEASE</version>
		<relativePath>../gemini.management.releng/pom.xml</relativePath>
	</parent>

	<artifactId>org.eclipse.gemini.management.tests</artifactId>
	<packaging>eclipse-test-plugin</packaging>
	<name>Gemini Management Bundle Tests</name>

	<build>
		<plugins>
		  <plugin>
				<groupId>org.sonatype.tycho</groupId>
				<artifactId>maven-osgi-test-plugin</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<argLine>-Xmx512m -Xms128m -XX:PermSize=128m -XX:MaxPermSize=384m -Dcom.sun.management.jmxremote.port=21045 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false</argLine>
					<bundleStartLevel>
						<bundle>
							<id>osgi.enterprise</id>
							<level>1</level>
							<autoStart>true</autoStart>
						</bundle>
					</bundleStartLevel>
                    <includes>
					    <include>**/*Test.class</include>
		            </includes>
				</configuration>
			</plugin>
			<!-- <plugin>
				<groupId>org.sonatype.tycho</groupId>
				<artifactId>maven-osgi-source-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-pmd-plugin</artifactId>
			</plugin> -->
		</plugins>
	</build>
</project>
