You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2019/10/20 12:19:16 UTC

[maven] branch reproducible updated (f9fd74b -> 7acf2fc)

This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a change to branch reproducible
in repository https://gitbox.apache.org/repos/asf/maven.git.


 discard f9fd74b  use the new project.build.outputTimestamp property
 discard b079dcc  exclude IDE files that may pollute source archive
 discard 91a0a9c  add Git commit id to buildId
 discard dba6095  inject buildId into classifier for CI archive
 discard 70c17c0  temporary hack: disable sisu-maven-plugin
 discard 6817e46  try to fix node build
 discard 32043c7  skip plexus-component-metadata:generate-metadata
 discard a7d4de6  build on nodes instead of running ITs
 discard c83a631  temporary hack: disable sisu-maven-plugin
 discard 3562576  temporary hack: avoid plexus-component-metadata:merge-metadata
     new 98d407a  build on nodes instead of running ITs
     new d452f1d  temporary hack: avoid plexus-component-metadata:merge-metadata
     new 01facf0  temporary hack: disable sisu-maven-plugin
     new 844a34a  inject buildId into classifier for CI archive
     new c93d4d4  add Git commit id to buildId
     new 9e60a40  exclude IDE files that may pollute source archive
     new 7acf2fc  use the new project.build.outputTimestamp property

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (f9fd74b)
            \
             N -- N -- N   refs/heads/reproducible (7acf2fc)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:


[maven] 01/07: build on nodes instead of running ITs

Posted by hb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch reproducible
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 98d407a0ef94eb9184e9e7848d721fda1bcebb06
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sun Sep 22 12:25:49 2019 +0200

    build on nodes instead of running ITs
---
 Jenkinsfile | 66 ++++++++++++++++++++++++++-----------------------------------
 1 file changed, 28 insertions(+), 38 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 5d5d998..d3cc099 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -66,7 +66,7 @@ node(jenkinsEnv.nodeSelection(osNode)) {
             }
         }
 
-        tests = resolveScm source: [$class: 'GitSCMSource', credentialsId: '', id: '_', remote: 'https://gitbox.apache.org/repos/asf/maven-integration-testing.git', traits: [[$class: 'jenkins.plugins.git.traits.BranchDiscoveryTrait'], [$class: 'GitToolSCMSourceTrait', gitTool: 'Default']]], targets: [BRANCH_NAME, 'master']
+        tests = resolveScm source: [$class: 'GitSCMSource', credentialsId: '', id: '_', remote: 'https://gitbox.apache.org/repos/asf/maven.git', traits: [[$class: 'jenkins.plugins.git.traits.BranchDiscoveryTrait'], [$class: 'GitToolSCMSourceTrait', gitTool: 'Default']]], targets: [BRANCH_NAME, 'master']
     }
 }
 
@@ -78,48 +78,38 @@ for (String os in runITsOses) {
         String mvnName = jenkinsEnv.mvnFromVersion(os, "${runITsMvn}")
         echo "OS: ${os} JDK: ${jdk} => Label: ${osLabel} JDK: ${jdkName}"
 
+        def cmd = [
+          'mvn',
+          'verify',
+          '-DskipTests', '-Drat.skip'
+        ]
+        if (jdk == '7') {
+          // Java 7u80 has TLS 1.2 disabled by default: need to explicitely enable
+          cmd += '-Dhttps.protocols=TLSv1.2'
+        }
+
         String stageId = "${os}-jdk${jdk}"
-        String stageLabel = "Run ITs ${os.capitalize()} Java ${jdk}"
+        String stageLabel = "Rebuild ${os.capitalize()} Java ${jdk}"
         runITsTasks[stageId] = {
             node(jenkinsEnv.nodeSelection(osLabel)) {
+                def WORK_DIR=pwd()
                 stage("${stageLabel}") {
                     echo "NODE_NAME = ${env.NODE_NAME}"
-                    // on Windows, need a short path or we hit 256 character limit for paths
-                    // using EXECUTOR_NUMBER guarantees that concurrent builds on same agent
-                    // will not trample each other plus workaround for JENKINS-52657
-                    dir(isUnix() ? 'test' : "c:\\mvn-it-${EXECUTOR_NUMBER}.tmp") {
-                        def WORK_DIR=pwd()
-                        checkout tests
-                        if (isUnix()) {
-                            sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo"
-                        } else {
-                            bat "if exist it-local-repo rmdir /s /q it-local-repo"
-                            bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip"
-                        }
-                        unstash 'dist'
-                        try {
-                            withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[
-                                junitPublisher(ignoreAttachments: false)
-                            ]) {
-                                String cmd = "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip -Dmaven.test.failure.ignore=true"
-                                if (stageId.endsWith('-jdk7')) {
-                                    // Java 7u80 has TLS 1.2 disabled by default: need to explicitly enable
-                                    cmd = "${cmd} -Dhttps.protocols=TLSv1.2"
-                                }
-
-                                if (isUnix()) {
-                                    sh 'df -hT'
-                                    sh "${cmd}"
-                                } else {
-                                    bat 'wmic logicaldisk get size,freespace,caption'
-                                    bat "${cmd}"
-                                }
-                            }
-                        } finally {
-                            archiveDirs(stageId, ['core-it-suite-logs':'core-it-suite/target/test-classes',
-                                                  'core-it-suite-reports':'core-it-suite/target/surefire-reports'])
-                            deleteDir() // clean up after ourselves to reduce disk space
-                        }
+                    checkout tests
+                    withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/.repository", options:[
+                        artifactsPublisher(disabled: false),
+                        junitPublisher(ignoreAttachments: false),
+                        findbugsPublisher(disabled: false),
+                        openTasksPublisher(disabled: false),
+                        dependenciesFingerprintPublisher(),
+                        invokerPublisher(),
+                        pipelineGraphPublisher()
+                    ]) {
+                      if (isUnix()) {
+                        sh cmd.join(' ')
+                      } else {
+                        bat cmd.join(' ')
+                      }
                     }
                 }
             }


