<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>
	<parent>
		<artifactId>consentservice</artifactId>
		<groupId>dk.nsi.consentservices</groupId>
		<version>1.2.0</version>
	</parent>
	<artifactId>consentservices-common</artifactId>

	<properties>
		<environment-property-file>${basedir}/../environment.properties</environment-property-file>
		<installation-package-folder>${project.build.directory}/installation-package</installation-package-folder>
<!-- 		<services-common-remote-test>dk.nsi.services-common:remote-test-resources:1.2.0</services-common-remote-test> -->
		<services-common-remote-test>dk.nsi.services-common:remote-test-resources:${services-common.version}</services-common-remote-test>
		<dgws-remote-test>dk.nsi.dgws:remote-test-resources:1.1.13</dgws-remote-test>
	</properties>

	<dependencies>
		<dependency>
			<groupId>dk.nsi.dgws.types</groupId>
			<artifactId>medcom-types</artifactId>
		</dependency>
		<dependency>
			<groupId>dk.nsi.dgws.types</groupId>
			<artifactId>security-types</artifactId>
		</dependency>
		<dependency>
			<groupId>dk.nsi.hsuid</groupId>
			<artifactId>hsuid</artifactId>
		</dependency>
		<dependency>
			<groupId>dk.nsi.services-common</groupId>
			<artifactId>services-common</artifactId>
		</dependency>
		<dependency>
			<groupId>org.hsqldb</groupId>
			<artifactId>hsqldb</artifactId>
			<version>2.3.4</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>dk.nsi.dgws</groupId>
			<artifactId>remote-test-resources</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>dk.nsi.services-common</groupId>
			<artifactId>remote-test-resources</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<version>1.9.0</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>dk.nsi.consentservices</groupId>
			<artifactId>consentservices-ws-elements</artifactId>
			<version>${pom.version}</version>
		</dependency>
		
		<dependency>
			<groupId>dk.sds.nsp.audit</groupId>
			<artifactId>audit-api</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>dk.sds.nsp.security</groupId>
			<artifactId>security-api</artifactId>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.9.4</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>dk.nsi.consentservices.verification</groupId>
			<artifactId>
				consent-verification-serviceinterface
			</artifactId>
			<version>${pom.version}</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.2</version>
				<executions>
					<execution>
						<goals>
							<goal>test-jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-remote-resources-plugin</artifactId>
				<version>1.5</version>
				<executions>
					<execution>
						<phase>initialize</phase>
						<goals>
							<goal>bundle</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
					<resourcesDirectory>${basedir}/src/test/resources</resourcesDirectory>
					<includes>
						<include>**/*.sql</include>
					</includes>
				</configuration>
			</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</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-clean-plugin</artifactId>
										<versionRange>[2.4.1,)</versionRange>
										<goals>
											<goal>clean</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<profiles>
		<profile>
			<id>schema-setup</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>properties-maven-plugin</artifactId>
						<version>1.0-alpha-2</version>
						<executions>
							<execution>
								<phase>initialize</phase>
								<goals>
									<goal>read-project-properties</goal>
								</goals>
								<configuration>
									<files>
										<file>${environment-property-file}</file>
									</files>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-remote-resources-plugin</artifactId>
						<version>1.5</version>
						<configuration>
							<outputDirectory>${project.build.directory}/maven-shared-archive-resources</outputDirectory>
							<resourceBundles>
								<resourceBundle>${dgws-remote-test}</resourceBundle>
								<resourceBundle>${services-common-remote-test}</resourceBundle>
							</resourceBundles>
						</configuration>
						<executions>
							<execution>
								<phase>initialize</phase>
								<goals>
									<goal>process</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>sql-maven-plugin</artifactId>
						<version>1.5</version>

						<dependencies>
							<dependency>
								<groupId>mysql</groupId>
								<artifactId>mysql-connector-java</artifactId>
								<version>5.1.6</version>
							</dependency>
						</dependencies>

						<configuration>
							<driver>com.mysql.jdbc.Driver</driver>
							<url>${database.url}</url>
							<username>${database.user}</username>
							<password>${database.pw}</password>
						</configuration>

						<executions>
							<execution>
								<id>setup-schema-local</id>
								<phase>initialize</phase>
								<goals>
									<goal>execute</goal>
								</goals>
								<configuration>
									<autocommit>true</autocommit>
									<!-- Own schemas -->
									<fileset>
										<basedir>${basedir}/src/test/resources</basedir>
										<includes>
											<include>sql/createConsentSchema.sql</include>
										</includes>
									</fileset>
								</configuration>
							</execution>
							<execution>
								<id>setup-schema-remote</id>
								<phase>initialize</phase>
								<goals>
									<goal>execute</goal>
								</goals>
								<configuration>
									<autocommit>true</autocommit>
									<!-- Remote schemas -->
									<fileset>
										<basedir>${project.build.directory}/maven-shared-archive-resources</basedir>
										<includes>
											<include>createWhitelistSchema.sql</include>
											<include>createStamdataSchema.sql</include>
										</includes>
									</fileset>
								</configuration>
							</execution>
							<execution>
								<id>populate-schema-local</id>
								<phase>initialize</phase>
								<goals>
									<goal>execute</goal>
								</goals>
								<configuration>
									<autocommit>true</autocommit>
									<!-- Own schemas -->
									<fileset>
										<basedir>${basedir}/src/test/resources</basedir>
										<includes>
											<include>sql/populateConsent.sql</include>
											<!-- Remote schema, Local population -->
											<include>sql/populateWhitelist.sql</include>
											<include>sql/populateStamdata.sql</include>
										</includes>
									</fileset>
								</configuration>
							</execution>
							<execution>
								<id>populate-schema-remote</id>
								<phase>initialize</phase>
								<goals>
									<goal>execute</goal>
								</goals>
								<configuration>
									<autocommit>true</autocommit>
									<!-- Remote schemas -->
									<fileset>
										<basedir>${project.build.directory}/maven-shared-archive-resources</basedir>
										<includes>
											<include>populateWhitelist.sql</include>
											<include>populateStamdata.sql</include>
										</includes>
									</fileset>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>deploy-ds-appserver</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>properties-maven-plugin</artifactId>
						<version>1.0-alpha-2</version>
						<executions>
							<execution>
								<phase>initialize</phase>
								<goals>
									<goal>read-project-properties</goal>
								</goals>
								<configuration>
									<files>
										<file>${environment-property-file}</file>
									</files>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-remote-resources-plugin</artifactId>
						<version>1.5</version>
						<configuration>
							<outputDirectory>${project.build.directory}/maven-shared-archive-resources</outputDirectory>
							<resourceBundles>
								<resourceBundle>${dgws-remote-test}</resourceBundle>
								<resourceBundle>${services-common-remote-test}</resourceBundle>
							</resourceBundles>
						</configuration>
						<executions>
							<execution>
								<phase>initialize</phase>
								<goals>
									<goal>process</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>generate-install-package</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-remote-resources-plugin</artifactId>
						<version>1.5</version>
						<configuration>
							<outputDirectory>${project.build.directory}/maven-shared-archive-resources</outputDirectory>
							<resourceBundles>
								<resourceBundle>${dgws-remote-test}</resourceBundle>
								<resourceBundle>${services-common-remote-test}</resourceBundle>
							</resourceBundles>
						</configuration>
						<executions>
							<execution>
								<phase>initialize</phase>
								<goals>
									<goal>process</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<artifactId>maven-antrun-plugin</artifactId>
						<version>1.7</version>
						<executions>
							<execution>
								<id>Copy initialization files</id>
								<phase>initialize</phase>
								<configuration>
									<target>
										<copy file="${project.build.directory}/maven-shared-archive-resources/createWhitelistSchema.sql" todir="${installation-package-folder}" overwrite="true" />
										<copy file="${project.build.directory}/maven-shared-archive-resources/createStamdataSchema.sql" todir="${installation-package-folder}" overwrite="true" />
										<copy file="${basedir}/src/test/resources/sql/createConsentSchema.sql" todir="${installation-package-folder}" overwrite="true" />
										<copy file="${project.build.directory}/maven-shared-archive-resources/whitelist-wildfly-ds.xml" todir="${installation-package-folder}" overwrite="true" />
										<copy file="${project.build.directory}/maven-shared-archive-resources/sor-ds.xml" todir="${installation-package-folder}" overwrite="true" />
										<copy file="${basedir}/src/test/resources/consent-ds.xml" todir="${installation-package-folder}" overwrite="true" />
									</target>
								</configuration>
								<goals>
									<goal>run</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
