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/12/29 11:40:33 UTC

[maven-studies] branch maven-buildinfo-plugin updated: renamed buildinfo files in target like in repository

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

hboutemy pushed a commit to branch maven-buildinfo-plugin
in repository https://gitbox.apache.org/repos/asf/maven-studies.git


The following commit(s) were added to refs/heads/maven-buildinfo-plugin by this push:
     new fa94cf2  renamed buildinfo files in target like in repository
fa94cf2 is described below

commit fa94cf26b5dd83f5b9422e0aad83befabedb616a
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sun Dec 29 12:40:29 2019 +0100

    renamed buildinfo files in target like in repository
---
 src/it/mono/pom.xml                                |  2 +-
 src/it/mono/verify.groovy                          | 29 +++++++++++++----
 src/it/multi/pom.xml                               |  2 +-
 src/it/multi/verify.groovy                         | 36 ++++++++++++++--------
 .../apache/maven/plugins/buildinfo/SaveMojo.java   | 21 ++++++++-----
 5 files changed, 62 insertions(+), 28 deletions(-)

diff --git a/src/it/mono/pom.xml b/src/it/mono/pom.xml
index 062c57b..51292da 100644
--- a/src/it/mono/pom.xml
+++ b/src/it/mono/pom.xml
@@ -48,7 +48,7 @@
   <distributionManagement>
     <snapshotRepository>
       <id>local-snapshots</id>
-      <url>file://${basedir}/target/repo</url>
+      <url>file://${basedir}/target/remote-repo</url>
       <uniqueVersion>false</uniqueVersion>
     </snapshotRepository>
   </distributionManagement>
diff --git a/src/it/mono/verify.groovy b/src/it/mono/verify.groovy
index 6eedf1a..ff2d6e8 100644
--- a/src/it/mono/verify.groovy
+++ b/src/it/mono/verify.groovy
@@ -18,15 +18,32 @@
  * under the License.
  */
 
-File buildinfoFile = new File( basedir, "target/buildinfo" );
-
+// check existence of generated buildinfo in target
+File buildinfoFile = new File( basedir, "target/mono-1.0-SNAPSHOT.buildinfo" );
 assert buildinfoFile.isFile()
 
-File local = new File( basedir, "../../local-repo/org/apache/maven/plugins/it/mono/1.0-SNAPSHOT/mono-1.0-SNAPSHOT.buildinfo")
-
-assert local.isFile()
-
+// check generated buildinfo content
 String buildinfo = buildinfoFile.text
 
 assert buildinfo.contains( "outputs.0.filename=mono-1.0-SNAPSHOT.jar" )
 assert buildinfo.contains( "mvn.minimum.version=3.0.5" )
+
+// check existence of buildinfo in local repository
+File local = new File( basedir, "../../local-repo/org/apache/maven/plugins/it/mono/1.0-SNAPSHOT/mono-1.0-SNAPSHOT.buildinfo")
+assert local.isFile()
+
+// check existence of buildinfo in remote repository
+File remoteDir = new File( basedir, "target/remote-repo/org/apache/maven/plugins/it/mono/1.0-SNAPSHOT")
+  assert remoteDir.isDirectory()
+int count = 0;
+for ( File f : remoteDir.listFiles() )
+{
+  if ( f.getName().endsWith( ".pom" ) )
+  {
+    File b = new File( remoteDir, f.getName().replace( ".pom", ".buildinfo" ) )
+    println b
+    assert b.isFile()
+    count++
+  }
+}
+assert count > 0
diff --git a/src/it/multi/pom.xml b/src/it/multi/pom.xml
index 18251f4..5a13077 100644
--- a/src/it/multi/pom.xml
+++ b/src/it/multi/pom.xml
@@ -42,7 +42,7 @@
   <distributionManagement>
     <snapshotRepository>
       <id>local-snapshots</id>
-      <url>file://${basedir}/target/repo</url>
+      <url>file://${basedir}/target/remote-repo</url>
       <uniqueVersion>false</uniqueVersion>
     </snapshotRepository>
   </distributionManagement>
diff --git a/src/it/multi/verify.groovy b/src/it/multi/verify.groovy
index 5115f14..d3fbd00 100644
--- a/src/it/multi/verify.groovy
+++ b/src/it/multi/verify.groovy
@@ -18,27 +18,21 @@
  * under the License.
  */
 
-File buildinfoFile = new File( basedir, "target/buildinfo" );
-
+// check existence of generated buildinfos in target (1 per module + 1 aggregate in the last)
+File buildinfoFile = new File( basedir, "target/multi-1.0-SNAPSHOT.buildinfo" );
 assert buildinfoFile.isFile()
 
-File multi = new File( basedir, "../../local-repo/org/apache/maven/plugins/it/multi/1.0-SNAPSHOT/multi-1.0-SNAPSHOT.buildinfo")
-
-assert multi.isFile()
-
-File modA = new File( basedir, "../../local-repo/org/apache/maven/plugins/it/multi-modA/1.0-SNAPSHOT/multi-modA-1.0-SNAPSHOT.buildinfo")
-
+File modA = new File( basedir, "modA/target/multi-modA-1.0-SNAPSHOT.buildinfo")
 assert modA.isFile()
 
