You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2015/06/20 09:07:47 UTC

[1/5] git commit: [flex-falcon] [refs/heads/develop] - add externc.js.swc target that builds js.swc from the command-line. Might be broken. Needs testing and integration into the main build.

Repository: flex-falcon
Updated Branches:
  refs/heads/develop 27448ec2f -> 3f12980ed


add externc.js.swc target that builds js.swc from the command-line.  Might be broken.  Needs testing and integration into the main build.


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

Branch: refs/heads/develop
Commit: 3f12980edf2838b1ecc0efb5e48b5848c5e69562
Parents: 09dd9ad
Author: Alex Harui <ah...@apache.org>
Authored: Sat Jun 20 00:05:37 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Sat Jun 20 00:06:17 2015 -0700

----------------------------------------------------------------------
 build.xml | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3f12980e/build.xml
----------------------------------------------------------------------
diff --git a/build.xml b/build.xml
index 8aee807..336aba8 100644
--- a/build.xml
+++ b/build.xml
@@ -527,6 +527,23 @@
         <ant dir="compiler.jx.tests" target="js.swc"/>
     </target>
     
+    <target name="externc.js.swc" >
+        <echo>${env.ASJS_HOME}</echo>
+        <java jar="${basedir}/compiler.jx/lib/externc.jar" fork="true"
+            failonerror="false">
+            <arg value="+flexlib=${env.ASJS_HOME}/frameworks" />
+            <arg value="-debug" />
+            <arg value="-load-config=closure-compiler/js-compile-config.xml" />
+        </java>
+        <java jar="${basedir}/compiler/generated/dist/sdk/lib/falcon-compc.jar" fork="true"
+            failonerror="true">
+            <arg value="+flexlib=${env.ASJS_HOME}/frameworks" />
+            <arg value="-debug" />
+            <arg value="-load-config=${basedir}/closure-compiler/compile-config.xml" />
+            <arg value="-output=${basedir}/closure-compiler/js.swc" />
+        </java>
+    </target>
+    
     <target name="binary-package"
         description="Package binary files in zip and tar-gzip file.">
         


[3/5] git commit: [flex-falcon] [refs/heads/develop] - protected so subclasses can use it

Posted by ah...@apache.org.
protected so subclasses can use it


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

Branch: refs/heads/develop
Commit: f489326d298c91ca320323ebc26aec4549cf6411
Parents: 27448ec
Author: Alex Harui <ah...@apache.org>
Authored: Fri Jun 19 23:12:56 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Sat Jun 20 00:06:17 2015 -0700

----------------------------------------------------------------------
 compiler/src/org/apache/flex/compiler/config/Configuration.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/f489326d/compiler/src/org/apache/flex/compiler/config/Configuration.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/config/Configuration.java b/compiler/src/org/apache/flex/compiler/config/Configuration.java
index 5fbc829..062edd2 100644
--- a/compiler/src/org/apache/flex/compiler/config/Configuration.java
+++ b/compiler/src/org/apache/flex/compiler/config/Configuration.java
@@ -4139,7 +4139,7 @@ public class Configuration
      * into more than one path, then use {@link resolvePathsStrict}
      * @throws CannotOpen
      */
