<?xml version="1.0" encoding="UTF-8"?>
<!--
    JBoss, Home of Professional Open Source
    Copyright 2015, Red Hat, Inc. and/or its affiliates, and individual
    contributors by the @authors tag. See the copyright.txt in the
    distribution for a full listing of individual contributors.

    Licensed 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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.jboss</groupId>
        <artifactId>jboss-parent</artifactId>
        <version>35</version>
    </parent>

    <groupId>org.jboss.eap.xp.quickstarts</groupId>
    <artifactId>quickstart-parent</artifactId>
    <!--
        Maintain separation between the artifact id and the version to help prevent
        merge conflicts between commits changing the GA and those changing the V.
        -->
    <version>1.0.1.GA</version>

    <packaging>pom</packaging>

    <name>Quickstart: Parent</name>
    <description>Quickstart's parent</description>
    <url>https://developers.redhat.com/quickstarts/eap/</url>

    <licenses>
        <license>
            <name>Apache License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <properties>
        <root.dir>${project.basedir}</root.dir>
        <jboss.home.name>EAP7_HOME</jboss.home.name>
        <product.name>JBoss EAP XP</product.name>
        <product.version>1.0.1.GA</product.version>
        <!-- A base list of dependency and plug-in version used in the various quick starts. -->
        <version.wildfly.maven.plugin>2.0.0.Final</version.wildfly.maven.plugin>
        <version.org.wildfly.checkstyle-config>1.0.7.Final</version.org.wildfly.checkstyle-config>
        <version.org.wildfly.quickstarts.documentation.plugin>2.0.0.Final</version.org.wildfly.quickstarts.documentation.plugin>
        <!-- other plug-in versions -->
        <version.com.mycyla.license>3.0</version.com.mycyla.license>
        <version.checkstyle>8.5</version.checkstyle>
        <version.jaxws-tools-maven-plugin>1.2.3.Final</version.jaxws-tools-maven-plugin>
        <!-- Explicitly declaring the source encoding eliminates the following
            message: [WARNING] Using platform encoding (UTF-8 actually) to copy
            filtered resources, i.e. build is platform dependent! -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <!-- Protocol to use for communication with remote maven repositories.
                     You can set to 'http' if you are using a maven proxy and 'https'
                     interferes with that. Use 'https' for builds that will be released
                     to non-snapshot public maven repos -->
        <maven.repository.protocol>https</maven.repository.protocol>
        <!-- The full remote maven repo URL; can be overridden via -D for special use cases -->
        <maven.repository.url>${maven.repository.protocol}://repository.jboss.org/nexus/content/groups/public/</maven.repository.url>
        <!-- https://access.redhat.com/maven-repository -->
        <maven.redhat.repository.url>${maven.repository.protocol}://maven.repository.redhat.com/ga/</maven.redhat.repository.url>

        <!-- Version of BOMs
        note: a SNAPSHOT version *requires* checkout of BOMs at https://github.com/wildfly/boms and build through "mvn clean install"
        -->
        <version.server.bom>7.3.2.GA</version.server.bom>
        <version.microprofile.bom>1.0.1.GA</version.microprofile.bom>

        <!-- Versions of unmanaged dependencies -->
        <version.com.nimbusds.jose.jwt>5.4</version.com.nimbusds.jose.jwt>

        <jboss.developer.drupal.url>http://rhdp-drupal.stage.redhat.com/</jboss.developer.drupal.url>
        <linkXRef>false</linkXRef>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- importing the jakartaee8-with-tools BOM adds specs and other useful artifacts as managed dependencies -->
            <dependency>
                <groupId>org.jboss.bom</groupId>
                <artifactId>jboss-eap-jakartaee8-with-tools</artifactId>
                <version>${version.server.bom}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- importing the microprofile BOM adds MicroProfile specs -->
            <dependency>
                <groupId>org.jboss.bom</groupId>
                <artifactId>jboss-eap-xp-microprofile</artifactId>
                <version>${version.microprofile.bom}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <repositories>
        <repository>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </snapshots>
            <id>jboss-public-repository-group</id>
            <name>JBoss Public Repository Group</name>
            <url>${maven.repository.url}</url>
            <layout>default</layout>
        </repository>
        <repository>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </snapshots>
            <id>jboss-enterprise-maven-repository</id>
            <name>JBoss Enterprise Maven Repository</name>
            <url>${maven.redhat.repository.url}</url>
            <layout>default</layout>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <id>jboss-public-repository-group</id>
            <name>JBoss Public Repository Group</name>
            <url>${maven.repository.url}</url>
        </pluginRepository>
        <pluginRepository>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <id>jboss-enterprise-maven-repository</id>
            <name>JBoss Enterprise Maven Repository</name>
            <url>${maven.redhat.repository.url}</url>
        </pluginRepository>
    </pluginRepositories>

    <build>
        <!-- Set the name of the WAR, used as the context root when the app is deployed. -->
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>com.mycila</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <version>${version.com.mycyla.license}</version>
                <configuration>
                    <header>${basedir}/dist/license.txt</header>
                    <aggregate>true</aggregate>
                    <strictCheck>true</strictCheck>
                    <excludes>
                        <exclude>target/**</exclude>
                        <exclude>.clover/**</exclude>
                        <exclude>**/*.sql</exclude>
                        <exclude>**/LICENSE*</exclude>
                        <exclude>**/license*</exclude>
                        <!-- Javascrip Libraries -->
                        <exclude>**/jquery*</exclude>
                        <exclude>**/angular*</exclude>
                        <exclude>**/qunit*</exclude>
                        <exclude>**/backbone*</exclude>
                        <exclude>**/lodash*</exclude>
                        <exclude>**/modernizr*</exclude>
                        <exclude>**/yepnope*</exclude>
                        <exclude>**/mobile-nav*</exclude>
                        <!--Other libraries -->
                        <exclude>**/*glyphicons*/**</exclude>
                        <exclude>**/*cordova*/**</exclude>
                    </excludes>
                    <encoding>UTF-8</encoding>
                    <headerDefinitions>
                        <headerDefinition>dist/headerdefinition.xml</headerDefinition>
                    </headerDefinitions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
            </plugin>
            <plugin>
        <groupId>org.commonjava.maven.plugins</groupId>
        <artifactId>project-sources-maven-plugin</artifactId>
        <version>0.3</version>
        <executions>
          <execution>
            <id>project-sources-archive</id>
            <phase>initialize</phase>
            <goals>
              <goal>archive</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
            <plugin>
        <groupId>com.redhat.rcm.maven.plugin</groupId>
        <artifactId>buildmetadata-maven-plugin</artifactId>
        <version>1.7.0</version>
        <executions>
          <execution>
            <id>build-metadata</id>
            <phase>validate</phase>
            <goals>
              <goal>provide-buildmetadata</goal>
            </goals>
            <configuration>
              <addToLocations>
                <addToLocation>${session.executionRootDirectory}</addToLocation>
              </addToLocations>
              <activateOutputFileMapping>true</activateOutputFileMapping>
              <addBuildDateInfo>false</addBuildDateInfo>
              <addLocallyModifiedTagToFullVersion>false</addLocallyModifiedTagToFullVersion>
              <addHostInfo>false</addHostInfo>
              <addJavaRuntimeInfo>true</addJavaRuntimeInfo>
              <addToFilters>false</addToFilters>
              <validateCheckout>false</validateCheckout>
              <addOsInfo>false</addOsInfo>
              <hideJavaOptsInfo>false</hideJavaOptsInfo>
              <forceNewProperties>true</forceNewProperties>
              <hideCommandLineInfo>false</hideCommandLineInfo>
              <addBuildDateToFullVersion>false</addBuildDateToFullVersion>
              <createPropertiesReport>true</createPropertiesReport>
              <addToGeneratedSources>false</addToGeneratedSources>
              <createXmlReport>false</createXmlReport>
              <propertiesOutputFile>build.metadata</propertiesOutputFile>
              <addMavenExecutionInfo>false</addMavenExecutionInfo>
            </configuration>
          </execution>
        </executions>
      </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.wildfly.plugins</groupId>
                    <artifactId>wildfly-maven-plugin</artifactId>
                    <version>${version.wildfly.maven.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-ejb-plugin</artifactId>
                    <version>${version.ejb.plugin}</version>
                    <configuration>
                        <!-- Tell Maven we are using EJB -->
                        <ejbVersion>3.2</ejbVersion>
                    </configuration>
                </plugin>
                <!-- Checkstyle -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>${version.checkstyle.plugin}</version>
                    <configuration>
                        <configLocation>wildfly-checkstyle/checkstyle.xml</configLocation>
                        <includeTestSourceDirectory>true</includeTestSourceDirectory>
                        <sourceDirectories>
                            <directory>${project.build.sourceDirectory}</directory>
                        </sourceDirectories>
                        <resourceIncludes>**/*.properties,**/*.xml</resourceIncludes>
                        <includeTestResources>true</includeTestResources>
                        <includeResources>true</includeResources>
                        <consoleOutput>true</consoleOutput>
                        <failsOnError>true</failsOnError>
                        <failOnViolation>true</failOnViolation>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.wildfly.checkstyle</groupId>
                            <artifactId>wildfly-checkstyle-config</artifactId>
                            <version>${version.org.wildfly.checkstyle-config}</version>
                        </dependency>
                    </dependencies>
                    <executions>
                        <execution>
                            <id>check-style</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>checkstyle</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <!--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>com.redhat.rcm.maven.plugin</groupId>
                                        <artifactId>buildmetadata-maven-plugin</artifactId>
                                        <versionRange>[1.7.0,)</versionRange>
                                        <goals>
                                            <goal>provide-buildmetadata</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.commonjava.maven.plugins</groupId>
                                        <artifactId>project-sources-maven-plugin</artifactId>
                                        <versionRange>[0.3,)</versionRange>
                                        <goals>
                                            <goal>archive</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.jboss.ws.plugins</groupId>
                                        <artifactId>jaxws-tools-maven-plugin</artifactId>
                                        <versionRange>[1.2.0.Final,)</versionRange>
                                        <goals>
                                            <goal>wsconsume</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <profiles>
        <profile>
            <!-- All the modules that require nothing but JBoss Enterprise
                    Application Platform or JBoss EAP -->
            <id>default</id>
            <activation>
                <activeByDefault>true</activeByDefault>
                <property>
                    <name>default</name>
                    <value>!disabled</value>
                </property>
            </activation>
            <modules>
                <module>microprofile-config</module>
                <module>microprofile-fault-tolerance</module>
                <module>microprofile-health</module>
                <module>microprofile-jwt</module>
                <module>microprofile-metrics</module>
                <module>microprofile-openapi</module>
                <module>microprofile-opentracing</module>
                <module>microprofile-rest-client</module>
            </modules>
        </profile>

        <profile>
            <!-- An optional Arquillian testing profile that executes tests in your JBoss EAP instance.
                 This profile will start a new JBoss EAP instance, and execute the test, shutting it down when done.
                 Run with: mvn clean verify -Parq-managed -->
            <id>arq-managed</id>
            <dependencies>
                <dependency>
                    <groupId>org.wildfly.arquillian</groupId>
                    <artifactId>wildfly-arquillian-container-managed</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <version>${version.failsafe.plugin}</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>integration-test</goal>
                                    <goal>verify</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <!-- An optional Arquillian testing profile that executes tests in a remote JBoss EAP instance.
                 Run with: mvn clean verify -Parq-remote -->
            <id>arq-remote</id>
            <dependencies>
                <dependency>
                    <groupId>org.wildfly.arquillian</groupId>
                    <artifactId>wildfly-arquillian-container-remote</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <version>${version.failsafe.plugin}</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>integration-test</goal>
                                    <goal>verify</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>docs</id>
            <activation>
                <property>
                    <name>release</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.wildfly.maven.plugins</groupId>
                        <artifactId>quickstart-documentation-plugin</artifactId>
                        <version>${version.org.wildfly.quickstarts.documentation.plugin}</version>
                        <inherited>false</inherited>
                        <configuration>
                            <rootDirectory>.</rootDirectory>
                            <targetDocument>README.adoc</targetDocument>
                        </configuration>
                        <executions>
                            <execution>
                                <id>generate-toc</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>table-of-contents</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.asciidoctor</groupId>
                        <artifactId>asciidoctor-maven-plugin</artifactId>
                        <version>1.5.6</version>
                        <configuration>
                            <backend>html5</backend>
                            <attributes>
                                <artifactId>${project.artifactId}</artifactId>
                            </attributes>
                            <resources>
                                <resource>
                                    <directory>.</directory>
                                    <excludes>
                                        <exclude>**/*</exclude>
                                    </excludes>
                                </resource>
                            </resources>
                            <doctype>article</doctype>
                            <sourceDirectory>.</sourceDirectory>
                            <sourceDocumentName>README.adoc</sourceDocumentName>
                            <outputFile>README.html</outputFile>
                        </configuration>
                        <executions>
                            <execution>
                                <id>output-html</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>process-asciidoc</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>adoc</id>
            <activation>
                <file>
                    <missing>README.adoc</missing>
                </file>
            </activation>
            <properties>
                <asciidoctor.skip>true</asciidoctor.skip>
            </properties>
        </profile>
        <profile>
            <id>dist</id>
            <activation>
                <property>
                    <name>release</name>
                </property>
            </activation>
            <modules>
                <module>dist</module>
            </modules>
        </profile>
        <profile>
            <!-- When built in OpenShift the 'openshift' profile will be
                used when invoking mvn. -->
            <!-- Use this profile for any OpenShift specific customization
                your app will ne    ed. -->
            <!-- By default that is to put the resulting archive into the
                'deployments' folder. -->
            <!-- http://maven.apache.org/guides/mini/guide-building-for-different-environments.html -->
            <id>openshift</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-war-plugin</artifactId>
                        <version>${version.war.plugin}</version>
                        <configuration>
                            <warName>ROOT</warName>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <phase>none</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>publish-rh-developer</id>
            <activation>
                <property>
                    <name>publish-developer-website</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.wildfly.maven.plugins</groupId>
                        <artifactId>quickstart-documentation-plugin</artifactId>
                        <version>${version.org.wildfly.quickstarts.documentation.plugin}</version>
                        <inherited>false</inherited>
                        <executions>
                            <execution>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>drupal-push</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <drupalUrl>${jboss.developer.drupal.url}</drupalUrl>
                            <serverName>rh-drupal</serverName>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>publish-rh-developer-prod</id>
            <activation>
                <property>
                    <name>publish-developer-website</name>
                    <value>prod</value>
                </property>
            </activation>
            <properties>
                <jboss.developer.drupal.url>http://rhdp-drupal.redhat.com/</jboss.developer.drupal.url>
            </properties>
        </profile>
    </profiles>
</project>
<!--
Modified by POM Manipulation Extension for Maven 2.3.1 ( SHA: f64d03ba ) 
-->

