<?xml version="1.0"?>
<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>
	<parent>
		<artifactId>parent</artifactId>
		<groupId>net.sf.taverna</groupId>
		<version>0.2.2011-01-24</version>
	</parent>

	<groupId>uk.org.taverna.scufl2</groupId>
	<artifactId>scufl2</artifactId>
	<version>0.1-SNAPSHOT</version>
	<packaging>pom</packaging>

	<name>Taverna Scufl 2</name>
	<description>Taverna SCUFL 2 workflow language</description>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
	</properties>
	<dependencies>
		<!-- Common dependencies - keep these to a minimum as we want to reduce 
			scufl2-api's dependencies -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>

		<!-- Enable for Java 5 -->
		<!-- <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> 
			<version>2.1</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> 
			<artifactId>jaxb-impl</artifactId> <version>2.2</version> </dependency> -->

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<extensions>true</extensions>
			</plugin>
		</plugins>	
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.felix</groupId>
					<artifactId>maven-bundle-plugin</artifactId>
					<version>2.1.0</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>jaxb2-maven-plugin</artifactId>
					<version>1.3</version>
				</plugin>

				<!-- Enable for Java 5 -->
				<!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> 
					<version>2.3.2</version> <configuration> <source>1.5</source> <target>1.5</target> 
					</configuration> </plugin> -->

			</plugins>
		</pluginManagement>
	</build>

	<url>http://www.mygrid.org.uk/dev/wiki/display/developer/SCUFL2</url>
	<scm>
		<connection>scm:git:git://github.com/myGrid/scufl2.git</connection>
		<developerConnection>scm:git:git@github.com:myGrid/scufl2.git</developerConnection>
		<url>http://github.com/myGrid/scufl2/</url>
	</scm>

	<repositories>
		<repository>
			<releases />
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
			<id>mygrid-repository</id>
			<name>myGrid Repository</name>
			<url>http://www.mygrid.org.uk/maven/repository</url>
		</repository>
		<repository>
			<id>com.springsource.repository.bundles.release</id>
			<name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name>
			<url>http://repository.springsource.com/maven/bundles/release</url>
		</repository>
		<repository>
			<id>com.springsource.repository.bundles.external</id>
			<name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
			<url>http://repository.springsource.com/maven/bundles/external</url>
		</repository>
	</repositories>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.4</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>2.0</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.jdom</groupId>
				<artifactId>jdom</artifactId>
				<version>1.1</version>
				<type>jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.sun.xml.bind</groupId>
				<artifactId>jaxb-impl</artifactId>
				<version>2.2.2</version>
				<type>jar</type>
				<optional>true</optional>
			</dependency>
			<dependency>
				<groupId>jaxen</groupId>
				<artifactId>jaxen</artifactId>
				<version>1.1.1</version>
				<type>jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>commons-beanutils</groupId>
				<artifactId>commons-beanutils</artifactId>
				<version>1.7.0</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<modules>
		<module>scufl2-api</module>
		<!-- <module>scufl2-rdf</module> -->
		<module>scufl2-t2flow</module>
		<module>scufl2-usecases</module>
		<module>scufl2-ucfpackage</module>
		<module>scufl2-rdfxml</module>
	</modules>
</project>