-    private String resolvePathStrict(final String path,
+    protected String resolvePathStrict(final String path,
             final ConfigurationValue cv) throws CannotOpen
     {
         return resolvePathStrict(path, cv, false);


[4/5] git commit: [flex-falcon] [refs/heads/develop] - build externc.jar

Posted by ah...@apache.org.
build externc.jar


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

Branch: refs/heads/develop
Commit: 09dd9ad1738eca75df22b2f47ce7e3ea0800e886
Parents: 513a9b3
Author: Alex Harui <ah...@apache.org>
Authored: Fri Jun 19 23:15:09 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Sat Jun 20 00:06:17 2015 -0700

----------------------------------------------------------------------
 compiler.jx/build.xml | 12 ++++++++++++
 1 file changed, 12 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/09dd9ad1/compiler.jx/build.xml
----------------------------------------------------------------------
diff --git a/compiler.jx/build.xml b/compiler.jx/build.xml
index 13deeff..bcc0286 100644
--- a/compiler.jx/build.xml
+++ b/compiler.jx/build.xml
@@ -34,6 +34,7 @@
 	<property name="classes.dir" value="${build.output}/classes" />
 	
 	<property name="mxmlc.jar" value="${build.lib.dir}/mxmlc.jar" />
+    <property name="externc.jar" value="${build.lib.dir}/externc.jar" />
 	<property name="compc.jar" value="${build.lib.dir}/compc.jar" />
 	<property name="jsc.jar" value="${build.lib.dir}/jsc.jar" />
 
@@ -126,10 +127,21 @@
 			</manifest>
 		</jar>
 
+        <echo message="Building ${externc.jar}" />
+        <jar file="${externc.jar}" basedir="${classes.dir}">
+            <include name="META-INF/LICENSE"/>
+            <include name="META-INF/NOTICE"/>
+            <manifest>
+                <attribute name="Main-Class" value="org.apache.flex.compiler.clients.EXTERNC" />
+                <attribute name="Class-Path" value="jsc.jar" />
+            </manifest>
+        </jar>
+
 		<echo message="Copying jars to ${lib}" />
         <copy todir="${lib}">
 			<filelist dir="${build.lib.dir}">
 				<file name="compc.jar" />
+                <file name="externc.jar" />
 				<file name="mxmlc.jar" />
 				<file name="jsc.jar" />
 			</filelist>


[5/5] git commit: [flex-falcon] [refs/heads/develop] - get CLI working for EXTERNC

Posted by ah...@apache.org.
get CLI working for EXTERNC


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

Branch: refs/heads/develop
Commit: 0c8ab8d51450e767d08d2371a108747c2889ec8e
Parents: f489326
Author: Alex Harui <ah...@apache.org>
Authored: Fri Jun 19 23:13:41 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Sat Jun 20 00:06:17 2015 -0700

----------------------------------------------------------------------
 .../apache/flex/compiler/clients/EXTERNC.java   | 37 +++++++++-
 .../compiler/clients/ExternCConfiguration.java  | 74 ++++++++++++++++++--
 2 files changed, 103 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/0c8ab8d5/compiler.jx/src/org/apache/flex/compiler/clients/EXTERNC.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/clients/EXTERNC.java b/compiler.jx/src/org/apache/flex/compiler/clients/EXTERNC.java
index 7bb9b42..8a632db 100644
--- a/compiler.jx/src/org/apache/flex/compiler/clients/EXTERNC.java
+++ b/compiler.jx/src/org/apache/flex/compiler/clients/EXTERNC.java
@@ -24,11 +24,14 @@ import java.util.HashSet;
 import java.util.Set;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.flex.compiler.config.Configurator;
+import org.apache.flex.compiler.config.ICompilerSettingsConstants;
 import org.apache.flex.compiler.internal.codegen.externals.emit.ReferenceEmitter;
 import org.apache.flex.compiler.internal.codegen.externals.pass.ReferenceCompiler;
 import org.apache.flex.compiler.internal.codegen.externals.reference.ReferenceModel;
 import org.apache.flex.compiler.internal.codegen.js.JSSharedData;
 import org.apache.flex.compiler.problems.ICompilerProblem;
+import org.apache.flex.compiler.targets.ITarget.TargetType;
 
 import com.google.javascript.jscomp.Result;
 
@@ -53,6 +56,7 @@ public class EXTERNC
         final int code;
     }
 
+    protected Configurator projectConfigurator;
     private ExternCConfiguration configuration;
     private ReferenceModel model;
     private ReferenceCompiler compiler;
@@ -73,8 +77,26 @@ public class EXTERNC
         return emitter;
     }
 