[maven] 03/07: temporary hack: disable sisu-maven-plugin

Posted by hb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch reproducible
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 01facf0764d84c8455c04bcac4a6aa31c1a61269
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sun Sep 22 12:19:23 2019 +0200

    temporary hack: disable sisu-maven-plugin
    
    waiting for a release of https://github.com/eclipse/sisu.inject/pull/5
---
 maven-core/pom.xml                                 |  4 +++-
 .../resources/META-INF/sisu/javax.inject.Named     | 13 +++++++++++
 maven-embedder/pom.xml                             |  4 +++-
 .../resources/META-INF/sisu/javax.inject.Named     |  2 ++
 maven-model-builder/pom.xml                        |  4 +++-
 .../resources/META-INF/sisu/javax.inject.Named     | 27 ++++++++++++++++++++++
 maven-resolver-provider/pom.xml                    |  4 +++-
 .../resources/META-INF/sisu/javax.inject.Named     |  5 ++++
 maven-settings-builder/pom.xml                     |  4 +++-
 .../resources/META-INF/sisu/javax.inject.Named     |  5 ++++
 pom.xml                                            |  1 +
 11 files changed, 68 insertions(+), 5 deletions(-)

diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index 532ea49..aa74750 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -210,10 +210,12 @@ under the License.
           </execution>
         </executions>
       </plugin>
+      <!-- disable plugin in favor of src/main/resources/META-INF/sisu/javax.inject.Named
+           while waiting for a release of https://github.com/eclipse/sisu.inject/pull/5
       <plugin>
         <groupId>org.eclipse.sisu</groupId>
         <artifactId>sisu-maven-plugin</artifactId>
-      </plugin>
+      </plugin-->
       <plugin>
         <groupId>org.codehaus.modello</groupId>
         <artifactId>modello-maven-plugin</artifactId>
diff --git a/maven-core/src/main/resources/META-INF/sisu/javax.inject.Named b/maven-core/src/main/resources/META-INF/sisu/javax.inject.Named
new file mode 100644
index 0000000..ad4854e
--- /dev/null
+++ b/maven-core/src/main/resources/META-INF/sisu/javax.inject.Named
@@ -0,0 +1,13 @@
+org.apache.maven.internal.aether.DefaultRepositorySystemSessionFactory
+org.apache.maven.DefaultArtifactFilterManager
+org.apache.maven.toolchain.building.DefaultToolchainsBuilder
+org.apache.maven.ReactorReader
+org.apache.maven.lifecycle.internal.DefaultProjectArtifactFactory
+org.apache.maven.toolchain.io.DefaultToolchainsReader
+org.apache.maven.execution.scope.internal.MojoExecutionScopeCoreModule
+org.apache.maven.classrealm.DefaultClassRealmManager
+org.apache.maven.execution.DefaultMavenExecutionRequestPopulator
+org.apache.maven.lifecycle.internal.LifecycleDependencyResolver
+org.apache.maven.session.scope.internal.SessionScopeModule
+org.apache.maven.extension.internal.CoreExportsProvider
+org.apache.maven.toolchain.io.DefaultToolchainsWriter
diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml
index 9c00974..a73bf44 100644
--- a/maven-embedder/pom.xml
+++ b/maven-embedder/pom.xml
@@ -193,10 +193,12 @@ under the License.
       </plugins>
     </pluginManagement>
     <plugins>
+      <!-- disable plugin in favor of src/main/resources/META-INF/sisu/javax.inject.Named
+           while waiting for a release of https://github.com/eclipse/sisu.inject/pull/5
       <plugin>
         <groupId>org.eclipse.sisu</groupId>
         <artifactId>sisu-maven-plugin</artifactId>
-      </plugin>
+      </plugin-->
       <plugin>
         <groupId>org.codehaus.modello</groupId>
         <artifactId>modello-maven-plugin</artifactId>
diff --git a/maven-embedder/src/main/resources/META-INF/sisu/javax.inject.Named b/maven-embedder/src/main/resources/META-INF/sisu/javax.inject.Named
new file mode 100644
index 0000000..db80b06
--- /dev/null
+++ b/maven-embedder/src/main/resources/META-INF/sisu/javax.inject.Named
@@ -0,0 +1,2 @@
+org.apache.maven.cli.configuration.SettingsXmlConfigurationProcessor
+org.apache.maven.cli.internal.BootstrapCoreExtensionManager
diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml
index 3861eb4..be966a6 100644
--- a/maven-model-builder/pom.xml
+++ b/maven-model-builder/pom.xml
@@ -93,10 +93,12 @@ under the License.
 
   <build>
     <plugins>
+      <!-- disable plugin in favor of src/main/resources/META-INF/sisu/javax.inject.Named
+           while waiting for a release of https://github.com/eclipse/sisu.inject/pull/5
       <plugin>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-component-metadata</artifactId>
-      </plugin>
+      </plugin-->
     </plugins>
   </build>
 
diff --git a/maven-model-builder/src/main/resources/META-INF/sisu/javax.inject.Named b/maven-model-builder/src/main/resources/META-INF/sisu/javax.inject.Named
new file mode 100644
index 0000000..30e36cd
--- /dev/null
+++ b/maven-model-builder/src/main/resources/META-INF/sisu/javax.inject.Named
@@ -0,0 +1,27 @@
+org.apache.maven.model.building.DefaultModelBuilder
+org.apache.maven.model.validation.DefaultModelValidator
+org.apache.maven.model.profile.activation.PropertyProfileActivator
+org.apache.maven.model.path.DefaultModelUrlNormalizer
+org.apache.maven.model.locator.DefaultModelLocator
+org.apache.maven.model.profile.activation.OperatingSystemProfileActivator
+org.apache.maven.model.plugin.DefaultReportConfigurationExpander
+org.apache.maven.model.interpolation.StringSearchModelInterpolator
+org.apache.maven.model.profile.activation.FileProfileActivator
+org.apache.maven.model.management.DefaultDependencyManagementInjector
+org.apache.maven.model.io.DefaultModelWriter
+org.apache.maven.model.building.DefaultModelProcessor
+org.apache.maven.model.path.DefaultPathTranslator
+org.apache.maven.model.composition.DefaultDependencyManagementImporter
+org.apache.maven.model.interpolation.StringVisitorModelInterpolator
+org.apache.maven.model.profile.DefaultProfileSelector
+org.apache.maven.model.inheritance.DefaultInheritanceAssembler
+org.apache.maven.model.plugin.DefaultReportingConverter
+org.apache.maven.model.profile.DefaultProfileInjector
+org.apache.maven.model.path.DefaultModelPathTranslator
+org.apache.maven.model.profile.activation.JdkVersionProfileActivator
+org.apache.maven.model.superpom.DefaultSuperPomProvider
+org.apache.maven.model.path.DefaultUrlNormalizer
+org.apache.maven.model.normalization.DefaultModelNormalizer
+org.apache.maven.model.plugin.DefaultPluginConfigurationExpander
+org.apache.maven.model.management.DefaultPluginManagementInjector
+org.apache.maven.model.io.DefaultModelReader
diff --git a/maven-resolver-provider/pom.xml b/maven-resolver-provider/pom.xml
index 3180d9a..d1655ec 100644
--- a/maven-resolver-provider/pom.xml
+++ b/maven-resolver-provider/pom.xml
@@ -121,10 +121,12 @@ under the License.
 
   <build>
     <plugins>
+      <!-- disable plugin in favor of src/main/resources/META-INF/sisu/javax.inject.Named
+           while waiting for a release of https://github.com/eclipse/sisu.inject/pull/5
       <plugin>
         <groupId>org.eclipse.sisu</groupId>
         <artifactId>sisu-maven-plugin</artifactId>
-      </plugin>
+      </plugin-->
     </plugins>
   </build>
 
diff --git a/maven-resolver-provider/src/main/resources/META-INF/sisu/javax.inject.Named b/maven-resolver-provider/src/main/resources/META-INF/sisu/javax.inject.Named
new file mode 100644
index 0000000..4a5a3e5
--- /dev/null
+++ b/maven-resolver-provider/src/main/resources/META-INF/sisu/javax.inject.Named
@@ -0,0 +1,5 @@
+org.apache.maven.repository.internal.DefaultVersionRangeResolver
+org.apache.maven.repository.internal.DefaultVersionResolver
+org.apache.maven.repository.internal.DefaultArtifactDescriptorReader
+org.apache.maven.repository.internal.SnapshotMetadataGeneratorFactory
+org.apache.maven.repository.internal.VersionsMetadataGeneratorFactory
diff --git a/maven-settings-builder/pom.xml b/maven-settings-builder/pom.xml
index a6ac8fb..401ba03 100644
--- a/maven-settings-builder/pom.xml
+++ b/maven-settings-builder/pom.xml
@@ -69,10 +69,12 @@ under the License.
 
   <build>
     <plugins>
+      <!-- disable plugin in favor of src/main/resources/META-INF/sisu/javax.inject.Named
+           while waiting for a release of https://github.com/eclipse/sisu.inject/pull/5
       <plugin>
         <groupId>org.eclipse.sisu</groupId>
         <artifactId>sisu-maven-plugin</artifactId>
-      </plugin>
+      </plugin-->
     </plugins>
   </build>
 
diff --git a/maven-settings-builder/src/main/resources/META-INF/sisu/javax.inject.Named b/maven-settings-builder/src/main/resources/META-INF/sisu/javax.inject.Named
new file mode 100644
index 0000000..1488b4c
--- /dev/null
+++ b/maven-settings-builder/src/main/resources/META-INF/sisu/javax.inject.Named
@@ -0,0 +1,5 @@
+org.apache.maven.settings.io.DefaultSettingsReader
+org.apache.maven.settings.io.DefaultSettingsWriter
+org.apache.maven.settings.building.DefaultSettingsBuilder
+org.apache.maven.settings.crypto.DefaultSettingsDecrypter
+org.apache.maven.settings.validation.DefaultSettingsValidator
diff --git a/pom.xml b/pom.xml
index 3a8234c..597953f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -535,6 +535,7 @@ under the License.
               <exclude>src/test/projects/**</exclude>
               <exclude>src/test/remote-repo/**</exclude>
               <exclude>**/*.odg</exclude>
+              <exclude>src/main/resources/META-INF/sisu/javax.inject.Named</exclude>
               <!--
                 ! Excluded the license files itself cause they do not have have a license of themselfs.
               -->


[maven] 06/07: exclude IDE files that may pollute source archive

Posted by hb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch reproducible
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 9e60a403a4f5780550d31c405bcaf9303128b125
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sat Sep 28 18:21:52 2019 +0200

    exclude IDE files that may pollute source archive
---
 apache-maven/src/main/assembly/src.xml | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/apache-maven/src/main/assembly/src.xml b/apache-maven/src/main/assembly/src.xml
