This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch master2 in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git
commit 95463dca8632e2aa7513693321cc86afcf91df9b Author: Robert Scholte <rfscho...@apache.org> AuthorDate: Fri Nov 24 14:19:34 2017 +0000 Switch from List to Collection to make it easier to use Sets when preferred git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@1816235 13f79535-47bb-0310-9956-ffa450edef68 --- .../maven/plugins/javadoc/AbstractJavadocMojo.java | 34 +++++++++++----------- .../maven/plugins/javadoc/JavadocReport.java | 3 +- .../apache/maven/plugins/javadoc/JavadocUtil.java | 14 +++++---- .../plugins/javadoc/resolver/ResourceResolver.java | 7 +++-- .../maven/plugins/javadoc/JavadocJarTest.java | 13 +++++---- .../maven/plugins/javadoc/JavadocUtilTest.java | 8 +++-- 6 files changed, 44 insertions(+), 35 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java index a720528..df24821 100644 --- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java +++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java @@ -1977,7 +1977,7 @@ public abstract class AbstractJavadocMojo throw new MavenReportException( "Failed to generate javadoc options file: " + e.getMessage(), e ); } - List<String> sourcePaths = getSourcePaths(); + Collection<String> sourcePaths = getSourcePaths(); List<String> files = getFiles( sourcePaths ); if ( !canGenerateReport( files ) ) { @@ -2180,11 +2180,11 @@ public abstract class AbstractJavadocMojo /** * Method to get the files on the specified source paths * - * @param sourcePaths a List that contains the paths to the source files + * @param sourcePaths a Collection that contains the paths to the source files * @return a List that contains the specific path for every source file * @throws MavenReportException {@link MavenReportException} */ - protected List<String> getFiles( List<String> sourcePaths ) + protected List<String> getFiles( Collection<String> sourcePaths ) throws MavenReportException { List<String> files = new ArrayList<>(); @@ -2207,14 +2207,14 @@ public abstract class AbstractJavadocMojo * Method to get the source paths. If no source path is specified in the parameter, the compile source roots * of the project will be used. * - * @return a List of the project absolute source paths as <code>String</code> + * @return a Collection of the project absolute source paths as <code>String</code> * @throws MavenReportException {@link MavenReportException} * @see JavadocUtil#pruneDirs(MavenProject, List) */ - protected List<String> getSourcePaths() + protected Collection<String> getSourcePaths() throws MavenReportException { - List<String> sourcePaths; + Collection<String> sourcePaths; if ( StringUtils.isEmpty( sourcepath ) ) { @@ -2235,7 +2235,7 @@ public abstract class AbstractJavadocMojo File javadocDir = getJavadocDirectory(); if ( javadocDir.exists() && javadocDir.isDirectory() ) { - List<String> l = JavadocUtil.pruneDirs( project, Collections.singletonList( + Collection<String> l = JavadocUtil.pruneDirs( project, Collections.singletonList( getJavadocDirectory().getAbsolutePath() ) ); sourcePaths.addAll( l ); } @@ -2273,7 +2273,7 @@ public abstract class AbstractJavadocMojo File javadocDir = new File( subProject.getBasedir(), javadocDirRelative ); if ( javadocDir.exists() && javadocDir.isDirectory() ) { - List<String> l = JavadocUtil.pruneDirs( subProject, Collections.singletonList( + Collection<String> l = JavadocUtil.pruneDirs( subProject, Collections.singletonList( javadocDir.getAbsolutePath() ) ); sourcePaths.addAll( l ); } @@ -2288,7 +2288,7 @@ public abstract class AbstractJavadocMojo sourcePaths = JavadocUtil.pruneDirs( project, sourcePaths ); if ( getJavadocDirectory() != null ) { - List<String> l = JavadocUtil.pruneDirs( project, Collections.singletonList( + Collection<String> l = JavadocUtil.pruneDirs( project, Collections.singletonList( getJavadocDirectory().getAbsolutePath() ) ); sourcePaths.addAll( l ); } @@ -2436,11 +2436,11 @@ public abstract class AbstractJavadocMojo * Method to get the excluded source files from the javadoc and create the argument string * that will be included in the javadoc commandline execution. * - * @param sourcePaths the list of paths to the source files + * @param sourcePaths the collection of paths to the source files * @return a String that contains the exclude argument that will be used by javadoc * @throws MavenReportException */ - private String getExcludedPackages( List<String> sourcePaths ) + private String getExcludedPackages( Collection<String> sourcePaths ) throws MavenReportException { List<String> excludedNames = null; @@ -2471,7 +2471,7 @@ public abstract class AbstractJavadocMojo * string (colon (<code>:</code>) on Solaris or semi-colon (<code>;</code>) on Windows). * @see File#pathSeparator */ - private String getSourcePath( List<String> sourcePaths ) + private String getSourcePath( Collection<String> sourcePaths ) { String sourcePath = null; @@ -3049,7 +3049,7 @@ public abstract class AbstractJavadocMojo throws MavenReportException { Set<TagletArtifact> tArtifacts = collectTagletArtifacts(); - List<String> pathParts = new ArrayList<>(); + Collection<String> pathParts = new ArrayList<>(); for ( TagletArtifact tagletArtifact : tArtifacts ) { @@ -4284,7 +4284,7 @@ public abstract class AbstractJavadocMojo * @param files not null * @return the list of package names for files in the sourcePaths */ - private List<String> getPackageNames( List<String> sourcePaths, List<String> files ) + private List<String> getPackageNames( Collection<String> sourcePaths, List<String> files ) { return getPackageNamesOrFilesWithUnnamedPackages( sourcePaths, files, true ); } @@ -4294,7 +4294,7 @@ public abstract class AbstractJavadocMojo * @param files not null * @return a list files with unnamed package names for files in the sourecPaths */ - private List<String> getFilesWithUnnamedPackages( List<String> sourcePaths, List<String> files ) + private List<String> getFilesWithUnnamedPackages( Collection<String> sourcePaths, List<String> files ) { return getPackageNamesOrFilesWithUnnamedPackages( sourcePaths, files, false ); } @@ -4307,7 +4307,7 @@ public abstract class AbstractJavadocMojo * @see #getFiles(List) * @see #getSourcePaths() */ - private List<String> getPackageNamesOrFilesWithUnnamedPackages( List<String> sourcePaths, List<String> files, + private List<String> getPackageNamesOrFilesWithUnnamedPackages( Collection<String> sourcePaths, List<String> files, boolean onlyPackageName ) { List<String> returnList = new ArrayList<>(); @@ -4624,7 +4624,7 @@ public abstract class AbstractJavadocMojo * @throws MavenReportException if any * @see <a href="http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html#javadocoptions">http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html#javadocoptions</a> */ - private void addJavadocOptions( List<String> arguments, List<String> sourcePaths ) + private void addJavadocOptions( List<String> arguments, Collection<String> sourcePaths ) throws MavenReportException { validateJavadocOptions(); diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java b/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java index 0274c89..3e8d01a 100644 --- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java +++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java @@ -20,6 +20,7 @@ package org.apache.maven.plugins.javadoc; */ import java.io.File; +import java.util.Collection; import java.util.List; import java.util.Locale; import java.util.ResourceBundle; @@ -235,7 +236,7 @@ public class JavadocReport if ( !this.isAggregator() || ( this.isAggregator() && this.project.isExecutionRoot() ) ) { - List<String> sourcePaths; + Collection<String> sourcePaths; List<String> files; try { diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java index 5844d66..90c5e84 100644 --- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java +++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java @@ -78,10 +78,12 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.LinkedHashSet; import java.util.List; import java.util.Locale; import java.util.NoSuchElementException; import java.util.Properties; +import java.util.Set; import java.util.StringTokenizer; import java.util.jar.JarEntry; import java.util.jar.JarInputStream; @@ -112,12 +114,12 @@ public class JavadocUtil * directory <code>String</code> path. * * @param project the current Maven project not null - * @param dirs the list of <code>String</code> directories path that will be validated. + * @param dirs the collection of <code>String</code> directories path that will be validated. * @return a List of valid <code>String</code> directories absolute paths. */ - public static List<String> pruneDirs( MavenProject project, List<String> dirs ) + public static Collection<String> pruneDirs( MavenProject project, Collection<String> dirs ) { - List<String> pruned = new ArrayList<>( dirs.size() ); + Set<String> pruned = new LinkedHashSet<>( dirs.size() ); for ( String dir : dirs ) { if ( dir == null ) @@ -131,7 +133,7 @@ public class JavadocUtil directory = new File( project.getBasedir(), directory.getPath() ); } - if ( directory.isDirectory() && !pruned.contains( directory.getAbsolutePath() ) ) + if ( directory.isDirectory() ) { pruned.add( directory.getAbsolutePath() ); } @@ -147,7 +149,7 @@ public class JavadocUtil * @param files the list of <code>String</code> files paths that will be validated. * @return a List of valid <code>File</code> objects. */ - protected static List<String> pruneFiles( List<String> files ) + protected static List<String> pruneFiles( Collection<String> files ) { List<String> pruned = new ArrayList<>( files.size() ); for ( String f : files ) @@ -191,7 +193,7 @@ public class JavadocUtil * @param excludedPackages the package names to be excluded in the javadoc * @return a List of the source files to be excluded in the generated javadoc */ - protected static List<String> getExcludedNames( List<String> sourcePaths, String[] subpackagesList, + protected static List<String> getExcludedNames( Collection<String> sourcePaths, String[] subpackagesList, String[] excludedPackages ) { List<String> excludedNames = new ArrayList<>(); diff --git a/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java b/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java index c24c62b..e47aa99 100644 --- a/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java +++ b/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java @@ -26,6 +26,7 @@ import java.io.FileInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashSet; import java.util.List; @@ -39,11 +40,11 @@ import org.apache.maven.artifact.metadata.ArtifactMetadataSource; import org.apache.maven.artifact.resolver.ArtifactNotFoundException; import org.apache.maven.artifact.resolver.ArtifactResolutionException; import org.apache.maven.artifact.resolver.filter.ArtifactFilter; -import org.apache.maven.plugins.javadoc.options.JavadocOptions; -import org.apache.maven.plugins.javadoc.options.io.xpp3.JavadocOptionsXpp3Reader; import org.apache.maven.plugins.javadoc.AbstractJavadocMojo; import org.apache.maven.plugins.javadoc.JavadocUtil; import org.apache.maven.plugins.javadoc.ResourcesBundleMojo; +import org.apache.maven.plugins.javadoc.options.JavadocOptions; +import org.apache.maven.plugins.javadoc.options.io.xpp3.JavadocOptionsXpp3Reader; import org.apache.maven.project.MavenProject; import org.apache.maven.shared.artifact.filter.resolve.transform.ArtifactIncludeFilterTransformer; import org.apache.maven.shared.artifact.resolve.ArtifactResolver; @@ -439,7 +440,7 @@ public final class ResourceResolver extends AbstractLogEnabled return result; } - private static List<String> resolveFromProject( final SourceResolverConfig config, + private static Collection<String> resolveFromProject( final SourceResolverConfig config, final MavenProject reactorProject, final Artifact artifact ) { final List<String> dirs = new ArrayList<>(); diff --git a/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java b/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java index ecff198..2ecd5d5 100644 --- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java +++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java @@ -75,13 +75,16 @@ public class JavadocJarTest new File( getBasedir(), "target/test/unit/javadocjar-default/target/javadocjar-default-javadoc.jar" ); assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) ); - //validate contents of jar file - ZipFile jar = new ZipFile( generatedFile ); Set<String> set = new HashSet<>(); - for( Enumeration<? extends ZipEntry> entries = jar.entries(); entries.hasMoreElements(); ) + + //validate contents of jar file + try ( ZipFile jar = new ZipFile( generatedFile ) ) { - ZipEntry entry = entries.nextElement(); - set.add( entry.getName() ); + for( Enumeration<? extends ZipEntry> entries = jar.entries(); entries.hasMoreElements(); ) + { + ZipEntry entry = entries.nextElement(); + set.add( entry.getName() ); + } } assertTrue( set.contains( "stylesheet.css" ) ); diff --git a/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java b/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java index 8f8eb50..e13f176 100644 --- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java +++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java @@ -25,9 +25,11 @@ import java.io.IOException; import java.net.SocketTimeoutException; import java.net.URL; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.regex.PatternSyntaxException; import org.apache.commons.lang3.builder.EqualsBuilder; @@ -585,10 +587,10 @@ public class JavadocUtilTest list.add( getBasedir() + "/target/classes" ); list.add( getBasedir() + "/target/classes" ); - List<String> expected = new ArrayList<>(); - expected.add( getBasedir() + "/target/classes" ); + String FS = System.getProperty( "file.separator" ); + Set<String> expected = Collections.singleton( getBasedir() + FS +"target" + FS + "classes" ); - assertTrue( EqualsBuilder.reflectionEquals( expected, JavadocUtil.pruneDirs( null, list ) ) ); + assertEquals( expected, JavadocUtil.pruneDirs( null, list ) ); } /** -- To stop receiving notification emails like this one, please contact "commits@maven.apache.org" <commits@maven.apache.org>.