private static List < Path > expandMultiAppInputDirs ( List < Path > input ) { List < Path > expanded = new LinkedList <> ( ) ; for ( Path path : input ) { if ( Files . isRegularFile ( path ) ) { expanded . add ( path ) ; continue ; } if ( ! Files . isDirectory ( path ) ) { String pathString = ( path == null ) ? "" : path . toString ( ) ; log . warning ( "Neither a file or directory found in input: " + pathString ) ; continue ; } try { try ( DirectoryStream < Path > directoryStream = Files . newDirectoryStream ( path ) ) { for ( Path subpath : directoryStream ) { if ( isJavaArchive ( subpath ) ) { expanded . add ( subpath ) ; } } } } catch ( IOException e ) { throw new WindupException ( "Failed to read directory contents of: " + path ) ; } } return expanded ; }
Expands the directories from the given list and and returns a list of subfiles . Files from the original list are kept as is .