Can you check in the 'js-debug' if the Main.js has an 'exportSymbol' statement at the bottom?
EdB On Thu, Jul 2, 2015 at 5:33 PM, Erik de Bruin <e...@ixsoftware.nl> wrote: > Are you using IntelliJ? > > Then you're on your own :-P > > I'll post my command line script, if that might help? > > EdB > > > > On Thu, Jul 2, 2015 at 5:31 PM, Frédéric THOMAS <webdoubl...@hotmail.com> > wrote: > >> >> > This commit makes the 'release' version of Fred's excellent example work >> > (with warnings). Don't forget to rebuild the 'jquery' externs SWC, as it >> > needs to pick up the JS file. >> >> I rebuilt falcon, the externs, the project and I still have >> Uncaught ReferenceError: Main is not defined >> with js-release, what did I miss ? >> >> Thanks, >> Frédéric THOMAS >> >> >> ---------------------------------------- >> > From: erikdebr...@apache.org >> > Date: Thu, 2 Jul 2015 15:19:13 +0200 >> > Subject: Re: [2/2] git commit: [flex-falcon] [refs/heads/develop] - GCC >> and externs: add the 'externs.js' files to the SWCs; tell GCC to use those >> to prevent renaming >> > To: dev@flex.apache.org >> > >> > This commit makes the 'release' version of Fred's excellent example work >> > (with warnings). Don't forget to rebuild the 'jquery' externs SWC, as it >> > needs to pick up the JS file. >> > >> > Looking further into those warnings. >> > >> > EdB >> > >> > >> > >> > On Thu, Jul 2, 2015 at 3:13 PM, <erikdebr...@apache.org> wrote: >> > >> >> GCC and externs: add the 'externs.js' files to the SWCs; tell GCC to >> use >> >> those to prevent renaming >> >> >> >> We've worked so hard to create AS classes from the Closure externs, >> let's >> >> not forget what these were originally intended for... and what we need >> them >> >> for: prevent renaming of externally declared functions. We needed to >> >> include the original extern files in their respective SWCs so we can >> later >> >> present them to the GCC. >> >> >> >> Signed-off-by: Erik de Bruin <e...@ixsoftware.nl> >> >> >> >> >> >> Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo >> >> Commit: >> http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/1f35e526 >> >> Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/1f35e526 >> >> Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/1f35e526 >> >> >> >> Branch: refs/heads/develop >> >> Commit: 1f35e5260e580b8b40f95551f383a362c2474edd >> >> Parents: e425a86 >> >> Author: Erik de Bruin <e...@ixsoftware.nl> >> >> Authored: Thu Jul 2 15:12:50 2015 +0200 >> >> Committer: Erik de Bruin <e...@ixsoftware.nl> >> >> Committed: Thu Jul 2 15:12:50 2015 +0200 >> >> >> >> ---------------------------------------------------------------------- >> >> .../mxml/flexjs/MXMLFlexJSPublisher.java | 43 +++++++++++++++++++- >> >> externs/jasmine/compile-config.xml | 5 +++ >> >> externs/jquery/compile-config.xml | 5 +++ >> >> 3 files changed, 51 insertions(+), 2 deletions(-) >> >> ---------------------------------------------------------------------- >> >> >> >> >> >> >> >> >> http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/1f35e526/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 1d6c7aa..cf3869b 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 >> >> @@ -22,7 +22,9 @@ import java.io.BufferedReader; >> >> import java.io.File; >> >> import java.io.FileInputStream; >> >> import java.io.IOException; >> >> +import java.io.InputStream; >> >> import java.io.InputStreamReader; >> >> +import java.io.OutputStream; >> >> import java.net.URL; >> >> import java.util.ArrayList; >> >> import java.util.Collection; >> >> @@ -49,6 +51,8 @@ import >> >> org.apache.flex.compiler.internal.driver.js.goog.JSGoogConfiguration; >> >> import org.apache.flex.compiler.internal.graph.GoogDepsWriter; >> >> import org.apache.flex.compiler.internal.projects.FlexJSProject; >> >> import org.apache.flex.compiler.utils.JSClosureCompilerWrapper; >> >> +import org.apache.flex.swc.ISWC; >> >> +import org.apache.flex.swc.ISWCFileEntry; >> >> >> >> public class MXMLFlexJSPublisher extends JSGoogPublisher implements >> >> IJSPublisher >> >> { >> >> @@ -57,6 +61,8 @@ public class MXMLFlexJSPublisher extends >> JSGoogPublisher >> >> implements IJSPublisher >> >> public static final String FLEXJS_INTERMEDIATE_DIR_NAME = "js-debug"; >> >> public static final String FLEXJS_RELEASE_DIR_NAME = "js-release"; >> >> >> >> + private static final String FLEXJS_EXTERNS = "externs"; >> >> + >> >> class DependencyRecord >> >> { >> >> String path; >> >> @@ -278,8 +284,41 @@ public class MXMLFlexJSPublisher extends >> >> JSGoogPublisher implements IJSPublisher >> >> >> >> JSClosureCompilerWrapper compilerWrapper = new >> >> JSClosureCompilerWrapper(); >> >> >> >> - GoogDepsWriter gdw = new GoogDepsWriter(intermediateDir, >> >> projectName, (JSGoogConfiguration) configuration, >> >> - project.getLibraries()); >> >> + List<ISWC> swcs = project.getLibraries(); >> >> + >> >> + // (erikdebruin) We don't want to forget that we need to tell the >> >> GCC >> >> + // about them fancy externs we've been working so >> >> hard on >> >> + for (ISWC swc : swcs) >> >> + { >> >> + String srcName = swc.getSWCFile().getName().replace(".swc", >> >> ".js"); >> >> + String srcPath = FLEXJS_EXTERNS + File.separator + srcName; >> >> + >> >> + ISWCFileEntry fileEntry = swc.getFile(FLEXJS_EXTERNS + >> >> File.separator + srcName); >> >> + if (fileEntry != null) >> >> + { >> >> + File destFile = new File(intermediateDirPath + >> >> File.separator + srcPath); >> >> + >> >> + InputStream inStream = fileEntry.createInputStream(); >> >> + OutputStream outStream = >> >> FileUtils.openOutputStream(destFile); >> >> + byte[] b = new byte[1024 * 1024]; >> >> + int bytes_read; >> >> + while ((bytes_read = inStream.read(b)) != -1) >> >> + { >> >> + outStream.write(b, 0, bytes_read); >> >> + } >> >> + outStream.flush(); >> >> + outStream.close(); >> >> + inStream.close(); >> >> + >> >> + String destPath = destFile.getAbsolutePath(); >> >> + >> >> + System.out.println("using extern: " + destPath); >> >> + >> >> + compilerWrapper.addJSExternsFile(destPath); >> >> + } >> >> + } >> >> + >> >> + GoogDepsWriter gdw = new GoogDepsWriter(intermediateDir, >> >> projectName, (JSGoogConfiguration) configuration, swcs); >> >> StringBuilder depsFileData = new StringBuilder(); >> >> try >> >> { >> >> >> >> >> >> >> http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/1f35e526/externs/jasmine/compile-config.xml >> >> ---------------------------------------------------------------------- >> >> diff --git a/externs/jasmine/compile-config.xml >> >> b/externs/jasmine/compile-config.xml >> >> index abf867e..2af1e2a 100644 >> >> --- a/externs/jasmine/compile-config.xml >> >> +++ b/externs/jasmine/compile-config.xml >> >> @@ -67,6 +67,11 @@ >> >> <path-element>out/as/functions</path-element> >> >> </include-sources> >> >> >> >> + <include-file> >> >> + <name>externs/jasmine-2.0.js</name> >> >> + <path>externs/jasmine-2.0.js</path> >> >> + </include-file> >> >> + >> >> <!-- >> >> <include-file> >> >> <name>defaults.css</name> >> >> >> >> >> >> >> http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/1f35e526/externs/jquery/compile-config.xml >> >> ---------------------------------------------------------------------- >> >> diff --git a/externs/jquery/compile-config.xml >> >> b/externs/jquery/compile-config.xml >> >> index c0c7f34..3ff4f10 100644 >> >> --- a/externs/jquery/compile-config.xml >> >> +++ b/externs/jquery/compile-config.xml >> >> @@ -71,6 +71,11 @@ >> >> <path-element>out/as/functions</path-element> >> >> </include-sources> >> >> >> >> + <include-file> >> >> + <name>externs/jquery-1.9.js</name> >> >> + <path>externs/jquery-1.9.js</path> >> >> + </include-file> >> >> + >> >> <!-- >> >> <include-file> >> >> <name>defaults.css</name> >> >> >> >> >> >> > > > > -- > Ix Multimedia Software > > Jan Luykenstraat 27 > 3521 VB Utrecht > > T. 06-51952295 > I. www.ixsoftware.nl > -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl