Author: hlship
Date: Mon Sep 8 10:44:47 2008
New Revision: 693176
URL: http://svn.apache.org/viewvc?rev=693176&view=rev
Log:
TAPESTRY-2243: Component report crashes when project have too many dependencies
Modified:
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ComponentReport.java
Modified:
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ComponentReport.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ComponentReport.java?rev=693176&r1=693175&r2=693176&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ComponentReport.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-component-report/src/main/java/org/apache/tapestry/mojo/ComponentReport.java
Mon Sep 8 10:44:47 2008
@@ -44,7 +44,7 @@
* @requiresDependencyResolution compile
* @execute phase="generate-sources"
*/
[EMAIL PROTECTED]({ "unchecked" })
[EMAIL PROTECTED]({"unchecked"})
public class ComponentReport extends AbstractMavenReport
{
/**
@@ -52,8 +52,8 @@
*/
private static final String REFERENCE_DIR = "ref";
- private final static String[] PARAMETER_HEADERS = { "Name", "Type",
"Flags", "Default", "Default Prefix",
- "Description" };
+ private final static String[] PARAMETER_HEADERS = {"Name", "Type",
"Flags", "Default", "Default Prefix",
+ "Description"};
/**
@@ -237,7 +237,6 @@
sink.list_();
sink.section2_();
}
-
}
catch (Exception ex)
{
@@ -530,7 +529,7 @@
String parametersPath = workDirectory + File.separator +
"component-parameters.xml";
- String[] arguments = { "-private", "-o", parametersPath,
+ String[] arguments = {"-private", "-o", parametersPath,
"-subpackages", rootPackage,
@@ -540,15 +539,40 @@
"-sourcepath", sourcePath(),
- "-classpath", classPath() };
+ "-classpath", classPath()};
+
+ String argumentsFile = writeArgumentsFile(arguments);
- command.addArguments(arguments);
+ command.addArguments(new String[] {"@" + argumentsFile});
executeCommand(command);
return readXML(parametersPath);
}
+ private String writeArgumentsFile(String[] arguments) throws
MavenReportException
+ {
+ String fileName = workDirectory +
"/component-report-javadoc-arguments.txt";
+
+ try
+ {
+ PrintWriter pw = new PrintWriter(fileName);
+
+ for (String arg : arguments)
+ {
+ pw.println(arg);
+ }
+
+ pw.close();
+ }
+ catch (IOException ex)
+ {
+ throw new MavenReportException(ex.getMessage());
+ }
+
+ return fileName;
+ }
+
@SuppressWarnings("unchecked")
private String sourcePath()
{