-File modB = new File( basedir, "../../local-repo/org/apache/maven/plugins/it/multi-modB/1.0-SNAPSHOT/multi-modB-1.0-SNAPSHOT.buildinfo")
-
+File modB = new File( basedir, "modB/target/multi-modB-1.0-SNAPSHOT.buildinfo")
 assert modB.isFile()
 
-File aggregate = new File( basedir, "../../local-repo/org/apache/maven/plugins/it/multi-modB/1.0-SNAPSHOT/multi-modB-1.0-SNAPSHOT-aggregate.buildinfo")
-
+File aggregate = new File( basedir, "modB/target/multi-modB-1.0-SNAPSHOT-aggregate.buildinfo")
 assert modB.isFile()
 
-String buildinfo = multi.text
+// check generated buildinfo content
+String buildinfo = buildinfoFile.text
 assert buildinfo.contains( "mvn.rebuild-args=-DskipTests verify" )
 assert buildinfo.contains( "mvn.aggregate-buildinfo=org.apache.maven.plugins.it:multi-modB:1.0-SNAPSHOT" )
 
@@ -56,3 +50,19 @@ assert buildinfo.contains( "mvn.build-root=org.apache.maven.plugins.it:multi:1.0
 assert buildinfo.contains( "outputs.0.filename=multi-modA-1.0-SNAPSHOT.jar" )
 assert buildinfo.contains( "mvn.build-root=org.apache.maven.plugins.it:multi:1.0-SNAPSHOT" )
 assert buildinfo.contains( "outputs.0.filename=multi-modB-1.0-SNAPSHOT.jar" )
+
+// check existence of buildinfos in local repository
+File local = new File( basedir, "../../local-repo/org/apache/maven/plugins/it/multi/1.0-SNAPSHOT/multi-1.0-SNAPSHOT.buildinfo")
+assert local.isFile()
+
+File localModA = new File( basedir, "../../local-repo/org/apache/maven/plugins/it/multi-modA/1.0-SNAPSHOT/multi-modA-1.0-SNAPSHOT.buildinfo")
+assert localModA.isFile()
+
+File localModB = new File( basedir, "../../local-repo/org/apache/maven/plugins/it/multi-modB/1.0-SNAPSHOT/multi-modB-1.0-SNAPSHOT.buildinfo")
+assert localModB.isFile()
+
+File localAggregate = new File( basedir, "../../local-repo/org/apache/maven/plugins/it/multi-modB/1.0-SNAPSHOT/multi-modB-1.0-SNAPSHOT-aggregate.buildinfo")
+assert localAggregate.isFile()
+
+// check existence of buildinfos in remote repository
+// TODO
\ No newline at end of file
diff --git a/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java b/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java
index fab2cd5..41da269 100644
--- a/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java
+++ b/src/main/java/org/apache/maven/plugins/buildinfo/SaveMojo.java
@@ -60,12 +60,20 @@ public class SaveMojo
     protected List<MavenProject> reactorProjects;
 
     /**
-     * Location of the buildinfo file.
+     * Location of the generated buildinfo file.
      */
-    @Parameter( defaultValue = "${project.build.directory}/buildinfo", required = true )
+    @Parameter( defaultValue = "${project.build.directory}/${project.artifactId}-${project.version}.buildinfo",
+                    required = true, readonly = true )
     private File buildinfoFile;
 
     /**
+     * Location of the eventually generated aggregate buildinfo file.
+     */
+    @Parameter( defaultValue = "${project.build.directory}/${project.artifactId}-${project.version}"
+        + "-aggregate.buildinfo", required = true, readonly = true )
+    private File aggregateBuildinfoFile;
+
+    /**
      * Specifies whether to attach the generated buildinfo file to the project.
      */
     @Parameter( property = "buildinfo.attach", defaultValue = "true" )
@@ -271,10 +279,9 @@ public class SaveMojo
     private File generateAggregateBuildinfo()
         throws MojoExecutionException
     {
-        File aggregate = new File( buildinfoFile.getParentFile(), "aggregate.buildinfo" );
         MavenProject root = getExecutionRoot();
         try ( PrintWriter p =
-            new PrintWriter( new BufferedWriter( new OutputStreamWriter( new FileOutputStream( aggregate ),
+            new PrintWriter( new BufferedWriter( new OutputStreamWriter( new FileOutputStream( aggregateBuildinfoFile ),
                                                                          Charsets.ISO_8859_1 ) ) ) )
         {
             printHeader( p, root );
@@ -294,12 +301,12 @@ public class SaveMojo
                 }
             }
 
-            getLog().info( "Saved aggregate info on build to " + aggregate );
+            getLog().info( "Saved aggregate info on build to " + aggregateBuildinfoFile );
         }
         catch ( IOException e )
         {
-            throw new MojoExecutionException( "Error creating file " + aggregate, e );
+            throw new MojoExecutionException( "Error creating file " + aggregateBuildinfoFile, e );
         }
-        return aggregate;
+        return aggregateBuildinfoFile;
     }
 }