Re: svn commit: r1763929 - /maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java

2016-10-09 Thread Karl Heinz Marbaise

Hi Guillaume,

This is already used in other locations of the maven-artifact-transfer...

Maven30ArtifactRepositoryAdapter, Maven31ArtifactRepositoryAdapter, 
Maven30ArtifactDeployer, Maven31ArtifactDeployer...only to mention a few...


org.apache.maven.repository.legacy.metadata.ArtifactMetadata is not 
deprecated and the interface



public interface ArtifactMetadata
extends org.apache.maven.repository.legacy.metadata.ArtifactMetadata
{
void merge( ArtifactMetadata metadata );
}

So the question is simply if we need the merge method? But I'm not sure 
if we should go to legacy area here?


Someone who has a better suggestion/alternatives?


Kind regards
Karl Heinz


On 09/10/16 14:54, Guillaume Boué wrote:

The only quirk is that
org.apache.maven.artifact.metadata.ArtifactMetadata is deprecated... so
this would add usage of the deprecated interface in RepositoryManager.
What is the alternative for this?


Le 09/10/2016 à 14:36, Karl Heinz Marbaise a écrit :

Hi Buillaume,

On 09/10/16 14:28, Guillaume Boué wrote:

If the caller needs to force a different local repository than the one
in the Maven session, they can already call
"repositoryManager.setLocalRepositoryBasedir" on the building request
that is passed to ProjectInstaller. This is what the plugins using
ArtifactInstaller are already doing, and it would be simpler than
creating a whole new MavenArtifactRepository and passing that. Maybe
this ArtifactRepository parameter could even be removed?

For now, its current use by the ProjectInstaller is only to get the path
to the metadata to install checksums for them, and this is only needed
because there is no "getPathForLocalMetadata" on the RepositoryManager.
How about adding this method, that would delegate to proper
implementation classes for Maven 3.1 or 3.0?


Sounds better and cleaner...


Kind regards
Karl Heinz





Le 09/10/2016 à 11:31, Karl Heinz Marbaise a écrit :

Hi,

Yes it has been introduced by me...and yes not all plugins are using
it cause I would like to have some tests before spreading it to the
"world" of plugins..

Kind regards
Karl Heinz


On 09/10/16 11:07, Robert Scholte wrote:

Hi,

IIRC ProjectInstaller has been introduced recently, I can imagine it
hasn't been pushed to all plugins which should use it instead of the
ArtifactInstaller.
While implementing maven-artifact-transfer and using it in several
plugins I just hit these edge cases where the local repo is not always
the target repo.

Robert

On Sat, 08 Oct 2016 22:30:11 +0200, Guillaume Boué 
wrote:


Hi,

 From what I checked, I don't think those plugins should be impacted
since they use the ArtifactInstaller directly, and not the
ProjectInstaller.

But I can add an overload taking an ArtifactRepository which would
get
the path to the artifact with "artifactRepository.pathOf(artifact)".
And then go with the one using the RepositoryManager or not,
depending
on whether the ArtifactRepository is null or not.

Guillaume


Le 08/10/2016 à 22:11, Robert Scholte a écrit :

Hi Guillaume,

although this is often true, there are some plugins which create
their own local repository, for instance maven-invoker-plugin and
maven-dependency-plugin. In those cases you should pass the
ArtifactRepository.
So we will need those versions too, either as overloaded method or
restored where artifactRepository can be null.

thanks,
Robert


On Sat, 08 Oct 2016 20:43:58 +0200,  wrote:


Author: gboue
Date: Sat Oct  8 18:43:58 2016
New Revision: 1763929

URL: http://svn.apache.org/viewvc?rev=1763929=rev
Log:
[MSHARED-595] In DefaultProjectInstaller, the path to the local
repository should be retrieved from the RepositoryManager

We need to rely on the RepositoryManager to get a hold of the local
repository base directory.

Modified:
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java




Modified:
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java



URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java?rev=1763929=1763928=1763929=diff



==


---
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java


(original)
+++
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java


