public class JavadocUtil extends Object
| Modifier and Type | Class and Description | 
|---|---|
protected static class  | 
JavadocUtil.JavadocOutputStreamConsumer
Ignores line like 'Picked up JAVA_TOOL_OPTIONS: ...' as can happen on CI servers. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
static int | 
DEFAULT_TIMEOUT
The default timeout used when fetching url, i.e. 
 | 
protected static String | 
ERROR_INIT_VM
Error message when VM could not be started using invoker. 
 | 
| Constructor and Description | 
|---|
JavadocUtil()  | 
| Modifier and Type | Method and Description | 
|---|---|
protected static void | 
copyJavadocResources(File outputDirectory,
                    File javadocDir,
                    String excludedocfilessubdir)
Convenience method that copy all  
doc-files directories from javadocDir to the
 outputDirectory. | 
protected static void | 
copyResource(URL url,
            File file)
Copy the given url to the given file. 
 | 
protected static String | 
extractJavadocVersion(String output)
Parse the output for 'javadoc -J-version' and return the javadoc version recognized. 
 | 
protected static List<String> | 
getExcludedPackages(Collection<Path> sourcePaths,
                   Collection<String> excludedPackages)
Method that gets all the source files to be excluded from the javadoc on the given source paths. 
 | 
protected static Collection<String> | 
getExcludedPackages(Path sourceDirectory,
                   Collection<String> excludePackagenames)
Method that gets the complete package names (including subpackages) of the packages that were defined in the
 excludePackageNames parameter. 
 | 
protected static List<String> | 
getFilesFromSource(File sourceDirectory,
                  List<String> sourceFileIncludes,
                  List<String> sourceFileExcludes,
                  Collection<String> excludePackages)
Convenience method that gets the files to be included in the javadoc. 
 | 
protected static List<String> | 
getIncludedFiles(File sourceDirectory,
                String[] fileList,
                Collection<String> excludePackages)
Method that gets the files or classes that would be included in the javadocs using the subpackages parameter. 
 | 
protected static org.codehaus.plexus.languages.java.version.JavaVersion | 
getJavadocVersion(File javadocExe)
Call the Javadoc tool and parse its output to find its version, i.e.: 
 | 
protected static URL | 
getRedirectUrl(URL url,
              org.apache.maven.settings.Settings settings)
Execute an Http request at the given URL, follows redirects, and returns the last redirect locations. 
 | 
protected static List<String> | 
getTagletClassNames(File jarFile)
Auto-detect the class names of the implementation of  
com.sun.tools.doclets.Taglet class from a given
 jar file. | 
protected static void | 
invokeMaven(org.apache.maven.plugin.logging.Log log,
           File localRepositoryDir,
           File projectFile,
           List<String> goals,
           Properties properties,
           File invokerLog,
           File globalSettingsFile)
Invoke Maven for the given project file with a list of goals and properties, the output will be in the invokerlog
 file. 
 | 
static boolean | 
isEmpty(Collection<?> collection)
Convenience method to determine that a collection is empty or null. 
 | 
static boolean | 
isNotEmpty(Collection<?> collection)
Convenience method to determine that a collection is not empty or null. 
 | 
protected static boolean | 
isValidElementList(URL url,
                  org.apache.maven.settings.Settings settings,
                  boolean validateContent)  | 
protected static boolean | 
isValidPackageList(URL url,
                  org.apache.maven.settings.Settings settings,
                  boolean validateContent)
Validates an  
URL to point to a valid package-list resource. | 
protected static String | 
parseJavadocMemory(String memory)
Parse a memory string which be used in the JVM arguments  
-Xms or -Xmx. | 
static Collection<Path> | 
pruneDirs(org.apache.maven.project.MavenProject project,
         Collection<String> dirs)
Method that removes the invalid directories in the specified directories. 
 | 
protected static List<String> | 
pruneFiles(Collection<String> files)
Method that removes the invalid files in the specified files. 
 | 
