release:finish goal is failing
rohit-kapoor1 opened this issue · comments
Hi everyone,
We are facing a blocker due to the release:finish goal not working. I have provided detailed description of the issue below. Please help us identify the root cause of our build failures.
Background
My team was previously using jgitflow-plugin previously for managing tagging and releases from the Jenkins CI server. Recently, we performed an upgrade to the CI/CD process and are now using the gitflow-maven-plugin. After the migration we have been facing issues while running the commands for this plugin.
Versions and System details
Jenkins: 2.332.1
OS: Windows Server 2016
Jenkins job type: Maven Project
Nexus: Nexus Repository Manager OSS 2.14.13-01
Project structure
We have two kinds of projects: master and child. Child projects utilize artifacts from the master(base repo). All the artefacts are pushed to Nexus Repository Manager deployed in the same network. We have individual jobs to build all these projects(downstream jobs). All the downstream jobs are working fine. We have a separate job to cut releases, which is using this plugin, and is failing miserably. This is the maven structure for the master repo:
[INFO] com.example.aem - example-aem-master-parent .......... SUCCESS [ 6.303 s]
[INFO] com.example.aem - example-aem-master-services ........ SUCCESS [ 1.495 s]
[INFO] com.example.aem - example-aem-master-clientlibs ...... SUCCESS [ 0.248 s]
[INFO] com.example.aem - example-aem-master-view ............ SUCCESS [ 0.885 s]
[INFO] com.example.aem - example-aem-master-config .......... SUCCESS [ 0.141 s]
[INFO] com.example.aem - example-aem-master-all ............. SUCCESS [ 0.167 s]
We use the following commands for our tagging and release functionality:
cd %PROJECT% && mvn -B gitflow:release-start -U -f "pom.xml" -s "E:\tools\Jenkins\jenkins_home\workspace\CUT-RELEASE\example-aem-master\example-settings.xml" -DgenerateBackupPoms=false -DexcludeReactor=true -Dmaven.repo.local="C:\Users\cons1\.m2\repository" -DargLine='-DprocessAllModules' -Dincludes=com.example.aem:* -DallowSnapshots=true -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
cd %PROJECT% && mvn -B gitflow:release-finish -U -f "pom.xml" -s "E:\tools\Jenkins\jenkins_home\workspace\CUT-RELEASE\example-aem-master\example-settings.xml" -DallowSnapshots=true -Dmaven.repo.local="C:\Users\cons1\.m2\repository" -DargLine='-DprocessAllModules' -DskipTests=true -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
Issue
When we try to run the release:finish goal on a master build(master repo), it fails. The same is building successfully when we run it for a child project.
Build Error
[ERROR] [ERROR] Failed to execute goal on project example-aem-master-view: Could not resolve dependencies for project com.example.aem:example-aem-master-view:content-package:2.0.18: Could not find artifact com.example.aem:example-aem-master-clientlibs:zip:2.0.18 in example_releases (http://example.com:9091/nexus/content/repositories/releases) -> [Help 1]
Parent POM of the master repo
<?xml version="1.0" encoding="UTF-8"?>
<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>com.example.aem</groupId>
<artifactId>example-aem-master-parent</artifactId>
<version>2.0.18-SNAPSHOT</version>
<packaging>pom</packaging>
<name>${project.groupId} - ${project.artifactId}</name>
<description>Parent Maven POM for the 'Example AEM Master' project.</description>
<!-- Modules -->
<modules>
<module>example-aem-master-services</module>
<module>example-aem-master-clientlibs</module>
<module>example-aem-master-view</module>
<module>example-aem-master-config</module>
<module>example-aem-master-all</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<project.parentdir>${project.baseUri}</project.parentdir>
<!--
the following CQ connection properties are the default out-of-the-box CQ settings and are used by all modules in this project.
you should override them in your local settings.xml file if your CQ environment is different.
-->
<aem.proto>http</aem.proto>
<aem.host>localhost</aem.host>
<aem.port>6402</aem.port>
<aem.user>xxx</aem.user>
<aem.password>xxx</aem.password>
<rootPath>${project.basedir}</rootPath>
<!-- version properties -->
<version.aem-uber-jar>6.4.0</version.aem-uber-jar>
<version.scr.annotations>1.12.0</version.scr.annotations>
<version.jackrabbit-jcr-commons>2.12.1</version.jackrabbit-jcr-commons>
<version.org.osgi.core>6.0.0</version.org.osgi.core>
<version.org.slf4j>1.7.6</version.org.slf4j>
<version.javax.servlet.api>2.5</version.javax.servlet.api>
<version.javax.jcr>2.0</version.javax.jcr>
<version.acs-aem-commons>4.1.0</version.acs-aem-commons>
<!-- version in OSGI = 1.8.3-R1658944 but, this cannot be found in nexus so using the one that can be found -->
<version.org.apache.felix.scr>1.8.2</version.org.apache.felix.scr>
<version.org.apache.commons.lang3>3.0.1</version.org.apache.commons.lang3>
<version.sling.models.api>1.1.0</version.sling.models.api>
<version.sling.fragment.xml>1.0.2</version.sling.fragment.xml>
<version.jshintmojo>1.6.0</version.jshintmojo>
<version.biz.aQute.bndlib>3.1.0</version.biz.aQute.bndlib>
<version.apache.sling.scripting.jsp>2.1.6</version.apache.sling.scripting.jsp>
<version.org.apache.sling.jcr.resource>2.5.0</version.org.apache.sling.jcr.resource>
<!-- Testing dependencies versions -->
<version.test.junit>4.12</version.test.junit>
<version.test.junit.addons>1.4</version.test.junit.addons>
<version.test.powermock>1.6.4</version.test.powermock>
<version.test.io.wcm.testing.aem-mock>1.7.0</version.test.io.wcm.testing.aem-mock>
<version.test.apache.sling.commons.testing>2.0.18</version.test.apache.sling.commons.testing>
<version.test.com.google.guava>r05</version.test.com.google.guava>
<version.test.hamcrest>1.3</version.test.hamcrest>
<version.test.apache.sling.commons.mime>2.1.8</version.test.apache.sling.commons.mime>
<version.test.apache.sling.testing.resourceresolver-mock>1.1.10</version.test.apache.sling.testing.resourceresolver-mock>
<version.test.apache.sling.testing.jcr-mock>1.1.10</version.test.apache.sling.testing.jcr-mock>
<version.test.apache.sling.testing.sling-mock>1.6.0</version.test.apache.sling.testing.sling-mock>
<version.test.apache.sling.testing.osgi-mock>1.7.0</version.test.apache.sling.testing.osgi-mock>
<version.test.apache.sling.testing.sling-mock-jackrabbit>1.0.0</version.test.apache.sling.testing.sling-mock-jackrabbit>
<version.test.apache.sling.testing.sling-mock-oak>1.0.0</version.test.apache.sling.testing.sling-mock-oak>
<version.test.mockito>1.10.19</version.test.mockito>
<version.test.easymock>3.4</version.test.easymock>
<!-- default to skip maven site plugin, -Dmaven.site.skip=false to override -->
<maven.site.skip>true</maven.site.skip>
<maven.site.plugin>3.5.1</maven.site.plugin>
<maven.project-info-reports.plugin>2.8.1</maven.project-info-reports.plugin>
<maven.javadoc.plugin>2.9</maven.javadoc.plugin>
<maven.jxr.plugin>2.2</maven.jxr.plugin>
<maven.pmd.plugin>3.5</maven.pmd.plugin>
<maven.versions.plugin>2.2</maven.versions.plugin>
<maven.taglist.plugin>2.4</maven.taglist.plugin>
<maven.findbugs.plugin>3.0.0</maven.findbugs.plugin>
<maven.jdepend.version>2.0-beta-2</maven.jdepend.version>
<maven.checkstyle.plugin>2.16</maven.checkstyle.plugin>
<maven.javancss.plugin>2.1</maven.javancss.plugin>
<maven.versions.plugin>1.3.1</maven.versions.plugin>
<maven.jacoco.version>0.7.6.201602180812</maven.jacoco.version>
<maven.license.plugin>2.2</maven.license.plugin>
<maven.release.plugin>2.1</maven.release.plugin>
<maven.source.plugin>2.0.4</maven.source.plugin>
<maven.resources.plugin>2.6</maven.resources.plugin>
<maven.idea.plugin>2.2</maven.idea.plugin>
<maven.eclipse.plugin>2.5.1</maven.eclipse.plugin>
<maven.taglib.plugin>2.4</maven.taglib.plugin>
<maven.bundle.plugin>3.2.0</maven.bundle.plugin>
<maven.scr.plugin>1.26.2</maven.scr.plugin>
<maven.content-package-maven.plugin>0.5.1</maven.content-package-maven.plugin>
<maven.clean.plugin>2.4.1</maven.clean.plugin>
<maven.compiler.plugin>3.1</maven.compiler.plugin>
<maven.install.plugin>2.3.1</maven.install.plugin>
<maven.surefire.plugin>2.18.1</maven.surefire.plugin>
<maven.failsafe.plugin>2.18</maven.failsafe.plugin>
<maven.sling.plugin>2.1.8</maven.sling.plugin>
<maven.lesscss.plugin>1.7.0.1.1</maven.lesscss.plugin>
<!-- <maven.jgitflow.plugin>1.0-m5.1</maven.jgitflow.plugin> -->
<maven.surefire-report.plugin>2.19.1</maven.surefire-report.plugin>
<maven.htl-maven.plugin>1.0.6</maven.htl-maven.plugin>
<version.jdk.source>1.8</version.jdk.source>
<version.jdk.target>1.8</version.jdk.target>
<version.apache.sling.commons.osgi>2.4.0</version.apache.sling.commons.osgi>
<version.json-simple>1.1.1</version.json-simple>
<!-- maven-sling-plugin properties -->
<maven.sling.plugin.usePut>true</maven.sling.plugin.usePut>
<nexus.release.url>http://example.com:9091/nexus/content/repositories/releases</nexus.release.url>
<nexus.snapshot.url>http://example.com:9091/nexus/content/repositories/snapshots</nexus.snapshot.url>
</properties>
<distributionManagement>
<repository>
<id>releases</id>
<name>Releases Repository</name>
<url>${nexus.release.url}</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Snapshots Repo</name>
<url>${nexus.snapshot.url}</url>
</snapshotRepository>
<site>
<id>${project.artifactId}-site</id>
<url>${project.baseUri}</url>
</site>
</distributionManagement>
<repositories>
<repository>
<id>releases</id>
<name>Example Public Releases Repository</name>
<layout>default</layout>
<url>http://example.com:9091/nexus/content/repositories/releases</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>snapshots</id>
<name>Example Public SnapshotsRepository</name>
<layout>default</layout>
<url>http://example.com:9091/nexus/content/repositories/snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
<repository>
<id>central</id>
<name>Maven Repository Switchboard</name>
<layout>default</layout>
<url>https://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>adobe-public-releases</id>
<name>Adobe Base Public Repository</name>
<url>https://repo.adobe.com/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>adobe-public</id>
<name>Adobe Releases Repository</name>
<layout>default</layout>
<url>https://repo.adobe.com/nexus/content/groups/public/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>adobe-public-snapshots</id>
<name>Adobe Public Snapshots Repository</name>
<layout>default</layout>
<url>https://repo.adobe.com/nexus/content/groups/public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</pluginRepository>
<pluginRepository>
<id>central</id>
<name>Maven Plugin Repository</name>
<url>https://repo1.maven.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
<pluginRepository>
<id>adobe-public-releases</id>
<name>Adobe Base Public Repository</name>
<url>https://repo.adobe.com/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<dependencyManagement>
<dependencies>
<!-- OSGi annotations for DS and metatype -->
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.core</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.cmpn</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.annotation</artifactId>
<version>6.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.component.annotations</artifactId>
<version>1.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.servlets.annotations</artifactId>
<version>1.2.4</version>
<scope>provided</scope>
</dependency>
<!--<dependency>-->
<!--<groupId>org.osgi</groupId>-->
<!--<artifactId>org.osgi.annotation</artifactId>-->
<!--<version>6.0.0</version>-->
<!--<scope>provided</scope>-->
<!--</dependency>-->
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.metatype.annotations</artifactId>
<version>1.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.component</artifactId>
<version>1.4.0</version>
<scope>provided</scope>
</dependency>
<!-- continue supporting old scr annotations -->
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr</artifactId>
<version>${version.org.apache.felix.scr}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr.annotations</artifactId>
<version>${version.scr.annotations}</version>
<scope>provided</scope>
</dependency>
<!-- Logging Dependencies -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${version.org.slf4j}</version>
<scope>provided</scope>
</dependency>
<!-- Apache Sling Dependencies -->
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.commons.osgi</artifactId>
<version>2.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.commons.johnzon</artifactId>
<version>1.0.0</version>
<scope>provided</scope>
</dependency>
<!-- javax.inject 1 -->
<dependency>
<artifactId>geronimo-atinject_1.0_spec</artifactId>
<version>1.0</version>
<groupId>org.apache.geronimo.specs</groupId>
<scope>provided</scope>
</dependency>
<!-- Jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.8.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.4</version>
<scope>provided</scope>
</dependency>
<!-- Servlet API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<!-- JCR -->
<dependency>
<groupId>javax.jcr</groupId>
<artifactId>jcr</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-jcr-commons</artifactId>
<version>2.12.1</version>
<scope>provided</scope>
</dependency>
<!-- Commons -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
<scope>provided</scope>
</dependency>
<!-- ACS Commons -->
<dependency>
<groupId>com.adobe.acs</groupId>
<artifactId>acs-aem-commons-content</artifactId>
<version>${version.acs-aem-commons}</version>
<classifier>min</classifier>
<type>content-package</type>
</dependency>
<dependency>
<groupId>com.adobe.acs</groupId>
<artifactId>acs-aem-commons-bundle</artifactId>
<version>${version.acs-aem-commons}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>17.0.0</version>
<scope>provided</scope>
</dependency>
<!--
AEM APIs; make sure to not move this bundle upper in the list so that newer APIs available in AEM but not in the Uber
Jar can be used as dependencies.
-->
<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>uber-jar</artifactId>
<version>6.4.0</version>
<classifier>apis</classifier>
<scope>provided</scope>
</dependency>
<!-- Testing -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit-addons</groupId>
<artifactId>junit-addons</artifactId>
<version>1.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${version.org.slf4j}</version>
<scope>test</scope>
</dependency>
<!-- MOCKITO -->
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>${version.test.hamcrest}</version>
<scope>test</scope>
</dependency>
<!-- MOCKITO -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>${version.test.mockito}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${version.test.mockito}</version>
<scope>test</scope>
</dependency>
<!-- EASY MOCK -->
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>${version.test.easymock}</version>
<scope>test</scope>
</dependency>
<!-- POWERMOCK -->
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>${version.test.powermock}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${version.test.powermock}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-easymock</artifactId>
<version>${version.test.powermock}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-core</artifactId>
<version>${version.test.powermock}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4-rule-agent</artifactId>
<version>${version.test.powermock}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4-rule</artifactId>
<version>${version.test.powermock}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-classloading-xstream</artifactId>
<version>${version.test.powermock}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.wcm</groupId>
<artifactId>io.wcm.testing.aem-mock.junit4</artifactId>
<version>2.3.2</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-imaging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.sling-mock.junit4</artifactId>
<version>2.3.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.servlet-helpers</artifactId>
<version>1.1.8</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.i18n</artifactId>
<version>2.4.4</version>
<scope>test</scope>
</dependency>
<!-- commons fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>${version.json-simple}</version>
</dependency>
<dependency>
<groupId>com.day.commons</groupId>
<artifactId>day.commons.datasource.poolservice</artifactId>
<version>1.0.10</version>
<scope>provided</scope>
</dependency>
<!-- For email -->
<dependency>
<artifactId>mail</artifactId>
<version>1.5.0-b01</version>
<groupId>javax.mail</groupId>
<scope>provided</scope>
</dependency>
<!-- needed for user info component dynamic include -->
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.dynamic-include</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>com.cj.jshintmojo</groupId>
<artifactId>jshint-maven-plugin</artifactId>
<version>${version.jshintmojo}</version>
<scope>provided</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${maven.jacoco.version}</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-prepare-agent-integration</id>
<goals>
<goal>prepare-agent-integration</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>default-report-integration</id>
<goals>
<goal>report-integration</goal>
</goals>
</execution>
<execution>
<id>default-check</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<rules>
<!-- implementation is needed only for Maven 2 -->
<rule implementation="org.jacoco.maven.RuleConfiguration">
<element>BUNDLE</element>
<limits>
<!-- implementation is needed only for Maven 2 -->
<limit implementation="org.jacoco.report.check.Limit">
<counter>COMPLEXITY</counter>
<value>COVEREDRATIO</value>
<minimum>0.00</minimum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!-- Maven License Plugin -->
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${maven.license.plugin}</version>
<configuration>
<header>${project.parentdir}/license.txt</header>
<properties>
<project.name>Adobe Public AEM</project.name>
<project.inceptionYear>2015-2016</project.inceptionYear>
</properties>
<includes>
<include>**/*.java</include>
</includes>
</configuration>
<executions>
<execution>
<phase>validate</phase>
<goals>
<!--<goal>check</goal>-->
<goal>format</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Maven Site Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>${maven.site.plugin}</version>
<configuration>
<stagingDirectory>${project.parentdir}/target/stage</stagingDirectory>
</configuration>
</plugin>
<!-- Maven Release Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>${maven.release.plugin}</version>
<configuration>
<scmCommentPrefix>[maven-scm] :</scmCommentPrefix>
<preparationGoals>clean install</preparationGoals>
<goals>install</goals>
<releaseProfiles>release</releaseProfiles>
</configuration>
</plugin>
<!-- Maven Source Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven.source.plugin}</version>
<inherited>true</inherited>
</plugin>
<!-- Maven Resources Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven.resources.plugin}</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- Maven Enforcer Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>[3.2.1,)</version>
</requireMavenVersion>
<requireJavaVersion>
<message>Project must be compiled with Java 8 or higher</message>
<version>1.8.0</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<!-- Maven IntelliJ IDEA Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-idea-plugin</artifactId>
<version>${maven.idea.plugin}</version>
<configuration>
<jdkLevel>${version.jdk.target}</jdkLevel>
<linkModules>true</linkModules>
<downloadSources>true</downloadSources>
</configuration>
</plugin>
<!-- Maven Eclipse Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>${maven.eclipse.plugin}</version>
<configuration>
<downloadSources>true</downloadSources>
</configuration>
</plugin>
<plugin>
<groupId>net.sourceforge.maven-taglib</groupId>
<artifactId>maven-taglib-plugin</artifactId>
<version>${maven.taglib.plugin}</version>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>${maven.bundle.plugin}</version>
<executions>
<!-- Configure extra execution of 'manifest' in process-classes phase to make sure SCR metadata is generated before unit test runs -->
<execution>
<id>scr-metadata</id>
<goals>
<goal>manifest</goal>
</goals>
<configuration>
<supportIncrementalBuild>true</supportIncrementalBuild>
</configuration>
</execution>
</executions>
<configuration>
<exportScr>true</exportScr>
<instructions>
<!-- Enable processing of OSGI DS component annotations -->
<_dsannotations>*</_dsannotations>
<!-- Enable processing of OSGI metatype annotations -->
<_metatypeannotations>*</_metatypeannotations>
<Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
<Embed-Directory>OSGI-INF/lib</Embed-Directory>
<Embed-Transitive>true</Embed-Transitive>
<!-- Support parsing of maven-scr-plugin annotations through the felix.scr.bnd plugin -->
<_plugin>org.apache.felix.scrplugin.bnd.SCRDescriptorBndPlugin;destdir=${project.build.outputDirectory}</_plugin>
</instructions>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr.bnd</artifactId>
<version>1.9.4</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-scr-plugin</artifactId>
<version>${maven.scr.plugin}</version>
<executions>
<execution>
<id>generate-scr-descriptor</id>
<goals>
<goal>scr</goal>
</goals>
<configuration>
<!-- Private service properties for all services. -->
<properties>
<service.vendor>Example</service.vendor>
</properties>
<strictMode>false</strictMode>
</configuration>
</execution>
</executions>
</plugin>
<!-- Content Package Plugin -->
<plugin>
<groupId>com.day.jcr.vault</groupId>
<artifactId>content-package-maven-plugin</artifactId>
<version>${maven.content-package-maven.plugin}</version>
<configuration>
<failOnError>true</failOnError>
<failOnMissingEmbed>true</failOnMissingEmbed>
<verbose>true</verbose>
<targetURL>${aem.proto}://${aem.host}:${aem.port}/crx/packmgr/service.jsp</targetURL>
<userId>${aem.user}</userId>
<password>${aem.password}</password>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.sling</groupId>
<artifactId>htl-maven-plugin</artifactId>
<version>${maven.htl-maven.plugin}</version>
<configuration>
<failOnWarnings>true</failOnWarnings>
</configuration>
<executions>
<execution>
<goals>
<goal>validate</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Apache Sling Plugin -->
<plugin>
<groupId>org.apache.sling</groupId>
<artifactId>maven-sling-plugin</artifactId>
<version>${maven.sling.plugin}</version>
<configuration>
<slingUrl>${aem.proto}://${aem.host}:${aem.port}/system/console</slingUrl>
<deploymentMethod>WebConsole</deploymentMethod>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven.clean.plugin}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin}</version>
<configuration>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<source>${version.jdk.source}</source>
<target>${version.jdk.target}</target>
</configuration>
</plugin>
<!-- Maven Installer Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>${maven.install.plugin}</version>
</plugin>
<!-- Maven Surefire Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.plugin}</version>
<configuration>
<argLine>-Xmx1024m ${argLine} -noverify -javaagent:${settings.localRepository}/org/powermock/powermock-module-javaagent/${version.test.powermock}/powermock-module-javaagent-${version.test.powermock}.jar</argLine>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit4</artifactId>
<version>${maven.surefire.plugin}</version>
</dependency>
</dependencies>
</plugin>
<!-- Maven Failsafe Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.plugin}</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit4</artifactId>
<version>${maven.surefire.plugin}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.lesscss</groupId>
<artifactId>lesscss-maven-plugin</artifactId>
<version>${maven.lesscss.plugin}</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.amashchenko.maven.plugin</groupId>
<artifactId>gitflow-maven-plugin</artifactId>
<version>1.18.0</version>
<configuration>
<fetchRemote>false</fetchRemote>
<versionDigitToIncrement>1</versionDigitToIncrement>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<!-- ====================================================== -->
<!--LOCALHOST -->
<!-- ====================================================== -->
<profile>
<id>localhost</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>env</name>
<value>localhost</value>
</property>
</activation>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
</profile>
<!-- ====================================================== -->
<!--LOCALHOST PUBLISH -->
<!-- ====================================================== -->
<profile>
<id>localhost-pub</id>
<activation>
<property>
<name>env</name>
<value>localhost-pub</value>
</property>
</activation>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<aem.port>4503</aem.port>
<maven.sling.plugin.usePut>false</maven.sling.plugin.usePut>
</properties>
</profile>
<profile>
<id>eclipse</id>
<build>
<pluginManagement>
<plugins>
<!--
this plugin holds configuration information for Maven plugins that the Eclipse m2e plugin does not know how to handle.
it does not affect the actual Maven build process.
you should activate the "eclipse" profile for this project and its sub-modules if you are working in Eclipse as it will remove
some of the error messages you see.
-->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>com.squeakysand.jsp</groupId>
<artifactId>jsptld-maven-plugin</artifactId>
<versionRange>[0.3.0,)</versionRange>
<goals>
<goal>generate</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute>
<runOnIncremental>true</runOnIncremental>
</execute>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.felix</groupId>
<artifactId>maven-scr-plugin</artifactId>
<versionRange>[1.26.2,)</versionRange>
<goals>
<goal>scr</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute>
<runOnIncremental>false</runOnIncremental>
</execute>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>
<reporting>
<excludeDefaults>true</excludeDefaults>
<!--<outputDirectory>${project.basedir}/target/site/</outputDirectory>-->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>${maven.project-info-reports.plugin}</version>
<configuration>
<dependencyDetailsEnabled>false</dependencyDetailsEnabled>
<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>index</report>
<report>summary</report>
<report>modules</report>
<report>scm</report>
<report>distribution-management</report>
<report>dependencies</report>
<report>issue-tracking</report>
<report>plugins</report>
<report>cim</report>
<report>license</report>
<report>dependency-management</report>
<report>project-team</report>
<report>dependency-convergence</report>
<report>plugin-management</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${maven.jacoco.version}</version>
<reportSets>
<reportSet><!-- by default, id = "default" -->
<reports><!-- select non-aggregate reports -->
<report>report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven.javadoc.plugin}</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
<reportSets>
<reportSet><!-- by default, id = "default" -->
<reports><!-- select non-aggregate reports -->
<report>javadoc</report>
<report>test-javadoc</report>
</reports>
</reportSet>
<reportSet><!-- aggregate reportSet, to define in poms having modules -->
<id>aggregate</id>
<inherited>false</inherited><!-- don't run aggregate in child modules -->
<reports>
<report>aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>${maven.jxr.plugin}</version>
<configuration>
<linkJavadoc>true</linkJavadoc>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${maven.checkstyle.plugin}</version>
<reportSets>
<reportSet><!-- by default, id = "default" -->
<reports><!-- select non-aggregate reports -->
<report>checkstyle</report>
</reports>
</reportSet>
<!-- commenting below because source links for checkstyle don't work -->
<!--<reportSet><!– aggregate reportSet, to define in poms having modules –>-->
<!--<id>checkstyle-aggregate</id>-->
<!--<inherited>false</inherited><!– don't run aggregate in child modules –>-->
<!--<reports>-->
<!--<report>checkstyle-aggregate</report>-->
<!--</reports>-->
<!--</reportSet>-->
</reportSets>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
<version>${maven.taglist.plugin}</version>
<configuration>
<aggregate>true</aggregate>
</configuration>
<reportSets>
<reportSet>
<!-- defines taglist reports in the modules -->
<id>taglist-report</id>
<reports>
<report>taglist</report>
</reports>
</reportSet>
<reportSet>
<!-- defines taglist aggregate report -->
<id>taglist-aggregate</id>
<inherited>false</inherited>
<reports>
<report>taglist</report>
</reports>
<configuration>
<aggregate>true</aggregate>
</configuration>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>${maven.findbugs.plugin}</version>
<configuration>
<xmlOutput>true</xmlOutput>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jdepend-maven-plugin</artifactId>
<version>${maven.jdepend.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${maven.pmd.plugin}</version>
<configuration>
<targetJdk>${version.jdk.target}</targetJdk>
<aggregate>true</aggregate>
</configuration>
<reportSets>
<reportSet>
<!-- defines pmd reports in the modules -->
<id>pmd-report</id>
<reports>
<report>pmd</report>
</reports>
</reportSet>
<reportSet>
<!-- defines pmd aggregate report -->
<id>pmd-aggregate</id>
<inherited>false</inherited>
<reports>
<report>pmd</report>
</reports>
</reportSet>
<reportSet>
<!-- defines cpd reports in the modules -->
<id>cpd-report</id>
<reports>
<report>cpd</report>
</reports>
</reportSet>
<reportSet>
<!-- defines cpd aggregate report -->
<id>cpd-aggregate</id>
<inherited>false</inherited>
<reports>
<report>cpd</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>${maven.surefire-report.plugin}</version>
<configuration>
<aggregate>true</aggregate>
</configuration>
<reportSets>
<reportSet>
<!-- defines unit test reports in the modules -->
<id>unit-tests</id>
<reports>
<report>report</report>
</reports>
</reportSet>
<reportSet>
<!-- defines aggregate unit test report -->
<id>unit-tests-aggregate</id>
<inherited>false</inherited>
<reports>
<report>report</report>
</reports>
</reportSet>
<reportSet>
<!-- defines integration test reports in the modules -->
<id>integration-tests</id>
<reports>
<report>failsafe-report-only</report>
</reports>
</reportSet>
<reportSet>
<!-- defines aggregate integration test report -->
<id>integration-tests-aggregate</id>
<inherited>false</inherited>
<reports>
<report>failsafe-report-only</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${maven.versions.plugin}</version>
<reportSets>
<reportSet>
<reports>
<report>dependency-updates-report</report>
<report>plugin-updates-report</report>
<report>property-updates-report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
</project>
@aleksandr-m Could you please help us here? Our production systems will get impacted if this does not get resolved by this week.
You should probably add custom settings and repo parameters to argLine
as well.