<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>
	<groupId>com.example</groupId>
	<artifactId>scufl2-examples</artifactId>
	<version>0.2.0-SNAPSHOT</version>
	<name>SCUFL2 examples</name>
	<properties>
		<scufl2.version>0.14.0</scufl2.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>
    <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>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
            </snapshots>
            <id>mygrid-snapshot-repository</id>
            <name>myGrid Snapshot Repository</name>
            <url>http://www.mygrid.org.uk/maven/snapshot-repository</url>
        </repository>
    </repositories>	<dependencies>
		<dependency>
			<groupId>uk.org.taverna.scufl2</groupId>
			<artifactId>scufl2-api</artifactId>
			<version>${scufl2.version}</version>
		</dependency>
		<dependency>
			<groupId>uk.org.taverna.scufl2</groupId>
			<artifactId>scufl2-t2flow</artifactId>
			<version>${scufl2.version}</version>
		</dependency>
		<dependency>
			<groupId>uk.org.taverna.scufl2</groupId>
			<artifactId>scufl2-rdfxml</artifactId>
			<version>${scufl2.version}</version>
		</dependency>

		<!-- Included to get rid of "Could not set prefix mapper" warning, but 
			should work fine without -->
		<dependency>
			<groupId>com.sun.xml.bind</groupId>
			<artifactId>jaxb-impl</artifactId>
			<version>2.2.4-1</version>
			<optional>true</optional>
		</dependency>

        <!--  For writing out JSON-LD annotations -->

        <dependency>
            <groupId>com.github.jsonld-java</groupId>
            <artifactId>jsonld-java</artifactId>
            <version>0.2.99-mygrid</version>
        </dependency>
        <dependency>
            <groupId>com.github.jsonld-java</groupId>
            <artifactId>jsonld-java-jena</artifactId>
            <version>0.2.99-mygrid</version>
        </dependency>

		<!-- Following only needed by src/test/java -->
		<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.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>appassembler-maven-plugin</artifactId>
				<version>1.1.1</version>
				<executions>
					<execution>
						<id>assemble</id>
						<phase>package</phase>
						<goals>
							<goal>assemble</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<repositoryLayout>flat</repositoryLayout>
					<repositoryName>lib</repositoryName>
					<assembleDirectory>${project.build.directory}/${project.artifactId}</assembleDirectory>
					<programs>
						<program>
							<mainClass>com.example.ConvertT2flowToWorkflowBundle</mainClass>
							<name>t2flowtowfbundle</name>
						</program>
						<program>
							<mainClass>com.example.ProcessorNames</mainClass>
							<name>processornames</name>
						</program>
						<program>
							<mainClass>com.example.ServiceTypes</mainClass>
							<name>servicetypes</name>
						</program>
						<program>
							<mainClass>com.example.WorkflowMaker</mainClass>
							<name>workflowmaker</name>
						</program>
						<program>
							<mainClass>com.example.JsonExport</mainClass>
							<name>jsonexport</name>
						</program>
					</programs>
				</configuration>
			</plugin>
             <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <!--<version>2.0</version> does not work with Maven 2 :( -->
                <version>1.7.1</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <shadedArtifactAttached>true</shadedArtifactAttached>
                            <shadedClassifierName>standalone</shadedClassifierName>
                            <transformers>
                              <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>com.example.Scufl2Tool</mainClass>
                              </transformer>
                              <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                              <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
                                  <resource>META-INF/spring</resource>
                              </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
		</plugins>
	</build>

</project>
