mirror of https://github.com/apache/maven.git
Adding compat trailer to the maven version when it's printed via the cli.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@590758 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
a1510ba220
commit
27698689a8
|
@ -28,18 +28,43 @@ import org.apache.maven.settings.Settings;
|
|||
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.PrintStream;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public privileged aspect Maven20xCompatAspect
|
||||
{
|
||||
|
||||
// pointcut to avoid recursive matching on behavior injected by this aspect.
|
||||
private pointcut notHere(): !within( Maven20xCompatAspect );
|
||||
|
||||
private pointcut showVersion( PrintStream stream, String string):
|
||||
cflow( execution( void org.apache.maven.cli.CLIReportingUtils.showVersion() ) )
|
||||
&& call( void PrintStream.println( String ) )
|
||||
&& args( string )
|
||||
&& target( stream )
|
||||
&& notHere();
|
||||
|
||||
void around( PrintStream stream, String string ): showVersion( stream, string )
|
||||
{
|
||||
if ( stream == System.out && string != null && string.startsWith( "Maven version:" ) )
|
||||
{
|
||||
System.out.println( string + " (compat enabled)" );
|
||||
}
|
||||
else
|
||||
{
|
||||
proceed( stream, string );
|
||||
}
|
||||
}
|
||||
|
||||
// GRAB Session and Request.
|
||||
private MavenSession session;
|
||||
private MavenExecutionRequest request;
|
||||
|
||||
private pointcut sessionCreation( MavenSession session ): execution( public MavenSession.new(..) ) && this( session );
|
||||
private pointcut sessionCreation( MavenSession session ):
|
||||
execution( public MavenSession.new(..) )
|
||||
&& this( session )
|
||||
&& notHere();
|
||||
|
||||
after( MavenSession session ): sessionCreation( session )
|
||||
{
|
||||
|
@ -48,7 +73,8 @@ public privileged aspect Maven20xCompatAspect
|
|||
|
||||
private pointcut methodsTakingRequest( MavenExecutionRequest request ):
|
||||
execution( MavenExecutionResult *.*( MavenExecutionRequest ) )
|
||||
&& args( request );
|
||||
&& args( request )
|
||||
&& notHere();
|
||||
|
||||
before( MavenExecutionRequest request ): methodsTakingRequest( request )
|
||||
{
|
||||
|
@ -59,7 +85,8 @@ public privileged aspect Maven20xCompatAspect
|
|||
private pointcut verifyPlugin( Plugin plugin, MavenProject project, PluginManager manager ):
|
||||
call( public PluginDescriptor PluginManager+.verifyPlugin( Plugin, MavenProject, Settings, ArtifactRepository ) )
|
||||
&& args( plugin, project, .. )
|
||||
&& target( manager );
|
||||
&& target( manager )
|
||||
&& notHere();
|
||||
|
||||
PluginDescriptor around( Plugin plugin,
|
||||
MavenProject project,
|
||||
|
@ -86,7 +113,8 @@ public privileged aspect Maven20xCompatAspect
|
|||
private pointcut extDepArtifactsResolved( DefaultExtensionManager mgr ):
|
||||
call( public Set ResolutionGroup.getArtifacts() )
|
||||
&& within( DefaultExtensionManager )
|
||||
&& this( mgr );
|
||||
&& this( mgr )
|
||||
&& notHere();
|
||||
|
||||
Set around( DefaultExtensionManager mgr ): extDepArtifactsResolved( mgr )
|
||||
{
|
||||
|
@ -101,7 +129,8 @@ public privileged aspect Maven20xCompatAspect
|
|||
private pointcut pluginDepArtifactsResolved( DefaultPluginManager mgr ):
|
||||
call( public Set ResolutionGroup.getArtifacts() )
|
||||
&& cflow( execution( Set DefaultPluginManager.getPluginArtifacts(..) ) )
|
||||
&& this( mgr );
|
||||
&& this( mgr )
|
||||
&& notHere();
|
||||
|
||||
Set around( DefaultPluginManager mgr ): pluginDepArtifactsResolved( mgr )
|
||||
{
|
||||
|
@ -115,7 +144,8 @@ public privileged aspect Maven20xCompatAspect
|
|||
// USE Request to compensate for old buildSettings() API.
|
||||
private pointcut buildSettings( MavenSettingsBuilder builder ):
|
||||
execution( public Settings MavenSettingsBuilder+.buildSettings() )
|
||||
&& target( builder );
|
||||
&& target( builder )
|
||||
&& notHere();
|
||||
|
||||
Settings around( MavenSettingsBuilder builder )
|
||||
throws IOException, XmlPullParserException:
|
||||
|
|
|
@ -86,6 +86,32 @@ under the License.
|
|||
<version>1.5.3</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>aspectj-maven-plugin</artifactId>
|
||||
|
||||
<executions>
|
||||
<execution>
|
||||
<id>weave-compat</id>
|
||||
<goals>
|
||||
<goal>compile</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<aspectLibraries>
|
||||
<aspectLibrary>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-core</artifactId>
|
||||
</aspectLibrary>
|
||||
</aspectLibraries>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
|
|
Loading…
Reference in New Issue