You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2015/02/08 13:00:00 UTC
svn commit: r1658152 - in /maven/plugins/trunk/maven-jdeps-plugin/src:
main/java/org/apache/maven/plugin/jdeps/
main/java/org/apache/maven/plugin/jdeps/consumers/
test/java/org/apache/maven/plugin/jdeps/consumers/
Author: rfscholte
Date: Sun Feb 8 12:00:00 2015
New Revision: 1658152
URL: http://svn.apache.org/r1658152
Log:
Add consumption of profiles
Modified:
maven/plugins/trunk/maven-jdeps-plugin/src/main/java/org/apache/maven/plugin/jdeps/AbstractJDepsMojo.java
maven/plugins/trunk/maven-jdeps-plugin/src/main/java/org/apache/maven/plugin/jdeps/consumers/JDepsConsumer.java
maven/plugins/trunk/maven-jdeps-plugin/src/test/java/org/apache/maven/plugin/jdeps/consumers/JDepsConsumerTest.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=1658152&r1=1658151&r2=1658152&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 Sun Feb 8 12:00:00 2015
@@ -441,6 +441,7 @@ public abstract class AbstractJDepsMojo
toolchainManager.getClass().getMethod( "getToolchains", MavenSession.class, String.class,
Map.class );
+ @SuppressWarnings( "unchecked" )
List<Toolchain> tcs =
(List<Toolchain>) getToolchainsMethod.invoke( toolchainManager, session, "jdk",
Collections.singletonMap( "version", "[1.8,)" ) );
Modified: maven/plugins/trunk/maven-jdeps-plugin/src/main/java/org/apache/maven/plugin/jdeps/consumers/JDepsConsumer.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-jdeps-plugin/src/main/java/org/apache/maven/plugin/jdeps/consumers/JDepsConsumer.java?rev=1658152&r1=1658151&r2=1658152&view=diff
==============================================================================
--- maven/plugins/trunk/maven-jdeps-plugin/src/main/java/org/apache/maven/plugin/jdeps/consumers/JDepsConsumer.java (original)
+++ maven/plugins/trunk/maven-jdeps-plugin/src/main/java/org/apache/maven/plugin/jdeps/consumers/JDepsConsumer.java Sun Feb 8 12:00:00 2015
@@ -38,18 +38,48 @@ public class JDepsConsumer
implements StreamConsumer
{
- private static final Pattern JDKINTERNALAPI = Pattern.compile( "\\s+->\\s([a-z\\.]+)\\s+(\\S.*)" );
+ /**
+ * JDK8: JDK internal API (rt.jar)
+ * JDK9: JDK internal API (java.base)
+ */
+ private static final Pattern JDKINTERNALAPI = Pattern.compile( "\\s+->\\s([a-z\\.]+)\\s+(JDK internal API .+)" );
+ /**
+ * <dl>
+ * <dt>key</dt><dd>The offending package</dd>
+ * <dt>value</dt><dd>Offending details</dd>
+ * </dl>
+ */
private Map<String, String> offendingPackages = new HashMap<String, String>();
+ private static final Pattern PROFILE = Pattern.compile( "\\s+->\\s([a-z\\.]+)\\s+(\\S+)" );
+
+ /**
+ * <dl>
+ * <dt>key</dt><dd>The package</dd>
+ * <dt>value</dt><dd>The profile</dd>
+ * </dl>
+ */
+ private Map<String, String> profiles = new HashMap<String, String>();
+
+
public void consumeLine( String line )
{
super.consumeLine( line );
+ Matcher matcher;
- Matcher matcher = JDKINTERNALAPI.matcher( line );
+ matcher = JDKINTERNALAPI.matcher( line );
if ( matcher.matches() )
{
offendingPackages.put( matcher.group( 1 ), matcher.group( 2 ) );
+ return;
+ }
+
+ matcher = PROFILE.matcher( line );
+ if ( matcher.matches() )
+ {
+ profiles.put( matcher.group( 1 ), matcher.group( 2 ) );
+ return;
}
}
@@ -57,4 +87,10 @@ public class JDepsConsumer
{
return offendingPackages;
}
+
+ public Map<String, String> getProfiles()
+ {
+ return profiles;
+ }
+
}
Modified: maven/plugins/trunk/maven-jdeps-plugin/src/test/java/org/apache/maven/plugin/jdeps/consumers/JDepsConsumerTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-jdeps-plugin/src/test/java/org/apache/maven/plugin/jdeps/consumers/JDepsConsumerTest.java?rev=1658152&r1=1658151&r2=1658152&view=diff
==============================================================================
--- maven/plugins/trunk/maven-jdeps-plugin/src/test/java/org/apache/maven/plugin/jdeps/consumers/JDepsConsumerTest.java (original)
+++ maven/plugins/trunk/maven-jdeps-plugin/src/test/java/org/apache/maven/plugin/jdeps/consumers/JDepsConsumerTest.java Sun Feb 8 12:00:00 2015
@@ -42,6 +42,25 @@ public class JDepsConsumerTest
assertEquals( 1, consumer.getOffendingPackages().size() );
assertEquals( "JDK internal API (java.base)", consumer.getOffendingPackages().get( "sun.misc" ) );
+ assertEquals( 0, consumer.getProfiles().size() );
+ }
+
+ @Test
+ public void testProfile()
+ {
+ consumer = new JDepsConsumer();
+ consumer.consumeLine( "E:\\java-workspace\\apache-maven-plugins\\maven-jdeps-plugin\\target\\classes -> "
+ + "C:\\Program Files\\Java\\jdk1.8.0\\jre\\lib\\rt.jar (compact1)" );
+ consumer.consumeLine( " <unnamed> (classes)" );
+ consumer.consumeLine( " -> java.io compact1" );
+ consumer.consumeLine( " -> java.lang compact1" );
+ consumer.consumeLine( " -> sun.misc JDK internal API (rt.jar)" );
+
+ assertEquals( 1, consumer.getOffendingPackages().size() );
+ assertEquals( "JDK internal API (rt.jar)", consumer.getOffendingPackages().get( "sun.misc" ) );
+ assertEquals( 2, consumer.getProfiles().size() );
+ assertEquals( "compact1", consumer.getProfiles().get( "java.io" ) );
+ assertEquals( "compact1", consumer.getProfiles().get( "java.lang" ) );
}
}