<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>9</version>
  </parent>

  <groupId>io.github.devacfr.maven.skins</groupId>
  <artifactId>reflow-parent</artifactId>
  <version>2.4.0</version>
  <packaging>pom</packaging>

  <name>Reflow Maven Skin Parent</name>
  <description>Reflow Maven skin and supporting libraries parent</description>
  <url>https://devacfr.github.io/reflow-maven-skin/</url>
  <inceptionYear>2012</inceptionYear>
  <organization>
    <name>Friederich Christophe</name>
    <url>http://devacfr.github.io</url>
  </organization>
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <developers>
    <developer>
      <id>andriusvelykis</id>
      <name>Andrius Velykis</name>
      <url>http://andrius.velykis.lt</url>
      <timezone>0</timezone>
    </developer>
    <developer>
      <id>devacfr</id>
      <name>Friederich Christophe</name>
      <url>http://devacfr.github.io</url>
      <timezone>0</timezone>
    </developer>
  </developers>

  <modules>
    <module>reflow-maven-skin</module>
    <module>reflow-velocity-tools</module>
    <module>reflow-default-webdeps</module>
  </modules>

  <scm>
    <connection>scm:git:git@devacfr/reflow-maven-skin.git</connection>
    <developerConnection>scm:git:git@github.com:devacfr/reflow-maven-skin.git</developerConnection>
    <tag>v2.0.0</tag>
    <url>${scm_url}/tree/master</url>
  </scm>
  <issueManagement>
    <system>${issue-system}</system>
    <url>${issue_url}</url>
  </issueManagement>
  <distributionManagement>
    <site>
      <id>${site.deploy.id}</id>
      <name>${site.deploy.name}</name>
      <url>${pubScmUrl}</url>
    </site>
    <snapshotRepository>
      <id>central-portal-snapshots</id>
      <name>Central Portal Snapshots</name>
      <url>https://central.sonatype.com/repository/maven-snapshots/</url>
    </snapshotRepository>
  </distributionManagement>

  <properties>
    <reflow-current-version>2.3.5</reflow-current-version>
    <main.basedir>${session.executionRootDirectory}</main.basedir>
    <publishingServerId>ossrh</publishingServerId>
    <!-- Set default encoding to UTF-8 (most plugins) -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>

    <!-- Enable Reproducible Builds mode for plugins -->
    <project.build.outputTimestamp>2026-02-03T10:38:03Z</project.build.outputTimestamp>

    <!-- Set compiler source and target versions (m-compiler-p) -->
    <maven.compiler.target>9</maven.compiler.target>
    <maven.compiler.source>${maven.compiler.target}</maven.compiler.source>

    <repositoryName>reflow-maven-skin</repositoryName>
    <repositoryOwner>devacfr</repositoryOwner>

    <scm_url>https://github.com/devacfr/reflow-maven-skin</scm_url>
    <issue-system>GitHub</issue-system>
    <issue_url>${scm_url}/issues</issue_url>
    <ci.url>${scm_url}</ci.url>
    <ci.system>Travis</ci.system>
    <ci.contact-admin>christophefriederich@mac.com</ci.contact-admin>

    <siteMainDirectory>${user.home}</siteMainDirectory>
    <pubScmUrl>scm:git:ssh://git@github.com/devacfr/reflow-maven-skin.git</pubScmUrl>
    <scmPubCheckoutDirectory>
      \${siteMainDirectory}/Development/maven/reflow-maven-skin-scm</scmPubCheckoutDirectory>
    <site.url>https://devacfr.github.io/reflow-maven-skin/</site.url>
    <site.deploy.id>github</site.deploy.id>
    <site.deploy.name>Deployment through GitHub's site deployment plugin</site.deploy.name>

    <skipCoverage>true</skipCoverage>
    <spotbugs.excludefilterfile.path>
      ${main.basedir}/check/spotbugs-exclude-filter.xml</spotbugs.excludefilterfile.path>
    <spotbugs.only.analyze>org.devacfr.maven.skins.reflow.-</spotbugs.only.analyze>
    <generate.site.path>${main.basedir}/target/site</generate.site.path>

    <!--
    ================================================================================ -->
    <!-- Web dependencies version -->
    <!--
    ================================================================================ -->
    <anchorJsVesrion>3.2.2</anchorJsVesrion>
    <highlightJsVersion>11.11.1</highlightJsVersion>
    <bootstrapVersion>4.6.2</bootstrapVersion>
    <bootswatchVersion>4.6.2</bootswatchVersion>
    <highlightJsTheme>github</highlightJsTheme>
    <jqueryVersion>3.5.1</jqueryVersion>
    <fontawesomeVersion>5.15.1</fontawesomeVersion>
    <popperVersion>1.16.0</popperVersion>

    <!--
    ================================================================================ -->
    <!-- Java dependencies version -->
    <!--
    ================================================================================ -->
    <commons-lang.version>3.18.0</commons-lang.version>
    <doxia.sitetools.version>2.0.0-M19</doxia.sitetools.version>
    <doxia.version>2.0.0-M12</doxia.version>
    <doxia.model.version>2.0.0-M19</doxia.model.version>

    <guava.version>32.1.2-jre</guava.version>
    <findbugs.version>3.0.2</findbugs.version>
    <logback.version>1.5.25</logback.version>
    <jsoup.version>1.21.2</jsoup.version>
    <lombok.version>1.18.42</lombok.version>
    <slf4j.version>2.0.17</slf4j.version>
    <jsoup.version>1.21.2</jsoup.version>
    <maven-project.version>2.2.1</maven-project.version>
    <velocity-tools.version>3.1</velocity-tools.version>

    <!--
    ================================================================================ -->
    <!-- Test dependencies version -->
    <!--
    ================================================================================ -->
    <junit5.version>5.6.0</junit5.version>
    <mockito.version>3.2.4</mockito.version>
    <hamcrest.version>2.2</hamcrest.version>

    <apache-rat-plugin.version>0.15</apache-rat-plugin.version>
    <maven-gitflow-plugin.version>1.19.0</maven-gitflow-plugin.version>
    <maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version>
    <maven-copy-rename-maven-plugin.version>1.0.1</maven-copy-rename-maven-plugin.version>
    <maven-dependency-plugin.version>3.1.1</maven-dependency-plugin.version>
    <central-publishing-maven-plugin.version>0.9.0</central-publishing-maven-plugin.version>
    <maven-download-plugin.version>1.5.0</maven-download-plugin.version>
    <maven-gpg-plugin.version>3.2.8</maven-gpg-plugin.version>
    <maven-javadoc-plugin.version>3.4.1</maven-javadoc-plugin.version>
    <maven-jar-plugin.version>3.3.0</maven-jar-plugin.version>
    <maven-release-plugin.version>3.0.0-M7</maven-release-plugin.version>
    <maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>
    <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
    <maven-site-plugin.version>4.0.0-M16</maven-site-plugin.version>
    <maven-scm-publish-plugin.version>3.0.0</maven-scm-publish-plugin.version>
    <maven-toolchains-plugin.version>3.1.0</maven-toolchains-plugin.version>
    <maven-changes-plugin.version>3.0.0-M3</maven-changes-plugin.version>
    <maven-checkstyle-plugin.version>3.2.1</maven-checkstyle-plugin.version>
    <maven-clover-plugin.version>4.5.2</maven-clover-plugin.version>
    <maven-jxr-plugin.version>2.5</maven-jxr-plugin.version>
    <maven-pmd-plugin.version>3.10.0</maven-pmd-plugin.version>
    <maven-project-info-reports-plugin.version>3.4.1</maven-project-info-reports-plugin.version>
    <maven-spotbugs-plugin.version>4.9.7.0</maven-spotbugs-plugin.version>
    <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
    <spotless-maven-plugin.version>3.1.0</spotless-maven-plugin.version>
    <maven-surefire-report-plugin.version>${maven-surefire-plugin.version}</maven-surefire-report-plugin.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${commons-lang.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>${findbugs.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>${jsoup.version}</version>
      </dependency>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-project</artifactId>
        <version>${maven-project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.velocity.tools</groupId>
        <artifactId>velocity-tools-generic</artifactId>
        <version>${velocity-tools.version}</version>
      </dependency>
      <!--
      ================================================================================ -->
      <!-- Log Dependencies -->
      <!--
      ================================================================================ -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>log4j-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>${logback.version}</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
      </dependency>
      <!--
      ================================================================================ -->
      <!-- Test Dependencies -->
      <!--
      ================================================================================ -->
      <dependency>
        <groupId>org.junit</groupId>
        <artifactId>junit-bom</artifactId>
        <version>${junit5.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest</artifactId>
        <version>${hamcrest.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${mockito.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-junit-jupiter</artifactId>
        <version>${mockito.version}</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <repositories>
    <repository>
      <id>central-portal-snapshots</id>
      <name>Central Portal Snapshots</name>
      <url>https://central.sonatype.com/repository/maven-snapshots/</url>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
  </repositories>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>com.coderplus.maven.plugins</groupId>
          <artifactId>copy-rename-maven-plugin</artifactId>
          <version>${maven-copy-rename-maven-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>${maven-dependency-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>${maven-javadoc-plugin.version}</version>
          <configuration>
            <doclint>none</doclint>
            <detectLinks>false</detectLinks>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${maven-checkstyle-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${maven-jar-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${maven-resources-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>${maven-release-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>${maven-site-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>com.diffplug.spotless</groupId>
          <artifactId>spotless-maven-plugin</artifactId>
          <version>${spotless-maven-plugin.version}</version>
          <configuration>
            <java>
              <eclipse>
                <file>${main.basedir}/eclipse/java-code-style-formatter.xml</file>
              </eclipse>
              <importOrder />
              <removeUnusedImports />
              <formatAnnotations />
            </java>
            <licenseHeader>
              <file>${main.basedir}/check/license-header.txt</file>
            </licenseHeader>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>check</goal>
              </goals>
              <phase>package</phase>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>${maven-project-info-reports-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven-surefire-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>${apache-rat-plugin.version}</version>
          <configuration>
            <addDefaultLicenseMatchers>true</addDefaultLicenseMatchers>
            <excludeSubProjects>false</excludeSubProjects>
            <useEclipseDefaultExcludes>true</useEclipseDefaultExcludes>
            <useMavenDefaultExcludes>true</useMavenDefaultExcludes>
            <excludes>
              <exclude>.git/**</exclude>
              <exclude>.github/**</exclude>
              <exclude>**/.*</exclude>
              <exclude>.mvn/**/*</exclude>
              <exclude>.vscode/*</exclude>
              <exclude>**/.settings/**</exclude>
              <exclude>**/target/**</exclude>
              <exclude>**/site/**</exclude>
              <exclude>**/MANIFEST.MF</exclude>
              <exclude>**/src/test/resources/**/*</exclude>
              <exclude>**/*.md</exclude>
              <exclude>**/*.md.vm</exclude>
              <exclude>**/*.code-workspace</exclude>
              <exclude>**/**/lightbox.*</exclude>
            </excludes>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-toolchains-plugin</artifactId>
          <version>${maven-toolchains-plugin.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven-compiler-plugin.version}</version>
        <configuration>
          <source>${maven.compiler.source}</source>
          <target>${maven.compiler.target}</target>
          <encoding>${project.build.sourceEncoding}</encoding>
          <annotationProcessorPaths>
            <path>
              <groupId>org.projectlombok</groupId>
              <artifactId>lombok</artifactId>
              <version>${lombok.version}</version>
            </path>
          </annotationProcessorPaths>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>${maven-source-plugin.version}</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar-no-fork</goal>
            </goals>
            <phase>package</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <configuration>
          <delimiters>
            <delimiter>${*}</delimiter>
          </delimiters>
          <encoding>${project.build.sourceEncoding}</encoding>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-javadocs</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.sonatype.central</groupId>
        <artifactId>central-publishing-maven-plugin</artifactId>
        <version>${central-publishing-maven-plugin.version}</version>
        <extensions>true</extensions>
        <configuration>
          <publishingServerId>${publishingServerId}</publishingServerId>
          <autoPublish>true</autoPublish>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.amashchenko.maven.plugin</groupId>
        <artifactId>gitflow-maven-plugin</artifactId>
        <version>${maven-gitflow-plugin.version}</version>
        <configuration>
          <installProject>false</installProject>
          <fetchRemote>false</fetchRemote>
          <pushRemote>false</pushRemote>
          <useSnapshotInHotfix>true</useSnapshotInHotfix>
          <gitFlowConfig>
            <productionBranch>master</productionBranch>
            <developmentBranch>develop</developmentBranch>
            <featureBranchPrefix>feature/</featureBranchPrefix>
            <releaseBranchPrefix>release/</releaseBranchPrefix>
            <hotfixBranchPrefix>hotfix/</hotfixBranchPrefix>
            <supportBranchPrefix>support/</supportBranchPrefix>
            <versionTagPrefix>v</versionTagPrefix>
            <origin>origin</origin>
          </gitFlowConfig>
        </configuration>
      </plugin>
      <!-- Configure Maven site plugin for Reflow skin and Markdown support -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <configuration>
          <skipDeploy>true</skipDeploy>
          <relativizeSiteLinks>true</relativizeSiteLinks>
          <generateReports>true</generateReports>
          <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
          <outputEncoding>${project.build.sourceEncoding}</outputEncoding>
          <topSiteURL>${pubScmUrl}</topSiteURL>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>io.github.devacfr.maven.skins</groupId>
            <artifactId>reflow-velocity-tools</artifactId>
            <version>${project.version}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.maven.doxia</groupId>
            <artifactId>doxia-module-markdown</artifactId>
            <version>${doxia.version}</version>
          </dependency>
          <dependency>
            <groupId>org.apache.maven.doxia</groupId>
            <artifactId>doxia-core</artifactId>
            <version>${doxia.version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-scm-publish-plugin</artifactId>
        <version>${maven-scm-publish-plugin.version}</version>
        <configuration>
          <pubScmUrl>${pubScmUrl}</pubScmUrl>
          <checkoutDirectory>${scmPubCheckoutDirectory}</checkoutDirectory>
          <checkinComment>Publishing Site Docs for Reflow Maven Skin
            ${project.version}</checkinComment>
          <tryUpdate>true</tryUpdate>
          <skipDeletedFiles>false</skipDeletedFiles>
          <scmBranch>gh-pages</scmBranch>
        </configuration>
      </plugin>
      <!-- copy default web dependencies -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>unpack</id>
            <goals>
              <goal>unpack</goal>
            </goals>
            <phase>pre-site</phase>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>io.github.devacfr.maven.skins</groupId>
                  <artifactId>reflow-default-webdeps</artifactId>
                  <version>${project.version}</version>
                  <type>jar</type>
                  <overWrite>false</overWrite>
                  <includes>**/css/**/*,
                    **/js/*.js,
                    **/js/languages/*,
                    **/js/styles/*.min.css</includes>
                </artifactItem>
              </artifactItems>
              <outputDirectory>${generate.site.path}</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <configuration>
          <anonymousConnection>
            scm:git:git@github.com:devacfr/reflow-maven-skin.git</anonymousConnection>
          <developerConnection>
            scm:git:git@github.com:devacfr/reflow-maven-skin.git</developerConnection>
          <showAvatarImages>true</showAvatarImages>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
          <tagNameFormat>v@{project.version}</tagNameFormat>
          <useReleaseProfile>false</useReleaseProfile>
          <goals>deploy</goals>
          <arguments>-Prelease-profile,gpg ${arguments}</arguments>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <argLine>-Xmx512m</argLine>
          <includes>
            <include>**/*Test.java</include>
          </includes>
          <excludes>
            <!-- exclude Clover generated inner class -->
            <exclude>**/*$__CLR*</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.diffplug.spotless</groupId>
        <artifactId>spotless-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <reportSets>
          <reportSet>
            <reports>
              <report>summary</report>
              <report>licenses</report>
              <report>modules</report>
              <report>team</report>
              <report>scm</report>
              <report>issue-management</report>
              <report>dependencies</report>
              <report>dependency-info</report>
              <report>dependency-convergence</report>
              <report>dependency-management</report>
              <report>plugins</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-changes-plugin</artifactId>
        <version>${maven-changes-plugin.version}</version>
        <configuration>
          <includeOpenIssues>false</includeOpenIssues>
          <columnNames>Id,Type,Summary,Fix Version</columnNames>
          <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
        </configuration>
        <reportSets>
          <reportSet>
            <!-- Empty report set as default -->
            <reports />
          </reportSet>
          <reportSet>
            <id>release-notes</id>
            <reports>
              <report>github-changes</report>
            </reports>
            <inherited>false</inherited>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <consoleOutput>false</consoleOutput>
          <enableRulesSummary>false</enableRulesSummary>
          <failOnViolation>false</failOnViolation>
          <!-- TODO make it 'true' when we will be ready -->
          <violationSeverity>warning</violationSeverity>
          <configLocation>${main.basedir}/check/checkstyle.xml</configLocation>
          <includeResources>false</includeResources>
          <includeTestResources>false</includeTestResources>
          <includeTestSourceDirectory>false</includeTestSourceDirectory>
          <suppressionsLocation>${main.basedir}/check/checkstyle-suppression.xml</suppressionsLocation>
          <headerLocation>${main.basedir}/check/checkstyle-header.txt</headerLocation>
        </configuration>
        <reportSets>
          <reportSet>
            <id>aggregate</id>
            <reports>
              <report>checkstyle-aggregate</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>${maven-jxr-plugin.version}</version>
        <reportSets>
          <reportSet>
            <id>aggregate</id>
            <reports>
              <report>aggregate</report>
              <report>test-aggregate</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>${maven-surefire-report-plugin.version}</version>
        <reportSets>
          <reportSet>
            <id>aggregate</id>
            <reports>
              <report>report-only</report>
            </reports>
            <configuration>
              <aggregate>true</aggregate>
            </configuration>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <reportSets>
          <reportSet>
            <reports>
              <report>rat</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${maven-spotbugs-plugin.version}</version>
        <configuration>
          <!-- Corporate specific rules -->
          <effort>Max</effort>
          <threshold>Low</threshold>
          <includeTests>false</includeTests>
          <excludeFilterFile>${spotbugs.excludefilterfile.path}</excludeFilterFile>
          <!-- Enable XML output for reporting tools (Bamboo, Hudson) -->
          <spotbugsXmlOutput>true</spotbugsXmlOutput>
          <!-- Configures the directory in which the XML report is created -->
          <spotbugsXmlOutputDirectory>${project.build.directory}/spotbugs</spotbugsXmlOutputDirectory>
          <xmlOutput>true</xmlOutput>
          <onlyAnalyze>${spotbugs.only.analyze}</onlyAnalyze>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>${maven-pmd-plugin.version}</version>
        <configuration>
          <linkXref>true</linkXref>
          <aggregate>true</aggregate>
          <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
          <targetJdk>${maven.compiler.target}</targetJdk>
          <verbose>false</verbose>
          <failOnViolation>false</failOnViolation>
          <!-- TODO make it 'true' when we will be ready -->
          <failurePriority>2</failurePriority>
          <rulesets>
            <ruleset>${main.basedir}/check/pmd.xml</ruleset>
          </rulesets>
        </configuration>
        <reportSets>
          <reportSet>
            <id>aggregate</id>
            <reports>
              <report>cpd</report>
              <report>pmd</report>
            </reports>
            <inherited>false</inherited>
            <configuration>
              <aggregate>true</aggregate>
            </configuration>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <!--
    ================================================================================ -->
    <!-- disable maven toolchains -->
    <!--
    ================================================================================ -->
    <profile>
      <id>toolchains</id>
      <activation>
        <!-- To disable profile, define property -Dtoolchains.disabled=true -->
        <property>
          <name>!toolchains.disabled</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-toolchains-plugin</artifactId>
            <configuration>
              <toolchains>
                <jdk>
                  <version>${maven.compiler.target}</version>
                </jdk>
              </toolchains>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>toolchain</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!--
    ================================================================================ -->
    <!-- skip tests phase, -PskipTests -->
    <!--
    ================================================================================ -->
    <profile>
      <id>skipTests</id>
      <properties>
        <skipTests>true</skipTests>
        <skipITs>true</skipITs>
        <skipCoverage>true</skipCoverage>
      </properties>
    </profile>
    <profile>
      <id>release-offline</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>${maven-release-plugin.version}</version>
            <configuration>
              <!-- release locally -->
              <pushChanges>false</pushChanges>
              <remoteTagging>false</remoteTagging>
              <localCheckout>true</localCheckout>
            </configuration>
          </plugin>
          <plugin>
            <groupId>external.atlassian.jgitflow</groupId>
            <artifactId>jgitflow-maven-plugin</artifactId>
            <version>${maven-jgitflow-plugin.version}</version>
            <configuration>
              <pushReleases>false</pushReleases>
              <noDeploy>true</noDeploy>
              <eol>native</eol>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>release-profile</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>${maven-compiler-plugin.version}</version>
            <configuration>
              <debug>false</debug>
              <optimize>true</optimize>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>site-run</id>
      <properties>
        <generate.site.path>${main.basedir}/target/site-webapp</generate.site.path>
      </properties>
    </profile>
    <profile>
      <id>gpg</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>${maven-gpg-plugin.version}</version>
            <executions>
              <execution>
                <id>sign</id>
                <goals>
                  <goal>sign</goal>
                </goals>
                <phase>verify</phase>
                <configuration>
                  <keyname>${gpg.keyname}</keyname>
                  <passphraseServerId>${gpg.passphraseServerId}</passphraseServerId>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>clover.report</id>
      <properties>
        <!-- Disable spotless check -->
        <spotless.check.skip>true</spotless.check.skip>
        <skipCoverage>false</skipCoverage>
      </properties>
      <activation>
        <property>
          <name>skipCoverage</name>
          <value>false</value>
        </property>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.openclover</groupId>
              <artifactId>clover-maven-plugin</artifactId>
              <version>${maven-clover-plugin.version}</version>
              <configuration>
                <generateHtml>true</generateHtml>
                <generateHistorical>true</generateHistorical>
                <title>Reflow Maven Skin</title>
                <targetPercentage>70%</targetPercentage>
                <jdk>${maven.compiler.source}</jdk>
                <historyDir>${user.home}/.clover/clover/history</historyDir>
                <excludes>
                  <exclude>**/org/devacfr/testing/**/*.java</exclude>
                </excludes>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <groupId>org.openclover</groupId>
            <artifactId>clover-maven-plugin</artifactId>
            <version>${maven-clover-plugin.version}</version>
            <executions>
              <execution>
                <id>clover</id>
                <phase>verify</phase>
                <goals>
                  <goal>instrument</goal>
                  <goal>check</goal>
                  <goal>log</goal>
                </goals>
              </execution>
              <execution>
                <id>site</id>
                <phase>pre-site</phase>
                <goals>
                  <goal>instrument</goal>
                  <goal>aggregate</goal>
                  <!-- We save a history point in order to have data to generate a historical
                    report -->
                  <goal>save-history</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.openclover</groupId>
            <artifactId>clover-maven-plugin</artifactId>
            <version>${maven-clover-plugin.version}</version>
          </plugin>
        </plugins>
      </reporting>
    </profile>
    <profile>
      <id>only-eclipse</id>
      <activation>
        <property>
          <name>m2e.version</name>
        </property>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.eclipse.m2e</groupId>
              <artifactId>lifecycle-mapping</artifactId>
              <version>1.0.0</version>
              <configuration>
                <lifecycleMappingMetadata>
                  <pluginExecutions>
                    <pluginExecution>
                      <pluginExecutionFilter>
                        <groupId>org.apache.rat</groupId>
                        <artifactId>apache-rat-plugin</artifactId>
                        <versionRange>[0.12,)</versionRange>
                        <goals>
                          <goal>check</goal>
                        </goals>
                      </pluginExecutionFilter>
                      <action>
                        <ignore />
                      </action>
                    </pluginExecution>
                    <pluginExecution>
                      <pluginExecutionFilter>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-toolchains-plugin</artifactId>
                        <versionRange>[3.0.0,)</versionRange>
                        <goals>
                          <goal>toolchain</goal>
                        </goals>
                      </pluginExecutionFilter>
                      <action>
                        <ignore />
                      </action>
                    </pluginExecution>
                    <pluginExecution>
                      <pluginExecutionFilter>
                        <groupId>com.diffplug.spotless</groupId>
                        <artifactId>spotless-maven-plugin</artifactId>
                        <versionRange>[3.0.0,)</versionRange>
                        <goals>
                          <goal>check</goal>
                        </goals>
                      </pluginExecutionFilter>
                      <action>
                        <ignore />
                      </action>
                    </pluginExecution>
                  </pluginExecutions>
                </lifecycleMappingMetadata>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
  </profiles>
</project>