index 6ca2550..45fc78b 100644
--- a/apache-maven/src/main/assembly/src.xml
+++ b/apache-maven/src/main/assembly/src.xml
@@ -35,6 +35,14 @@ under the License.
         <exclude>**/.gitattributes</exclude>
         <exclude>init-git-svn.sh</exclude>
         <exclude>**/.repository/**</exclude>
+        <exclude>**/.classpath</exclude>
+        <exclude>**/.project</exclude>
+        <exclude>**/.settings/**</exclude>
+        <exclude>**/*.iml</exclude>
+        <exclude>**/*.ipr</exclude>
+        <exclude>**/.idea/**</exclude>
+        <exclude>**/.DS_Store</exclude>
+        <exclude>**/build/**</exclude>
       </excludes>
     </fileSet>
     <fileSet>


[maven] 02/07: temporary hack: avoid plexus-component-metadata:merge-metadata

Posted by hb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch reproducible
in repository https://gitbox.apache.org/repos/asf/maven.git

commit d452f1d95be2e9be89320b6efc470614f0dd6c27
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sun Sep 22 12:01:07 2019 +0200

    temporary hack: avoid plexus-component-metadata:merge-metadata
    
    this goal is not reproducible
    see https://github.com/codehaus-plexus/plexus-containers/issues/27
---
 maven-core/pom.xml                                 |   14 +
 .../main/resources/META-INF/plexus/components.xml  | 1061 ++++++++++++++++++++
 2 files changed, 1075 insertions(+)

diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index 73c53c4..532ea49 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -33,6 +33,10 @@ under the License.
   <name>Maven Core</name>
   <description>Maven Core classes.</description>
 
+  <properties>
+    <skipTests>true</skipTests>
+  </properties>
+
   <dependencies>
     <!--  Maven -->
     <dependency>
@@ -195,6 +199,16 @@ under the License.
       <plugin>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-component-metadata</artifactId>
+        <executions>
+          <execution>
+            <!-- plexus-component-metadata:merge-metadata disabled in favor of src/main/resources/META-INF/plexus/components.xml
+                 while waiting for a fix to https://github.com/codehaus-plexus/plexus-containers/issues/27 -->
+            <phase>deploy</phase>
+            <goals>
+              <goal>generate-metadata</goal>
+            </goals>
+          </execution>
+        </executions>
       </plugin>
       <plugin>
         <groupId>org.eclipse.sisu</groupId>
diff --git a/maven-core/src/main/resources/META-INF/plexus/components.xml b/maven-core/src/main/resources/META-INF/plexus/components.xml
index 3f099cb..2dd9231 100644
--- a/maven-core/src/main/resources/META-INF/plexus/components.xml
+++ b/maven-core/src/main/resources/META-INF/plexus/components.xml
@@ -130,5 +130,1066 @@ under the License.
         <_configuration-file>~/.m2/settings-security.xml</_configuration-file>
       </configuration>
     </component>
+
+    <!-- trick to get Reproducible Build without waiting for a fix to https://github.com/codehaus-plexus/plexus-containers/issues/27 -->
+    <component>
+      <role>org.apache.maven.Maven</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.DefaultMaven</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.project.ProjectBuilder</role>
+          <field-name>projectBuilder</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.LifecycleStarter</role>
+          <field-name>lifecycleStarter</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.PlexusContainer</role>
+          <field-name>container</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.ExecutionEventCatapult</role>
+          <field-name>eventCatapult</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.LegacySupport</role>
+          <field-name>legacySupport</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.session.scope.internal.SessionScope</role>
+          <field-name>sessionScope</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.internal.aether.DefaultRepositorySystemSessionFactory</role>
+          <field-name>repositorySessionFactory</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.graph.GraphBuilder</role>
+          <role-hint>graphBuilder</role-hint>
+          <field-name>graphBuilder</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.ProjectDependenciesResolver</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.DefaultProjectDependenciesResolver</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.repository.RepositorySystem</role>
+          <field-name>repositorySystem</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.artifact.resolver.ResolutionErrorHandler</role>
+          <field-name>resolutionErrorHandler</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.artifact.factory.DefaultArtifactFactory</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.artifact.handler.manager.ArtifactHandlerManager</role>
+          <field-name>artifactHandlerManager</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.artifact.handler.manager.ArtifactHandlerManager</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.artifact.handler.manager.DefaultArtifactHandlerManager</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
+          <field-name>artifactHandlers</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.artifact.metadata.ArtifactMetadataSource</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.project.artifact.DefaultMetadataSource</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager</role>
+          <field-name>repositoryMetadataManager</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
+          <field-name>repositorySystem</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.PlexusContainer</role>
+          <field-name>container</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.project.artifact.MavenMetadataCache</role>
+          <field-name>cache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.LegacySupport</role>
+          <field-name>legacySupport</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.artifact.metadata.ArtifactMetadataSource</role>
+      <role-hint>maven</role-hint>
+      <implementation>org.apache.maven.project.artifact.MavenMetadataSource</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager</role>
+          <field-name>repositoryMetadataManager</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
+          <field-name>repositorySystem</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.PlexusContainer</role>
+          <field-name>container</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.project.artifact.MavenMetadataCache</role>
+          <field-name>cache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.LegacySupport</role>
+          <field-name>legacySupport</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.artifact.repository.metadata.io.MetadataReader</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.artifact.repository.metadata.io.DefaultMetadataReader</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.artifact.resolver.ResolutionErrorHandler</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.artifact.resolver.DefaultResolutionErrorHandler</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.bridge.MavenRepositorySystem</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.bridge.MavenRepositorySystem</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.artifact.handler.manager.ArtifactHandlerManager</role>
+          <field-name>artifactHandlerManager</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout</role>
+          <field-name>layouts</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.configuration.BeanConfigurator</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.configuration.internal.DefaultBeanConfigurator</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.eventspy.internal.EventSpyDispatcher</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.eventspy.internal.EventSpyDispatcher</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.eventspy.EventSpy</role>
+          <field-name>eventSpies</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.exception.ExceptionHandler</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.exception.DefaultExceptionHandler</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.graph.GraphBuilder</role>
+      <role-hint>graphBuilder</role-hint>
+      <implementation>org.apache.maven.graph.DefaultGraphBuilder</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.project.ProjectBuilder</role>
+          <field-name>projectBuilder</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.DefaultLifecycles</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.DefaultLifecycles</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.lifecycle.Lifecycle</role>
+          <field-name>lifecycles</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.LifeCyclePluginAnalyzer</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.DefaultLifecyclePluginAnalyzer</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
+          <field-name>lifecycleMappings</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.DefaultLifecycles</role>
+          <field-name>defaultLifeCycles</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.LifecycleExecutor</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.DefaultLifecycleExecutor</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.lifecycle.LifeCyclePluginAnalyzer</role>
+          <field-name>lifeCyclePluginAnalyzer</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.DefaultLifecycles</role>
+          <field-name>defaultLifeCycles</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator</role>
+          <field-name>lifecycleTaskSegmentCalculator</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator</role>
+          <field-name>lifecycleExecutionPlanCalculator</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.MojoExecutor</role>
+          <field-name>mojoExecutor</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.LifecycleStarter</role>
+          <field-name>lifecycleStarter</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.MojoDescriptorCreator</role>
+          <field-name>mojoDescriptorCreator</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.LifecycleMappingDelegate</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.DefaultLifecycleMappingDelegate</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.plugin.BuildPluginManager</role>
+          <field-name>pluginManager</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.MojoExecutionConfigurator</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.DefaultMojoExecutionConfigurator</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.internal.BuildListCalculator</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.BuildListCalculator</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.internal.ExecutionEventCatapult</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.internal.LifecycleDebugLogger</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.LifecycleDebugLogger</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.plugin.version.PluginVersionResolver</role>
+          <field-name>pluginVersionResolver</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.BuildPluginManager</role>
+          <field-name>pluginManager</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.DefaultLifecycles</role>
+          <field-name>defaultLifeCycles</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.MojoDescriptorCreator</role>
+          <field-name>mojoDescriptorCreator</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.LifecyclePluginResolver</role>
+          <field-name>lifecyclePluginResolver</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.LifecycleMappingDelegate</role>
+          <role-hint>default</role-hint>
+          <field-name>standardDelegate</field-name>
+        </requirement>
+        <requirement>
+          <role>java.util.Map</role>
+          <field-name>delegates</field-name>
+        </requirement>
+        <requirement>
+          <role>java.util.Map</role>
+          <field-name>mojoExecutionConfigurators</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.internal.LifecycleModuleBuilder</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.LifecycleModuleBuilder</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.MojoExecutor</role>
+          <field-name>mojoExecutor</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.builder.BuilderCommon</role>
+          <field-name>builderCommon</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.ExecutionEventCatapult</role>
+          <field-name>eventCatapult</field-name>
+        </requirement>
+        <requirement>
+          <role>java.util.List</role>
+          <field-name>projectExecutionListeners</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.session.scope.internal.SessionScope</role>
+          <field-name>sessionScope</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.internal.LifecyclePluginResolver</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.LifecyclePluginResolver</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.plugin.version.PluginVersionResolver</role>
+          <field-name>pluginVersionResolver</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.internal.LifecycleStarter</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.LifecycleStarter</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.ExecutionEventCatapult</role>
+          <field-name>eventCatapult</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.DefaultLifecycles</role>
+          <field-name>defaultLifeCycles</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.BuildListCalculator</role>
+          <field-name>buildListCalculator</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.LifecycleDebugLogger</role>
+          <field-name>lifecycleDebugLogger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator</role>
+          <field-name>lifecycleTaskSegmentCalculator</field-name>
+        </requirement>
+        <requirement>
+          <role>java.util.Map</role>
+          <field-name>builders</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.session.scope.internal.SessionScope</role>
+          <field-name>sessionScope</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.DefaultLifecycleTaskSegmentCalculator</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.MojoDescriptorCreator</role>
+          <field-name>mojoDescriptorCreator</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.LifecyclePluginResolver</role>
+          <field-name>lifecyclePluginResolver</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.internal.MojoDescriptorCreator</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.MojoDescriptorCreator</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.version.PluginVersionResolver</role>
+          <field-name>pluginVersionResolver</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.BuildPluginManager</role>
+          <field-name>pluginManager</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.prefix.PluginPrefixResolver</role>
+          <field-name>pluginPrefixResolver</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.LifecyclePluginResolver</role>
+          <field-name>lifecyclePluginResolver</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.internal.MojoExecutor</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.MojoExecutor</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.plugin.BuildPluginManager</role>
+          <field-name>pluginManager</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.MavenPluginManager</role>
+          <field-name>mavenPluginManager</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.LifecycleDependencyResolver</role>
+          <field-name>lifeCycleDependencyResolver</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.ExecutionEventCatapult</role>
+          <field-name>eventCatapult</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.internal.builder.Builder</role>
+      <role-hint>multithreaded</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.LifecycleModuleBuilder</role>
+          <field-name>lifecycleModuleBuilder</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.internal.builder.Builder</role>
+      <role-hint>singlethreaded</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.LifecycleModuleBuilder</role>
+          <field-name>lifecycleModuleBuilder</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.internal.builder.BuilderCommon</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.lifecycle.internal.builder.BuilderCommon</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.LifecycleDebugLogger</role>
+          <field-name>lifecycleDebugLogger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator</role>
+          <field-name>lifeCycleExecutionPlanCalculator</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.lifecycle.internal.ExecutionEventCatapult</role>
+          <field-name>eventCatapult</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.model.plugin.LifecycleBindingsInjector</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.model.plugin.DefaultLifecycleBindingsInjector</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.lifecycle.LifeCyclePluginAnalyzer</role>
+          <field-name>lifecycle</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.plugin.BuildPluginManager</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.plugin.DefaultBuildPluginManager</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.plugin.MavenPluginManager</role>
+          <field-name>mavenPluginManager</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.LegacySupport</role>
+          <field-name>legacySupport</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.execution.scope.internal.MojoExecutionScope</role>
+          <field-name>scope</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.execution.MojoExecutionListener</role>
+          <field-name>mojoExecutionListeners</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.plugin.ExtensionRealmCache</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.plugin.DefaultExtensionRealmCache</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.plugin.LegacySupport</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.plugin.internal.DefaultLegacySupport</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.plugin.MavenPluginManager</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.plugin.internal.DefaultMavenPluginManager</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.logging.LoggerManager</role>
+          <field-name>loggerManager</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.PlexusContainer</role>
+          <field-name>container</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.classrealm.ClassRealmManager</role>
+          <field-name>classRealmManager</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.PluginDescriptorCache</role>
+          <field-name>pluginDescriptorCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.PluginRealmCache</role>
+          <field-name>pluginRealmCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.internal.PluginDependenciesResolver</role>
+          <field-name>pluginDependenciesResolver</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.rtinfo.RuntimeInformation</role>
+          <field-name>runtimeInformation</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.ExtensionRealmCache</role>
+          <field-name>extensionRealmCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.version.PluginVersionResolver</role>
+          <field-name>pluginVersionResolver</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.PluginArtifactsCache</role>
+          <field-name>pluginArtifactsCache</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.plugin.PluginArtifactsCache</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.plugin.DefaultPluginArtifactsCache</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.plugin.PluginDescriptorCache</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.plugin.DefaultPluginDescriptorCache</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.plugin.PluginManager</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.plugin.internal.DefaultPluginManager</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.PlexusContainer</role>
+          <field-name>container</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.MavenPluginManager</role>
+          <field-name>pluginManager</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.version.PluginVersionResolver</role>
+          <field-name>pluginVersionResolver</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.prefix.PluginPrefixResolver</role>
+          <field-name>pluginPrefixResolver</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.LegacySupport</role>
+          <field-name>legacySupport</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.plugin.PluginRealmCache</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.plugin.DefaultPluginRealmCache</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.plugin.internal.PluginDependenciesResolver</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.eclipse.aether.RepositorySystem</role>
+          <field-name>repoSystem</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.plugin.prefix.PluginPrefixResolver</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.plugin.prefix.internal.DefaultPluginPrefixResolver</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.BuildPluginManager</role>
+          <field-name>pluginManager</field-name>
+        </requirement>
+        <requirement>
+          <role>org.eclipse.aether.RepositorySystem</role>
+          <field-name>repositorySystem</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.artifact.repository.metadata.io.MetadataReader</role>
+          <field-name>metadataReader</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.plugin.version.PluginVersionResolver</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.plugin.version.internal.DefaultPluginVersionResolver</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.eclipse.aether.RepositorySystem</role>
+          <field-name>repositorySystem</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.artifact.repository.metadata.io.MetadataReader</role>
+          <field-name>metadataReader</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.MavenPluginManager</role>
+          <field-name>pluginManager</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.project.MavenProjectHelper</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.project.DefaultMavenProjectHelper</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.artifact.handler.manager.ArtifactHandlerManager</role>
+          <field-name>artifactHandlerManager</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.project.ProjectBuilder</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.project.DefaultProjectBuilder</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.model.building.ModelBuilder</role>
+          <field-name>modelBuilder</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.model.building.ModelProcessor</role>
+          <field-name>modelProcessor</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.project.ProjectBuildingHelper</role>
+          <field-name>projectBuildingHelper</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.bridge.MavenRepositorySystem</role>
+          <field-name>repositorySystem</field-name>
+        </requirement>
+        <requirement>
+          <role>org.eclipse.aether.RepositorySystem</role>
+          <field-name>repoSystem</field-name>
+        </requirement>
+        <requirement>
+          <role>org.eclipse.aether.impl.RemoteRepositoryManager</role>
+          <field-name>repositoryManager</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.project.ProjectDependenciesResolver</role>
+          <field-name>dependencyResolver</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.project.ProjectBuildingHelper</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.project.DefaultProjectBuildingHelper</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.codehaus.plexus.PlexusContainer</role>
+          <field-name>container</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.classrealm.ClassRealmManager</role>
+          <field-name>classRealmManager</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.project.ProjectRealmCache</role>
+          <field-name>projectRealmCache</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.repository.RepositorySystem</role>
+          <field-name>repositorySystem</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.plugin.MavenPluginManager</role>
+          <field-name>pluginManager</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.project.ProjectDependenciesResolver</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.project.DefaultProjectDependenciesResolver</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.eclipse.aether.RepositorySystem</role>
+          <field-name>repoSystem</field-name>
+        </requirement>
+        <requirement>
+          <role>java.util.List</role>
+          <field-name>decorators</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.project.ProjectRealmCache</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.project.DefaultProjectRealmCache</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.project.artifact.MavenMetadataCache</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.project.artifact.DefaultMavenMetadataCache</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.project.artifact.ProjectArtifactsCache</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.project.artifact.DefaultProjectArtifactsCache</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+    </component>
+    <component>
+      <role>org.apache.maven.rtinfo.RuntimeInformation</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.rtinfo.internal.DefaultRuntimeInformation</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.settings.MavenSettingsBuilder</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.settings.DefaultMavenSettingsBuilder</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.settings.building.SettingsBuilder</role>
+          <field-name>settingsBuilder</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.toolchain.ToolchainFactory</role>
+      <role-hint>jdk</role-hint>
+      <implementation>org.apache.maven.toolchain.java.JavaToolchainFactory</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.toolchain.ToolchainManager</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.toolchain.DefaultToolchainManager</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.toolchain.ToolchainFactory</role>
+          <field-name>factories</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.toolchain.ToolchainManagerPrivate</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.toolchain.DefaultToolchainManagerPrivate</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.toolchain.ToolchainFactory</role>
+          <field-name>factories</field-name>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.apache.maven.toolchain.ToolchainsBuilder</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.toolchain.DefaultToolchainsBuilder</implementation>
+      <description></description>
+      <isolated-realm>false</isolated-realm>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.logging.Logger</role>
+          <field-name>logger</field-name>
+        </requirement>
+      </requirements>
+    </component>
+
   </components>
 </component-set>


[maven] 05/07: add Git commit id to buildId

Posted by hb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch reproducible
in repository https://gitbox.apache.org/repos/asf/maven.git

commit c93d4d4e65d0cf4ab0585480afdb3ec9e6601644
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Tue Sep 24 23:03:17 2019 +0200

    add Git commit id to buildId
---
 Jenkinsfile | 36 ++++++++++--------------------------
 pom.xml     |  1 +
 2 files changed, 11 insertions(+), 26 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 023179b..dfc49a3 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -26,30 +26,9 @@ def runITsOses = ['linux', 'windows']
 def runITsJdks = ['7', '8', '11','12']
 def runITsMvn = '3.6.0'
 def runITscommand = "mvn clean install -Prun-its,embedded -B -U -V" // -DmavenDistro=... -Dmaven.test.failure.ignore=true
-def tests
 
 try {
 
-def osNode = jenkinsEnv.labelForOS(buildOs) 
-node(jenkinsEnv.nodeSelection(osNode)) {
-    dir('build') {
-        stage('Checkout') {
-            checkout scm
-        }
-
-        def WORK_DIR=pwd()
-        def MAVEN_GOAL='verify'
-
-        stage('Configure deploy') {
-           if (env.BRANCH_NAME == 'master'){
-               MAVEN_GOAL='deploy'
-           }
-        }
-
-        tests = resolveScm source: [$class: 'GitSCMSource', credentialsId: '', id: '_', remote: 'https://gitbox.apache.org/repos/asf/maven.git', traits: [[$class: 'jenkins.plugins.git.traits.BranchDiscoveryTrait'], [$class: 'GitToolSCMSourceTrait', gitTool: 'Default']]], targets: [BRANCH_NAME, 'master']
-    }
-}
-
 Map runITsTasks = [:]
 for (String os in runITsOses) {
     for (def jdk in runITsJdks) {
@@ -61,21 +40,22 @@ for (String os in runITsOses) {
         def cmd = [
           'mvn', 'clean',
           'verify',
-          '-DskipTests', '-Drat.skip', "-DbuildId=${os}-jdk${jdk}"
+          '-DskipTests', '-Drat.skip'
         ]
         if (jdk == '7') {
           // Java 7u80 has TLS 1.2 disabled by default: need to explicitely enable
           cmd += '-Dhttps.protocols=TLSv1.2'
         }
+        cmd += "-DbuildId=${os}-jdk${jdk}"
 
         String stageId = "${os}-jdk${jdk}"
-        String stageLabel = "Rebuild ${os.capitalize()} Java ${jdk}"
+        String stageLabel = "${os.capitalize()} Java ${jdk}"
         runITsTasks[stageId] = {
             node(jenkinsEnv.nodeSelection(osLabel)) {
                 def WORK_DIR=pwd()
                 stage("${stageLabel}") {
                     echo "NODE_NAME = ${env.NODE_NAME}"
-                    checkout tests
+                    checkout scm
                     withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/.repository", options:[
                         artifactsPublisher(disabled: false),
                         junitPublisher(ignoreAttachments: false),
@@ -86,9 +66,13 @@ for (String os in runITsOses) {
                         pipelineGraphPublisher()
                     ]) {
                       if (isUnix()) {
-                        sh cmd.join(' ')
+                        String commitId = sh(returnStdout: true, script: 'git rev-parse HEAD')
+                        sh cmd.join(' ') + "-${commitId}"
                       } else {
-                        bat cmd.join(' ')
+                        String commitId = bat(returnStdout: true, script: 'git rev-parse HEAD').tokenize(' ')[-1].trim()
+                        echo "commitId = ${commitId}"
+                        echo "command = " + cmd.join(' ') + "-${commitId}"
+                        bat cmd.join(' ') + "-${commitId}"
                       }
                     }
                 }
diff --git a/pom.xml b/pom.xml
index 597953f..2db3f5e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -77,6 +77,7 @@ under the License.
     <checkstyle.violation.ignore>None</checkstyle.violation.ignore>
     <checkstyle.excludes>**/package-info.java</checkstyle.excludes>
     <source-date-epoch>1569085893</source-date-epoch>
