|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.maven.plugin.javadoc.JavadocUtil
public class JavadocUtil
Set of utilities methods for Javadoc.
| Field Summary | |
|---|---|
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 Summary | |
|---|---|
JavadocUtil()
|
|
| Method Summary | |
|---|---|
protected static void |
addFilesFromSource(List<String> files,
File sourceDirectory,
String[] excludePackages)
Convenience method that gets the files to be included in the javadoc. |
protected static void |
copyJavadocResources(File outputDirectory,
File javadocDir)
Deprecated. since 2.5, using copyJavadocResources(File, File, String) instead of. |
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 List<Artifact> |
getCompileArtifacts(Set<Artifact> artifacts)
Deprecated. since 2.5, using getCompileArtifacts(Set, boolean) instead of. |
protected static List<Artifact> |
getCompileArtifacts(Set<Artifact> artifacts,
boolean withTestScope)
Copy from MavenProject.getCompileArtifacts() |
protected static List<String> |
getExcludedNames(List<String> sourcePaths,
String[] subpackagesList,
String[] excludedPackages)
Method that gets all the source files to be excluded from the javadoc on the given source paths. |
protected static List<String> |
getExcludedPackages(String sourceDirectory,
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> |
getIncludedFiles(File sourceDirectory,
String[] fileList,
String[] excludePackages)
Method that gets the files or classes that would be included in the javadocs using the subpackages parameter. |
protected static float |
getJavadocVersion(File javadocExe)
Call the Javadoc tool and parse its output to find its version, i.e.: |
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 String |
hideProxyPassword(String cmdLine,
Settings settings)
For security reasons, if an active proxy is defined and needs an authentication by username/password, hide the proxy password in the command line. |
protected static void |
invokeMaven(Log log,
File localRepositoryDir,
File projectFile,
List<String> goals,
Properties properties,
File invokerLog)
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 |
isValidPackageList(URL url,
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. |
protected static float |
parseJavadocVersion(String output)
Parse the output for 'javadoc -J-version' and return the javadoc version recognized. |
static List<String> |
pruneDirs(MavenProject project,
List<String> dirs)
Method that removes the invalid directories in the specified directories. |
protected static List<String> |
pruneFiles(List<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. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int DEFAULT_TIMEOUT
protected static final String ERROR_INIT_VM
| Constructor Detail |
|---|
public JavadocUtil()
| Method Detail |
|---|
public static List<String> pruneDirs(MavenProject project,
List<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 list of String directories path that will be validated.
String directories absolute paths.protected static List<String> pruneFiles(List<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)
protected static List<String> getExcludedNames(List<String> sourcePaths,
String[] subpackagesList,
String[] excludedPackages)
sourcePaths - the path to the source filessubpackagesList - list of subpackages to be included in the javadocexcludedPackages - the package names to be excluded in the javadoc
protected static List<Artifact> getCompileArtifacts(Set<Artifact> artifacts)
getCompileArtifacts(Set, boolean) instead of.
MavenProject.getCompileArtifacts()
artifacts - not null
protected static List<Artifact> getCompileArtifacts(Set<Artifact> artifacts,
boolean withTestScope)
MavenProject.getCompileArtifacts()
artifacts - not nullwithTestScope - flag to include or not the artifacts with test scope
protected 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)
throws IOException
copyJavadocResources(File, File, String) instead of.
doc-files directories from javadocDir
to the outputDirectory.
outputDirectory - the output directoryjavadocDir - the javadoc directory
IOException - if any
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 parameter
IOException - if any
protected static List<String> getIncludedFiles(File sourceDirectory,
String[] fileList,
String[] excludePackages)
sourceDirectory - the directory where the source files are locatedfileList - the list of all files found in the sourceDirectoryexcludePackages - package names to be excluded in the javadoc
protected static List<String> getExcludedPackages(String sourceDirectory,
String[] excludePackagenames)
sourceDirectory - the directory where the source files are locatedexcludePackagenames - package names to be excluded in the javadoc
protected static void addFilesFromSource(List<String> files,
File sourceDirectory,
String[] excludePackages)
sourceDirectory - the directory where the source files are locatedfiles - the variable that contains the appended filenames of the files to be included in the javadocexcludePackages - the packages to be excluded in the javadocs
protected static float getJavadocVersion(File javadocExe)
throws IOException,
CommandLineException,
IllegalArgumentException,
PatternSyntaxException
javadoc.exe(or .sh) -J-version
javadocExe - not null file
IOException - if javadocExe is null, doesn't exist or is not a file
CommandLineException - if any
IllegalArgumentException - if no output was found in the command line
PatternSyntaxException - if the output contains a syntax error in the regular-expression pattern.parseJavadocVersion(String)
protected static float parseJavadocVersion(String output)
throws IllegalArgumentException,
PatternSyntaxException
| 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).*?([0-9]+\\.[0-9]+)(\\.([0-9]+))?.*.
IllegalArgumentException - if the output is null
protected 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 String hideProxyPassword(String cmdLine,
Settings settings)
cmdLine - a command line, not nullsettings - the user settings
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 null
com.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 any
NoClassDefFoundError - if any
protected static void copyResource(URL url,
File file)
throws IOException
url - not null urlfile - not null file where the url will be created
IOException - if any
protected static void invokeMaven(Log log,
File localRepositoryDir,
File projectFile,
List<String> goals,
Properties properties,
File invokerLog)
throws 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.
MavenInvocationException - if any
protected static String readFile(File javaFile,
String encoding)
javaFile - not nullencoding - could be null
FileUtils.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.pathSeparator
public static String toRelative(File basedir,
String absolutePath)
public static boolean isNotEmpty(Collection<?> collection)
public static boolean isEmpty(Collection<?> collection)
protected static boolean isValidPackageList(URL url,
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)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||