Reviewers: dconnelly,
Description:
Consolidates all methodDependencies files into one per split point.
Please review this at http://gwt-code-reviews.appspot.com/1453802/
Affected files:
M dev/core/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java
D eclipse/samples/Hello/Hello-compModule.launch
Index: dev/core/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java
===================================================================
--- dev/core/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java (revision
10241)
+++ dev/core/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java (working
copy)
@@ -57,7 +57,7 @@
public String dependencyLinkForClass(String className) {
String packageName =
globalInformation.getClassToPackage().get(className);
assert packageName != null;
- return dependenciesFileName("initial", packageName) + "#" +
className;
+ return dependenciesFileName("initial") + "#" + className;
}
}
@@ -355,17 +355,13 @@
outFile.println(" function c(packageRef,classRef,packageHashRef)
{");
outFile.println(" var packageName =
internedStrings[packageRef];");
outFile.println(" var className = packageName + \".\" +
internedStrings[classRef];");
- outFile.println(" var d1 = 'methodDependencies-total-' +
internedStrings[packageHashRef] "
- + "+ '-" + getPermutationId() + ".html';");
+ outFile.println(" var d1 = 'methodDependencies-total-" +
getPermutationId() + ".html';");
outFile.println(" document.write(\"<ul class='soyc-excl'>\");");
outFile.println(" document.write(\"<li><a href='\" + d1 + \"#\" +
className + \"'>"
+ "See why it's live</a></li>\");");
outFile.println(" for (var sp = 1; sp <= "
+ globalInformation.getNumSplitPoints() + "; sp++) {");
- outFile.println(" var d2 = 'methodDependencies-sp' + sp + '-'
+ "
- + "internedStrings[packageHashRef] + '-" + getPermutationId()
- + ".html';");
-
+ outFile.println(" var d2 = 'methodDependencies-sp' + sp + '-" +
getPermutationId() + ".html';");
outFile.println(" document.write(\"<li><a href='\" + d2 + \"#\"
+ className +\"'>"
+ " See why it's not exclusive to s.p. #\" + sp + \" (\" +
spl[sp - 1] + \")"
+ "</a></li>\");");
@@ -1340,10 +1336,8 @@
/**
* Returns a file name for the dependencies list.
*/
- private String dependenciesFileName(String depGraphName, String
packageName) {
- return "methodDependencies-" + depGraphName + "-"
- + hashedFilenameFragment(packageName) + "-" + getPermutationId()
- + ".html";
+ private String dependenciesFileName(String depGraphName) {
+ return "methodDependencies-" + depGraphName + "-" + getPermutationId()
+ ".html";
}
private String[] getGeneratedTypes(ModuleMetricsArtifact moduleMetrics,
@@ -1676,28 +1670,12 @@
interner.printInternedDataAsJs(outFile);
outFile.close();
- // Separate out the packages to write them into different HTML files.
- String packageName = "";
List<String> classesInPackage = new ArrayList<String>();
for (String method : dependencies.keySet()) {
- // this key set is already in alphabetical order
- // get the package of this method, i.e., everything up to .[A-Z]
- packageName = method.replaceAll("\\.\\p{Upper}.*", "");
-
- if (curPackageName.compareTo("") == 0) {
- curPackageName = packageName;
- } else if (curPackageName.compareTo(packageName) != 0) {
- makeDependenciesInternedHtml(depGraphName, curPackageName,
- classesInPackage, dependencies, interner, jsFileName);
- classesInPackage = new ArrayList<String>();
- curPackageName = packageName;
- }
classesInPackage.add(method);
}
- if (classesInPackage.size() > 0) {
- makeDependenciesInternedHtml(depGraphName, curPackageName,
- classesInPackage, dependencies, interner, jsFileName);
- }
+ makeDependenciesInternedHtml(depGraphName,
+ classesInPackage, dependencies, interner, jsFileName);
}
/**
@@ -1708,28 +1686,27 @@
* @throws IOException
*/
private void makeDependenciesInternedHtml(String depGraphName,
- String packageName, List<String> classesInPackage,
+ List<String> classesInSplitPoint,
Map<String, String> dependencies, HtmlInterner interner, String
jsFileName)
throws IOException {
String depGraphDescription = inferDepGraphDescription(depGraphName);
PrintWriter outFile = null;
String curClassName = "";
- String outFileName = dependenciesFileName(depGraphName, packageName);
+ String outFileName = dependenciesFileName(depGraphName);
outFile = new PrintWriter(getOutFile(outFileName));
- String packageDescription = packageName.length() == 0
- ? "the default package" : packageName;
+
addStandardHtmlProlog(outFile, "Method Dependencies for "
+ depGraphDescription,
- "Method Dependencies for " + depGraphDescription, "Showing
Package: "
- + packageDescription);
+ "Method Dependencies for " + depGraphDescription, null);
outFile.print("<script src=\"" + jsFileName
+ "\" language=\"javascript\" ></script>");
// Write out the HTML
outFile.print("<script>");
- for (String method : classesInPackage) {
+ boolean first = true;
+ for (String method : classesInSplitPoint) {
// this key set is already in alphabetical order
// get the package of this method, i.e., everything up to .[A-Z]
@@ -1737,7 +1714,7 @@
String depMethod = dependencies.get(method);
if (curClassName.compareTo(className) != 0) {
curClassName = className;
- if (method != classesInPackage.get(0)) {
+ if (method != classesInSplitPoint.get(0)) {
outFile.print("j();"); // close the previous table if not the
first
}
interner.printDependencyClassHeader(outFile, className);
Index: eclipse/samples/Hello/Hello-compModule.launch
===================================================================
--- eclipse/samples/Hello/Hello-compModule.launch (revision 10241)
+++ eclipse/samples/Hello/Hello-compModule.launch (working copy)
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/Hello"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables"
value="true"/>
-<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
-<listEntry value="<?xml version="1.0"
encoding="UTF-8"?> <runtimeClasspathEntry
containerPath="org.eclipse.jdt.launching.JRE_CONTAINER"
javaProject="Hello" path="1"
type="4"/> "/>
-<listEntry value="<?xml version="1.0"
encoding="UTF-8"?> <runtimeClasspathEntry
internalArchive="/Hello/core/src" path="3"
type="2"/> "/>
-<listEntry value="<?xml version="1.0"
encoding="UTF-8"?> <runtimeClasspathEntry
internalArchive="/gwt-user/core/src" path="3"
type="2"/> "/>
-<listEntry value="<?xml version="1.0"
encoding="UTF-8"?> <runtimeClasspathEntry
internalArchive="/gwt-user/core/super" path="3"
type="2"/> "/>
-<listEntry value="<?xml version="1.0"
encoding="UTF-8"?> <runtimeClasspathEntry
internalArchive="/gwt-dev/core/super" path="3"
type="2"/> "/>
-<listEntry value="<?xml version="1.0"
encoding="UTF-8"?> <runtimeClasspathEntry
id="org.eclipse.jdt.launching.classpathentry.defaultClasspath"> <memento
exportedEntriesOnly="false"
project="Hello"/> </runtimeClasspathEntry> "/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH"
value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE"
value="com.google.gwt.dev.CompileModule"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"
value="com.google.gwt.sample.hello.Hello"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR"
value="Hello"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS"
value="-ea -Xmx512M -Dgwt.devjar=${gwt_devjar} -Dgwt.speedtracerlog=log.html"/>
-</launchConfiguration>
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors