maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Scholte" <rfscho...@apache.org>
Subject Re: Maven Compat + Maven 3.0 Plugin Part 1: Mercury
Date Sun, 08 Mar 2015 10:42:01 GMT
Seems like we need the same kind of solution as done with the Dependency  
Tree.
I've introduced a new shared component: maven-artifact-transfer

At least the following plugins are nominated to use this:
maven-install-plugin
maven-deploy-plugin
maven-invoker-plugin

thanks,
Robert

Op Sat, 07 Mar 2015 16:04:41 +0100 schreef Robert Scholte  
<rfscholte@apache.org>:

> Hi,
>
> when we start requiring Maven 3.0 for our plugins, IMO they should all  
> work *without* depending on Maven Compat.
> I've tried to do this for the maven-invoker-plugin and hit the first  
> issue.
> They all have to do with artifacts: ArtifactInstaller,  
> ArtifactRepository, ArtifactRepositoryFactory, ArtifactResolver.
> The original code doesn't describe what to do, but after some digging I  
> found this:
>
> https://cwiki.apache.org/confluence/display/MAVEN/Compatibility+with+Maven+2.x
>
> bq.
> 	Maven Artifact
> 	
> 	Maven Artifact will be entirely extricated from the core of Maven 3.x  
> and replaced with Mercury, but we will make a best effort to
> 	 ensure the compatibility of plugins that use Maven Artifact. There  
> are, however, components and classes that are just so broken or conflict
> 	 with standard ways of doing resolution and conflict reduction that we  
> can't support them.
> 	
> 	Supported Compatibility
> 	•org.apache.maven.artifact.deployer.ArtifactDeployer
> 	•org.apache.maven.artifact.factory.ArtifactFactory
> 	•org.apache.maven.artifact.handler.ArtifactHandler
> 	•org.apache.maven.artifact.installer.ArtifactInstaller
> 	•org.apache.maven.artifact.manager.WagonManager (1)
> 	•org.apache.maven.artifact.repository.ArtifactRepository
> 	•org.apache.maven.artifact.repository.ArtifactRepositoryPolicy
> 	•org.apache.maven.artifact.repository.ArtifactRepositoryFactory
> 	•org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout
> 	•org.apache.maven.artifact.resolver.ArtifactResolver
> 	•org.apache.maven.artifact.resolver.filter.ArtifactFilter
> 	•org.apache.maven.artifact.resolver.filter.Artifact
> 	
> 	(1) In r746285 various methods have been removed from the WagonManager  
> which breaks the maven-project-info-reports-plugin, the
> 	 maven-site-plugin and the maven-stage-plugin, e.g. due to a linkage  
> error on getAuthentaticationInfo().
> 	
> 	Unsupported Compatibility
> 	•org.apache.maven.artifact.metadata.ArtifactMetadataSource
> 	•org.apache.maven.artifact.metadata.ResolutionGroup
> 	•org.apache.maven.artifact.repository.metadata.*
> 	•org.apache.maven.artifact.resolver.ResolutionNode
> 	•org.apache.maven.artifact.resolver.ResolutionListener
> 	•org.apache.maven.artifact.resolver.metadata.*
> 	•org.apache.maven.artifact.resolver.transform.*
> 	•org.apache.maven.artifact.resolver.versioning.*
>
>
> Mercury? I guess some of it is now part of Aether, but I think we should  
> keep the abstraction layer (remember the issues we got Aether moved from  
> Sonatype to Eclipse and the amount of workarounds).
> What to do? Move them back, make new APIs for Maven4, like  
> ArtifactTransferor?
>
> My first conclusion is that we can't make these plugins Maven3  
> compatible without the maven-compat, unless we embed the classes in the  
> plugin.
>
> thanks,
> Robert
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Mime
View raw message