Am 2019-05-27 um 21:50 schrieb Karl Heinz Marbaise:
Hi Michael,

On 27.05.19 21:26, Michael Osipov wrote:
Am 2019-05-27 um 20:53 schrieb Karl Heinz Marbaise:
Hi Michael,


On 26.05.19 23:15, Michael Osipov wrote:
Folks,

I am trying to investigate an issue with MINSTALL 3.0.0-M1 for MNG-6556
where the GroupRepositoryMetadata file is simply not written to disk,
thus the IT for MNG-3372 is failing.

As far as I can see everything in Maven 2 for this task has been moved
to Maven Artifact Transfer, Maven31ArtifactInstaller.

I do see in
for ( ArtifactMetadata metadata : mavenArtifact.getMetadataList() )
everything I need is there, but the instanceof tests simply ignore this
kind of metadata and it is never persisted to disk.

I am a bit lost because it looks like a several issue in our codebase.
Is the IT flawed and should exclude the Maven version which will include
MNG-6556 or am I just too stupid to see the obvious?

Here is a simple reproducer:
* Clone MINSTALL
I suppose you maven-install-plugin git repo? ..

Yes.

* Open pom.xml and add MINSTALL 3.0.0-M1 to override from parent

* Delete org/apache/maven/plugins from your local repo

* Use Maven 3.6.1 to install MINSTALL 3.0.0-M2-SNAPSHOT

maven-metadata-local.xml will *not* be generated, remove change in
pom.xml and repeat, metadata file is there.

Would be nice if someone can confirm this.


Hm...I've tried your steps:

plugins (master)$ ls -la maven-install-plugin/
3.0.0-M1/                 3.0.0-M2-SNAPSHOT/
maven-metadata-local.xml
plugins (master)$ ls -la maven-install-plugin/3.0.0-M2-SNAPSHOT/
total 96
drwxr-xr-x  6 khmarbaise  staff    192 May 27 20:35 .
drwxr-xr-x  5 khmarbaise  staff    160 May 27 20:35 ..
-rw-r--r--  1 khmarbaise  staff    231 May 27 20:35 _remote.repositories
-rw-r--r--  1 khmarbaise  staff  29457 May 27 20:35
maven-install-plugin-3.0.0-M2-SNAPSHOT.jar
-rw-r--r--  1 khmarbaise  staff   6346 May 27 20:30
maven-install-plugin-3.0.0-M2-SNAPSHOT.pom
-rw-r--r--  1 khmarbaise  staff    739 May 27 20:35
maven-metadata-local.xml
plugins (master)$ cat
maven-install-plugin/3.0.0-M2-SNAPSHOT/maven-metadata-local.xml
<?xml version="1.0" encoding="UTF-8"?>
<metadata modelVersion="1.1.0">
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-install-plugin</artifactId>
   <version>3.0.0-M2-SNAPSHOT</version>
   <versioning>
     <snapshot>
       <localCopy>true</localCopy>
     </snapshot>
     <lastUpdated>20190527183515</lastUpdated>
     <snapshotVersions>
       <snapshotVersion>
         <extension>jar</extension>
         <value>3.0.0-M2-SNAPSHOT</value>
         <updated>20190527183515</updated>
       </snapshotVersion>
       <snapshotVersion>
         <extension>pom</extension>
         <value>3.0.0-M2-SNAPSHOT</value>
         <updated>20190527183515</updated>
       </snapshotVersion>
     </snapshotVersions>
   </versioning>
</metadata>
plugins (master)$

and I get a written maven-metadata-local.xml file?

Do I miss something?

Yes, you do. I mean this maven-metadata-local.xml:
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <plugins>
    <plugin>
      <name>Other Name</name>
      <prefix>other-plugin</prefix>
      <artifactId>other-plugin</artifactId>
    </plugin>
  </plugins>
</metadata>

This is generated a level above the group id. This has to present, but
is not.

Ah sorry missed that ...

You are right now I see the issue ...

But the question is:

Why is this file needed and in particular by whom? I have to admit that
I haven't dived into the IT's for that...are those files only checked by
the IT's or is this related to something different?

Pre 3.0.0 have written those files to disk. The IT fail for MNG-3372, maybe the IT is broken. IT fails with:
PS 
D:\Entwicklung\Projekte\maven-integration-testing\core-it-suite\target\test-classes\mng-3372\direct-using-prefix\project>
 mvn mng3372:test  
"-Dmaven.repo.local=D:\Entwicklung\Projekte\maven-integration-testing\repo" -s 
..\settings.xml
[INFO] Scanning for projects...
Downloading from central: 
https://repo.maven.apache.org/maven2/org/apache/maven/its/mng3372/maven-metadata.xml
Downloading from central: 
https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml
Downloading from central: 
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml
Downloaded from central: 
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml
 (14 kB at 35 kB/s)
Downloaded from central: 
https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml (20 
kB at 51 kB/s)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.114 s
[INFO] Finished at: 2019-05-27T22:10:19+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] No plugin found for prefix 'mng3372' in the current project and in the 
plugin groups [org.apache.maven.its.mng3372, org.apache.maven.plugins, 
org.codehaus.mojo] available from the repositories [local 
(C:\Users\mosipov\.m2\repository), central (https://repo.maven.apache.org/maven2)] 
-> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please 
read the following articles:
[ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/NoPluginFoundForPrefixException
PS 
D:\Entwicklung\Projekte\maven-integration-testing\core-it-suite\target\test-classes\mng-337

As soon as I re-add the file:
PS 
D:\Entwicklung\Projekte\maven-integration-testing\core-it-suite\target\test-classes\mng-3372\direct-using-prefix\project>
 more 
D:\Entwicklung\Projekte\maven-integration-testing\repo\org\apache\maven\its\mng3372\maven-metadata-local.xml
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <plugins>
    <plugin>
      <name>mng3372-maven-plugin</name>
      <prefix>mng3372</prefix>
      <artifactId>mng3372-maven-plugin</artifactId>
    </plugin>
  </plugins>
</metadata>

PS 
D:\Entwicklung\Projekte\maven-integration-testing\core-it-suite\target\test-classes\mng-3372\direct-using-prefix\project>
 mvn mng3372:test  
"-Dmaven.repo.local=D:\Entwicklung\Projekte\maven-integration-testing\repo" -s 
..\settings.xml
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------< org.apache.maven.its.mng3372:project >----------------
[INFO] Building project 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- mng3372-maven-plugin:1:test (default-cli) @ project ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.348 s
[INFO] Finished at: 2019-05-27T22:11:36+02:00
[INFO] ------------------------------------------------------------------------


The same happens if you bump MDEPLOY to 3.0.0-M1 other ITs start to fail because the explicitly read that XML file and search for <prefix> element.

Michael


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to