Sat Oct  8 18:43:58 2016
@@ -101,7 +101,7 @@ public class DefaultProjectInstaller
 {
 installer.install( buildingRequest,
Collections.singletonList( new ProjectArtifact( project )
) );
-installChecksums( buildingRequest,
artifactRepository, artifact, createChecksum );
+  

Re: svn commit: r1763929 - /maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java

2016-10-09 Thread Guillaume Boué
The only quirk is that 
org.apache.maven.artifact.metadata.ArtifactMetadata is deprecated... so 
this would add usage of the deprecated interface in RepositoryManager. 
What is the alternative for this?



Le 09/10/2016 à 14:36, Karl Heinz Marbaise a écrit :

Hi Buillaume,

On 09/10/16 14:28, Guillaume Boué wrote:

If the caller needs to force a different local repository than the one
in the Maven session, they can already call
"repositoryManager.setLocalRepositoryBasedir" on the building request
that is passed to ProjectInstaller. This is what the plugins using
ArtifactInstaller are already doing, and it would be simpler than
creating a whole new MavenArtifactRepository and passing that. Maybe
this ArtifactRepository parameter could even be removed?

For now, its current use by the ProjectInstaller is only to get the path
to the metadata to install checksums for them, and this is only needed
because there is no "getPathForLocalMetadata" on the RepositoryManager.
How about adding this method, that would delegate to proper
implementation classes for Maven 3.1 or 3.0?


Sounds better and cleaner...


Kind regards
Karl Heinz





Le 09/10/2016 à 11:31, Karl Heinz Marbaise a écrit :

Hi,

Yes it has been introduced by me...and yes not all plugins are using
it cause I would like to have some tests before spreading it to the
"world" of plugins..

Kind regards
Karl Heinz


On 09/10/16 11:07, Robert Scholte wrote:

Hi,

IIRC ProjectInstaller has been introduced recently, I can imagine it
hasn't been pushed to all plugins which should use it instead of the
ArtifactInstaller.
While implementing maven-artifact-transfer and using it in several
plugins I just hit these edge cases where the local repo is not always
the target repo.

Robert

On Sat, 08 Oct 2016 22:30:11 +0200, Guillaume Boué 
wrote:


Hi,

 From what I checked, I don't think those plugins should be impacted
since they use the ArtifactInstaller directly, and not the
ProjectInstaller.

But I can add an overload taking an ArtifactRepository which would 
get

the path to the artifact with "artifactRepository.pathOf(artifact)".
And then go with the one using the RepositoryManager or not, 
depending

on whether the ArtifactRepository is null or not.

Guillaume


Le 08/10/2016 à 22:11, Robert Scholte a écrit :

Hi Guillaume,

although this is often true, there are some plugins which create
their own local repository, for instance maven-invoker-plugin and
maven-dependency-plugin. In those cases you should pass the
ArtifactRepository.
So we will need those versions too, either as overloaded method or
restored where artifactRepository can be null.

thanks,
Robert


On Sat, 08 Oct 2016 20:43:58 +0200,  wrote:


Author: gboue
Date: Sat Oct  8 18:43:58 2016
New Revision: 1763929

URL: http://svn.apache.org/viewvc?rev=1763929=rev
Log:
[MSHARED-595] In DefaultProjectInstaller, the path to the local
repository should be retrieved from the RepositoryManager

We need to rely on the RepositoryManager to get a hold of the local
repository base directory.

Modified:
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java 





Modified:
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java 




URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java?rev=1763929=1763928=1763929=diff 




== 



---
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java 



(original)
+++
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java 



Sat Oct  8 18:43:58 2016
@@ -101,7 +101,7 @@ public class DefaultProjectInstaller
 {
 installer.install( buildingRequest,
Collections.singletonList( new ProjectArtifact( project )
) );
-installChecksums( buildingRequest,
artifactRepository, artifact, createChecksum );
+installChecksums( buildingRequest, artifact,
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository,
artifact, metadataFiles, createChecksum );
 }
 }
