<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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.mule.test</groupId>
	<artifactId>flowLib-demo</artifactId>
	<packaging>jar</packaging>
	<version>1.0.0</version>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

		<mule.version>3.4.1-SNAPSHOT</mule.version>
		<eclipsePluginVersion>2.8</eclipsePluginVersion>
		<jdkName>JavaSE-1.6</jdkName>
		<jdk.version>1.6</jdk.version>
		<junit.version>4.9</junit.version>
	</properties>

	<build>
		<!-- Use a newer version of the install plugin than what your Maven uses 
			by default. The older version failed to install the project if there was 
			no target/classes folder. Since we use mule packaging on the project we actually 
			create and attach the zip that must be installed. -->
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-install-plugin</artifactId>
					<version>2.3.1</version>
				</plugin>
				<!--This plugin's configuration is used to store Eclipse m2e settings 
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.mule.tools</groupId>
										<artifactId>maven-mule-plugin</artifactId>
										<versionRange>[1.6,)</versionRange>
										<goals>
											<goal>attach-test-resources</goal>
											<goal>filter-resources		</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore/>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.mule.tools</groupId>
				<artifactId>maven-mule-plugin</artifactId>
				<version>1.9</version>
				<extensions>true</extensions>
				<configuration>
					<copyToAppsDirectory>true</copyToAppsDirectory>
				<inclusions>
