ppa
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.github.agrica</groupId>
<artifactId>ppa</artifactId>
<version>3.3.4</version>
</dependency><?xml version="1.0" encoding="ISO-8859-15" ?>
<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>
<!-- Identification du projet -->
<groupId>io.github.agrica</groupId>
<artifactId>ppa</artifactId>
<version>3.3.4</version>
<packaging>pom</packaging>
<name>POM Parent Agrica</name>
<description>POM Parent Agrica</description>
<url>https://github.com/agrica/ppa</url>
<organization>
<name>Agrica</name>
<url>https://www.groupagrica.com/</url>
</organization>
<inceptionYear>2016</inceptionYear>
<!-- pre-requis -->
<prerequisites>
<maven>${maven.version}</maven>
</prerequisites>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<distributionManagement>
<snapshotRepository>
<id>nexus</id>
<url>${dist.snapshots.url}</url>
</snapshotRepository>
<repository>
<id>nexus</id>
<url>${dist.releases.url}</url>
</repository>
</distributionManagement>
<developers>
<developer>
<name>Jerome Morille</name>
<email>morille.jerome@groupagrica.com</email>
<organizationUrl>https://www.groupagrica.com/</organizationUrl>
</developer>
</developers>
<issueManagement>
<system>JIRA</system>
<url>${usine.url.bugtracker.jira}/PPG</url>
</issueManagement>
<scm>
<connection>scm:git:https://github.com/agrica/ppa.git</connection>
<url>https://github.com/agrica/ppa</url>
<tag>HEAD</tag>
</scm>
<!-- A redefinir au besoin par les projets -->
<properties>
<!-- Les URLs pour le deploiement des artifacts -->
<dist.snapshots.url>http://nexus.agrica.loc/repository/maven-snapshots/</dist.snapshots.url>
<dist.releases.url>http://nexus.agrica.loc/repository/maven-releases/</dist.releases.url>
<!-- L'encoding des sources -->
<!--<source.encoding>UTF-8</source.encoding>-->
<source.encoding>ISO-8859-15</source.encoding>
<!-- Cette propriete est utilisee au fur et a mesure par defaut par tous les plugins et sera integree dans une future version du POM -->
<project.build.sourceEncoding>${source.encoding}</project.build.sourceEncoding>
<!-- Cette propriete est utilisee au fur et a mesure par defaut par tous les plugins et sera integree dans une future version du POM -->
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- Packaging -->
<packaging.assembly.app.format>tar.gz</packaging.assembly.app.format>
<!-- ================================= -->
<!-- Build Project configuration -->
<!-- ================================= -->
<project.php.dir>sources/htdocs</project.php.dir>
<!-- Php -->
<composer.version>2.2.7</composer.version><!-- 2.2.7 -->
<composer.run.opts>-d memory_limit=-1</composer.run.opts>
<composer.bin.dir>${project.build.directory}/htdocs-composer-bin</composer.bin.dir>
<php.home>${env.PHP71_HOME}</php.home>
<phpbin>${env.PHP71_BINDIR}/php</phpbin>
<!-- ================================= -->
<!-- Php Build Tools -->
<!-- ================================= -->
<phpbuild.php.home>${env.PHP73_HOME}</phpbuild.php.home>
<phpbuild.php.bin>${env.PHP73_BINDIR}/php</phpbuild.php.bin>
<!-- PHP Code Sniffer -->
<codesniffer.version>3.7.1</codesniffer.version>
<phpbuild.codesniffer.version>${codesniffer.version}</phpbuild.codesniffer.version>
<phpbuild.codesniffer.bin.dir>${project.build.directory}/phpbuild-codesniffer-bin</phpbuild.codesniffer.bin.dir>
<phpbuild.codesniffer.phpcs.bin>${phpbuild.codesniffer.bin.dir}/codesniffer-${phpbuild.codesniffer.version}-phpcs.phar</phpbuild.codesniffer.phpcs.bin>
<!-- PHP Composer -->
<phpbuild.composer.version>${composer.version}</phpbuild.composer.version>
<phpbuild.composer.bin.dir>${project.build.directory}/phpbuild-composer-bin</phpbuild.composer.bin.dir>
<phpbuild.composer.bin>${phpbuild.composer.bin.dir}/composer-${phpbuild.composer.version}.phar</phpbuild.composer.bin>
<phpbuild.composer.run.opts>${composer.run.opts}</phpbuild.composer.run.opts>
<!-- Php Doc -->
<phpdoc.version>3.0.0</phpdoc.version>
<phpdoc.bin.dir>${project.build.directory}/phpdoc-bin</phpdoc.bin.dir>
<phpdoc.build.directory>${project.build.directory}/phpdoc-generated</phpdoc.build.directory>
<phpdoc.title>${project.name} - ${project.version}</phpdoc.title>
<phpdoc.opts>-d ${project.basedir}/${project.php.dir} --ignore "${sonar.exclusions}"</phpdoc.opts>
<!-- Php Unit -->
<phpunit.bin>./vendor/phpunit/phpunit/phpunit</phpunit.bin>
<phpunit.tests.reportPath>${project.build.directory}/phpunit-junit.xml</phpunit.tests.reportPath>
<phpunit.tests.reportDocxHtml>${project.build.directory}/phpunit-docx.html</phpunit.tests.reportDocxHtml>
<phpunit.tests.reportDocxText>${project.build.directory}/phpunit-docx.txt</phpunit.tests.reportDocxText>
<phpunit.coverage.reportPath>${project.build.directory}/phpunit-coverage.xml</phpunit.coverage.reportPath>
<phpunit.coverage.reportHtmlPath>${project.build.directory}/phpunit-coverage-html</phpunit.coverage.reportHtmlPath>
<phpunit.default.opts>--coverage-html=${phpunit.coverage.reportHtmlPath} --testdox-html ${phpunit.tests.reportDocxHtml} --testdox-text ${phpunit.tests.reportDocxText}</phpunit.default.opts>
<phpunit.opts>${phpunit.default.opts}</phpunit.opts>
<!-- ================================= -->
<!-- Build JOB configuration -->
<!-- ================================= -->
<yarn.install.skip>false</yarn.install.skip>
<yarn.lock.clean.skip>false</yarn.lock.clean.skip>
<gulp.test.skip>false</gulp.test.skip>
<bower.install.skip>false</bower.install.skip>
<composer.install.skip>false</composer.install.skip>
<composer.lock.clean.skip>true</composer.lock.clean.skip>
<phpbuild.install.skip>false</phpbuild.install.skip>
<phpdoc.skip>false</phpdoc.skip>
<phpunit.test.skip>false</phpunit.test.skip>
<codesniffer.test.skip>true</codesniffer.test.skip>
<maven.build.timestamp.format>dd/MM/yyyy HH:mm:ss 'GMT'</maven.build.timestamp.format>
<build.date>${maven.build.timestamp}</build.date>
<git.branch>${scmBranch}</git.branch>
<git.commit.sha1>${buildNumber}</git.commit.sha1>
<!-- Git Changelog configuration -->
<ppa-changelog-assembly-descriptor.version>0.0.4</ppa-changelog-assembly-descriptor.version>
<release-notes.build.dir>${project.build.directory}/release-notes</release-notes.build.dir>
<git-changelog-readableTagName>-([^-]+?)$</git-changelog-readableTagName>
<git-changelog-fromRef/>
<git-changelog-toRef>HEAD</git-changelog-toRef>
<git-changelog-gitServerApi>http://gitlab-dei/ditw/${project.artifactId}/commit</git-changelog-gitServerApi>
<!-- La version de maven -->
<maven.version>3.5.0</maven.version>
<!-- Java Version pour le niveau de compatibilite des binaires du projet -->
<java.version>11</java.version>
<compile.source>${java.version}</compile.source>
<compile.target>${java.version}</compile.target>
<!-- Les options a passer a la commande forkee de maven pour les tests -->
<!--<surefire.argLine>${env.MAVEN_OPTS}</surefire.argLine>-->
<!-- ================================= -->
<!-- Usine -->
<!-- ================================= -->
<!--<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ssZ</maven.build.timestamp.format>-->
<!--<build.date>${maven.build.timestamp}</build.date>-->
<!-- Les URLs pour les applications de l'USINE DE DEV JAVA -->
<usine.url.jira>https://jira.agrica.loc</usine.url.jira>
<usine.url.bugtracker.jira>https://jira.agrica.loc/browse</usine.url.bugtracker.jira>
<usine.url.sources.svn-groupe>http://lima/svn</usine.url.sources.svn-groupe>
<usine.url.ci.jenkins>http://jenkins</usine.url.ci.jenkins>
<usine.url.ci>${usine.url.ci.jenkins}</usine.url.ci>
<usine.url.sonar>http://sonar.agrica.loc</usine.url.sonar>
<!-- Sonar -->
<sonar.sources>${project.build.sourceDirectory}</sonar.sources>
<sonar.exclusions></sonar.exclusions>
<sonar.host.url>${usine.url.sonar}</sonar.host.url>
<sonar.php.tests.reportPath>${phpunit.tests.reportPath}</sonar.php.tests.reportPath>
<sonar.php.coverage.reportPaths>${phpunit.coverage.reportPath}</sonar.php.coverage.reportPaths>
<!-- ================================= -->
<!-- Parametrage buildnumber -->
<!-- ================================= -->
<buildnumber.revisionOnScmFailure>0</buildnumber.revisionOnScmFailure>
<buildnumber.doCheck>false</buildnumber.doCheck>
<buildnumber.doUpdate>false</buildnumber.doUpdate>
<!-- ================================= -->
<!-- Les versions de Plugins Maven -->
<!-- ================================= -->
<!-- Tools -->
<maven-clean-plugin.version>3.2.0</maven-clean-plugin.version>
<maven-dependency-plugin.version>3.3.0</maven-dependency-plugin.version>
<maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
<maven-enforcer-plugin>3.1.0</maven-enforcer-plugin>
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version> <!-- 3.0.0-M5 -->
<maven-release-plugin.version>2.5.3</maven-release-plugin.version> <!-- 3.0.0-M5 -->
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
<maven-resources-plugin.version>3.3.0</maven-resources-plugin.version>
<maven-javadoc-plugin.version>3.4.1</maven-javadoc-plugin.version>
<maven-deploy-plugin.version>3.0.0</maven-deploy-plugin.version>
<maven-install-plugin.version>3.0.1</maven-install-plugin.version> <!-- 2.5.2, 3.0.0-M1 -->
<maven-gpg-plugin.version>3.0.1</maven-gpg-plugin.version>
<nexus-staging-maven-plugin.version>1.6.12</nexus-staging-maven-plugin.version>
<maven-site-plugin.version>3.11.0</maven-site-plugin.version>
<versions-maven-plugin.version>2.11.0</versions-maven-plugin.version>
<exec-maven-plugin.version>3.1.0</exec-maven-plugin.version>
<maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version> <!-- 3.3.0, Bug in 3.4.2 for PHP -->
<iterator-maven-plugin.version>0.5.1</iterator-maven-plugin.version>
<build-helper-maven-plugin.version>3.3.0</build-helper-maven-plugin.version> <!-- 1.12 -->
<maven-antrun-plugin.version>3.1.0</maven-antrun-plugin.version>
<ant-contrib.version>1.0b3</ant-contrib.version>
<buildnumber-maven-plugin.version>3.0.0</buildnumber-maven-plugin.version>
<!-- Generator -->
<!-- GroupId: org.openapitools -->
<openapi-generator-maven-plugin.version>4.3.1</openapi-generator-maven-plugin.version><!-- 5.1.1 -->
<!-- Sonar -->
<sonar-maven-plugin.version>3.9.1.2184</sonar-maven-plugin.version> <!-- 3.7.0.1746 -->
<docker-maven-plugin.fabric8.version>0.40.2</docker-maven-plugin.fabric8.version>
<jgitflow-maven-plugin.version>1.0-m8</jgitflow-maven-plugin.version>
<!-- Changelog -->
<gitlog-maven-plugin.version>1.13.17</gitlog-maven-plugin.version>
<git-changelog-maven-plugin.version>1.92</git-changelog-maven-plugin.version>
</properties>
<build>
<pluginManagement>
<!-- Versions of plugins to use, to be sure that a new release automatically installed will not break an existing build -->
<plugins>
<!-- ************************* -->
<!-- Enforcers -->
<!-- ************************* -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven-enforcer-plugin}</version>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>${maven.version}</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<!-- ************************* -->
<!-- Generators -->
<!-- ************************* -->
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>${openapi-generator-maven-plugin.version}</version>
</plugin>
<!-- ************************* -->
<!-- Tools -->
<!-- ************************* -->
<!-- Release -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>${maven-release-plugin.version}</version>
<configuration>
<!-- During release:perform, enable the "release" profile -->
<releaseProfiles>release</releaseProfiles>
<!--<pushChanges>false</pushChanges>-->
<!--<goals>sonar:sonar</goals>-->
</configuration>
</plugin>
<!-- Deploy -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
</plugin>
<!-- Javadoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
</plugin>
<!-- Install & Deploy -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>${maven-deploy-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>${maven-install-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>${maven-site-plugin.version}</version>
</plugin>
<!-- Version -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions-maven-plugin.version}</version>
</plugin>
<!-- Build Helper -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${build-helper-maven-plugin.version}</version>
</plugin>
<!-- Assembly -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven-assembly-plugin.version}</version>
<configuration>
<appendAssemblyId>true</appendAssemblyId>
<tarLongFileMode>gnu</tarLongFileMode>
</configuration>
</plugin>
<!-- Iterator -->
<plugin>
<groupId>com.soebes.maven.plugins</groupId>
<artifactId>iterator-maven-plugin</artifactId>
<version>${iterator-maven-plugin.version}</version>
</plugin>
<!-- ***************************** -->
<!-- Plugins pour Release Notes -->
<!-- ***************************** -->
<plugin>
<groupId>se.bjurr.gitchangelog</groupId>
<artifactId>git-changelog-maven-plugin</artifactId>
<version>${git-changelog-maven-plugin.version}</version>
<configuration>
<!--<ignoreCommitsOlderThan>2018-01-01 00:00:00</ignoreCommitsOlderThan>-->
<!-- JIRA -->
<jiraUsername>${jira.username}</jiraUsername>
<jiraPassword>${jira.password}</jiraPassword>
<jiraServer>${usine.url.jira}</jiraServer>
<fromRef>${git-changelog-fromRef}</fromRef>
<toRef>${git-changelog-toRef}</toRef>
<jiraIssuePattern>\b[a-zA-Z]([a-zA-Z]+)-([0-9]+)\b</jiraIssuePattern>
<!-- If you have a tag like "git-changelog-maven-plugin-1.5", you can extract "1.5" and use only that as tag name. -->
<!--<readableTagName>${git-changelog-readableTagName}</readableTagName>-->
<!--<settingsFile>changelog.json</settingsFile>-->
<!--<templateFile>changelog.mustache</templateFile>-->
<!-- A file on filesystem //-->
<file>${release-notes.build.dir}/CHANGELOG-${project.version}.md</file>
<templateContent>
< {{title}}
{{/hasLink}}
{{^hasLink}}
### {{name}} {{issue}} {{title}}
{{/hasLink}}
{{/hasIssue}}
{{^hasIssue}}
### {{name}}
{{/hasIssue}}
{{#commits}}
**{{{messageTitle}}}**
{{#messageBodyItems}}
* {{.}}
{{/messageBodyItems}}
[{{hash}}](${git-changelog-gitServerApi}/{{hash}}) {{authorName}} *{{commitTime}}*
{{/commits}}
{{/issues}}
{{/tags}}
]]>
</templateContent>
</configuration>
</plugin>
<!-- ***************************** -->
<!-- Plugins pour Sonar -->
<!-- ***************************** -->
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>${sonar-maven-plugin.version}</version>
</plugin>
<!-- Plugins pour generer le changelog -->
<plugin>
<groupId>com.github.danielflower.mavenplugins</groupId>
<artifactId>gitlog-maven-plugin</artifactId>
<version>${gitlog-maven-plugin.version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- Buildnumber -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>${buildnumber-maven-plugin.version}</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<revisionOnScmFailure>${buildnumber.revisionOnScmFailure}</revisionOnScmFailure>
<doCheck>${buildnumber.doCheck}</doCheck>
<doUpdate>${buildnumber.doUpdate}</doUpdate>
<shortRevisionLength>8</shortRevisionLength>
</configuration>
</plugin>
<!-- TimeStamp -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>timestamp-property</id>
<goals>
<goal>timestamp-property</goal>
</goals>
<configuration>
<name>changelog-start</name>
<pattern>yyyy-MM-dd 00:00:00</pattern>
<timeZone>GMT</timeZone>
<locale>en_US</locale>
<unit>month</unit>
<offset>-2</offset>
</configuration>
</execution>
<execution>
<id>parse-version</id>
<goals>
<goal>parse-version</goal>
</goals>
</execution>
</executions>
</plugin>
<!--<plugin>-->
<!--<groupId>org.codehaus.mojo</groupId>-->
<!--<artifactId>build-helper-maven-plugin</artifactId>-->
<!--<version>${build-helper-maven-plugin.version}</version>-->
<!--<executions>-->
<!--<execution>-->
<!--<id>timestamp-property</id>-->
<!--<goals>-->
<!--<goal>timestamp-property</goal>-->
<!--</goals>-->
<!--<configuration>-->
<!--<name>build.time</name>-->
<!--<pattern>MM/dd/yyyy hh:mm aa</pattern>-->
<!--<locale>en_US</locale>-->
<!--<timeZone>EST</timeZone>-->
<!--</configuration>-->
<!--</execution>-->
<!--</executions>-->
<!--</plugin>-->
<!-- Build Number -->
<!--<plugin>-->
<!--<groupId>org.codehaus.mojo</groupId>-->
<!--<artifactId>buildnumber-maven-plugin</artifactId>-->
<!--<executions>-->
<!--<execution>-->
<!--<phase>validate</phase>-->
<!--<goals>-->
<!--<goal>create</goal>-->
<!--</goals>-->
<!--</execution>-->
<!--</executions>-->
<!--</plugin>-->
</plugins>
</build>
<profiles>
<!-- Dev Config -->
<profile>
<id>todir</id>
<properties>
<packaging.assembly.app.format>dir</packaging.assembly.app.format>
</properties>
</profile>
<!-- Npm Install -->
<profile>
<id>yarn-install</id>
<activation>
<file>
<exists>package.json</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin.version}</version>
<executions>
<execution>
<id>yarn-install</id>
<phase>initialize</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${yarn.install.skip}</skip>
<executable>yarn</executable>
<arguments>
<argument>install</argument>
</arguments>
<workingDirectory>${project.basedir}</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- Clean node module -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
<executions>
<execution>
<id>yarn-clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<skip>${yarn.install.skip}</skip>
<filesets>
<fileset>
<directory>node_modules</directory>
</fileset>
</filesets>
</configuration>
</execution>
<execution>
<id>yarn-lock-clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<skip>${yarn.lock.clean.skip}</skip>
<filesets>
<fileset>
<directory>.</directory>
<includes>
<include>package-lock.json</include>
<include>yarn.lock</include>
<include>yarn-error.log</include>
</includes>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- PHP CodeSniffer -->
<profile>
<id>phpbuild-codesniffer</id>
<activation>
<property>
<name>codesniffer.test.skip</name>
<value>false</value>
</property>
</activation>
<build>
<plugins>
<!-- Composer binary copy-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-dependency-plugin.version}</version>
<executions>
<execution>
<id>phpbuild-codesniffer-binary-copy</id>
<phase>initialize</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<skip>${codesniffer.test.skip}</skip>
<artifact>io.squizlabs.codesniffer:codesniffer:${phpbuild.codesniffer.version}:phar:phpcs</artifact>
<outputDirectory>${phpbuild.codesniffer.bin.dir}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- PHP Build Tools -->
<profile>
<id>phpbuild-install</id>
<activation>
<file>
<exists>composer.json</exists>
</file>
</activation>
<build>
<plugins>
<!-- Php Build Clean -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
<executions>
<execution>
<id>phpbuild-composer-clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<skip>${phpbuild.install.skip}</skip>
<filesets>
<fileset>
<directory>${project.basedir}/vendor</directory>
</fileset>
<fileset>
<directory>${project.basedir}</directory>
<includes><include>composer.lock</include></includes>
</fileset>
<fileset>
<directory>${phpbuild.composer.bin.dir}</directory>
<includes><include>composer-${phpbuild.composer.version}.phar</include></includes>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
<!-- Composer binary copy-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-dependency-plugin.version}</version>
<executions>
<execution>
<id>phpbuild-composer-binary-copy</id>
<phase>initialize</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<skip>${phpbuild.install.skip}</skip>
<artifact>org.composer:composer:${phpbuild.composer.version}:phar</artifact>
<outputDirectory>${phpbuild.composer.bin.dir}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- Php Build Composer Install -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin.version}</version>
<executions>
<execution>
<id>phpbuild-composer-install</id>
<phase>initialize</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${phpbuild.install.skip}</skip>
<executable>${phpbuild.php.bin}</executable>
<!-- <workingDirectory>${project.basedir}</workingDirectory>-->
<!-- <commandlineArgs>${phpbuild.composer.run.opts} ${phpbuild.composer.bin} install --no-progress -v</commandlineArgs>-->
<workingDirectory>${project.basedir}</workingDirectory>
<commandlineArgs>${composer.run.opts} ${phpbuild.composer.bin} install -d ${project.basedir} --no-progress --no-interaction</commandlineArgs>
<environmentVariables>
<PHP_HOME>${phpbuild.php.home}</PHP_HOME>
<PHP_BIN>${phpbuild.php.bin}</PHP_BIN>
</environmentVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Skip Tests -->
<profile>
<id>deps-skipTests</id>
<activation>
<property>
<name>skipTests</name>
</property>
</activation>
<properties>
<gulp.test.skip>true</gulp.test.skip>
<phpunit.test.skip>true</phpunit.test.skip>
</properties>
</profile>
<profile>
<id>deps-skipComposer</id>
<activation>
<property>
<name>skipComposer</name>
</property>
</activation>
<properties>
<composer.install.skip>true</composer.install.skip>
</properties>
</profile>
<profile>
<id>deps-maven.test.skip</id>
<activation>
<property>
<name>maven.test.skip</name>
<value>true</value>
</property>
</activation>
<properties>
<gulp.test.skip>true</gulp.test.skip>
<phpunit.test.skip>true</phpunit.test.skip>
</properties>
</profile>
<profile>
<id>deps-skipDocs</id>
<activation>
<property>
<name>skipDocs</name>
</property>
</activation>
<properties>
<phpdoc.skip>true</phpdoc.skip>
</properties>
</profile>
<profile>
<id>deps-maven.doc.skip</id>
<activation>
<property>
<name>maven.doc.skip</name>
<value>true</value>
</property>
</activation>
<properties>
<phpdoc.skip>true</phpdoc.skip>
</properties>
</profile>
<!-- PHP -->
<!-- Htdocs Composer -->
<profile>
<id>htdocs-composer</id>
<activation>
<file>
<exists>./sources/htdocs/composer.json</exists>
</file>
</activation>
<build>
<plugins>
<!-- Composer clean -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
<executions>
<execution>
<id>htdocs-composer-clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<skip>${composer.install.skip}</skip>
<filesets>
<fileset>
<directory>${project.basedir}/${project.php.dir}/vendor</directory>
</fileset>
<fileset>
<directory>${composer.bin.dir}</directory>
<includes><include>composer-${composer.version}.phar</include></includes>
</fileset>
</filesets>
</configuration>
</execution>
<execution>
<id>htdocs-composer-lock-clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<skip>${composer.lock.clean.skip}</skip>
<filesets>
<fileset>
<directory>${project.basedir}/${project.php.dir}</directory>
<includes><include>composer.lock</include></includes>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
<!-- Composer binary copy-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-dependency-plugin.version}</version>
<executions>
<execution>
<id>>htdocs-composer-binary-copy</id>
<phase>initialize</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<skip>${composer.install.skip}</skip>
<artifact>org.composer:composer:${composer.version}:phar</artifact>
<outputDirectory>${composer.bin.dir}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- Htdocs Composer Install -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin.version}</version>
<executions>
<execution>
<id>htdocs-composer-install</id>
<phase>process-resources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${composer.install.skip}</skip>
<executable>${phpbin}</executable>
<workingDirectory>${project.basedir}/${project.php.dir}</workingDirectory>
<commandlineArgs>${composer.run.opts} ${composer.bin.dir}/composer-${composer.version}.phar install
--no-progress
</commandlineArgs>
<environmentVariables>
<PHP_HOME>${php.home}</PHP_HOME>
<PHP_BIN>${phpbin}</PHP_BIN>
</environmentVariables>
</configuration>
</execution>
<execution>
<id>htdocs-composer-install-prod</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${composer.install.skip}</skip>
<executable>${phpbin}</executable>
<workingDirectory>${project.basedir}/${project.php.dir}</workingDirectory>
<commandlineArgs>${composer.run.opts} ${composer.bin.dir}/composer-${composer.version}.phar install
--no-dev --no-progress
</commandlineArgs>
<environmentVariables>
<PHP_HOME>${php.home}</PHP_HOME>
<PHP_BIN>${phpbin}</PHP_BIN>
</environmentVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Gulp Test -->
<profile>
<id>gulp-test</id>
<activation>
<file>
<exists>gulpfile.js</exists>
</file>
<property>
<name>!skipTests</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin.version}</version>
<executions>
<execution>
<id>gulp-test</id>
<phase>test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${gulp.test.skip}</skip>
<executable>gulp</executable>
<arguments>
<argument>test</argument>
</arguments>
<environmentVariables>
<PHP_HOME>${php.home}</PHP_HOME>
<PHP_BIN>${phpbin}</PHP_BIN>
<CODESNIFFER_PHPS_BIN>${phpbuild.codesniffer.phpcs.bin}</CODESNIFFER_PHPS_BIN>
</environmentVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- PHP Unit -->
<profile>
<id>phpunit-htdocs</id>
<activation>
<file>
<exists>./sources/htdocs/phpunit.xml</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin.version}</version>
<executions>
<execution>
<id>htdocs-phpunit-htdocs-test</id>
<phase>test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${phpunit.test.skip}</skip>
<executable>${phpbin}</executable>
<workingDirectory>${project.basedir}/${project.php.dir}</workingDirectory>
<commandlineArgs>${phpunit.bin} -c phpunit.xml --log-junit ${phpunit.tests.reportPath} --coverage-clover=${phpunit.coverage.reportPath} ${phpunit.opts} </commandlineArgs>
<environmentVariables>
<PHP_HOME>${php.home}</PHP_HOME>
<PHP_BIN>${phpbin}</PHP_BIN>
<XDEBUG_MODE>coverage</XDEBUG_MODE>
</environmentVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- PHP DOC -->
<profile>
<id>phpdoc</id>
<activation>
<file>
<exists>phpdoc.xml</exists>
</file>
</activation>
<build>
<plugins>
<!-- Phpdoc clean -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
<executions>
<execution>
<id>phpdoc-clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<skip>${phpdoc.skip}</skip>
<filesets>
<fileset>
<directory>${phpdoc.bin.dir}</directory>
<includes><include>phpdoc-${phpdoc.version}.phar</include></includes>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
<!-- Phpdoc binary copy-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-dependency-plugin.version}</version>
<executions>
<execution>
<id>>phpdoc-binary-copy</id>
<phase>initialize</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<skip>${phpdoc.skip}</skip>
<artifact>org.phpdoc:phpdoc:${phpdoc.version}:phar</artifact>
<outputDirectory>${phpdoc.bin.dir}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- Pphdoc Generation -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin.version}</version>
<executions>
<!-- Pphdoc Generate -->
<execution>
<id>phpdoc-generate-doc</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${phpdoc.skip}</skip>
<executable>${phpbuild.php.bin}</executable>
<commandlineArgs>${phpdoc.bin.dir}/phpdoc-${phpdoc.version}.phar ${phpdoc.opts} --title "${phpdoc.title}" -t ${phpdoc.build.directory}
</commandlineArgs>
<environmentVariables>
<PHP_HOME>${phpbuild.php.home}</PHP_HOME>
<PHP_BIN>${phpbuild.php.bin}</PHP_BIN>
</environmentVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Sonar -->
<profile>
<id>sonar</id>
<properties>
<!--<sonar.analysis.mode>incremental</sonar.analysis.mode>-->
<!--<sonar.issuesReport.html.enable>true</sonar.issuesReport.html.enable>-->
<!--<sonar.issuesReport.console.enable>true</sonar.issuesReport.console.enable>-->
</properties>
<build>
<defaultGoal>sonar:sonar</defaultGoal>
<plugins>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>${sonar-maven-plugin.version}</version>
</plugin>
</plugins>
</build>
</profile>
<!-- Bower Install -->
<profile>
<id>bower-install</id>
<activation>
<file>
<exists>bower.json</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin.version}</version>
<executions>
<execution>
<id>bower-install</id>
<phase>initialize</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<skip>${bower.install.skip}</skip>
<executable>bower</executable>
<arguments>
<argument>install</argument>
</arguments>
<workingDirectory>${project.basedir}</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- Clean Bower -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
<executions>
<execution>
<id>bower-clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<skip>${bower.install.skip}</skip>
<filesets>
<fileset>
<directory>bower_components</directory>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release-notes-git</id>
<activation>
<file>
<exists>.git</exists>
</file>
</activation>
<build>
<plugins>
<!-- ************************* -->
<!-- Changelog -->
<!-- ************************ -->
<!-- Run: mvn generate-sources -->
<!-- https://github.com/tomasbjerre/git-changelog-maven-plugin/tree/master/git-changelog-maven-plugin-example -->
<plugin>
<groupId>se.bjurr.gitchangelog</groupId>
<artifactId>git-changelog-maven-plugin</artifactId>
<version>${git-changelog-maven-plugin.version}</version>
<executions>
<execution>
<id>GenerateGitChangelog</id>
<phase>prepare-package</phase>
<goals>
<goal>git-changelog</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Assembly htdocs-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven-assembly-plugin.version}</version>
<dependencies>
<dependency>
<groupId>io.github.agrica</groupId>
<artifactId>ppa-changelog-assembly-descriptor</artifactId>
<version>${ppa-changelog-assembly-descriptor.version}</version>
</dependency>
</dependencies>
<configuration>
<appendAssemblyId>true</appendAssemblyId>
<tarLongFileMode>gnu</tarLongFileMode>
</configuration>
<executions>
<!-- Release Notes -->
<execution>
<id>make-assembly-release-notes</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptorRefs>
<descriptorRef>assembly-release-notes</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- To release to Maven central -->
<profile>
<id>ossrh-release</id>
<activation>
<property>
<name>ossrh-release</name>
</property>
</activation>
<properties>
<dist.snapshots.url>https://s01.oss.sonatype.org/content/repositories/snapshots</dist.snapshots.url>
<dist.releases.url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</dist.releases.url>
</properties>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<!-- To release to Maven central -->
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>${nexus-staging-maven-plugin.version}</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
<!-- To generate javadoc -->
<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>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- To sign the artifacts -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${maven-gpg-plugin.version}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>