+    <buildId>${os.name}-jdk${java.version}</buildId>
   </properties>
 
   <modules>


[maven] 07/07: use the new project.build.outputTimestamp property

Posted by hb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch reproducible
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 7acf2fc2777d277be4dae8c8111370a1aaa8ba3b
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sat Oct 5 19:29:14 2019 +0200

    use the new project.build.outputTimestamp property
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 2db3f5e..b914bd5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -76,7 +76,7 @@ under the License.
     <maven.site.path>ref/3-LATEST</maven.site.path>
     <checkstyle.violation.ignore>None</checkstyle.violation.ignore>
     <checkstyle.excludes>**/package-info.java</checkstyle.excludes>
-    <source-date-epoch>1569085893</source-date-epoch>
+    <project.build.outputTimestamp>2019-09-21T16:17:18Z</project.build.outputTimestamp>
     <buildId>${os.name}-jdk${java.version}</buildId>
   </properties>
 


[maven] 04/07: inject buildId into classifier for CI archive

Posted by hb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch reproducible
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 844a34a17b530a3020223b9de74cfc1fc16ce6b7
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Mon Sep 23 08:16:29 2019 +0200

    inject buildId into classifier for CI archive
---
 Jenkinsfile                            | 24 ++----------------------
 apache-maven/pom.xml                   |  8 ++++++--
 apache-maven/src/main/assembly/bin.xml |  2 +-
 apache-maven/src/main/assembly/src.xml |  2 +-
 4 files changed, 10 insertions(+), 26 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index d3cc099..023179b 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -46,26 +46,6 @@ node(jenkinsEnv.nodeSelection(osNode)) {
            }
         }
 
