<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.1.1</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.1.5</services-common-remote-test>
	<dgws-remote-test>dk.nsi.dgws:remote-test-resources:1.1.5</dgws-remote-test>
  </properties>

  <dependencies>
    <dependency>
      <groupId>dk.nsi.dgws.types</groupId>
      <artifactId>medcom-types</artifactId>
      <version>1.1.5</version>
    </dependency>
    <dependency>
      <groupId>dk.nsi.dgws.types</groupId>
      <artifactId>security-types</artifactId>
      <version>1.1.5</version>
    </dependency>
    <dependency>
      <groupId>dk.nsi.hsuid</groupId>
      <artifactId>hsuid</artifactId>
      <version>1.1.5</version>
    </dependency>
    <dependency>
      <groupId>dk.nsi.services-common</groupId>
      <artifactId>services-common</artifactId>
      <version>1.1.5</version>
    </dependency>
    <dependency>
      <groupId>hsqldb</groupId>
      <artifactId>hsqldb</artifactId>
      <version>1.8.0.10</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>dk.nsi.dgws</groupId>
      <artifactId>remote-test-resources</artifactId>
      <version>1.1.5</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>dk.nsi.services-common</groupId>
      <artifactId>remote-test-resources</artifactId>
      <version>1.1.5</version>
      <scope>test</scope>
    </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>
    </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>
              <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-to-appserver</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>
              <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>jboss-maven-plugin</artifactId>
            <version>1.5.0</version>
            <executions>
              <execution>
                <phase>initialize</phase>
                <configuration>
                  <jbossHome>${jbosshome}</jbossHome>
                  <serverName>${servername}</serverName>
                  <fileNames>
                    <!-- Remote schemas -->
                    <fileName>${project.build.directory}/maven-shared-archive-resources/whitelist-ds.xml</fileName>
                    <fileName>${project.build.directory}/maven-shared-archive-resources/auth-ds.xml</fileName>
                    <fileName>${project.build.directory}/maven-shared-archive-resources/sor-ds.xml</fileName>
                    <!-- Own schemas -->
                    <fileName>${basedir}/src/test/resources/consent-ds.xml</fileName>
                  </fileNames>
                </configuration>
                <goals>
                  <goal>hard-deploy</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>
              <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}" />
                    <copy
                      file="${project.build.directory}/maven-shared-archive-resources/createStamdataSchema.sql"
                      todir="${installation-package-folder}" />
                    <copy
                      file="${basedir}/src/test/resources/sql/createConsentSchema.sql"
                      todir="${installation-package-folder}" />
                    <copy
                      file="${project.build.directory}/maven-shared-archive-resources/whitelist-ds.xml"
                      todir="${installation-package-folder}" />
                    <copy
                      file="${project.build.directory}/maven-shared-archive-resources/sor-ds.xml"
                      todir="${installation-package-folder}" />
                    <copy
                      file="${basedir}/src/test/resources/consent-ds.xml"
                      todir="${installation-package-folder}" />
                  </target>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
