maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Scholte" <rfscho...@apache.org>
Subject Maven Compat + Maven 3.0 Plugin Part 1: Mercury
Date Sat, 07 Mar 2015 15:04:41 GMT
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


Mime
View raw message