<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>
		<artifactId>org.eclipse.uomo.examples.units</artifactId>
		<groupId>org.eclipse.uomo.examples.units</groupId>
		<version>0.6.0</version>
	</parent>
	<artifactId>org.eclipse.uomo.examples.units.console</artifactId>
	<name>UOMo Units Console Examples</name>
	<dependencies>
		<dependency>
            <groupId>org.unitsofmeasurement</groupId>
            <artifactId>unit-api</artifactId>
            <version>0.6.1</version>
		</dependency>	
        <dependency>
        	<groupId>org.eclipse.uomo</groupId>
        	<artifactId>org.eclipse.uomo.units</artifactId>
        	<version>0.6.0</version>
        </dependency>	
		<dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <version>1.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
        	<groupId>org.eclipse.uomo</groupId>
        	<artifactId>org.eclipse.uomo.core</artifactId>
        	<version>0.6.0</version>       	
        </dependency>
        <dependency>
        	<groupId>com.ibm.icu</groupId>
        	<artifactId>icu4j</artifactId>
        	<version>4.8.1.1</version>
        </dependency>
		<dependency>
			<groupId>org.eclipse</groupId>
			<artifactId>osgi</artifactId>
			<version>3.5.0.v20090520</version>
		</dependency>
		<dependency>
			<groupId>org.eclipse.uomo</groupId>
			<artifactId>org.eclipse.uomo.util</artifactId>
			<version>0.6.0</version>
		</dependency>
	</dependencies>

	<!-- ======================================================= -->
	<!-- Build Settings -->
	<!-- ======================================================= -->
	<build>
		<plugins>
			<!-- ======================================================= -->
			<!-- Compilation -->
			<!-- ======================================================= -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>${project.build.javaVersion}</source>
					<target>${project.build.javaVersion}</target>
					<encoding>${project.build.sourceEncoding}</encoding>
				</configuration>
			</plugin>
		</plugins>
	</build>
	
	 <!-- ==================================================== -->
    <!-- Repositories. This is where Maven looks for dependencies. The Maven 
        repository is implicit and doesn't need to be specified. -->
    <!-- ==================================================== -->
    <repositories>
        <repository>
            <id>maven-geotoolkit.org</id>
            <name>GeoToolkit Repository for Maven</name>
            <url>http://maven.geotoolkit.org/</url>
        </repository>
        <repository>
			<id>eclipse-central</id>
			<name>Central Eclipse.org Nexus</name>
			<url>http://maven.eclipse.org/nexus/content/groups/central/</url>
		</repository>               
    </repositories>
</project>