protected static String | 
quotedArgument(String value)
Convenience method to wrap an argument value in single quotes (i.e. 
 | 
protected static String | 
quotedPathArgument(String value)
Convenience method to format a path argument so that it is properly interpreted by the javadoc tool. 
 | 
protected static String | 
readFile(File javaFile,
        String encoding)
Read the given file and return the content or null if an IOException occurs. 
 | 
static boolean | 
shouldPruneFile(String f,
               List<String> pruned)
Determine whether a file should be excluded from the provided list of paths, based on whether it exists and is
 already present in the list. 
 | 
protected static String[] | 
splitPath(String path)
Split the given path with colon and semi-colon, to support Solaris and Windows path. 
 | 
static String | 
toRelative(File basedir,
          String absolutePath)  | 
protected static String | 
unifyPathSeparator(String path)
Unify the given path with the current System path separator, to be platform independent. 
 | 
protected static boolean | 
validateEncoding(String charsetName)
Validate if a charset is supported on this platform. 
 | 
public static final int DEFAULT_TIMEOUT
protected static final String ERROR_INIT_VM
public static Collection<Path> pruneDirs(org.apache.maven.project.MavenProject project, Collection<String> dirs)
dirs could be an absolute or relative against the project's base directory String path.project - the current Maven project not nulldirs - the collection of String directories path that will be validated.String directories absolute paths.protected static List<String> pruneFiles(Collection<String> files)
files
 should be an absolute String path.files - the list of String files paths that will be validated.File objects.public static boolean shouldPruneFile(String f, List<String> pruned)
f - The files.pruned - The list of pruned files..protected static List<String> getExcludedPackages(Collection<Path> sourcePaths, Collection<String> excludedPackages)
sourcePaths - the path to the source filesexcludedPackages - the package names to be excluded in the javadocprotected static String quotedArgument(String value)
'). Intended for values which
 may contain whitespaces. \n) are skipped.value - the argument value.protected static String quotedPathArgument(String value)
value - the argument value.protected static void copyJavadocResources(File outputDirectory, File javadocDir, String excludedocfilessubdir) throws IOException
doc-files directories from javadocDir to the
 outputDirectory.outputDirectory - the output directoryjavadocDir - the javadoc directoryexcludedocfilessubdir - the excludedocfilessubdir parameterIOException - if anyprotected static List<String> getIncludedFiles(File sourceDirectory, String[] fileList, Collection<String> excludePackages)
sourceDirectory - the directory where the source files are locatedfileList - the list of all relative files found in the sourceDirectoryexcludePackages - package names to be excluded in the javadocprotected static Collection<String> getExcludedPackages(Path sourceDirectory, Collection<String> excludePackagenames)
sourceDirectory - the directory where the source files are locatedexcludePackagenames - package names to be excluded in the javadocprotected static List<String> getFilesFromSource(File sourceDirectory, List<String> sourceFileIncludes, List<String> sourceFileExcludes, Collection<String> excludePackages)
sourceDirectory - the directory where the source files are locatedexcludePackages - the packages to be excluded in the javadocssourceFileIncludes - files to include.sourceFileExcludes - files to exclude.protected static org.codehaus.plexus.languages.java.version.JavaVersion getJavadocVersion(File javadocExe) throws IOException, org.codehaus.plexus.util.cli.CommandLineException, IllegalArgumentException
javadoc.exe( or.sh ) - J - version
javadocExe - not null fileIOException - if javadocExe is null, doesn't exist or is not a fileorg.codehaus.plexus.util.cli.CommandLineException - if anyIllegalArgumentException - if no output was found in the command linePatternSyntaxException - if the output contains a syntax error in the regular-expression pattern.extractJavadocVersion(String)protected static String extractJavadocVersion(String output) throws IllegalArgumentException
| JDK | Output for 'javadoc -J-version' | 
|---|---|
| Sun 1.4 | java full version "1.4.2_12-b03" | 
| Sun 1.5 | java full version "1.5.0_07-164" | 
| IBM 1.4 | javadoc full version "J2RE 1.4.2 IBM Windows 32 build cn1420-20040626" | 
| IBM 1.5 (French JVM) | javadoc version complète de "J2RE 1.5.0 IBM Windows 32 build pwi32pdev-20070426a" | 
| FreeBSD 1.5 | java full version "diablo-1.5.0-b01" | 
| BEA jrockit 1.5 | java full version "1.5.0_11-b03" | 
output - for 'javadoc -J-version'PatternSyntaxException - if the output doesn't match with the output pattern
             (?s).*?[^a-zA-Z]([0-9]+\\.?[0-9]*)(\\.([0-9]+))?.*.IllegalArgumentException - if the output is nullprotected static String parseJavadocMemory(String memory) throws IllegalArgumentException
