<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>com.aurea.maven.plugins</groupId>
	<artifactId>sonicesb-maven-plugin</artifactId>
	<packaging>maven-plugin</packaging>
	<name>Sonic ESB Maven Plugin</name>

	<parent>
		<groupId>com.aurea.maven</groupId>
		<artifactId>parent</artifactId>
		<version>14.0.10-SNAPSHOT</version>
		<relativePath>../pom.xml</relativePath>
	</parent>

	<properties>
		<mfutils.version>${project.version}</mfutils.version>
		<sonicesb.version>${project.version}</sonicesb.version>
		<targetJavaVersion>1.8</targetJavaVersion>
		<targetTestJavaVersion>1.8</targetTestJavaVersion>
		<compileDebug>true</compileDebug>
		<compileOptimize>false</compileOptimize>
		<forkMode>always</forkMode>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-plugin-api</artifactId>
			<version>3.9.5</version> <!-- AI-GEN - cursor -->
			<exclusions>
				<exclusion>
					<artifactId>plexus-utils</artifactId>
					<groupId>org.codehaus.plexus</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.twdata.maven</groupId>
			<artifactId>mojo-executor</artifactId>
			<version>2.2.0</version>
			<exclusions>
				<exclusion>
					<artifactId>plexus-utils</artifactId>
					<groupId>org.codehaus.plexus</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<!-- For the AI generator stuff -->
		<dependency>
			<groupId>velocity</groupId>
			<artifactId>velocity</artifactId>
			<version>1.4</version>
		</dependency>
		<dependency>
			<groupId>velocity</groupId>
			<artifactId>velocity-dep</artifactId>
			<version>1.4</version>
		</dependency>
		<!-- Adding XML API (Jaxb) -->
		<dependency>
			<groupId>xalan</groupId>
			<artifactId>xalan</artifactId>
			<version>2.7.2</version>
		</dependency>
		<dependency>
			<groupId>org.codehaus.plexus</groupId>
			<artifactId>plexus-utils</artifactId>
			<version>3.0.9</version>
		</dependency>
		<!-- Sonic jars -->
		<dependency>
			<groupId>com.aurea.sonic.utilities</groupId>
			<artifactId>sonic-mf-utils</artifactId>
			<version>${mfutils.version}</version>
		</dependency>
		<dependency>
			<groupId>com.aurea.sonic.esb</groupId>
			<artifactId>xq_core</artifactId>
			<version>${sonicesb.version}</version>
		</dependency>
		<dependency>
			<groupId>com.aurea.sonic.esb</groupId>
			<artifactId>xq_container</artifactId>
			<version>${sonicesb.version}</version>
		</dependency>
		<dependency>
			<groupId>com.aurea.sonic.esb</groupId>
			<artifactId>xq_config</artifactId>
			<version>${sonicesb.version}</version>
		</dependency>
		<dependency>
			<groupId>com.aurea.sonic.esb</groupId>
			<artifactId>xq_validator</artifactId>
			<version>${sonicesb.version}</version>
		</dependency>
		<dependency>
			<groupId>net.sf.saxon</groupId>
			<artifactId>saxon-dom</artifactId>
			<version>8.7</version>
		</dependency>
		<!-- AI-GEN START - perplexity -->
		<dependency>
			<groupId>javax.xml.bind</groupId>
			<artifactId>jaxb-api</artifactId>
			<version>2.3.1</version>
		</dependency>
		<!-- AI-GEN END -->
		<dependency>
			<groupId>org.codehaus.plexus</groupId>
			<artifactId>plexus-archiver</artifactId>
			<version>2.1.1</version>
			<exclusions>
				<exclusion>
					<artifactId>plexus-utils</artifactId>
					<groupId>org.codehaus.plexus</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.maven.plugin-testing</groupId>
			<artifactId>maven-plugin-testing-harness</artifactId>
			<scope>test</scope>
			<version>2.1</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<version>1.10.8</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.tuscany.sdo</groupId>
			<artifactId>tuscany-sdo-impl</artifactId>
			<version>1.1.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.tuscany.sdo</groupId>
			<artifactId>tuscany-sdo-lib</artifactId>
			<version>1.1.1</version>
		</dependency>
		<!-- need by the ESB CopyAction -->
		<dependency>
			<groupId>org.apache.axis</groupId>
			<artifactId>axis</artifactId>
			<version>1.4</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>commons-discovery</groupId>
			<artifactId>commons-discovery</artifactId>
			<version>0.4</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.axis</groupId>
			<artifactId>axis-saaj</artifactId>
			<version>1.4</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.axis</groupId>
			<artifactId>axis-jaxrpc</artifactId>
			<version>1.4</version>
			<type>jar</type>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>xmlunit</groupId>
			<artifactId>xmlunit</artifactId>
			<version>1.3</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<distributionManagement>
		<site>
			<id>sonic-releases</id>
			<url>dav:https://int-factory.aurea.com/nexus/content/repositories/sites/${project.artifactId}/${project.version}</url>
		</site>
	</distributionManagement>


	<build>
		<extensions>
			<extension>
				<groupId>org.apache.maven.wagon</groupId>
				<artifactId>wagon-webdav-jackrabbit</artifactId>
				<version>2.12</version>
			</extension>
		</extensions>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-plugin-plugin</artifactId>
					<version>3.5</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.18.1</version>
				<inherited>false</inherited>
				<configuration>
					<reuseForks>false</reuseForks>
					<forkCount>1</forkCount>
					<reportFormat>xml</reportFormat>
					<argLine>-Xmx1024m -noverify</argLine> <!-- AI-GEN - perplexity -->
				</configuration>
			</plugin>
			<!-- Java Source Code compilation settings -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<executions>
					<execution>
						<id>compile</id>
						<goals>
							<goal>compile</goal>
						</goals>
						<phase>compile</phase>
						<configuration>
							<!-- putting back all classes -->
							<excludes>
								<exclude>none</exclude>
							</excludes>
							<deprecation>on</deprecation>
							<source>${targetJavaVersion}</source>
							<target>${targetJavaVersion}</target>
							<debug>${compileDebug}</debug>
							<optimize>${compileOptimize}</optimize>
						</configuration>
					</execution>
				</executions>
				<!-- the default life cycle of the e.g. the jar plugin will always execute 
					compile and testCompile. It will also pull in the default configuration for 
					both. We will disable the default here for compile. We will add it back in 
					the executions above. The default compile will still be executed though. -->
				<configuration>
					<deprecation>on</deprecation>
					<source>${targetTestJavaVersion}</source>
					<target>${targetTestJavaVersion}</target>
					<debug>${compileDebug}</debug>
					<optimize>${compileOptimize}</optimize>
					<excludes>
						<exclude>**</exclude>
					</excludes>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.2</version>
				<executions>
					<execution>
						<id>test-jar</id>
						<phase>package</phase>
						<goals>
							<goal>test-jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.7.1</version>
				<configuration>
					<reportPlugins>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-project-info-reports-plugin</artifactId>
							<version>2.8.1</version>
							<configuration>
								<dependencyDetailsEnabled>false</dependencyDetailsEnabled>
								<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
							</configuration>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-javadoc-plugin</artifactId>
							<version>2.9</version>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-surefire-report-plugin</artifactId>
							<version>2.7.2</version>
							<reportSets>
								<reportSet>
									<reports>
										<report>report-only</report>
									</reports>
								</reportSet>
							</reportSets>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-pmd-plugin</artifactId>
							<version>2.5</version>
							<configuration>
								<linkXref>true</linkXref>
								<targetJdk>${targetJavaVersion}</targetJdk>
							</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>cobertura-maven-plugin</artifactId>
							<version>2.4</version>
							<configuration>
								<instrumentation>
									<excludes>
										<exclude>**/*Test.class</exclude>
									</excludes>
								</instrumentation>
							</configuration>
						</plugin>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-jxr-plugin</artifactId>
							<version>2.2</version>
							<configuration>
								<javadocDir>${maven.build.dir}/apidocs</javadocDir>
							</configuration>
						</plugin>
					</reportPlugins>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<!-- Add an AITest profile for AI Generator integration testing -->
	<profiles>
		<profile>
			<id>AITest</id>
			<build>
				<plugins>
					<!-- Maven invoker plugin configuration -->
					<plugin>
						<artifactId>maven-invoker-plugin</artifactId>
						<version>1.5</version>
						<executions>
							<execution>
								<id>VelocityGenerate</id>
								<goals>
									<goal>install</goal>
									<goal>run</goal>
								</goals>
								<configuration>
									<projectsDirectory>src/it/Svn2HudsonIntegration</projectsDirectory>
									<debug>true</debug>
									<streamLogs>true</streamLogs>
									<pomIncludes>
										<pomInclude>**/pom.xml</pomInclude>
									</pomIncludes>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
