<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>
		<groupId>com.gentics</groupId>
		<artifactId>cms-oss</artifactId>
		<version>6.0.21</version>
	</parent>

	<groupId>com.gentics.cms-oss</groupId>
	<artifactId>base-lib</artifactId>

	<organization>
		<name>Gentics Software GmbH</name>
		<url>http://www.gentics.com/</url>
	</organization>
	<description>Basic implementations</description>
	<name>Gentics CMS - Basic Library</name>
	<url>http://www.gentics.com</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.build.timestamp.format>yyyyMMdd-HHmmss</maven.build.timestamp.format>
		<surefire.baselib.excludedGroups></surefire.baselib.excludedGroups>
	</properties>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<compilerVersion>1.8</compilerVersion>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<argLine>${surefireArgLine}</argLine>
					<skip>${skip.unit.tests}</skip>
					<forkCount>${test.forkcount}</forkCount>
					<reuseForks>false</reuseForks>
					<!-- Don't execute more than one test per jvm fork! -->
					<testFailureIgnore>true</testFailureIgnore>
					<runOrder>random</runOrder>
					<trimStackTrace>false</trimStackTrace>
					<forkedProcessTimeoutInSeconds>0</forkedProcessTimeoutInSeconds>
					<includes>
						<include>**/*Test.java</include>
						<include>**/*TestSuite.java</include>
						<include>**/*TestCase.java</include>
						<include>**/*IntegrationTest.java</include>
						<include>**/*SandboxTest.java</include>
					</includes>
					<excludes>
						<exclude>**/*AbstractTest.java</exclude>
						<exclude>**/*Abstract*.java</exclude>
						<exclude>**/Abstract*.java</exclude>
					</excludes>
				</configuration>
				<executions>
					<execution>
						
						<id>default-test</id>
						<goals>
							<goal>test</goal>
						</goals>
						<configuration>
							<excludedGroups>${surefire.baselib.excludedGroups}</excludedGroups>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>add-jaxb-source</id>
						<phase>generate-sources</phase>
						<goals>
							<goal>add-source</goal>
						</goals>
						<configuration>
							<sources>
								<source>src/main/jaxb</source>
							</sources>
						</configuration>
					</execution>
					<execution>
						<id>add-jaxb-resource</id>
						<phase>generate-sources</phase>
						<goals>
							<goal>add-resource</goal>
						</goals>
						<configuration>
							<resources>
								<resource>
									<directory>${project.basedir}/src/main/jaxb/</directory>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<executions>
					<execution>
						<!-- This execution will replace the generated schema within the java
							source directory -->
						<id>replace_schemas</id>
						<!-- Replace non with the process-resources phase if you want to update
							the xsd scheme -->
						<phase>none</phase>
						<configuration>
							<target>
								<!-- Move the generated xsd to its final location -->
								<copy file="${project.basedir}/src/main/jaxb/schema1.xsd" tofile="${project.basedir}/src/main/java/com/gentics/contentnode/validation/map/policy-map.xsd" overwrite="true" />
								<copy file="${project.basedir}/src/main/jaxb/schema1.xsd" tofile="${project.build.directory}/classes/com/gentics/contentnode/validation/map/policy-map.xsd" overwrite="true" />
								<!-- Delete the tempfile and fail if it is not there -->
								<delete file="${project.basedir}/src/main/jaxb/schema1.xsd" failonerror="true" />
							</target>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>

					<execution>
						<!-- This execution will generate the jaxb source files and place it
							within the src/main/java directory. Invoke generation/update of jaxb sources
							by running: export JAVA_HOME=/opt/jvm/jdk1.5.0_09-amd64/ ; mvn generate-sources
							-Dant.generate-sources=true -->
						<id>generate_configuration</id>
						<phase>generate-sources</phase>
						<configuration>
							<target unless="ant.generate-sources">
								<echo message="Generation/Update of jaxb sources was ommitted." />
							</target>
							<target if="ant.generate-sources">
								<property name="build.dir" value="${project.basedir}/src/main/jaxb" />
								<property name="src.dir" value="${project.basedir}/src/main/xsd" />

								<property name="plugin_classpath" refid="maven.plugin.classpath" />
								<echo message="${plugin_classpath}" />

								<ant antfile="${project.basedir}/src/main/xsd/build.xml" useNativeBasedir="true" />
							</target>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>

				<dependencies>
					<dependency>
						<groupId>javax.xml.bind</groupId>
						<artifactId>jaxb-api</artifactId>
						<version>2.2</version>
					</dependency>
					<dependency>
						<groupId>com.sun.xml.bind</groupId>
						<artifactId>jaxb-xjc</artifactId>
						<version>2.2</version>
					</dependency>
					<dependency>
						<groupId>com.sun.xml.bind</groupId>
						<artifactId>jaxb-impl</artifactId>
						<version>2.2</version>
					</dependency>
					<dependency>
						<groupId>com.sun.xml.bind</groupId>
						<artifactId>jaxb1-impl</artifactId>
						<version>2.2</version>
					</dependency>
					<dependency>
						<groupId>javax.activation</groupId>
						<artifactId>activation</artifactId>
						<version>1.1</version>
					</dependency>
					<dependency>
						<groupId>javax.xml</groupId>
						<artifactId>jsr173</artifactId>
						<version>1.0</version>
					</dependency>
				</dependencies>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<maxmemory>200M</maxmemory>
							<excludePackageNames>com.gentics.contentnode,com.gentics.lib,com.gentics.portalnode
							</excludePackageNames>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<!--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.apache.maven.plugins</groupId>
										<artifactId>maven-dependency-plugin</artifactId>
										<versionRange>[1.0.0,)</versionRange>
										<goals>
											<goal>copy-dependencies</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.codehaus.mojo</groupId>
										<artifactId>build-helper-maven-plugin</artifactId>
										<versionRange>[1.5,)</versionRange>
										<goals>
											<goal>add-resource</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											com.sun.tools.jxc.maven2
										</groupId>
										<artifactId>
											maven-jaxb-schemagen-plugin
										</artifactId>
										<versionRange>
											[1.2,)
										</versionRange>
										<goals>
											<goal>generate</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.maven.plugins
										</groupId>
										<artifactId>
											maven-antrun-plugin
										</artifactId>
										<versionRange>
											[1.6,)
										</versionRange>
										<goals>
											<goal>run</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>com.gentics.cms-oss</groupId>
				<artifactId>cms-oss-bom</artifactId>
				<type>pom</type>
				<scope>import</scope>
				<version>${project.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>
		<!-- Product dependencies -->
		<dependency>
			<groupId>com.gentics.cms-oss</groupId>
			<artifactId>base-api</artifactId>
		</dependency>

		<!-- Test dependencies / JDBC Driver -->
		<!-- <dependency>
			<groupId>com.gentics</groupId>
			<artifactId>node-meta</artifactId>
			<version>${project.version}</version>
			<type>jar</type>
			<classifier>cr-structure</classifier>
			<scope>test</scope>
		</dependency> -->
		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-module-junit4</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-api-mockito2</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<artifactId>junit</artifactId>
			<groupId>junit</groupId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.oracle.jdbc</groupId>
			<artifactId>ojdbc7</artifactId>
			<version>12.1.0.2</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.microsoft</groupId>
			<artifactId>microsoft-jdbc</artifactId>
			<version>4.0.2206</version>
			<classifier>JDBC4</classifier>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>8.0.13</version>
			<type>jar</type>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mariadb.jdbc</groupId>
			<artifactId>mariadb-java-client</artifactId>
			<version>2.7.0</version>
			<type>jar</type>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.gentics</groupId>
			<artifactId>generic-testutils</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.hsqldb</groupId>
			<artifactId>hsqldb</artifactId>
			<version>2.2.9</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<artifactId>httpunit</artifactId>
			<groupId>httpunit</groupId>
			<version>1.7</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-server</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-servlet</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.assertj</groupId>
			<artifactId>assertj-core</artifactId>
			<scope>test</scope>
		</dependency>

		<!-- XML Utils -->
		<dependency>
			<groupId>xml-apis</groupId>
			<artifactId>xml-apis</artifactId>
		</dependency>

		<!-- Mail Utils -->
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>javax.mail-api</artifactId>
			<version>1.6.2</version>
		</dependency>
		<dependency>
			<groupId>com.sun.mail</groupId>
			<artifactId>smtp</artifactId>
			<version>1.6.2</version>
		</dependency>

		<!-- Image Utils -->
		<dependency>
			<groupId>com.sun</groupId>
			<artifactId>jai_codec</artifactId>
			<version>1.1.3</version>
		</dependency>
		<dependency>
			<groupId>javax.media</groupId>
			<artifactId>jai_core</artifactId>
			<version>1.1.3</version>
		</dependency>
		<dependency>
			<groupId>com.sun.media</groupId>
			<artifactId>jai_imageio</artifactId>
			<version>1.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-imaging</artifactId>
			<version>1.0-alpha1</version>
		</dependency>
		<dependency>
			<groupId>org.jclarion</groupId>
			<artifactId>image4j</artifactId>
			<version>0.7</version>
			<!-- License: GNU LGPL -->
		</dependency>
		<dependency>
			<groupId>jmage</groupId>
			<artifactId>jmage</artifactId>
			<version>0.7-2</version>
		</dependency>
		<dependency>
			<groupId>com.twelvemonkeys.imageio</groupId>
			<artifactId>imageio-jpeg</artifactId>
		</dependency>
		<dependency>
			<groupId>com.twelvemonkeys.imageio</groupId>
			<artifactId>imageio-tiff</artifactId>
		</dependency>
		<dependency>
			<groupId>com.twelvemonkeys.imageio</groupId>
			<artifactId>imageio-bmp</artifactId>
		</dependency>
		<dependency>
			<groupId>com.twelvemonkeys.imageio</groupId>
			<artifactId>imageio-psd</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.tika</groupId>
			<artifactId>tika-core</artifactId>
		</dependency>

		<!-- LDAP -->
		<dependency>
			<groupId>ldap</groupId>
			<artifactId>ldap</artifactId>
			<version>1.0</version>
		</dependency>

		<!-- JCS/Caching -->
		<dependency>
			<groupId>org.apache.jcs</groupId>
			<artifactId>jcs</artifactId>
			<version>1.2.7.9</version>
		</dependency>

		<!-- Logging -->
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-core</artifactId>
		</dependency>
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.1.3</version>
		</dependency>
		<!-- Bridge for the log4j 1.2 API to log4j2 (for jmage, which depends on log4j1) -->
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-1.2-api</artifactId>
			<version>2.17.1</version>
			<scope>runtime</scope>
		</dependency>

		<!-- Jackson -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.dataformat</groupId>
			<artifactId>jackson-dataformat-yaml</artifactId>
		</dependency>

		<!-- Apache Common Dependencies -->
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
		</dependency>
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.6</version>
		</dependency>
		<dependency>
			<groupId>commons-pool</groupId>
			<artifactId>commons-pool</artifactId>
			<version>1.6</version>
		</dependency>
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.2.2</version>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.8</version>
		</dependency>
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
		</dependency>
		<dependency>
			<groupId>commons-cli</groupId>
			<artifactId>commons-cli</artifactId>
			<version>1.0</version>
		</dependency>
		<dependency>
			<groupId>commons-collections</groupId>
			<artifactId>commons-collections</artifactId>
			<version>3.2.2</version>
			<!-- License: Apache License, Version 2.0 -->
		</dependency>
		<dependency>
			<groupId>commons-httpclient</groupId>
			<artifactId>commons-httpclient</artifactId>
			<version>3.1</version>
		</dependency>

		<!-- Other common utilities -->
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.5.1</version>
		</dependency>
		<dependency>
			<groupId>fi.iki.santtu</groupId>
			<artifactId>md5tool</artifactId>
			<version>1.9</version>
		</dependency>
		<dependency>
			<groupId>trove</groupId>
			<artifactId>trove</artifactId>
			<version>2.1.0</version>
		</dependency>
		<dependency>
			<groupId>org.json</groupId>
			<artifactId>json</artifactId>
		</dependency>

		<!-- Velocity -->
		<dependency>
			<groupId>org.apache.velocity</groupId>
			<artifactId>velocity</artifactId>
			<version>1.6.4</version>
		</dependency>
		<dependency>
			<groupId>org.apache.velocity</groupId>
			<artifactId>velocity-tools</artifactId>
			<version>1.4</version>
		</dependency>

		<!-- Diff -->
		<dependency>
			<groupId>org.incava</groupId>
			<artifactId>java-diff</artifactId>
			<version>1.0.5</version>
		</dependency>

		<!-- Dependencies for JAXB -->
		<dependency>
			<groupId>javax.activation</groupId>
			<artifactId>activation</artifactId>
			<version>1.1</version>
		</dependency>
		<dependency>
			<groupId>javax.xml</groupId>
			<artifactId>jaxb1-impl</artifactId>
			<version>2.2</version>
		</dependency>
		<dependency>
			<groupId>javax.xml.bind</groupId>
			<artifactId>jaxb-api</artifactId>
			<version>2.2</version>
		</dependency>
		<dependency>
			<groupId>com.sun.xml.bind</groupId>
			<artifactId>jaxb-impl</artifactId>
			<version>2.2</version>
		</dependency>
		<dependency>
			<groupId>javax.xml</groupId>
			<artifactId>jsr173</artifactId>
			<version>1.0</version>
		</dependency>

		<dependency>
			<groupId>javax.portlet</groupId>
			<artifactId>portlet-api</artifactId>
			<version>2.0</version>
		</dependency>

		<!-- various runtime dependencies -->
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>annotations-api</artifactId>
			<version>6.0.20</version>
		</dependency>
		<dependency>
			<groupId>asm</groupId>
			<artifactId>asm</artifactId>
			<version>3.1</version>
		</dependency>
		<dependency>
			<groupId>com.sun.medialib</groupId>
			<artifactId>clibwrapper_jiio</artifactId>
			<version>1.0</version>
		</dependency>
		<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
		</dependency>
		<dependency>
			<groupId>commons-digester</groupId>
			<artifactId>commons-digester</artifactId>
			<version>1.8</version>
		</dependency>
		<dependency>
			<groupId>concurrent</groupId>
			<artifactId>concurrent</artifactId>
			<version>1.0</version>
		</dependency>
		<dependency>
			<groupId>org.jvnet</groupId>
			<artifactId>mimepull</artifactId>
			<version>1.3</version>
		</dependency>
		<dependency>
			<groupId>mlibwrapper</groupId>
			<artifactId>mlibwrapper_jai</artifactId>
			<version>1.1.3</version>
		</dependency>
		<dependency>
			<groupId>net.sourceforge.nekohtml</groupId>
			<artifactId>nekohtml</artifactId>
		</dependency>
		<dependency>
			<groupId>xalan</groupId>
			<artifactId>xalan</artifactId>
		</dependency>
		<dependency>
			<groupId>xalan</groupId>
			<artifactId>serializer</artifactId>
		</dependency>
		<dependency>
			<groupId>wsdl4j</groupId>
			<artifactId>wsdl4j</artifactId>
			<version>1.5.1</version>
		</dependency>

		<!-- These libraries are only needed for compiling the code -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.4.public_draft</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.0.public_draft</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>
</project>