-Xms or -Xmx. | JDK | Memory argument support for -Xms or -Xmx | 
 
|---|---|
| SUN | 1024k | 128m | 1g | 1t | 
| IBM | 1024k | 1024b | 128m | 128mb | 1g | 1gb | 
| BEA | 1024k | 1024kb | 128m | 128mb | 1g | 1gb | 
memory - the memory to be parsed, not null.memory parameter, the
         default unit is m. The units g | gb or t | tb will be converted in
         m.IllegalArgumentException - if the memory parameter is null or doesn't match any pattern.protected static boolean validateEncoding(String charsetName)
charsetName - the charsetName to be check.true if the given charset is supported by the JVM, false otherwise.protected static List<String> getTagletClassNames(File jarFile) throws IOException, ClassNotFoundException, NoClassDefFoundError
com.sun.tools.doclets.Taglet class from a given
 jar file. JAVA_HOME/lib/tools.jar is a requirement to find
 com.sun.tools.doclets.Taglet class.jarFile - not nullcom.sun.tools.doclets.Taglet class names from a given jarFile.IOException - if jarFile is invalid or not found, or if the JAVA_HOME/lib/tools.jar is not
             found.ClassNotFoundException - if anyNoClassDefFoundError - if anyprotected static void copyResource(URL url, File file) throws IOException
url - not null urlfile - not null file where the url will be createdIOException - if anyprotected static void invokeMaven(org.apache.maven.plugin.logging.Log log,
                                  File localRepositoryDir,
                                  File projectFile,
                                  List<String> goals,
                                  Properties properties,
                                  File invokerLog,
                                  File globalSettingsFile)
                           throws org.apache.maven.shared.invoker.MavenInvocationException
maven.home Java system property or defined in
 M2_HOME system env variables.log - a logger could be null.localRepositoryDir - the localRepository not null.projectFile - a not null project file.goals - a not null goals list.properties - the properties for the goals, could be null.invokerLog - the log file where the invoker will be written, if null using System.out.globalSettingsFile - reference to settings file, could be null.org.apache.maven.shared.invoker.MavenInvocationException - if anyprotected static String readFile(File javaFile, String encoding)
javaFile - not nullencoding - could be nullFileUtils.fileRead(File, String)protected static String[] splitPath(String path)
splitPath( "/home:/tmp" ) = ["/home", "/tmp"] splitPath( "/home;/tmp" ) = ["/home", "/tmp"] splitPath( "C:/home:C:/tmp" ) = ["C:/home", "C:/tmp"] splitPath( "C:/home;C:/tmp" ) = ["C:/home", "C:/tmp"]
path - which can contain multiple paths separated with a colon (:) or a semi-colon
            (;), platform independent. Could be null.null if path was null.protected static String unifyPathSeparator(String path)
unifyPathSeparator( "/home:/tmp" ) = "/home:/tmp" (Solaris box) unifyPathSeparator( "/home:/tmp" ) = "/home;/tmp" (Windows box)
path - which can contain multiple paths by separating them with a colon (:) or a semi-colon
            (;), platform independent. Could be null.null if path was
         null.splitPath(String), 
File.pathSeparatorpublic static boolean isNotEmpty(Collection<?> collection)
collection - the collection to verifytrue if not null and not empty, otherwise falsepublic static boolean isEmpty(Collection<?> collection)
collection - the collection to verifytrue if null or empty, otherwise falseprotected static URL getRedirectUrl(URL url, org.apache.maven.settings.Settings settings) throws IOException
url - URL.settings - Maven settings.IOException - if there was an error during the Http request.protected static boolean isValidPackageList(URL url, org.apache.maven.settings.Settings settings, boolean validateContent) throws IOException
URL to point to a valid package-list resource.url - The URL to validate.settings - The user settings used to configure the connection to the URL or null.validateContent - true to validate the content of the package-list resource;
            false to only check the existence of the package-list resource.true if url points to a valid package-list resource;
         false else.IOException - if reading the resource fails.createHttpClient(org.apache.maven.settings.Settings, java.net.URL)protected static boolean isValidElementList(URL url, org.apache.maven.settings.Settings settings, boolean validateContent) throws IOException
IOExceptionCopyright © 2004–2023 The Apache Software Foundation. All rights reserved.