compiler-jx: JSCPublisher and NodePublisher use new template code generation functions in MXMLFlexJSPublisher
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/8c80e2bf Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/8c80e2bf Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/8c80e2bf Branch: refs/heads/feature-autobuild/maven-archetypes Commit: 8c80e2bf3584e1273cb807c59416649a1a824c28 Parents: df7e6d6 Author: Josh Tynjala <joshtynj...@gmail.com> Authored: Tue Oct 4 16:41:53 2016 -0700 Committer: Josh Tynjala <joshtynj...@gmail.com> Committed: Tue Oct 4 16:41:53 2016 -0700 ---------------------------------------------------------------------- .../internal/codegen/js/jsc/JSCPublisher.java | 5 +- .../internal/codegen/js/node/NodePublisher.java | 52 +++++++++++++------- 2 files changed, 37 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8c80e2bf/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jsc/JSCPublisher.java ---------------------------------------------------------------------- diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jsc/JSCPublisher.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jsc/JSCPublisher.java index 1f39d50..fd29f85 100644 --- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jsc/JSCPublisher.java +++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jsc/JSCPublisher.java @@ -29,7 +29,6 @@ import org.apache.flex.compiler.internal.projects.FlexJSProject; public class JSCPublisher extends MXMLFlexJSPublisher { - public JSCPublisher(Configuration config, FlexJSProject project) { super(config, project); @@ -37,7 +36,7 @@ public class JSCPublisher extends MXMLFlexJSPublisher @Override protected void writeHTML(String type, String projectName, String dirPath, - String deps, List<String> additionalHTML) throws IOException + String deps, List<String> additionalHTML) throws IOException { if ("intermediate".equals(type)) { @@ -48,6 +47,6 @@ public class JSCPublisher extends MXMLFlexJSPublisher depsFile.append("\");\n"); writeFile(dirPath + File.separator + projectName + "-dependencies.js", depsFile.toString(), false); } - // super.writeHTML(type, projectName, dirPath, deps, additionalHTML); + //don't call super.writeHTML() because asjsc defaults to no HTML } } http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/8c80e2bf/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/node/NodePublisher.java ---------------------------------------------------------------------- diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/node/NodePublisher.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/node/NodePublisher.java index 88b379a..cf3a99e 100644 --- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/node/NodePublisher.java +++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/node/NodePublisher.java @@ -35,29 +35,47 @@ public class NodePublisher extends JSCPublisher } @Override - protected void writeHTML(String type, String projectName, String dirPath, - String deps, List<String> additionalHTML) throws IOException + protected String getTemplateDependencies(String type, String projectName, String deps) { - StringBuilder contents = new StringBuilder(); + StringBuilder depsJS = new StringBuilder(); if ("intermediate".equals(type)) { - contents.append("require(\"./library/closure/goog/bootstrap/nodejs\");\n"); - contents.append(deps); - contents.append("goog.require(\""); - contents.append(projectName); - contents.append("\");\n"); - contents.append("new " + projectName + "();"); + depsJS.append("require(\"./library/closure/goog/bootstrap/nodejs\");\n"); + depsJS.append(deps); + depsJS.append("goog.require(\""); + depsJS.append(projectName); + depsJS.append("\");\n"); } - else + else { - contents.append("new "); - contents.append("require(\"./"); - contents.append(projectName); - contents.append("\")"); - contents.append("."); - contents.append(projectName); - contents.append("();"); + depsJS.append("var "); + depsJS.append(projectName); + depsJS.append(" = require(\"./"); + depsJS.append(projectName); + depsJS.append("\")."); + depsJS.append(projectName); + depsJS.append(";\n"); } + return depsJS.toString(); + } + + @Override + protected String getTemplateBody(String projectName) + { + StringBuilder bodyJS = new StringBuilder(); + bodyJS.append("new "); + bodyJS.append(projectName); + bodyJS.append("();"); + return bodyJS.toString(); + } + + @Override + protected void writeHTML(String type, String projectName, String dirPath, + String deps, List<String> additionalHTML) throws IOException + { + StringBuilder contents = new StringBuilder(); + contents.append(getTemplateDependencies(type, projectName, deps)); + contents.append(getTemplateBody(projectName)); writeFile(dirPath + File.separator + "index.js", contents.toString(), false); } }