<?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.codehaus.jira.mng.XXX</groupId>
    <artifactId>parent</artifactId>
    <packaging>pom</packaging>
    <name>Parent POM for issue</name>
    <version>SNAPSHOT</version>
    <inceptionYear>2007</inceptionYear>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.3</version>
					<configuration>
						<forkMode>once</forkMode>
						<workingDirectory>${basedir}</workingDirectory>
						<childDelegation>false</childDelegation>
						<useFile>false</useFile>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

    <dependencyManagement>
        <dependencies>
            <dependency>
			    <groupId>org.codehaus.jira.mng.XXX</groupId>
			    <artifactId>mng-module1-XXX</artifactId>
                <version>1.0-SNAPSHOT</version>
				<scope>test</scope>
            </dependency>
            <dependency>
			    <groupId>org.codehaus.jira.mng.XXX</groupId>
			    <artifactId>mng-module2-XXX</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
            <dependency>
			    <groupId>org.codehaus.jira.mng.XXX</groupId>
			    <artifactId>mng-module3-XXX</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
			<dependency>
			    <groupId>org.codehaus.jira.mng.XXX</groupId>
			    <artifactId>mng-module3-XXX</artifactId>
				<type>test-jar</type>
				<scope>test</scope>
                <version>1.0-SNAPSHOT</version>
			</dependency>
            <dependency>
			    <groupId>org.codehaus.jira.mng.XXX</groupId>
			    <artifactId>mng-module4-XXX</artifactId>
                <version>1.0-SNAPSHOT</version>
				<type>ejb</type>
            </dependency>
            <dependency>
			    <groupId>org.codehaus.jira.mng.XXX</groupId>
			    <artifactId>mng-module4-XXX</artifactId>
                <version>1.0-SNAPSHOT</version>
				<type>ejb-client</type>
            </dependency>

			<dependency>
				<groupId>jboss</groupId>
				<artifactId>jboss-j2ee</artifactId>
				<version>3.2.3</version>
				<scope>provided</scope>
			</dependency>
            <dependency>
	            <groupId>xpp3</groupId>
                <artifactId>xpp3_min</artifactId>
                <version>1.1.3.4.O</version>
            </dependency>
            <dependency>
	            <groupId>com.thoughtworks.xstream</groupId>
                <artifactId>xstream</artifactId>
                <version>1.4.15</version>
            </dependency>
            <dependency>
	            <groupId>jmock</groupId>
                <artifactId>jmock</artifactId>
                <version>1.2.0</version>
				<scope>test</scope>
            </dependency>
	        <dependency>
    	        <groupId>junit</groupId>
        	    <artifactId>junit</artifactId>
				<version>3.8.2</version>
				<scope>test</scope>
    	    </dependency>
    	</dependencies>
    </dependencyManagement>
</project>
