Author: rfscholte
Date: Fri Aug 4 13:31:21 2017
New Revision: 1804119
URL: http://svn.apache.org/viewvc?rev=1804119&view=rev
Log:
Ensure there are module references, to prevent NoSuchElementException
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/utils/DependencyStatusSets.java
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/utils/DependencyStatusSets.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/utils/DependencyStatusSets.java?rev=1804119&r1=1804118&r2=1804119&view=diff
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/utils/DependencyStatusSets.java
(original)
+++
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/utils/DependencyStatusSets.java
Fri Aug 4 13:31:21 2017
@@ -269,18 +269,22 @@ public class DependencyStatusSets
@SuppressWarnings( "unchecked" )
Set<Object> moduleReferences = (Set<Object>) findAllMethod.invoke(
moduleFinderInstance );
- Object moduleReference = moduleReferences.iterator().next();
- Method descriptorMethod = moduleReference.getClass().getMethod(
"descriptor" );
- Object moduleDescriptorInstance = descriptorMethod.invoke(
moduleReference );
-
- Method nameMethod = moduleDescriptorInstance.getClass().getMethod(
"name" );
- String name = (String) nameMethod.invoke( moduleDescriptorInstance
);
-
- moduleDescriptor = new ModuleDescriptor();
- moduleDescriptor.name = name;
-
- Method isAutomaticMethod =
moduleDescriptorInstance.getClass().getMethod( "isAutomatic" );
- moduleDescriptor.automatic = (Boolean) isAutomaticMethod.invoke(
moduleDescriptorInstance );
+ // moduleReferences can be empty when referring to target/classes
without module-info.class
+ if ( !moduleReferences.isEmpty() )
+ {
+ Object moduleReference = moduleReferences.iterator().next();
+ Method descriptorMethod =
moduleReference.getClass().getMethod( "descriptor" );
+ Object moduleDescriptorInstance = descriptorMethod.invoke(
moduleReference );
+
+ Method nameMethod =
moduleDescriptorInstance.getClass().getMethod( "name" );
+ String name = (String) nameMethod.invoke(
moduleDescriptorInstance );
+
+ moduleDescriptor = new ModuleDescriptor();
+ moduleDescriptor.name = name;
+
+ Method isAutomaticMethod =
moduleDescriptorInstance.getClass().getMethod( "isAutomatic" );
+ moduleDescriptor.automatic = (Boolean)
isAutomaticMethod.invoke( moduleDescriptorInstance );
+ }
}
catch ( ClassNotFoundException e )
{