flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aha...@apache.org
Subject git commit: [flex-falcon] [refs/heads/develop] - Make sure publish errors end up in the error list. Also return different exit code if there are only warnings.
Date Tue, 03 Dec 2013 23:06:17 GMT
Updated Branches:
  refs/heads/develop e3be84e96 -> 6c7fb6028


Make sure publish errors end up in the error list.  Also return different exit code if there
are only warnings.


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/6c7fb602
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/6c7fb602
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/6c7fb602

Branch: refs/heads/develop
Commit: 6c7fb60283c2b1b650d494650f384c9c3d14388c
Parents: e3be84e
Author: Alex Harui <aharui@apache.org>
Authored: Tue Dec 3 14:31:45 2013 -0800
Committer: Alex Harui <aharui@apache.org>
Committed: Tue Dec 3 14:31:45 2013 -0800

----------------------------------------------------------------------
 .../org/apache/flex/compiler/clients/MXMLJSC.java | 18 ++++++++++++------
 .../flex/compiler/codegen/js/IJSPublisher.java    |  4 +++-
 .../compiler/internal/codegen/js/JSPublisher.java |  4 +++-
 .../internal/codegen/js/goog/JSGoogPublisher.java |  6 +++++-
 .../codegen/mxml/flexjs/MXMLFlexJSPublisher.java  | 16 ++++++++++++----
 .../compiler/internal/graph/GoogDepsWriter.java   | 13 +++++++++++--
 6 files changed, 46 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6c7fb602/compiler.jx/src/org/apache/flex/compiler/clients/MXMLJSC.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/clients/MXMLJSC.java b/compiler.jx/src/org/apache/flex/compiler/clients/MXMLJSC.java
index 841b815..37b3f9b 100644
--- a/compiler.jx/src/org/apache/flex/compiler/clients/MXMLJSC.java
+++ b/compiler.jx/src/org/apache/flex/compiler/clients/MXMLJSC.java
@@ -124,8 +124,9 @@ public class MXMLJSC
         SUCCESS(0),
         PRINT_HELP(1),
         FAILED_WITH_PROBLEMS(2),
-        FAILED_WITH_EXCEPTIONS(3),
-        FAILED_WITH_CONFIG_PROBLEMS(4);
+        FAILED_WITH_ERRORS(3),
+        FAILED_WITH_EXCEPTIONS(4),
+        FAILED_WITH_CONFIG_PROBLEMS(5);
 
         ExitCode(int code)
         {
@@ -260,7 +261,12 @@ public class MXMLJSC
             {
                 compile();
                 if (problems.hasFilteredProblems())
-                    exitCode = ExitCode.FAILED_WITH_PROBLEMS;
+                {
+                    if (problems.hasErrors())
+                        exitCode = ExitCode.FAILED_WITH_ERRORS;
+                    else
+                        exitCode = ExitCode.FAILED_WITH_PROBLEMS;
+                }
             }
             else if (problems.hasFilteredProblems())
             {
@@ -418,9 +424,9 @@ public class MXMLJSC
                 }
 
                 if (jsPublisher != null)
-                    jsPublisher.publish();
-
-                compilationSuccess = true;
+                    compilationSuccess = jsPublisher.publish(problems);
+                else
+                    compilationSuccess = true;
             }
         }
         catch (Exception e)

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6c7fb602/compiler.jx/src/org/apache/flex/compiler/codegen/js/IJSPublisher.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/codegen/js/IJSPublisher.java b/compiler.jx/src/org/apache/flex/compiler/codegen/js/IJSPublisher.java
index e02f3be..3b2ea98 100644
--- a/compiler.jx/src/org/apache/flex/compiler/codegen/js/IJSPublisher.java
+++ b/compiler.jx/src/org/apache/flex/compiler/codegen/js/IJSPublisher.java
@@ -22,6 +22,8 @@ package org.apache.flex.compiler.codegen.js;
 import java.io.File;
 import java.io.IOException;
 
