<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>
   <groupId>org.alfresco</groupId>
   <artifactId>alfresco-governance-services</artifactId>
   <packaging>pom</packaging>
   <version>3.5.a</version>
   <name>Alfresco Governance Services</name>

   <url>http://www.alfresco.org/</url>
   <inceptionYear>2005</inceptionYear>
   <organization>
      <name>Alfresco Software</name>
      <url>http://www.alfresco.org/</url>
   </organization>

   <scm>
      <connection>scm:git:https://github.com/Alfresco/governance-services.git</connection>
      <developerConnection>scm:git:https://github.com/Alfresco/governance-services.git</developerConnection>
      <url>https://github.com/Alfresco/governance-services</url>
     <tag>V3.5.a</tag>
  </scm>

   <issueManagement>
      <system>JIRA</system>
      <url>https://issues.alfresco.com/jira/browse/RM</url>
   </issueManagement>
   <ciManagement>
      <system>Bamboo</system>
      <url>https://bamboo.alfresco.com/bamboo/browse/RM</url>
   </ciManagement>

   <prerequisites>
      <maven>3.3.9</maven>
   </prerequisites>

   <distributionManagement>
      <repository>
         <id>alfresco-internal</id>
         <url>https://artifacts.alfresco.com/nexus/content/repositories/internal-releases/</url>
      </repository>
      <snapshotRepository>
         <id>alfresco-internal-snapshots</id>
         <url>https://artifacts.alfresco.com/nexus/content/repositories/internal-snapshots/</url>
      </snapshotRepository>
   </distributionManagement>

   <modules>
      <module>rm-community</module>
   </modules>

   <profiles>
      <profile>
         <id>enterprise</id>
         <activation>
            <property>
               <name>!community</name>
            </property>
         </activation>
         <modules>
            <module>rm-enterprise</module>
            <module>rm-automation</module>
            <module>rm-benchmark</module>
         </modules>
      </profile>
      <!-- Generate the Javadoc for Public API only (filtered on AlfrescoPublicApi annotation) -->
      <profile>
      <id>publicapi</id>
         <properties>
            <docflex.version>1.6.1</docflex.version>
         </properties>
         <!-- Downloads the docflex license -->
         <dependencies>
            <dependency>
               <groupId>com.docflex</groupId>
               <artifactId>docflex-alfresco-license</artifactId>
               <version>1.0</version>
               <type>license</type>
            </dependency>
         </dependencies>
         <!-- Extracts Docflex locally -->
         <build>
            <plugins>
               <plugin>
                  <artifactId>maven-dependency-plugin</artifactId>
                  <version>3.1.1</version>
                  <executions>
                     <!-- Unzips the docflex/javadoc doclet -->
                     <execution>
                        <id>default-cli</id>
                        <phase>generate-sources</phase>
                        <goals>
                           <goal>unpack</goal>
                        </goals>
                        <configuration>
                           <artifactItems>
                              <artifactItem>
                                 <groupId>com.docflex</groupId>
                                 <artifactId>docflex-javadoc</artifactId>
                                 <version>${docflex.version}</version>
                                 <type>zip</type>
                              </artifactItem>
                           </artifactItems>
                           <outputDirectory>${project.build.directory}</outputDirectory>
                        </configuration>
                     </execution>
                  </executions>
               </plugin>

               <plugin>
                  <artifactId>maven-javadoc-plugin</artifactId>
                  <version>${maven.javadoc.version}</version>
                  <configuration>
                     <doclet>com.docflex.javadoc.Doclet</doclet>
                     <docletPath>${project.build.directory}/docflex-javadoc-${docflex.version}/lib/docflex-javadoc.jar</docletPath>
                     <doclint>none</doclint>
                     <additionalOptions>

                         -license ${settings.localRepository}/com/docflex/docflex-alfresco-license/1.0/docflex-alfresco-license-1.0.license
                         -template ${project.build.directory}/docflex-javadoc-${docflex.version}/templates/JavadocPro/FramedDoc.tpl
                         -nodialog
                         -launchviewer=false
                         -p:filter.byAnns.include.classes=org.alfresco.api.AlfrescoPublicApi
                         -p:docTitle "${project.name} ${project.version} Public API"
                         -p:windowTitle "${project.name} ${project.version} Public API"

                     </additionalOptions>
                  </configuration>
               </plugin>
            </plugins>
         </build>
      </profile>
      <profile>
         <id>enterprise-release</id>
         <distributionManagement>
            <repository>
               <id>alfresco-internal</id>
               <url>https://artifacts.alfresco.com/nexus/content/repositories/enterprise-releases/</url>
            </repository>
         </distributionManagement>
      </profile>
      <profile>
         <id>hotfix-release</id>
         <distributionManagement>
            <repository>
               <id>alfresco-internal</id>
               <url>https://artifacts.alfresco.com/nexus/content/repositories/hotfix-releases/</url>
            </repository>
         </distributionManagement>
      </profile>
      <profile>
         <id>community-release</id>
         <distributionManagement>
            <repository>
               <id>alfresco-internal</id>
               <url>https://artifacts.alfresco.com/nexus/content/repositories/releases/</url>
            </repository>
         </distributionManagement>
      </profile>

      <!--
        The following profile adds the /properties directories as resource directories in the project.
        This means we can filter the property files in these directories.
        The presence of this /properties directory also activates these profiles.
        -->
      <profile>
         <id>enable-test-properties-filtering</id>
         <activation>
            <file>
               <!-- No properties allowed here. Only hardcoded values are properly interpreted -->
               <exists>src/test/properties</exists>
            </file>
         </activation>
         <build>
            <plugins>
               <plugin>
                  <groupId>org.codehaus.mojo</groupId>
                  <artifactId>build-helper-maven-plugin</artifactId>
                  <version>${maven.buildhelper.version}</version>
                  <executions>
                     <execution>
                        <id>add-env-test-properties</id>
                        <phase>generate-resources</phase>
                        <goals>
                           <goal>add-test-resource</goal>
                        </goals>
                        <configuration>
                           <resources>
                              <resource>
                                 <directory>${app.properties.test.folder}</directory>
                                 <includes>
                                    <include>${app.properties.test.include}</include>
                                 </includes>
                                 <filtering>${app.filtering.enabled}</filtering>
                              </resource>
                           </resources>
                        </configuration>
                     </execution>
                  </executions>
               </plugin>
            </plugins>
         </build>
      </profile>
      <!--Docker profiles-->
      <!-- Profile used only to build docker images-->
      <profile>
         <id>buildDockerImage</id>
         <build>
            <pluginManagement>
               <plugins>
                  <plugin>
                     <groupId>io.fabric8</groupId>
                     <artifactId>docker-maven-plugin</artifactId>
                     <executions>
                        <execution>
                           <id>build-image</id>
                           <!-- This will still be executed if the tests are skipped. -->
                           <phase>verify</phase>
                           <goals>
                              <goal>build</goal>
                           </goals>
                           <configuration>
                              <images>
                                 <image>
                                    <name>${image.name}</name>
                                    <build>
                                       <dockerFileDir>${project.basedir}/</dockerFileDir>
                                    </build>
                                 </image>
                              </images>
                           </configuration>
                        </execution>
                     </executions>
                  </plugin>
               </plugins>
            </pluginManagement>
         </build>
      </profile>



      <!-- Profile used to build and push docker images with project.version tag to hub.docker when the enterprise deploy goal encounters-->
      <profile>
         <id>release-enterprise</id>
         <build>
            <pluginManagement>
               <plugins>
                  <plugin>
                     <groupId>io.fabric8</groupId>
                     <artifactId>docker-maven-plugin</artifactId>
                     <executions>
                        <execution>
                           <id>build-push-image</id>
                           <phase>deploy</phase>
                           <goals>
                              <goal>build</goal>
                              <goal>push</goal>
                           </goals>
                           <configuration>
                              <images>
                                 <image>
                                    <name>${image.name}:${project.version}</name>
                                    <registry>${image.registry}</registry>
                                    <build>
                                       <dockerFileDir>${project.basedir}/</dockerFileDir>
                                    </build>
                                 </image>
                              </images>
                           </configuration>
                        </execution>
                     </executions>
                  </plugin>
               </plugins>
            </pluginManagement>
         </build>
      </profile>

      <!-- Profile used to build and push docker images with project.version tag to both image registries quay.io and hub.docker when
      the community deploy goal encounters-->
      <profile>
         <id>release-community</id>
         <build>
            <pluginManagement>
               <plugins>
                  <plugin>
                     <groupId>io.fabric8</groupId>
                     <artifactId>docker-maven-plugin</artifactId>
                     <executions>
                        <execution>
                           <id>build-push-image</id>
                           <phase>deploy</phase>
                           <goals>
                              <goal>build</goal>
                              <goal>push</goal>
                           </goals>
                           <configuration>
                              <images>
                                 <image>
                                    <name>${image.name}:${project.version}</name>
                                    <registry>${image.registry}</registry>
                                    <build>
                                       <dockerFileDir>${project.basedir}/</dockerFileDir>
                                    </build>
                                 </image>
                                 <image>
                                    <name>${image.name}:${project.version}</name>
                                    <build>
                                       <dockerFileDir>${project.basedir}/</dockerFileDir>
                                    </build>
                                 </image>
                              </images>
                           </configuration>
                        </execution>
                     </executions>
                  </plugin>
               </plugins>
            </pluginManagement>
         </build>
      </profile>
      <profile>
         <id>start-db</id>
         <activation>
            <property>
               <name>skip.integrationtests</name>
               <value>false</value>
            </property>
         </activation>
         <build>
            <pluginManagement>
               <plugins>
                  <plugin>
                     <groupId>io.fabric8</groupId>
                     <artifactId>docker-maven-plugin</artifactId>
                     <executions>
                        <execution>
                           <id>start</id>
                           <phase>pre-integration-test</phase>
                           <goals>
                              <goal>stop</goal>
                              <goal>start</goal>
                           </goals>
                           <configuration>
                              <images>
                                 <image>
                                    <alias>test-database</alias>
                                    <name>postgres:${postgres.version}</name>
                                    <run>
                                       <ports>
                                          <port>${database.port}:${postgresql.port}</port>
                                       </ports>
                                       <env>
                                          <POSTGRES_PASSWORD>${alfresco.db.password}</POSTGRES_PASSWORD>
                                          <POSTGRES_USER>${alfresco.db.username}</POSTGRES_USER>
                                          <POSTGRES_DB>${alfresco.test.db.name}</POSTGRES_DB>
                                       </env>
                                       <cmd>
                                          <shell>-c max_connections=300</shell>
                                       </cmd>
                                       <wait>
                                          <log>database system is ready to accept connections</log>
                                          <time>20000</time>
                                       </wait>
                                    </run>
                                 </image>
                                 <image>
                                    <name>alfresco/alfresco-activemq:${activemq.version}</name>
                                    <run>
                                       <ports>
                                          <port>${activemq.port1}:${activemq.port1}</port>
                                          <port>${activemq.port2}:${activemq.port2}</port>
                                       </ports>
                                    </run>
                                 </image>
                              </images>
                           </configuration>
                        </execution>
                        <execution>
                           <id>stop</id>
                           <phase>post-integration-test</phase>
                           <goals>
                              <goal>stop</goal>
                           </goals>
                        </execution>
                     </executions>
                  </plugin>
               </plugins>
            </pluginManagement>
         </build>
      </profile>
   </profiles>

   <properties>
      <alfresco.client.contextPath>/alfresco</alfresco.client.contextPath>
      <alfresco.data.location>${session.executionRootDirectory}/alf_data_dev</alfresco.data.location>
      <alfresco.db.datasource.class>org.gjt.mm.mysql.Driver</alfresco.db.datasource.class>
      <alfresco.db.name>alf_dev</alfresco.db.name>
      <alfresco.db.params>AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0;IGNORECASE=TRUE</alfresco.db.params>
      <alfresco.db.password>alfresco</alfresco.db.password>
      <alfresco.db.url>jdbc:mysql://${alfresco.db.host}:${alfresco.db.port}/${alfresco.db.name}</alfresco.db.url>
      <alfresco.db.username>alfresco</alfresco.db.username>
      <alfresco.groupId>org.alfresco</alfresco.groupId>
      <alfresco.share.artifactId>share</alfresco.share.artifactId>
      <alfresco-spring-webscripts.version>8.15</alfresco-spring-webscripts.version>
      <api.explorer.version>7.0.0</api.explorer.version>
      <!-- Set this here and override it in the community and enterprise modules. -->
      <alfresco.min.version>0.0</alfresco.min.version>

      <skip.integrationtests>true</skip.integrationtests>
      <postgres.version>9.4.12</postgres.version>
      <activemq.version>5.15.8</activemq.version>
      <activemq.port1>61616</activemq.port1>
      <activemq.port2>5672</activemq.port2>
      <camel.mock.version>3.7.0</camel.mock.version>
      <share.client.contextPath>/share</share.client.contextPath>

      <maven.javadoc.version>3.1.0</maven.javadoc.version>
      <maven.javadoc.skip>true</maven.javadoc.skip>
      <maven.war.plugin.version>3.2.2</maven.war.plugin.version>
      <maven.alfresco.includeDependencies>false</maven.alfresco.includeDependencies>
      <java.version>11</java.version>
      <maven.compiler.source>${java.version}</maven.compiler.source>
      <maven.compiler.target>${java.version}</maven.compiler.target>
      <testJavaVersion>${java.version}</testJavaVersion>
      <maven.buildhelper.version>1.9.1</maven.buildhelper.version>
      <maven.compiler.version>3.8.0</maven.compiler.version>
      <maven.enforcer.plugin>3.0.0-M2</maven.enforcer.plugin>
      <maven.resources.version>3.1.0</maven.resources.version>
      <maven.tomcat.port>8080</maven.tomcat.port>

      <jackson.version>2.12.1</jackson.version>
      <jackson-databind.version>2.12.1</jackson-databind.version>
      <fabric8.docker.version>0.34.1</fabric8.docker.version>
      <mockito.version>1.10.19</mockito.version>
      <postgresql.version>42.2.16</postgresql.version>
      <postgresql.port>5432</postgresql.port>
      <mysql.version>5.1.40</mysql.version>
      <mysql.port>3306</mysql.port>
      <!--This prevents a clash when postgres is already running natively on the machine.-->
      <database.port>5431</database.port>

      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <argLine>-Xmx1024m -XX:MaxPermSize=256m -Duser.language=en -Dcom.sun.management.jmxremote</argLine>

      <license.update.dryrun>true</license.update.dryrun>
      <license.verbose>false</license.verbose>

      <app.amp.client.war.folder>${project.build.directory}/${project.build.finalName}-war</app.amp.client.war.folder>
      <app.amp.folder>src/main/amp</app.amp.folder>
      <app.amp.output.folder>../${project.build.finalName}</app.amp.output.folder>
      <app.filtering.enabled>true</app.filtering.enabled>
      <app.log.dir>${project.build.directory}/</app.log.dir>
      <app.log.root.level>WARN</app.log.root.level>
      <app.properties.include>**</app.properties.include>
      <app.properties.folder>src/main/properties/local</app.properties.folder>
      <app.properties.test.include>**</app.properties.test.include>
      <app.properties.test.folder>src/test/properties/local</app.properties.test.folder>

      <image.name>imageNameNotSet</image.name>
      <image.tag>latest</image.tag>
      <image.registry>quay.io</image.registry>

      <javax-jaxb.version>2.4.0-b180830.0359</javax-jaxb.version>
      <javax-jaxb-impl.version>3.0.0-M4</javax-jaxb-impl.version>
      <javax.servlet-api.version>4.0.1</javax.servlet-api.version>
      <apache-compress.version>1.19</apache-compress.version>
      <!-- 7.0.0 dependencies -->
      <alfresco-community-repo.version>8.423</alfresco-community-repo.version>
   </properties>

   <dependencyManagement>
      <dependencies>
         <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>${mockito.version}</version>
         </dependency>
         <dependency>
            <groupId>org.alfresco.surf</groupId>
            <artifactId>spring-webscripts</artifactId>
            <version>${alfresco-spring-webscripts.version}</version>
            <classifier>tests</classifier>
         </dependency>
         <dependency>
            <groupId>postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>${alfresco.postgres.version}</version>
         </dependency>
         <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
         </dependency>
      </dependencies>
   </dependencyManagement>

   <dependencies>
      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>4.13.2</version>
         <scope>test</scope>
      </dependency>
      <!-- XML jars removed in Java 11 but are provided by alfresco-content-services -->
      <dependency>
         <groupId>javax.xml.bind</groupId>
         <artifactId>jaxb-api</artifactId>
         <version>${javax-jaxb.version}</version>
         <scope>provided</scope>
      </dependency>

      <dependency>
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-mock</artifactId>
         <version>${camel.mock.version}</version>
      </dependency>

      <dependency>
         <groupId>com.sun.xml.bind</groupId>
         <artifactId>jaxb-impl</artifactId>
         <version>${javax-jaxb-impl.version}</version>
         <scope>provided</scope>
      </dependency>

      <dependency>
         <groupId>org.apache.bcel</groupId>
         <artifactId>bcel</artifactId>
         <version>6.2.99</version>
         <scope>provided</scope>
      </dependency>
   </dependencies>

   <build>
      <finalName>${project.artifactId}-${project.version}</finalName>
      <plugins>
         <plugin>
            <artifactId>maven-enforcer-plugin</artifactId>
            <executions>
               <execution>
                  <id>enforce-java</id>
                  <goals>
                     <goal>enforce</goal>
                  </goals>
                  <configuration>
                     <rules>
                        <requireJavaVersion>
                           <version>[${java.version},)</version>
                        </requireJavaVersion>
                     </rules>
                  </configuration>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
         </plugin>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
               <execution>
                  <id>regex-properties</id>
                  <goals>
                     <goal>regex-properties</goal>
                  </goals>
                  <configuration>
                     <regexPropertySettings>
                        <regexPropertySetting>
                           <name>ags.module.repo.version.min</name>
                           <value>${alfresco.min.version}</value>
                           <regex>(\d+)\.(\d+).*</regex>
                           <replacement>$1.$2</replacement>
                           <failIfNoMatch>false</failIfNoMatch>
                        </regexPropertySetting>
                     </regexPropertySettings>
                  </configuration>
               </execution>
               <execution>
                  <id>add-test-source</id>
                  <goals>
                     <goal>add-test-source</goal>
                  </goals>
                  <configuration>
                     <sources>
                        <source>src/unit-test/java</source>
                     </sources>
                  </configuration>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
               <includes>
                  <include>**/*UnitTest.java</include>
               </includes>
            </configuration>
         </plugin>
         <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.0.1</version>
            <executions>
               <execution>
                  <id>attach-sources</id>
                  <goals>
                     <goal>jar</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${maven.javadoc.version}</version>
            <configuration>
               <doclint>none</doclint>
            </configuration>
            <executions>
               <execution>
                  <id>attach-javadocs</id>
                  <configuration>
                     <doclint>none</doclint>
                  </configuration>
                  <goals>
                     <goal>jar</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <artifactId>maven-clean-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
               <execution>
                  <id>default-clean</id>
                  <phase>clean</phase>
                  <goals>
                     <goal>clean</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <artifactId>maven-install-plugin</artifactId>
            <version>2.5.2</version>
            <executions>
               <execution>
                  <id>default-install</id>
                  <phase>install</phase>
                  <goals>
                     <goal>install</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.7</version>
            <executions>
               <execution>
                  <id>default-deploy</id>
                  <phase>deploy</phase>
                  <goals>
                     <goal>deploy</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <artifactId>maven-site-plugin</artifactId>
            <version>3.7.1</version>
            <executions>
               <execution>
                  <id>default-site</id>
                  <phase>site</phase>
                  <goals>
                     <goal>site</goal>
                  </goals>
                  <configuration>
                     <reportPlugins>
                        <reportPlugin>
                           <groupId>org.apache.maven.plugins</groupId>
                           <artifactId>maven-project-info-reports-plugin</artifactId>
                        </reportPlugin>
                     </reportPlugins>
                  </configuration>
               </execution>
               <execution>
                  <id>default-deploy</id>
                  <phase>site-deploy</phase>
                  <goals>
                     <goal>deploy</goal>
                  </goals>
                  <configuration>
                     <reportPlugins>
                        <reportPlugin>
                           <groupId>org.apache.maven.plugins</groupId>
                           <artifactId>maven-project-info-reports-plugin</artifactId>
                        </reportPlugin>
                     </reportPlugins>
                  </configuration>
               </execution>
            </executions>
            <configuration>
               <reportPlugins>
                  <reportPlugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-project-info-reports-plugin</artifactId>
                  </reportPlugin>
               </reportPlugins>
            </configuration>
         </plugin>
      </plugins>
      <extensions>
         <extension>
            <groupId>org.apache.maven.archetype</groupId>
            <artifactId>archetype-packaging</artifactId>
            <version>2.2</version>
         </extension>
         <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-webdav-jackrabbit</artifactId>
            <version>2.2</version>
         </extension>
      </extensions>
      <resources>
         <resource>
            <directory>src/main/resources</directory>
            <filtering>${app.filtering.enabled}</filtering>
         </resource>
         <resource>
            <directory>${app.amp.folder}</directory>
            <targetPath>${app.amp.output.folder}</targetPath>
            <filtering>${app.filtering.enabled}</filtering>
         </resource>
      </resources>
      <testResources>
         <testResource>
            <directory>src/test/resources</directory>
            <filtering>${app.filtering.enabled}</filtering>
         </testResource>
      </testResources>

      <pluginManagement>
         <plugins>
            <plugin>
               <artifactId>maven-surefire-plugin</artifactId>
               <version>2.22.1</version>
               <configuration>
                  <argLine>
                     --illegal-access=permit
                  </argLine>
               </configuration>
            </plugin>
            <plugin>
               <artifactId>maven-install-plugin</artifactId>
               <version>2.5.2</version>
            </plugin>
            <plugin>
               <artifactId>maven-jar-plugin</artifactId>
               <version>3.1.0</version>
            </plugin>
            <plugin>
               <artifactId>maven-assembly-plugin</artifactId>
               <version>3.1.0</version>
            </plugin>
            <plugin>
               <groupId>org.alfresco.maven.plugin</groupId>
               <artifactId>alfresco-maven-plugin</artifactId>
               <version>2.1.1</version>
               <extensions>true</extensions>
               <configuration>
                  <snapshotToTimestamp>true</snapshotToTimestamp>
               </configuration>
            </plugin>
            <plugin>
               <artifactId>maven-compiler-plugin</artifactId>
               <version>${maven.compiler.version}</version>
               <configuration>
                  <source>${maven.compiler.source}</source>
                  <target>${maven.compiler.target}</target>
               </configuration>
               <executions>
                  <execution>
                     <id>default-testCompile</id>
                     <phase>process-test-sources</phase>
                     <goals>
                        <goal>testCompile</goal>
                     </goals>
                     <configuration>
                        <source>${testJavaVersion}</source>
                        <target>${testJavaVersion}</target>
                     </configuration>
                  </execution>
               </executions>
            </plugin>
            <plugin>
               <groupId>org.eclipse.m2e</groupId>
               <artifactId>lifecycle-mapping</artifactId>
               <version>1.0.0</version>
               <configuration>
                  <lifecycleMappingMetadata>
                     <pluginExecutions>
                        <pluginExecution>
                           <pluginExecutionFilter>
                              <groupId>org.apache.maven.plugins</groupId>
                              <artifactId>maven-enforcer-plugin</artifactId>
                              <versionRange>[1.0.0,)</versionRange>
                              <goals>
                                 <goal>enforce</goal>
                              </goals>
                           </pluginExecutionFilter>
                           <action>
                              <ignore />
                           </action>
                        </pluginExecution>
                        <pluginExecution>
                           <pluginExecutionFilter>
                                <groupId>
                                    org.codehaus.mojo
                                </groupId>
                                <artifactId>
                                    build-helper-maven-plugin
                                </artifactId>
                                <versionRange>
                                    [1.9.1,)
                                </versionRange>
                              <goals>
                                 <goal>regex-properties</goal>
                              </goals>
                           </pluginExecutionFilter>
                           <action>
                              <ignore />
                           </action>
                        </pluginExecution>
                     </pluginExecutions>
                  </lifecycleMappingMetadata>
               </configuration>
            </plugin>
            <plugin>
               <artifactId>maven-enforcer-plugin</artifactId>
               <version>${maven.enforcer.plugin}</version>
            </plugin>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>properties-maven-plugin</artifactId>
               <version>1.0-alpha-2</version>
            </plugin>
            <plugin>
               <artifactId>maven-failsafe-plugin</artifactId>
               <version>3.0.0-M5</version>
               <configuration>
                  <argLine>
                     --illegal-access=permit
                  </argLine>
               </configuration>
            </plugin>
            <plugin>
               <artifactId>maven-antrun-plugin</artifactId>
               <version>1.8</version>
            </plugin>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>build-helper-maven-plugin</artifactId>
               <version>${maven.buildhelper.version}</version>
            </plugin>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>sql-maven-plugin</artifactId>
               <version>1.5</version>
            </plugin>

            <!-- Maven Release Plugin (Use a recent version for better Git Support) -->
            <plugin>
               <artifactId>maven-release-plugin</artifactId>
               <version>2.5.3</version>
               <configuration>
                  <tagNameFormat>V@{project.version}</tagNameFormat>
               </configuration>
            </plugin>

            <!-- Disable doclint until RM-3150 is fixed -->
            <plugin>
               <artifactId>maven-javadoc-plugin</artifactId>
               <configuration>
                  <doclint>none</doclint>
                  <source>${java.version}</source>
               </configuration>
            </plugin>

            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>license-maven-plugin</artifactId>
               <version>1.16</version>
               <configuration>

                   <verbose>${license.verbose}</verbose>
                  <addSvnKeyWords>false</addSvnKeyWords>
                  <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>

                   <!-- header configuration -->
                  <organizationName>Alfresco Software Limited</organizationName>
                  <descriptionTemplate>${project.parent.parent.basedir}/license/description.ftl</descriptionTemplate>
                  <canUpdateCopyright>true</canUpdateCopyright>
                  <canUpdateDescription>true</canUpdateDescription>

                   <!-- licence configuration -->
                  <licenseResolver>file:${project.parent.parent.basedir}/license</licenseResolver>

                   <!-- dry run options -->
                   <dryRun>${license.update.dryrun}</dryRun>
                  <failOnMissingHeader>true</failOnMissingHeader>
                  <failOnNotUptodateHeader>true</failOnNotUptodateHeader>

                   <!-- default root -->
                  <roots>
                     <root>src</root>
                  </roots>

                   <!-- exculsions -->
                  <excludes>
                     <exclude>**/package-info.java</exclude>
                     <exclude>**/*.properties</exclude>
                     <exclude>**/*.css</exclude>
                     <exclude>**/*.xml</exclude>
                     <exclude>**/*.json</exclude>
                     <exclude>**/*.txt</exclude>
                     <exclude>**/*.html</exclude>
                  </excludes>

               </configuration>
               <executions>
                  <execution>
                     <id>first</id>
                     <goals>
                        <goal>update-file-header</goal>
                     </goals>
                     <phase>process-sources</phase>
                  </execution>
               </executions>
            </plugin>
            <plugin>
               <artifactId>maven-resources-plugin</artifactId>
               <version>${maven.resources.version}</version>
               <dependencies>
                  <dependency>
                     <groupId>org.apache.maven.shared</groupId>
                     <artifactId>maven-filtering</artifactId>
                     <version>3.1.1</version>
                  </dependency>
               </dependencies>
               <configuration>
                  <encoding>UTF-8</encoding>
                  <nonFilteredFileExtensions>
                     <nonFilteredFileExtension>ftl</nonFilteredFileExtension>
                     <nonFilteredFileExtension>acp</nonFilteredFileExtension>
                     <nonFilteredFileExtension>jpg</nonFilteredFileExtension>
                     <nonFilteredFileExtension>png</nonFilteredFileExtension>
                     <nonFilteredFileExtension>gif</nonFilteredFileExtension>
                     <nonFilteredFileExtension>svg</nonFilteredFileExtension>
                     <nonFilteredFileExtension>pdf</nonFilteredFileExtension>
                     <nonFilteredFileExtension>doc</nonFilteredFileExtension>
                     <nonFilteredFileExtension>docx</nonFilteredFileExtension>
                     <nonFilteredFileExtension>xls</nonFilteredFileExtension>
                     <nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
                     <nonFilteredFileExtension>ppt</nonFilteredFileExtension>
                     <nonFilteredFileExtension>pptx</nonFilteredFileExtension>
                     <nonFilteredFileExtension>bin</nonFilteredFileExtension>
                     <nonFilteredFileExtension>lic</nonFilteredFileExtension>
                     <nonFilteredFileExtension>swf</nonFilteredFileExtension>
                     <nonFilteredFileExtension>zip</nonFilteredFileExtension>
                     <nonFilteredFileExtension>msg</nonFilteredFileExtension>
                     <nonFilteredFileExtension>jar</nonFilteredFileExtension>
                     <nonFilteredFileExtension>ttf</nonFilteredFileExtension>
                     <nonFilteredFileExtension>eot</nonFilteredFileExtension>
                     <nonFilteredFileExtension>woff</nonFilteredFileExtension>
                     <nonFilteredFileExtension>woff2</nonFilteredFileExtension>
                     <nonFilteredFileExtension>css</nonFilteredFileExtension>
                     <nonFilteredFileExtension>ico</nonFilteredFileExtension>
                     <nonFilteredFileExtension>psd</nonFilteredFileExtension>
                  </nonFilteredFileExtensions>
               </configuration>
            </plugin>
            <plugin>
               <artifactId>maven-war-plugin</artifactId>
               <version>${maven.war.plugin.version}</version>
               <dependencies>
                  <!-- Needed when creating the community and enterprise rest api wars  -->
                  <dependency>
                     <groupId>org.apache.commons</groupId>
                     <artifactId>commons-compress</artifactId>
                     <version>${apache-compress.version}</version>
                  </dependency>
                  <dependency>
                     <groupId>org.alfresco.maven.plugin</groupId>
                     <artifactId>alfresco-maven-plugin</artifactId>
                     <version>2.1.1</version>
                  </dependency>
               </dependencies>
               <configuration>
                  <archiveClasses>false</archiveClasses>
                  <archive>
                     <manifest>
                        <addClasspath>true</addClasspath>
                     </manifest>
                  </archive>
               </configuration>
            </plugin>
            <plugin>
               <artifactId>maven-clean-plugin</artifactId>
               <version>3.1.0</version>
            </plugin>
            <plugin>
               <artifactId>maven-dependency-plugin</artifactId>
               <version>3.1.1</version>
            </plugin>
            <plugin>
               <artifactId>maven-archetype-plugin</artifactId>
               <version>2.2</version>
               <configuration>
                  <skip>${skipTests}</skip>
               </configuration>
            </plugin>
            <plugin>
               <groupId>com.google.code.maven-replacer-plugin</groupId>
               <artifactId>replacer</artifactId>
               <version>1.5.3</version>
            </plugin>
            <plugin>
               <groupId>org.apache.tomcat.maven</groupId>
               <artifactId>tomcat7-maven-plugin</artifactId>
               <version>2.2</version>
               <configuration>
                  <useSeparateTomcatClassLoader>true</useSeparateTomcatClassLoader>
               </configuration>
            </plugin>
            <plugin>
               <groupId>net.alchim31.maven</groupId>
               <artifactId>yuicompressor-maven-plugin</artifactId>
               <version>1.5.1</version>
               <executions>
                  <execution>
                     <id>compress-js</id>
                     <phase>process-resources</phase>
                     <goals>
                        <goal>compress</goal>
                     </goals>
                     <configuration>
                        <excludes>
                           <exclude>**/webscripts/**</exclude>
                           <exclude>**/site-webscripts/**</exclude>
                           <exclude>**/*.lib.js</exclude>
                           <exclude>**/*.css</exclude>
                        </excludes>
                        <warSourceDirectory>src/main/resources/META-INF</warSourceDirectory>
                        <jswarn>false</jswarn>
                     </configuration>
                  </execution>
               </executions>
            </plugin>

            <plugin>
               <groupId>io.fabric8</groupId>
               <artifactId>docker-maven-plugin</artifactId>
               <version>${fabric8.docker.version}</version>
            </plugin>
         </plugins>
      </pluginManagement>
   </build>
</project>
