<?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>1-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>