<inclusion>
<groupId>com.mulesoft.api</groupId>
<artifactId>api-module</artifactId>
</inclusion>
</inclusions>
</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>${jdk.version}</source>
					<target>${jdk.version}</target>
					<encoding>ISO-8859-1</encoding>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<version>2.2.1</version>
				<configuration>
					<descriptorRefs>
						<descriptorRef>project</descriptorRef>
					</descriptorRefs>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-eclipse-plugin</artifactId>
				<version>${eclipsePluginVersion}</version>
				<configuration>
					<!-- by default download all sources when generating project files -->
					<downloadSources>true</downloadSources>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<version>1.7</version>
				<executions>
					<execution>
						<id>add-resource</id>
						<phase>generate-resources</phase>
						<goals>
							<goal>add-resource</goal>
						</goals>
						<configuration>
							<resources>
								<resource>
									<directory>src/main/app/</directory>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
		        <groupId>org.codehaus.mojo</groupId>
		        <artifactId>exec-maven-plugin</artifactId>
		        <version>1.2.1</version>
		        <executions>
		          <execution>
		            <goals>
		              <goal>java</goal>
		            </goals>
		          </execution>
		        </executions>
		        <configuration>
		          <mainClass>org.mule.MuleServer</mainClass>
		          <arguments>
		            <argument>-config</argument>
					<argument>src/main/app/mule-config.xml</argument>
		          </arguments>
		        <classpathScope>compile</classpathScope>
		        </configuration>
		      </plugin>
		      
		      <!--Install clover-plugins-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.4</version>
                <executions>
                    <execution>
                        <id>copy-clover-plugins</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <overWriteReleases>true</overWriteReleases>
                            <overWriteSnapshots>true</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                            <stripVersion>true</stripVersion>

                            <outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>com.cloveretl</groupId>
                                    <artifactId>cloveretl-engine</artifactId>
                                    <version>${mule.version}</version>
                                    <type>zip</type>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.7</version>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <configuration>
                            <tasks>
                                <!-- Using an ant task to deflate cloveretl-engine.zip -->
                                <unzip dest="${project.build.testOutputDirectory}" src="${project.build.testOutputDirectory}/cloveretl-engine.zip"/>
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
		</plugins>
	</build>

	<!-- plugins for creating site reports -->
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-report-plugin</artifactId>
				<version>2.4.2</version>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>2.5</version>
				<configuration>
					<configLocation>http://mulesoft.org/download/attachments/92/checkstyle.xml?version=1</configLocation>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-pmd-plugin</artifactId>
				<version>2.5</version>
				<configuration>
					<targetJdk>${jdk.version}</targetJdk>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.5</version>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>taglist-maven-plugin</artifactId>
				<version>2.4</version>
				<configuration>
					<tags>
						<tag>TODO</tag>
						<tag>@todo</tag>
						<tag>FIXME</tag>
						<tag>@fixme</tag>
						<tag>@deprecated</tag>
					</tags>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>2.2</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<source>${jdk.version}</source>
					<links>
						<link>http://java.sun.com/j2ee/1.4/docs/api</link>
						<link>http://java.sun.com/j2se/1.4.2/docs/api</link>
						<link>http://java.sun.com/j2se/1.5.0/docs/api</link>
					</links>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>jdepend-maven-plugin</artifactId>
				<version>2.0-beta-2</version>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
				<version>2.3.2</version>
			</plugin>
		</plugins>
	</reporting>

	<!-- Mule Dependencies -->
	<dependencies>
		<dependency>
			<groupId>org.mule</groupId>
			<artifactId>mule-core</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>com.mulesoft.muleesb.modules</groupId>
			<artifactId>mule-module-boot-ee</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
	    </dependency>
		<!-- Xml configuration -->
		<dependency>
			<groupId>org.mule.modules</groupId>
			<artifactId>mule-module-spring-config</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
        	<groupId>com.mulesoft.muleesb</groupId>
			<artifactId>mule-core-ee</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>com.mulesoft.muleesb.modules</groupId>
			<artifactId>mule-module-data-mapper</artifactId>
			<version>${mule.version}</version>
		</dependency>
		<!-- Xml configuration -->
		<dependency>
			<groupId>com.mulesoft.muleesb.modules</groupId>
			<artifactId>mule-module-spring-config-ee</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- Mule Transports -->
		<dependency>
			<groupId>org.mule.transports</groupId>
			<artifactId>mule-transport-file</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.mule.transports</groupId>
			<artifactId>mule-transport-http</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.mule.transports</groupId>
			<artifactId>mule-transport-jdbc</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.mule.transports</groupId>
			<artifactId>mule-transport-jms</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.mule.transports</groupId>
			<artifactId>mule-transport-vm</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>
		
		<!-- Mule Modules -->
		<dependency>
			<groupId>org.mule.modules</groupId>
			<artifactId>mule-module-client</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.mule.modules</groupId>
			<artifactId>mule-module-cxf</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.mule.modules</groupId>
			<artifactId>mule-module-management</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.mule.modules</groupId>
			<artifactId>mule-module-scripting</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.mule.modules</groupId>
			<artifactId>mule-module-sxc</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.mule.modules</groupId>
			<artifactId>mule-module-xml</artifactId>
			<version>${mule.version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- for testing -->
		<dependency>
			<groupId>org.mule.tests</groupId>
			<artifactId>mule-tests-functional</artifactId>
			<version>${mule.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>mockobjects</groupId>
			<artifactId>mockobjects-core</artifactId>
			<version>0.09</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
	<dependency>
<groupId>com.mulesoft.api</groupId>
<artifactId>api-module</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
	<distributionManagement>
		<repository>
			<id>mulesoft-releases</id>
			<name>MuleSoft Releases</name>
			<url>http://repository.mulesoft.org/releases/</url>
		</repository>
	</distributionManagement>

	<repositories>
		<repository>
			<id>jboss</id>
			<name>JBoss</name>
			<url>http://repository.jboss.com/</url>
		</repository>
		<repository>
			<id>mulesoft-releases</id>
			<name>MuleSoft Releases</name>
			<url>http://repository.mulesoft.org/releases/</url>
		</repository>
		<repository>
			<id>oss-sonatype-snapshots</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
		</repository>
		<repository>
			<id>codehaus-snaphosts</id>
			<name>Codehaus Snapshots</name>
			<url>http://snapshots.repository.codehaus.org/</url>
		</repository>
        <repository>
            <id>codehaus-releases</id>
            <name>CodeHaus Releases</name>
            <url>http://repository.codehaus.org/</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
          <id>mulesoft-release</id>
          <name>mulesoft release repository</name>
          <layout>default</layout>
          <url>https://repository.mulesoft.org/releases/</url>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>

</project>