+    public EXTERNC()
+    {
+    }
+    
     public EXTERNC(ExternCConfiguration configuration)
     {
+    	configure(configuration);
+    }
+
+    public void configure(String[] args)
+    {
+        projectConfigurator = createConfigurator();    
+        projectConfigurator.setConfiguration(args,
+                "external", false);
+        projectConfigurator.getTargetSettings(TargetType.SWC);
+        configure((ExternCConfiguration)projectConfigurator.getConfiguration());
+    }
+    
+    public void configure(ExternCConfiguration configuration)
+    {
         this.configuration = configuration;
 
         model = new ReferenceModel(configuration);
@@ -83,6 +105,17 @@ public class EXTERNC
     }
 
     /**
+     * Create a new Configurator. This method may be overridden to allow
+     * Configurator subclasses to be created that have custom configurations.
+     * 
+     * @return a new instance or subclass of {@link Configurator}.
+     */
+    protected Configurator createConfigurator()
+    {
+    	return new Configurator(ExternCConfiguration.class);
+    }
+    
+    /**
      * Java program entry point.
      * 
      * @param args command line arguments
@@ -103,8 +136,8 @@ public class EXTERNC
     {
         long startTime = System.nanoTime();
 
-        ExternCConfiguration config = new ExternCConfiguration(args);
-        final EXTERNC compiler = new EXTERNC(config);
+        final EXTERNC compiler = new EXTERNC();
+        compiler.configure(args);
         final Set<ICompilerProblem> problems = new HashSet<ICompilerProblem>();
         final int exitCode = compiler.mainNoExit(args, problems, true);
 

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/0c8ab8d5/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java b/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java
index 44d27f4..0a620eb 100644
--- a/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java
+++ b/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java
@@ -25,13 +25,21 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
+import org.apache.flex.compiler.config.Configuration;
+import org.apache.flex.compiler.config.ConfigurationValue;
+import org.apache.flex.compiler.exceptions.ConfigurationException.CannotOpen;
+import org.apache.flex.compiler.exceptions.ConfigurationException.IncorrectArgumentCount;
 import org.apache.flex.compiler.internal.codegen.externals.pass.ReferenceCompiler.ExternalFile;
 import org.apache.flex.compiler.internal.codegen.externals.reference.ClassReference;
 import org.apache.flex.compiler.internal.codegen.externals.reference.FieldReference;
 import org.apache.flex.compiler.internal.codegen.externals.reference.MemberReference;
+import org.apache.flex.compiler.internal.config.annotations.Arguments;
+import org.apache.flex.compiler.internal.config.annotations.Config;
+import org.apache.flex.compiler.internal.config.annotations.InfiniteArguments;
+import org.apache.flex.compiler.internal.config.annotations.Mapping;
 import org.apache.flex.utils.FilenameNormalization;
 
-public class ExternCConfiguration
+public class ExternCConfiguration extends Configuration
 {
     private File asRoot;
 
@@ -52,16 +60,18 @@ public class ExternCConfiguration
     {
     }
 
-    public ExternCConfiguration(String[] args)
-    {
-        // TODO (mschmalle) implement argument digesting
-    }
-
     public File getAsRoot()
     {
         return asRoot;
     }
 
+    @Config
+    @Mapping("as-root")
+    public void setASRoot(ConfigurationValue cfgval, String filename) throws CannotOpen
+    {
+    	setASRoot(new File(FilenameNormalization.normalize(getOutputPath(cfgval, filename))));
+    }
+    
     public void setASRoot(File file)
     {
         this.asRoot = file;
@@ -125,6 +135,16 @@ public class ExternCConfiguration
         addExternal(new File(FilenameNormalization.normalize(externalFile)));
     }
 
+    @Config(allowMultiple = true, isPath = true)
+    @Mapping("external")
+    @Arguments(Arguments.PATH_ELEMENT)
+    @InfiniteArguments
+    public void setExternal(ConfigurationValue cfgval, String[] vals) throws IOException, CannotOpen
+    {
+    	for (String val : vals)
+    		addExternal(resolvePathStrict(val, cfgval));
+    }
+    
     public ExcludedMemeber isExcludedClass(ClassReference classReference)
     {
         for (ExcludedMemeber memeber : excludesClass)
@@ -154,6 +174,23 @@ public class ExternCConfiguration
         return null;
     }
 
+    @Config(allowMultiple = true)
+    @Mapping("exclude")
+    @Arguments({"class", "name"})
+    public void setExcludes(ConfigurationValue cfgval, List<String> values) throws IncorrectArgumentCount
+    {
+        final int size = values.size();
+        if (size % 2 != 0)
+            throw new IncorrectArgumentCount(size + 1, size, cfgval.getVar(), cfgval.getSource(), cfgval.getLine());
+
+        for (int nameIndex = 0; nameIndex < size - 1; nameIndex += 2)
+        {
+            final String className = values.get(nameIndex);
+            final String name = values.get(nameIndex + 1);
+        	addExclude(className, name);
+        }
+    }
+    
     public void addExclude(String className, String name)
     {
         excludes.add(new ExcludedMemeber(className, name));
@@ -164,11 +201,36 @@ public class ExternCConfiguration
         excludes.add(new ExcludedMemeber(className, name, description));
     }
 
+    @Config(allowMultiple = true)
+    @Mapping("field-exclude")
+    @Arguments({"class", "field"})
+    public void setFieldExcludes(ConfigurationValue cfgval, List<String> values) throws IncorrectArgumentCount
+    {
+        final int size = values.size();
+        if (size % 2 != 0)
+            throw new IncorrectArgumentCount(size + 1, size, cfgval.getVar(), cfgval.getSource(), cfgval.getLine());
+
+        for (int nameIndex = 0; nameIndex < size - 1; nameIndex += 2)
+        {
+            final String className = values.get(nameIndex);
+            final String fieldName = values.get(nameIndex + 1);
+        	addFieldExclude(className, fieldName);
+        }
+    }
+    
     public void addFieldExclude(String className, String fieldName)
     {
         excludesField.add(new ExcludedMemeber(className, fieldName, ""));
     }
 
+    @Config(allowMultiple = true)
+    @Mapping("class-exclude")
+    @Arguments("class")
+    public void setClassExcludes(ConfigurationValue cfgval, List<String> values)
+    {
+    	for (String className : values)
+    		addClassExclude(className);
+    }
     public void addClassExclude(String className)
     {
         excludesClass.add(new ExcludedMemeber(className, null, ""));


[2/5] git commit: [flex-falcon] [refs/heads/develop] - check files into closure-compiler so it can be built from command-line

Posted by ah...@apache.org.
check files into closure-compiler so it can be built from command-line


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

Branch: refs/heads/develop
Commit: 513a9b343805e4fa9393656d7d59f4a3e3b8263f
Parents: 0c8ab8d
Author: Alex Harui <ah...@apache.org>
Authored: Fri Jun 19 23:14:34 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Sat Jun 20 00:06:17 2015 -0700

----------------------------------------------------------------------
 .gitignore                             |   2 +-
 closure-compiler/compile-config.xml    |  93 +++++++++++++++
 closure-compiler/js-compile-config.xml | 171 ++++++++++++++++++++++++++++
 closure-compiler/missing.js            |  97 ++++++++++++++++
 4 files changed, 362 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/513a9b34/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 5f4e18c..a5d712e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,7 +28,7 @@ rat.report
 swfutils/
 
 # files copied from google closure compiler
-closure-compiler/
+closure-compiler/externs
 
 # debugger output folders
 debugger/bin/

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/513a9b34/closure-compiler/compile-config.xml
----------------------------------------------------------------------
diff --git a/closure-compiler/compile-config.xml b/closure-compiler/compile-config.xml
new file mode 100644
index 0000000..ff69260
--- /dev/null
+++ b/closure-compiler/compile-config.xml
@@ -0,0 +1,93 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <!--
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/osmf.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+        
+        <keep-as3-metadata>
+            <name>SkinPart</name>
+        </keep-as3-metadata>
+        
+        <mxml>
+            <minimum-supported-version>4.0.0</minimum-supported-version>
+        </mxml>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <namespaces>
+            <namespace>
+                <uri>library://ns.adobe.com/flex/spark</uri>
+                <manifest>manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        -->
+        <source-path>
+            <path-element>out/as/classes</path-element>
+            <path-element>out/as/constants</path-element>
+            <path-element>out/as/functions</path-element>
+            <path-element>out/as/interfaces</path-element>
+            <path-element>out/as/typedefs</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-sources>
+        <path-element>out/as/classes</path-element>
+        <path-element>out/as/constants</path-element>
+        <path-element>out/as/functions</path-element>
+        <path-element>out/as/interfaces</path-element>
+        <path-element>out/as/typedefs</path-element>
+    </include-sources>
+
+    <!--
+    <include-file>
+        <name>defaults.css</name>
+        <path>defaults.css</path>
+    </include-file>
+    <include-file>
+        <name>assets/ErrorIndicator.png</name>
+        <path>assets/ErrorIndicator.png</path>
+    </include-file>
+    <include-file>
+        <name>assets/RequiredIndicator.png</name>
+        <path>assets/RequiredIndicator.png</path>
+    </include-file>
+    
+    <include-namespaces>
+        <uri>library://ns.adobe.com/flex/spark</uri>
+    </include-namespaces>  
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+     -->
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/513a9b34/closure-compiler/js-compile-config.xml
----------------------------------------------------------------------
diff --git a/closure-compiler/js-compile-config.xml b/closure-compiler/js-compile-config.xml
new file mode 100644
index 0000000..1fc8387
--- /dev/null
+++ b/closure-compiler/js-compile-config.xml
@@ -0,0 +1,171 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License</name></exclude> you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <!--
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/osmf.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+        
+        <keep-as3-metadata>
+            <name>SkinPart</name>
+        </keep-as3-metadata>
+        
+        <mxml>
+            <minimum-supported-version>4.0.0</minimum-supported-version>
+        </mxml>
+        -->
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <!--
+        <namespaces>
+            <namespace>
+                <uri>library://ns.adobe.com/flex/spark</uri>
+                <manifest>manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        -->
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <external>
+        <path-element>missing.js</path-element>
+        <path-element>externs/es3.js</path-element>
+        <path-element>externs/es5.js</path-element>
+        <path-element>externs/es6.js</path-element>
+        <path-element>externs/w3c_anim_timing.js</path-element>
+        <path-element>externs/w3c_audio.js</path-element>
+        <path-element>externs/w3c_batterystatus.js</path-element>
+        <path-element>externs/w3c_css.js</path-element>
+        <path-element>externs/w3c_css3d.js</path-element>
+        <path-element>externs/w3c_device_sensor_event.js</path-element>
+        <path-element>externs/w3c_dom1.js</path-element>
+        <path-element>externs/w3c_dom2.js</path-element>
+        <path-element>externs/w3c_dom3.js</path-element>
+        <path-element>externs/w3c_elementtraversal.js</path-element>
+        <path-element>externs/w3c_encoding.js</path-element>
+        <path-element>externs/w3c_event.js</path-element>
+        <path-element>externs/w3c_event3.js</path-element>
+        <path-element>externs/w3c_geolocation.js</path-element>
+        <path-element>externs/w3c_indexeddb.js</path-element>
+        <path-element>externs/w3c_navigation_timing.js</path-element>
+        <path-element>externs/w3c_range.js</path-element>
+        <path-element>externs/w3c_rtc.js</path-element>
+        <path-element>externs/w3c_selectors.js</path-element>
+        <!-- path-element>externs/w3c_serviceworker.js</path-element> -->
+        <!-- path-element>externs/w3c_webcrypto.js</path-element> -->
+        <path-element>externs/w3c_xml.js</path-element>
+        
+        <!-- path-element>externs/fetchapi</path-element> -->
+        
+        <path-element>externs/window.js</path-element>
+        
+        <path-element>externs/ie_dom.js</path-element>
+        <path-element>externs/gecko_dom.js</path-element>
+        
+        <path-element>externs/webkit_css.js</path-element>
+        <path-element>externs/webkit_dom.js</path-element>
+        <path-element>externs/webkit_event.js</path-element>
+        <!-- path-element>externs/webkit_notifications.js</path-element> -->
+        
+        <path-element>externs/iphone.js</path-element>
+        <path-element>externs/chrome.js</path-element>
+        <path-element>externs/flash.js</path-element>
+        
+        <path-element>externs/page_visibility.js</path-element>
+        <path-element>externs/fileapi.js</path-element>
+        <path-element>externs/html5.js</path-element>
+        
+        <path-element>externs/webgl.js</path-element>
+        <path-element>externs/webstorage.js</path-element>
+        
+        <path-element>externs/svg.js</path-element>
+    </external>
+    
+    <as-root>out/as</as-root>
+    
+    <field-exclude>
+        <class>Window</class>
+        <field>focus</field>
+    </field-exclude>
+
+    <class-exclude>
+        <class>controlRange</class>
+    </class-exclude>
+    
+    <exclude>
+        <class>Array</class>
+        <name>toSource</name>
+    </exclude>
+    <exclude>
+        <class>Date</class>
+        <name>valueOf</name>
+    </exclude>
+    <exclude>
+        <class>String</class>
+        <name>valueOf</name>
+    </exclude>
+    <exclude><class>FontFaceSet</class><name>delete</name></exclude>
+    
+    <exclude><class>CSSStyleDeclaration</class><name>cssText</name></exclude>
+    <exclude><class>CSSStyleRule</class><name>style</name></exclude>
+    <exclude><class>CSSFontFaceRule</class><name>style</name></exclude>
+    <exclude><class>CSSPageRule</class><name>style</name></exclude>
+    
+    <exclude><class>Generator</class><name>throw</name></exclude>
+    <exclude><class>Generator</class><name>return</name></exclude>
+    <exclude><class>HTMLMenuItemElement</class><name>default</name></exclude>
+    <exclude><class>MessageEvent</class><name>data</name></exclude><!-- TODO returns T -->
+    <exclude><class>MessageEvent</class><name>initMessageEventNS</name></exclude> <!-- TODO param T -->
+    <exclude><class>MessageEvent</class><name>initMessageEvent</name></exclude> <!-- TODO param T -->
+    <exclude><class>MessageEvent</class><name>default</name></exclude>
+    <exclude><class>Object</class><name>is</name></exclude>
+    <exclude><class>Promise</class><name>catch</name></exclude>
+    
+    <exclude><class>IDBCursor</class><name>continue</name></exclude>
+    <exclude><class>IDBCursor</class><name>delete</name></exclude>
+    <exclude><class>IDBObjectStore</class><name>delete</name></exclude>
+    
+    <!-- TODO method treated like field -->
+    <field-exclude><class>Iterator</class><field>next</field></field-exclude>
+    <exclude><class>Generator</class><name>next</name></exclude>
+    <exclude><class>LinkStyle</class><name>sheet</name></exclude>
+    
+    <!-- SVG -->
+    <exclude><class>SVGStylable</class><name>className</name></exclude>
+    <exclude><class>SVGStylable</class><name>style</name></exclude>
+    <exclude><class>SVGLocatable</class><name>farthestViewportElement</name></exclude>
+    <exclude><class>SVGLocatable</class><name>nearestViewportElement</name></exclude>
+
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/513a9b34/closure-compiler/missing.js
----------------------------------------------------------------------
diff --git a/closure-compiler/missing.js b/closure-compiler/missing.js
new file mode 100644
index 0000000..5833dd4
--- /dev/null
+++ b/closure-compiler/missing.js
@@ -0,0 +1,97 @@
+/*
+ *
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+ 
+// webkit_notifications
+/**
+ * @constructor
+ */
+function ExtendableEvent() {}
+
+// HACK @enum page_visibility
+/**
+ * @constructor
+ */
+function VisibilityState(description) {}
+
+
+// chrome.js
+/**
+ * @constructor
+ */
+function HTMLEmbedElement() {};
+
+/**
+ * @type {!Window}
+ * @const
+ */
+var window;
+
+/**
+ * @type {!HTMLDocument}
+ */
+Window.prototype.document;
+
+/**
+ * @constructor
+ */
+function Promise() {}
+
+/**
+ * @constructor
+ */
+function FontFaceSetLoadStatus() {}
+
+/**
+ * @constructor
+ */
+function FontFaceLoadStatus() {}
+
+/**
+ * @constructor
+ */
+function Navigator() {}
+
+
+/**
+ * @constructor
+ */
+function Screen() {}
+
+/**
+ * @constructor
+ */
+function uint() {}
+
+/**
+ * @constructor
+ */
+function int() {}
+
+// gecko
+
+/**
+ * @constructor
+ */
+function History() {}
+
+/**
+ * @constructor
+ */
+function Location() {}
\ No newline at end of file