> Can you check in the 'js-debug' if the Main.js has an 'exportSymbol'
> statement at the bottom?
// Ensures the symbol will be visible after compiler renaming.
goog.exportSymbol('Main', Main);
Frédéric THOMAS


----------------------------------------
> From: e...@ixsoftware.nl
> Date: Thu, 2 Jul 2015 17:34:58 +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
>
> 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
                                          

Reply via email to