maven-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rfscho...@apache.org
Subject svn commit: r1658101 - /maven/plugins/trunk/maven-jdeps-plugin/src/main/java/org/apache/maven/plugin/jdeps/AbstractJDepsMojo.java
Date Sat, 07 Feb 2015 19:49:30 GMT
Author: rfscholte
Date: Sat Feb  7 19:49:29 2015
New Revision: 1658101

URL: http://svn.apache.org/r1658101
Log:
Add support for plugin execution scoped toolchain, as introduced by Maven-3.2.6

Modified:
    maven/plugins/trunk/maven-jdeps-plugin/src/main/java/org/apache/maven/plugin/jdeps/AbstractJDepsMojo.java

Modified: maven/plugins/trunk/maven-jdeps-plugin/src/main/java/org/apache/maven/plugin/jdeps/AbstractJDepsMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-jdeps-plugin/src/main/java/org/apache/maven/plugin/jdeps/AbstractJDepsMojo.java?rev=1658101&r1=1658100&r2=1658101&view=diff
==============================================================================
--- maven/plugins/trunk/maven-jdeps-plugin/src/main/java/org/apache/maven/plugin/jdeps/AbstractJDepsMojo.java
(original)
+++ maven/plugins/trunk/maven-jdeps-plugin/src/main/java/org/apache/maven/plugin/jdeps/AbstractJDepsMojo.java
Sat Feb  7 19:49:29 2015
@@ -21,6 +21,10 @@ package org.apache.maven.plugin.jdeps;
 
 import java.io.File;
 import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Collections;
+import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.StringTokenizer;
@@ -427,6 +431,47 @@ public abstract class AbstractJDepsMojo
         if ( toolchainManager != null )
         {
             tc = toolchainManager.getToolchainFromBuildContext( "jdk", session );
+
+            getLog().debug( "no toolchains from build context" );
+            if ( tc == null )
+            {
+                // Maven 3.2.6 supports plugin execution scoped Toolchain Support
+                try
+                {
+                    Method getToolchainsMethod =
+                        toolchainManager.getClass().getMethod( "getToolchains", MavenSession.class,
String.class,
+                                                               Map.class );
+
+                    List<Toolchain> tcs =
+                        (List<Toolchain>) getToolchainsMethod.invoke( toolchainManager,
session, "jdk",
+                                                                      Collections.singletonMap(
"version", "[1.8,)" ) );
+
+                    if ( tcs != null && tcs.size() > 0 )
+                    {
+                        tc = tcs.get( 0 );
+                    }
+                }
+                catch ( NoSuchMethodException e )
+                {
+                    // ignore
+                }
+                catch ( SecurityException e )
+                {
+                    // ignore
+                }
+                catch ( IllegalAccessException e )
+                {
+                    // ignore
+                }
+                catch ( IllegalArgumentException e )
+                {
+                    // ignore
+                }
+                catch ( InvocationTargetException e )
+                {
+                    // ignore
+                }
+            }
         }
 
         return tc;



Mime
View raw message