You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by cd...@apache.org on 2016/10/21 15:16:42 UTC

[04/44] git commit: [flex-falcon] [refs/heads/feature-autobuild/maven-archetypes] - compiler-jx: JSCPublisher and NodePublisher use new template code generation functions in MXMLFlexJSPublisher

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 <jo...@gmail.com>
Authored: Tue Oct 4 16:41:53 2016 -0700
Committer: Josh Tynjala <jo...@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);
     }
 }