-        stage('Build / Unit Test') {
-            String jdkName = jenkinsEnv.jdkFromVersion(buildOs, buildJdk)
-            String mvnName = jenkinsEnv.mvnFromVersion(buildOs, buildMvn)
-            withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/.repository", options:[
-                artifactsPublisher(disabled: false),
-                junitPublisher(ignoreAttachments: false),
-                findbugsPublisher(disabled: false),
-                openTasksPublisher(disabled: false),
-                dependenciesFingerprintPublisher(),
-                invokerPublisher(),
-                pipelineGraphPublisher()
-            ]) {
-                sh "mvn clean ${MAVEN_GOAL} -B -U -e -fae -V -Dmaven.test.failure.ignore=true"
-            }
-            dir ('apache-maven/target') {
-                sh "mv apache-maven-*-bin.zip apache-maven-dist.zip"
-                stash includes: 'apache-maven-dist.zip', name: 'dist'
-            }
-        }
-
         tests = resolveScm source: [$class: 'GitSCMSource', credentialsId: '', id: '_', remote: 'https://gitbox.apache.org/repos/asf/maven.git', traits: [[$class: 'jenkins.plugins.git.traits.BranchDiscoveryTrait'], [$class: 'GitToolSCMSourceTrait', gitTool: 'Default']]], targets: [BRANCH_NAME, 'master']
     }
 }
@@ -79,9 +59,9 @@ for (String os in runITsOses) {
         echo "OS: ${os} JDK: ${jdk} => Label: ${osLabel} JDK: ${jdkName}"
 
         def cmd = [
-          'mvn',
+          'mvn', 'clean',
           'verify',
-          '-DskipTests', '-Drat.skip'
+          '-DskipTests', '-Drat.skip', "-DbuildId=${os}-jdk${jdk}"
         ]
         if (jdk == '7') {
           // Java 7u80 has TLS 1.2 disabled by default: need to explicitely enable
diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml
index ef6ce9b..48fed66 100644
--- a/apache-maven/pom.xml
+++ b/apache-maven/pom.xml
@@ -184,6 +184,7 @@ under the License.
             <configuration>
               <descriptors>
                 <descriptor>src/main/assembly/bin.xml</descriptor>
+                <descriptor>src/main/assembly/src.xml</descriptor>
               </descriptors>
             </configuration>
           </execution>
@@ -192,6 +193,7 @@ under the License.
       <plugin>
         <groupId>net.nicoulaj.maven.plugins</groupId>
         <artifactId>checksum-maven-plugin</artifactId>
+        <version>1.8</version>
         <executions>
           <execution>
             <id>source-release-checksum</id>
@@ -208,8 +210,10 @@ under the License.
             <fileSet>
               <directory>${project.build.directory}</directory>
               <includes>
-                <include>${project.artifactId}-${project.version}-bin.zip</include>
-                <include>${project.artifactId}-${project.version}-bin.tar.gz</include>
+                <include>${project.artifactId}-${project.version}-bin-${buildId}.zip</include>
+                <include>${project.artifactId}-${project.version}-bin-${buildId}.tar.gz</include>
+                <include>${project.artifactId}-${project.version}-src-${buildId}.zip</include>
+                <include>${project.artifactId}-${project.version}-src-${buildId}.tar.gz</include>
               </includes>
             </fileSet>
           </fileSets>
diff --git a/apache-maven/src/main/assembly/bin.xml b/apache-maven/src/main/assembly/bin.xml
index a04557d..85c02db 100644
--- a/apache-maven/src/main/assembly/bin.xml
+++ b/apache-maven/src/main/assembly/bin.xml
@@ -19,7 +19,7 @@ under the License.
 
 <assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
-  <id>bin</id>
+  <id>bin-${buildId}</id>
   <formats>
     <format>zip</format>
     <format>tar.gz</format>
diff --git a/apache-maven/src/main/assembly/src.xml b/apache-maven/src/main/assembly/src.xml
index 327ed52..6ca2550 100644
--- a/apache-maven/src/main/assembly/src.xml
+++ b/apache-maven/src/main/assembly/src.xml
@@ -19,7 +19,7 @@ under the License.
 
 <assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
-  <id>src</id>
+  <id>src-${buildId}</id>
   <formats>
     <format>zip</format>
     <format>tar.gz</format>