+import org.apache.flex.compiler.clients.problems.ProblemQuery;
+
 /**
  * The {@link IJSPublisher} interface allows the abstraction of project output
  * generation.
@@ -33,6 +35,6 @@ public interface IJSPublisher
 
     File getOutputFolder();
 
-    void publish() throws IOException;
+    boolean publish(ProblemQuery problems) throws IOException;
 
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6c7fb602/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSPublisher.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSPublisher.java
b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSPublisher.java
index 468485d..cc49504 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSPublisher.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSPublisher.java
@@ -23,6 +23,7 @@ import java.io.File;
 import java.io.IOException;
 
 import org.apache.commons.io.FilenameUtils;
+import org.apache.flex.compiler.clients.problems.ProblemQuery;
 import org.apache.flex.compiler.codegen.js.IJSPublisher;
 import org.apache.flex.compiler.config.Configuration;
 
@@ -74,10 +75,11 @@ public class JSPublisher implements IJSPublisher
             return configuration.getOutput();
     }
 
-    public void publish() throws IOException
+    public boolean publish(ProblemQuery problems) throws IOException
     {
         System.out
                 .println("The project has been successfully compiled and optimized.");
+        return true;
     }
 
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6c7fb602/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogPublisher.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogPublisher.java
b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogPublisher.java
index c44c8bb..d43c932 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogPublisher.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogPublisher.java
@@ -10,6 +10,7 @@ import java.util.List;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.io.filefilter.DirectoryFileFilter;
 import org.apache.commons.io.filefilter.RegexFileFilter;
+import org.apache.flex.compiler.clients.problems.ProblemQuery;
 import org.apache.flex.compiler.codegen.js.IJSPublisher;
 import org.apache.flex.compiler.config.Configuration;
 import org.apache.flex.compiler.internal.codegen.js.JSPublisher;
@@ -48,7 +49,8 @@ public class JSGoogPublisher extends JSPublisher implements IJSPublisher
         return outputFolder;
     }
 
-    public void publish() throws IOException
+    @Override
+    public boolean publish(ProblemQuery problems) throws IOException
     {
         final String intermediateDirPath = getOutputFolder().getPath();
 
@@ -153,6 +155,8 @@ public class JSGoogPublisher extends JSPublisher implements IJSPublisher
         System.out.println("The project '"
                 + projectName
                 + "' has been successfully compiled and optimized.");
+        
+        return true;
     }
 
     private void appendExportSymbol(String path, String projectName)

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6c7fb602/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSPublisher.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSPublisher.java
b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSPublisher.java
index b101eaf..61f175e 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSPublisher.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSPublisher.java
@@ -16,6 +16,7 @@ import org.apache.commons.io.filefilter.FileFileFilter;
 import org.apache.commons.io.filefilter.FileFilterUtils;
 import org.apache.commons.io.filefilter.IOFileFilter;
 import org.apache.commons.io.filefilter.RegexFileFilter;
+import org.apache.flex.compiler.clients.problems.ProblemQuery;
 import org.apache.flex.compiler.codegen.js.IJSPublisher;
 import org.apache.flex.compiler.config.Configuration;
 import org.apache.flex.compiler.internal.codegen.js.JSSharedData;
@@ -84,8 +85,10 @@ public class MXMLFlexJSPublisher extends JSGoogPublisher implements
     }
 
     @Override
-    public void publish() throws IOException
+    public boolean publish(ProblemQuery problems) throws IOException
     {
+        boolean ok = true;
+        
         final String intermediateDirPath = outputFolder.getPath();
         final File intermediateDir = new File(intermediateDirPath);
         File srcDir = new File(configuration.getTargetFile());
@@ -132,12 +135,14 @@ public class MXMLFlexJSPublisher extends JSGoogPublisher implements
         GoogDepsWriter gdw = new GoogDepsWriter(intermediateDir, projectName, (JSGoogConfiguration)
configuration);
         try
         {
-            String depsFileData = gdw.generateDeps();
-            writeFile(depsTgtFilePath, depsFileData, false);        
+            StringBuilder depsFileData = new StringBuilder();
+            ok = gdw.generateDeps(problems, depsFileData);
+            writeFile(depsTgtFilePath, depsFileData.toString(), false);        
         }
         catch (InterruptedException e)
         {
             e.printStackTrace();
+            return false;
         }
         
         IOFileFilter pngSuffixFilter = FileFilterUtils.and(FileFileFilter.FILE,
@@ -226,9 +231,12 @@ public class MXMLFlexJSPublisher extends JSGoogPublisher implements
             org.apache.commons.io.FileUtils.deleteQuietly(new File(depsTgtFilePath));
         }
 
-        System.out.println("The project '"
+        if (ok)
+            System.out.println("The project '"
                 + projectName
                 + "' has been successfully compiled and optimized.");
+        
+        return true;
     }
 
     private void appendExportSymbol(String path, String projectName)

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6c7fb602/compiler.jx/src/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java b/compiler.jx/src/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
index fac47a3..566fb0e 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/graph/GoogDepsWriter.java
@@ -13,7 +13,9 @@ import java.util.List;
 import java.util.Scanner;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.flex.compiler.clients.problems.ProblemQuery;
 import org.apache.flex.compiler.internal.driver.js.goog.JSGoogConfiguration;
+import org.apache.flex.compiler.problems.FileNotFoundProblem;
 
 import com.google.common.io.Files;
 
@@ -26,9 +28,11 @@ public class GoogDepsWriter {
 		otherPaths = config.getSDKJSLib();
 	}
 	
+	private ProblemQuery problems;
 	private String outputFolderPath;
 	private String mainName;
 	private List<String> otherPaths;
+	private boolean problemsFound = false;
 	
 	private HashMap<String,GoogDep> depMap = new HashMap<String,GoogDep>();
 	
@@ -44,8 +48,10 @@ public class GoogDepsWriter {
 		return files;
 	}
 	
-	public String generateDeps() throws InterruptedException, FileNotFoundException
+	public boolean generateDeps(ProblemQuery problems, StringBuilder depsFileData) throws InterruptedException,
FileNotFoundException
 	{
+	    problemsFound = false;
+	    this.problems = problems;
 		buildDB();
 		ArrayList<GoogDep> dps = sort(mainName);
 		String outString = "// generated by FalconJS" + "\n";
@@ -65,7 +71,8 @@ public class GoogDepsWriter {
 	            outString += s;
 			}
 		}
-		return outString; 
+		depsFileData.append(outString);
+		return !problemsFound; 
 	}
 	
 	private boolean isGoogClass(String className)
@@ -240,6 +247,8 @@ public class GoogDepsWriter {
         }
         
 		System.out.println("Could not find file for class: " + className);
+		problems.add(new FileNotFoundProblem(className));
+		problemsFound = true;
 		return "";
 	}
 	


Mime
View raw message