<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<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>org.apache.syncope</groupId>
    <artifactId>syncope</artifactId>
    <version>2.1.9</version>
  </parent>

  <name>Apache Syncope Archetype</name>
  <description>Apache Syncope Archetype</description>
  <groupId>org.apache.syncope</groupId>
  <artifactId>syncope-archetype</artifactId>
  <packaging>maven-archetype</packaging>

  <properties>
    <rootpom.basedir>${basedir}/..</rootpom.basedir>
  </properties>

  <build>
    <extensions>
      <extension>
        <groupId>org.apache.maven.archetype</groupId>
        <artifactId>archetype-packaging</artifactId>
        <version>3.2.0</version>
      </extension>
    </extensions>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-archetype-plugin</artifactId>
          <version>3.2.0</version>
          <extensions>true</extensions>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <!-- Generate project's parent POM and dynamically sets Syncope version -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>xml-maven-plugin</artifactId>
        <inherited>true</inherited>
        <executions>
          <execution>
            <phase>generate-resources</phase>
            <goals>
              <goal>transform</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <transformationSets>
            <transformationSet>
              <dir>${basedir}/src/main/resources</dir>
              <includes>
                <include>meta-pom.xml</include>
              </includes>
              <outputDir>${basedir}/src/main/resources/archetype-resources</outputDir>
              <stylesheet>${basedir}/src/main/resources/properties2pom.xsl</stylesheet>
              <parameters>
                <parameter>
                  <name>syncopeVersion</name>
                  <value>${project.version}</value>
                </parameter>
              </parameters>
              <outputProperties>
                <outputProperty>
                  <name>indent</name>
                  <value>yes</value>
                </outputProperty>
              </outputProperties>
              <fileMappers>
                <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
                  <pattern>^meta-(.*)\.xml$</pattern>
                  <replacement>$1.xml</replacement>
                </fileMapper>
              </fileMappers>
            </transformationSet>
          </transformationSets>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <resourceIncludes>src/main/resources/**/*.properties</resourceIncludes>
        </configuration>
      </plugin>
    </plugins>

    <resources>
      <resource>
        <directory>src/main/resources</directory>
      </resource>

      <resource>
        <directory>..</directory>
        <targetPath>META-INF</targetPath>
        <includes>
          <include>LICENSE</include>
          <include>NOTICE</include>
        </includes>
      </resource>

      <resource>
        <directory>../core/provisioning-java/src/main/resources</directory>
        <excludes>
          <exclude>*Context.xml</exclude>
        </excludes>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/main/resources</targetPath>
      </resource>
      <resource>
        <directory>../core/persistence-jpa/src/main/resources</directory>
        <excludes>
          <exclude>*Context.xml</exclude>
          <exclude>domains.xml</exclude>
          <exclude>META-INF/spring-persistence.xml</exclude>
        </excludes>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/main/resources</targetPath>
      </resource>
      <resource>
        <directory>../core/persistence-jpa-json/src/main/resources/</directory>
        <includes>
          <include>META-INF/*</include>
          <include>audit/*</include>
        </includes>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/main/resources</targetPath>
      </resource>
      <resource>
        <directory>../core/persistence-jpa/src/test/resources/domains</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/test/resources/domains</targetPath>
      </resource>
      <resource>
        <directory>../core/logic/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/main/resources</targetPath>
        <excludes>
          <exclude>*Context.xml</exclude>
        </excludes>
      </resource>
      <resource>
        <directory>../core/spring/src/main/resources</directory>
        <includes>
          <include>security.properties</include>
        </includes>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/main/resources</targetPath>
      </resource>
      <resource>
        <directory>../fit/core-reference/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/main/resources</targetPath>
        <includes>
          <include>coreContext.xml</include>
          <include>log4j2.xml</include>
        </includes>
      </resource>
      <resource>
        <directory>../fit/core-reference/src/main/resources/all</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/main/resources/all</targetPath>
        <excludes>
          <exclude>provisioning.properties</exclude>
        </excludes>
      </resource>
      <resource>
        <directory>../ext/camel/provisioning-camel/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/main/resources/all</targetPath>
        <includes>
          <include>provisioning.properties</include>
        </includes>
      </resource>      
      <resource>
        <directory>../fit/core-reference/src/test/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/test/resources</targetPath>
        <includes>
          <include>mail.properties</include>
        </includes>
      </resource>
      <resource>
        <directory>../fit/core-reference/src/test/resources/scriptedsql</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/test/resources/scriptedsql</targetPath>
      </resource>
      <resource>
        <directory>../fit/core-reference/src/test/resources/rest</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/test/resources/rest</targetPath>
      </resource>
      <resource>
        <directory>../fit/core-reference/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/test/resources</targetPath>
        <includes>
          <include>connid.properties</include>
          <include>userWorkflow.bpmn20.xml</include>
        </includes>
      </resource>
      <resource>
        <directory>../fit/core-reference/src/main/webapp</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/test/resources</targetPath>
        <includes>
          <include>*.jsp</include>
        </includes>
      </resource>
      <resource>
        <directory>../fit/core-reference/src/main/webapp/WEB-INF</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/main/webapp/WEB-INF</targetPath>
      </resource>
      <resource>
        <directory>../fit/core-reference/src/test/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/core/src/test/resources</targetPath>
        <includes>
          <include>keystore</include>
        </includes>
      </resource>
            
      <resource>
        <directory>../client/console/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/console/src/main/resources</targetPath>
        <includes>
          <include>console.properties</include>
        </includes>
      </resource>
      <resource>
        <directory>../ext/saml2sp/agent/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/console/src/main/resources/all</targetPath>
        <includes>
          <include>saml2sp-agent.properties</include>
        </includes>
      </resource>
      <resource>
        <directory>../ext/oidcclient/agent/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/console/src/main/resources/all</targetPath>
        <includes>
          <include>oidcclient-agent.properties</include>
        </includes>
      </resource>
      <resource>
        <directory>../fit/console-reference/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/console/src/main/resources</targetPath>
        <includes>
          <include>log4j2.xml</include>
        </includes>
      </resource>
      <resource>
        <directory>../fit/console-reference/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/console/src/test/resources</targetPath>
        <includes>
          <include>console.properties</include>
          <include>saml2sp-agent.properties</include>
        </includes>
      </resource>
      <resource>
        <directory>../fit/console-reference/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/console/src/test/resources</targetPath>
        <includes>
          <include>console.properties</include>
          <include>oidcclient-agent.properties</include>
        </includes>
      </resource>
      <resource>
        <directory>../fit/console-reference/src/main/webapp/WEB-INF</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/console/src/main/webapp/WEB-INF</targetPath>
      </resource>
      
      <resource>
        <directory>../client/enduser/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/enduser/src/main/resources</targetPath>
        <includes>
          <include>enduser.properties</include>
          <include>customFormAttributes.json</include>
          <include>customTemplate.json</include>
        </includes>
      </resource>
      <resource>
        <directory>../ext/saml2sp/agent/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/enduser/src/main/resources/all</targetPath>
        <includes>
          <include>saml2sp-agent.properties</include>
        </includes>
      </resource>
      <resource>
        <directory>../ext/oidcclient/agent/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/enduser/src/main/resources/all</targetPath>
        <includes>
          <include>oidcclient-agent.properties</include>
        </includes>
      </resource>
      <resource>
        <directory>../client/enduser/src/main/resources/META-INF/resources/app</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/enduser/src/main/webapp/app</targetPath>
      </resource>
      <resource>
        <directory>../fit/enduser-reference/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/enduser/src/main/resources</targetPath>
        <includes>
          <include>log4j2.xml</include>
        </includes>
      </resource>
      <resource>
        <directory>../fit/enduser-reference/src/main/resources</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/enduser/src/test/resources</targetPath>
        <includes>
          <include>enduser.properties</include>
          <include>customFormAttributes.json</include>
          <include>customTemplate.json</include>
          <include>saml2sp-agent.properties</include>
          <include>oidcclient-agent.properties</include>
        </includes>
      </resource>
      <resource>
        <directory>../fit/enduser-reference/src/main/webapp/WEB-INF</directory>
        <targetPath>${project.build.outputDirectory}/archetype-resources/enduser/src/main/webapp/WEB-INF</targetPath>
      </resource>
    </resources>
  </build>
  
  <profiles>
    <profile>
      <id>site</id>

      <build>
        <plugins>
          <plugin>
            <groupId>org.asciidoctor</groupId>
            <artifactId>asciidoctor-maven-plugin</artifactId>
            <inherited>false</inherited>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <inherited>true</inherited>
            <configuration>
              <skip>true</skip>
              <skipDeploy>true</skipDeploy>
              <generateReports>false</generateReports>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>copy-docs-to-site</id>
                <phase>none</phase>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  
</project>