@@ -120,7 +120,7 @@ public class DefaultProjectInstaller
 if ( file != null && file.isFile() )
 {
 installer.install( buildingRequest,
Collections.singletonList( artifact ) );
-installChecksums( buildingRequest,
artifactRepository, artifact, createChecksum );
+installChecksums( buildingRequest, artifact,
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository,
artifact, metadataFiles, createChecksum 

Re: svn commit: r1763929 - /maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java

2016-10-09 Thread Karl Heinz Marbaise

Hi Buillaume,

On 09/10/16 14:28, Guillaume Boué wrote:

If the caller needs to force a different local repository than the one
in the Maven session, they can already call
"repositoryManager.setLocalRepositoryBasedir" on the building request
that is passed to ProjectInstaller. This is what the plugins using
ArtifactInstaller are already doing, and it would be simpler than
creating a whole new MavenArtifactRepository and passing that. Maybe
this ArtifactRepository parameter could even be removed?

For now, its current use by the ProjectInstaller is only to get the path
to the metadata to install checksums for them, and this is only needed
because there is no "getPathForLocalMetadata" on the RepositoryManager.
How about adding this method, that would delegate to proper
implementation classes for Maven 3.1 or 3.0?


Sounds better and cleaner...


Kind regards
Karl Heinz





Le 09/10/2016 à 11:31, Karl Heinz Marbaise a écrit :

Hi,

Yes it has been introduced by me...and yes not all plugins are using
it cause I would like to have some tests before spreading it to the
"world" of plugins..

Kind regards
Karl Heinz


On 09/10/16 11:07, Robert Scholte wrote:

Hi,

IIRC ProjectInstaller has been introduced recently, I can imagine it
hasn't been pushed to all plugins which should use it instead of the
ArtifactInstaller.
While implementing maven-artifact-transfer and using it in several
plugins I just hit these edge cases where the local repo is not always
the target repo.

Robert

On Sat, 08 Oct 2016 22:30:11 +0200, Guillaume Boué 
wrote:


Hi,

 From what I checked, I don't think those plugins should be impacted
since they use the ArtifactInstaller directly, and not the
ProjectInstaller.

But I can add an overload taking an ArtifactRepository which would get
the path to the artifact with "artifactRepository.pathOf(artifact)".
And then go with the one using the RepositoryManager or not, depending
on whether the ArtifactRepository is null or not.

Guillaume


Le 08/10/2016 à 22:11, Robert Scholte a écrit :

Hi Guillaume,

although this is often true, there are some plugins which create
their own local repository, for instance maven-invoker-plugin and
maven-dependency-plugin. In those cases you should pass the
ArtifactRepository.
So we will need those versions too, either as overloaded method or
restored where artifactRepository can be null.

thanks,
Robert


On Sat, 08 Oct 2016 20:43:58 +0200,  wrote:


Author: gboue
Date: Sat Oct  8 18:43:58 2016
New Revision: 1763929

URL: http://svn.apache.org/viewvc?rev=1763929=rev
Log:
[MSHARED-595] In DefaultProjectInstaller, the path to the local
repository should be retrieved from the RepositoryManager

We need to rely on the RepositoryManager to get a hold of the local
repository base directory.

Modified:
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java



Modified:
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java


URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java?rev=1763929=1763928=1763929=diff


==

---
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java

(original)
+++
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java

Sat Oct  8 18:43:58 2016
@@ -101,7 +101,7 @@ public class DefaultProjectInstaller
 {
 installer.install( buildingRequest,
Collections.singletonList( new ProjectArtifact( project )
) );
-installChecksums( buildingRequest,
artifactRepository, artifact, createChecksum );
+installChecksums( buildingRequest, artifact,
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository,
artifact, metadataFiles, createChecksum );
 }
 }
@@ -120,7 +120,7 @@ public class DefaultProjectInstaller
 if ( file != null && file.isFile() )
 {
 installer.install( buildingRequest,
Collections.singletonList( artifact ) );
-installChecksums( buildingRequest,
artifactRepository, artifact, createChecksum );
+installChecksums( buildingRequest, artifact,
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository,
artifact, metadataFiles, createChecksum );
 }
 else if ( !attachedArtifacts.isEmpty() )
@@ -139,7 +139,7 @@ public class DefaultProjectInstaller
 for ( Artifact attached : attachedArtifacts )
 {
 installer.install( buildingRequest,
Collections.singletonList( attached ) 

Re: svn commit: r1763929 - /maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java

2016-10-09 Thread Guillaume Boué
If the caller needs to force a different local repository than the one 
in the Maven session, they can already call 
"repositoryManager.setLocalRepositoryBasedir" on the building request 
that is passed to ProjectInstaller. This is what the plugins using 
ArtifactInstaller are already doing, and it would be simpler than 
creating a whole new MavenArtifactRepository and passing that. Maybe 
this ArtifactRepository parameter could even be removed?


For now, its current use by the ProjectInstaller is only to get the path 
to the metadata to install checksums for them, and this is only needed 
because there is no "getPathForLocalMetadata" on the RepositoryManager. 
How about adding this method, that would delegate to proper 
implementation classes for Maven 3.1 or 3.0?



Le 09/10/2016 à 11:31, Karl Heinz Marbaise a écrit :

Hi,

Yes it has been introduced by me...and yes not all plugins are using 
it cause I would like to have some tests before spreading it to the 
"world" of plugins..


Kind regards
Karl Heinz


On 09/10/16 11:07, Robert Scholte wrote:

Hi,

IIRC ProjectInstaller has been introduced recently, I can imagine it
hasn't been pushed to all plugins which should use it instead of the
ArtifactInstaller.
While implementing maven-artifact-transfer and using it in several
plugins I just hit these edge cases where the local repo is not always
the target repo.

Robert

On Sat, 08 Oct 2016 22:30:11 +0200, Guillaume Boué 
wrote:


Hi,

 From what I checked, I don't think those plugins should be impacted
since they use the ArtifactInstaller directly, and not the
ProjectInstaller.

But I can add an overload taking an ArtifactRepository which would get
the path to the artifact with "artifactRepository.pathOf(artifact)".
And then go with the one using the RepositoryManager or not, depending
on whether the ArtifactRepository is null or not.

Guillaume


Le 08/10/2016 à 22:11, Robert Scholte a écrit :

Hi Guillaume,

although this is often true, there are some plugins which create
their own local repository, for instance maven-invoker-plugin and
maven-dependency-plugin. In those cases you should pass the
ArtifactRepository.
So we will need those versions too, either as overloaded method or
restored where artifactRepository can be null.

thanks,
Robert


On Sat, 08 Oct 2016 20:43:58 +0200,  wrote:


Author: gboue
Date: Sat Oct  8 18:43:58 2016
New Revision: 1763929

URL: http://svn.apache.org/viewvc?rev=1763929=rev
Log:
[MSHARED-595] In DefaultProjectInstaller, the path to the local
repository should be retrieved from the RepositoryManager

We need to rely on the RepositoryManager to get a hold of the local
repository base directory.

Modified:
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java 




Modified:
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java 



URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java?rev=1763929=1763928=1763929=diff 



== 


---
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java 


(original)
+++
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java 


Sat Oct  8 18:43:58 2016
@@ -101,7 +101,7 @@ public class DefaultProjectInstaller
 {
 installer.install( buildingRequest,
Collections.singletonList( new ProjectArtifact( project )
) );
-installChecksums( buildingRequest,
artifactRepository, artifact, createChecksum );
+installChecksums( buildingRequest, artifact,
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository,
artifact, metadataFiles, createChecksum );
 }
 }
@@ -120,7 +120,7 @@ public class DefaultProjectInstaller
 if ( file != null && file.isFile() )
 {
 installer.install( buildingRequest,
Collections.singletonList( artifact ) );
-installChecksums( buildingRequest,
artifactRepository, artifact, createChecksum );
+installChecksums( buildingRequest, artifact,
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository,
artifact, metadataFiles, createChecksum );
 }
 else if ( !attachedArtifacts.isEmpty() )
@@ -139,7 +139,7 @@ public class DefaultProjectInstaller
 for ( Artifact attached : attachedArtifacts )
 {
 installer.install( buildingRequest,
Collections.singletonList( attached ) );
-installChecksums( buildingRequest, artifactRepository,
attached, 

Re: svn commit: r1763929 - /maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java

2016-10-09 Thread Karl Heinz Marbaise

Hi,

Yes it has been introduced by me...and yes not all plugins are using it 
cause I would like to have some tests before spreading it to the "world" 
of plugins..


Kind regards
Karl Heinz


On 09/10/16 11:07, Robert Scholte wrote:

Hi,

IIRC ProjectInstaller has been introduced recently, I can imagine it
hasn't been pushed to all plugins which should use it instead of the
ArtifactInstaller.
While implementing maven-artifact-transfer and using it in several
plugins I just hit these edge cases where the local repo is not always
the target repo.

Robert

On Sat, 08 Oct 2016 22:30:11 +0200, Guillaume Boué 
wrote:


Hi,

 From what I checked, I don't think those plugins should be impacted
since they use the ArtifactInstaller directly, and not the
ProjectInstaller.

But I can add an overload taking an ArtifactRepository which would get
the path to the artifact with "artifactRepository.pathOf(artifact)".
And then go with the one using the RepositoryManager or not, depending
on whether the ArtifactRepository is null or not.

Guillaume


Le 08/10/2016 à 22:11, Robert Scholte a écrit :

Hi Guillaume,

although this is often true, there are some plugins which create
their own local repository, for instance maven-invoker-plugin and
maven-dependency-plugin. In those cases you should pass the
ArtifactRepository.
So we will need those versions too, either as overloaded method or
restored where artifactRepository can be null.

thanks,
Robert


On Sat, 08 Oct 2016 20:43:58 +0200,  wrote:


Author: gboue
Date: Sat Oct  8 18:43:58 2016
New Revision: 1763929

URL: http://svn.apache.org/viewvc?rev=1763929=rev
Log:
[MSHARED-595] In DefaultProjectInstaller, the path to the local
repository should be retrieved from the RepositoryManager

We need to rely on the RepositoryManager to get a hold of the local
repository base directory.

Modified:
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java


Modified:
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java

URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java?rev=1763929=1763928=1763929=diff

==
---
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java
(original)
+++
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java
Sat Oct  8 18:43:58 2016
@@ -101,7 +101,7 @@ public class DefaultProjectInstaller
 {
 installer.install( buildingRequest,
Collections.singletonList( new ProjectArtifact( project )
) );
-installChecksums( buildingRequest,
artifactRepository, artifact, createChecksum );
+installChecksums( buildingRequest, artifact,
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository,
artifact, metadataFiles, createChecksum );
 }
 }
@@ -120,7 +120,7 @@ public class DefaultProjectInstaller
 if ( file != null && file.isFile() )
 {
 installer.install( buildingRequest,
Collections.singletonList( artifact ) );
-installChecksums( buildingRequest,
artifactRepository, artifact, createChecksum );
+installChecksums( buildingRequest, artifact,
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository,
artifact, metadataFiles, createChecksum );
 }
 else if ( !attachedArtifacts.isEmpty() )
@@ -139,7 +139,7 @@ public class DefaultProjectInstaller
 for ( Artifact attached : attachedArtifacts )
 {
 installer.install( buildingRequest,
Collections.singletonList( attached ) );
-installChecksums( buildingRequest, artifactRepository,
attached, createChecksum );
+installChecksums( buildingRequest, attached,
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository,
attached, metadataFiles, createChecksum );
 }
@@ -153,12 +153,12 @@ public class DefaultProjectInstaller
  * the original POM file (cf. MNG-2820). While the plugin
currently requires Maven 2.0.6, we continue to hash the
  * installed POM for robustness with regard to future changes
like re-introducing some kind of POM filtering.
  *
+ * @param buildingRequest The project building request, must
not be null.
  * @param artifact The artifact for which to create checksums,
must not be null.
  * @param createChecksum {@code true} if checksum should be
created, otherwise {@code false}.
  * @throws IOException If the checksums could not be installed.
  */
-

Re: svn commit: r1763929 - /maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java

2016-10-09 Thread Robert Scholte

Hi,

IIRC ProjectInstaller has been introduced recently, I can imagine it  
hasn't been pushed to all plugins which should use it instead of the  
ArtifactInstaller.
While implementing maven-artifact-transfer and using it in several plugins  
I just hit these edge cases where the local repo is not always the target  
repo.


Robert

On Sat, 08 Oct 2016 22:30:11 +0200, Guillaume Boué   
wrote:



Hi,

 From what I checked, I don't think those plugins should be impacted  
since they use the ArtifactInstaller directly, and not the  
ProjectInstaller.


But I can add an overload taking an ArtifactRepository which would get  
the path to the artifact with "artifactRepository.pathOf(artifact)". And  
then go with the one using the RepositoryManager or not, depending on  
whether the ArtifactRepository is null or not.


Guillaume


Le 08/10/2016 à 22:11, Robert Scholte a écrit :

Hi Guillaume,

although this is often true, there are some plugins which create their  
own local repository, for instance maven-invoker-plugin and  
maven-dependency-plugin. In those cases you should pass the  
ArtifactRepository.
So we will need those versions too, either as overloaded method or  
restored where artifactRepository can be null.


thanks,
Robert


On Sat, 08 Oct 2016 20:43:58 +0200,  wrote:


Author: gboue
Date: Sat Oct  8 18:43:58 2016
New Revision: 1763929

URL: http://svn.apache.org/viewvc?rev=1763929=rev
Log:
[MSHARED-595] In DefaultProjectInstaller, the path to the local  
repository should be retrieved from the RepositoryManager


We need to rely on the RepositoryManager to get a hold of the local  
repository base directory.


Modified:
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java

Modified:  
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java
URL:  
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java?rev=1763929=1763928=1763929=diff
==  
---  
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java  
(original)
+++  
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java  
Sat Oct  8 18:43:58 2016

@@ -101,7 +101,7 @@ public class DefaultProjectInstaller
 {
 installer.install( buildingRequest,
Collections.singletonList( new ProjectArtifact( project ) )  
);
-installChecksums( buildingRequest,  
artifactRepository, artifact, createChecksum );
+installChecksums( buildingRequest, artifact,  
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository,  
artifact, metadataFiles, createChecksum );

 }
 }
@@ -120,7 +120,7 @@ public class DefaultProjectInstaller
 if ( file != null && file.isFile() )
 {
 installer.install( buildingRequest,  
Collections.singletonList( artifact ) );
-installChecksums( buildingRequest,  
artifactRepository, artifact, createChecksum );
+installChecksums( buildingRequest, artifact,  
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository,  
artifact, metadataFiles, createChecksum );

 }
 else if ( !attachedArtifacts.isEmpty() )
@@ -139,7 +139,7 @@ public class DefaultProjectInstaller
 for ( Artifact attached : attachedArtifacts )
 {
 installer.install( buildingRequest,  
Collections.singletonList( attached ) );
-installChecksums( buildingRequest, artifactRepository,  
attached, createChecksum );
+installChecksums( buildingRequest, attached,  
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository,  
attached, metadataFiles, createChecksum );

 }
@@ -153,12 +153,12 @@ public class DefaultProjectInstaller
  * the original POM file (cf. MNG-2820). While the plugin  
currently requires Maven 2.0.6, we continue to hash the
  * installed POM for robustness with regard to future changes  
like re-introducing some kind of POM filtering.

  *
+ * @param buildingRequest The project building request, must not  
be null.
  * @param artifact The artifact for which to create checksums,  
must not be null.
  * @param createChecksum {@code true} if checksum should be  
created, otherwise {@code false}.

  * @throws IOException If the checksums could not be installed.
  */
-private void installChecksums( ProjectBuildingRequest  
buildingRequest, ArtifactRepository artifactRepository,
-   

Re: svn commit: r1763929 - /maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java

2016-10-08 Thread Guillaume Boué

Hi,

From what I checked, I don't think those plugins should be impacted 
since they use the ArtifactInstaller directly, and not the ProjectInstaller.


But I can add an overload taking an ArtifactRepository which would get 
the path to the artifact with "artifactRepository.pathOf(artifact)". And 
then go with the one using the RepositoryManager or not, depending on 
whether the ArtifactRepository is null or not.


Guillaume


Le 08/10/2016 à 22:11, Robert Scholte a écrit :

Hi Guillaume,

although this is often true, there are some plugins which create their 
own local repository, for instance maven-invoker-plugin and 
maven-dependency-plugin. In those cases you should pass the 
ArtifactRepository.
So we will need those versions too, either as overloaded method or 
restored where artifactRepository can be null.


thanks,
Robert


On Sat, 08 Oct 2016 20:43:58 +0200,  wrote:


Author: gboue
Date: Sat Oct  8 18:43:58 2016
New Revision: 1763929

URL: http://svn.apache.org/viewvc?rev=1763929=rev
Log:
[MSHARED-595] In DefaultProjectInstaller, the path to the local 
repository should be retrieved from the RepositoryManager


We need to rely on the RepositoryManager to get a hold of the local 
repository base directory.


Modified:
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java?rev=1763929=1763928=1763929=diff
== 

--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java 
(original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java 
Sat Oct  8 18:43:58 2016

@@ -101,7 +101,7 @@ public class DefaultProjectInstaller
 {
 installer.install( buildingRequest,
Collections.singletonList( new ProjectArtifact( project ) ) );
-installChecksums( buildingRequest, 
artifactRepository, artifact, createChecksum );
+installChecksums( buildingRequest, artifact, 
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository, 
artifact, metadataFiles, createChecksum );

 }
 }
@@ -120,7 +120,7 @@ public class DefaultProjectInstaller
 if ( file != null && file.isFile() )
 {
 installer.install( buildingRequest, 
Collections.singletonList( artifact ) );
-installChecksums( buildingRequest, 
artifactRepository, artifact, createChecksum );
+installChecksums( buildingRequest, artifact, 
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository, 
artifact, metadataFiles, createChecksum );

 }
 else if ( !attachedArtifacts.isEmpty() )
@@ -139,7 +139,7 @@ public class DefaultProjectInstaller
 for ( Artifact attached : attachedArtifacts )
 {
 installer.install( buildingRequest, 
Collections.singletonList( attached ) );
-installChecksums( buildingRequest, artifactRepository, 
attached, createChecksum );
+installChecksums( buildingRequest, attached, 
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository, 
attached, metadataFiles, createChecksum );

 }
@@ -153,12 +153,12 @@ public class DefaultProjectInstaller
  * the original POM file (cf. MNG-2820). While the plugin 
currently requires Maven 2.0.6, we continue to hash the
  * installed POM for robustness with regard to future changes 
like re-introducing some kind of POM filtering.

  *
+ * @param buildingRequest The project building request, must not 
be null.
  * @param artifact The artifact for which to create checksums, 
must not be null.
  * @param createChecksum {@code true} if checksum should be 
created, otherwise {@code false}.

  * @throws IOException If the checksums could not be installed.
  */
-private void installChecksums( ProjectBuildingRequest 
buildingRequest, ArtifactRepository artifactRepository,
-   Artifact artifact, boolean 
createChecksum )
+private void installChecksums( ProjectBuildingRequest 
buildingRequest, Artifact artifact, boolean createChecksum )

 throws IOException
 {
 if ( !createChecksum )
@@ -166,7 +166,7 @@ public class DefaultProjectInstaller
 return;
 }
-File artifactFile = getLocalRepoFile( buildingRequest, 
artifactRepository, artifact );
+File artifactFile = 

Re: svn commit: r1763929 - /maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java

2016-10-08 Thread Robert Scholte

Hi Guillaume,

although this is often true, there are some plugins which create their own  
local repository, for instance maven-invoker-plugin and  
maven-dependency-plugin. In those cases you should pass the  
ArtifactRepository.
So we will need those versions too, either as overloaded method or  
restored where artifactRepository can be null.


thanks,
Robert


On Sat, 08 Oct 2016 20:43:58 +0200,  wrote:


Author: gboue
Date: Sat Oct  8 18:43:58 2016
New Revision: 1763929

URL: http://svn.apache.org/viewvc?rev=1763929=rev
Log:
[MSHARED-595] In DefaultProjectInstaller, the path to the local  
repository should be retrieved from the RepositoryManager


We need to rely on the RepositoryManager to get a hold of the local  
repository base directory.


Modified:

maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java

Modified:  
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java
URL:  
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java?rev=1763929=1763928=1763929=diff

==
---  
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java  
(original)
+++  
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/project/install/internal/DefaultProjectInstaller.java  
Sat Oct  8 18:43:58 2016

@@ -101,7 +101,7 @@ public class DefaultProjectInstaller
 {
 installer.install( buildingRequest,
Collections.singletonList(  
new ProjectArtifact( project ) ) );
-installChecksums( buildingRequest, artifactRepository,  
artifact, createChecksum );
+installChecksums( buildingRequest, artifact,  
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository,  
artifact, metadataFiles, createChecksum );

 }
 }
@@ -120,7 +120,7 @@ public class DefaultProjectInstaller
 if ( file != null && file.isFile() )
 {
 installer.install( buildingRequest,  
Collections.singletonList( artifact ) );
-installChecksums( buildingRequest, artifactRepository,  
artifact, createChecksum );
+installChecksums( buildingRequest, artifact,  
createChecksum );
 addMetaDataFilesForArtifact( artifactRepository,  
artifact, metadataFiles, createChecksum );

 }
 else if ( !attachedArtifacts.isEmpty() )
@@ -139,7 +139,7 @@ public class DefaultProjectInstaller
 for ( Artifact attached : attachedArtifacts )
 {
 installer.install( buildingRequest,  
Collections.singletonList( attached ) );
-installChecksums( buildingRequest, artifactRepository,  
attached, createChecksum );
+installChecksums( buildingRequest, attached, createChecksum  
);
 addMetaDataFilesForArtifact( artifactRepository, attached,  
metadataFiles, createChecksum );

 }
@@ -153,12 +153,12 @@ public class DefaultProjectInstaller
  * the original POM file (cf. MNG-2820). While the plugin currently  
requires Maven 2.0.6, we continue to hash the
  * installed POM for robustness with regard to future changes like  
re-introducing some kind of POM filtering.

  *
+ * @param buildingRequest The project building request, must not be  
null.
  * @param artifact The artifact for which to create checksums, must  
not be null.
  * @param createChecksum {@code true} if checksum should be  
created, otherwise {@code false}.

  * @throws IOException If the checksums could not be installed.
  */
-private void installChecksums( ProjectBuildingRequest  
buildingRequest, ArtifactRepository artifactRepository,
-   Artifact artifact, boolean  
createChecksum )
+private void installChecksums( ProjectBuildingRequest  
buildingRequest, Artifact artifact, boolean createChecksum )

 throws IOException
 {
 if ( !createChecksum )
@@ -166,7 +166,7 @@ public class DefaultProjectInstaller
 return;
 }
-File artifactFile = getLocalRepoFile( buildingRequest,  
artifactRepository, artifact );
+File artifactFile = getLocalRepoFile( buildingRequest, artifact  
);

 installChecksums( artifactFile );
 }
@@ -257,14 +257,14 @@ public class DefaultProjectInstaller
  * Gets the path of the specified artifact within the local  
repository. Note that the returned path need not exist

  * (yet).
  *
+ * @param buildingRequest The project building request, must not be  
null.
  * @param artifact