Using my app:

First blush looks good. I don’t get any compile errors.

Second blush reveals that the files are not identical.

Interestingly:

I have one class which has a single Royale dependency: ArrayList.

A double-compile results in:
goog.require('org.apache.royale.collections.ArrayList');
goog.require('org.apache.royale.events.EventDispatcher');
goog.require('org.apache.royale.core.IStrand');
goog.require('org.apache.royale.events.CollectionEvent');
goog.require('org.apache.royale.events.Event');
goog.require('org.apache.royale.collections.IArrayList');
goog.require('org.apache.royale.collections.ICollectionView');
goog.require('org.apache.royale.core.IBead');

While a single-compile results in:
goog.require('org.apache.royale.collections.ArrayList');
goog.require('org.apache.royale.events.EventDispatcher');
goog.require('org.apache.royale.core.IStrand');
goog.require('org.apache.royale.events.CollectionEvent');
goog.require('org.apache.royale.events.Event');


I’m not sure why there’s more than a single require for:

goog.require('org.apache.royale.collections.ArrayList');

There is a dependency on another class: com.printui.model.vos.RuntimeOptions 
which uses ApplicationParametersCaseInsensitiveBead and Application.

The main app and index.html both have the same number of lines, but the order 
of the classes is different.

The good news is that both versions seem to work with no RTE, but it is 
concerning that the order of the files changes.

I’ll check some of the examples as well...

> On Dec 20, 2018, at 7:14 AM, Alex Harui <aha...@adobe.com.INVALID> wrote:
> 
> It might just be me, but after fixing the circular dependency issue, I'm 
> getting repeatable builds.  It makes some sense in that the fix reduces the 
> amount of mucking with the dependency lists.  Let me know if you still see 
> differences and we'll see if we can figure out why.
> 
> -Alex
> 
> On 12/19/18, 12:18 AM, "Harbs" <harbs.li...@gmail.com> wrote:
> 
>    The DataBindingExample doesn’t seem to have an obvious runtime error, but 
> there are missing requires in DataBindingExample.js and the addDependencies 
> are different.
> 
>    HTH,
>    Harbs
> 
>> On Dec 19, 2018, at 10:12 AM, Harbs <harbs.li...@gmail.com> wrote:
>> 
>> The TourDeJewel example has the problem.
>> 
>> Rebuilding the debug version gets the runtime error that ApplicationBase is 
>> undefined.
>> 
>> Rebuilding the release build results in 238 errors in the Closure Compiler.
>> 
>>> On Dec 19, 2018, at 10:01 AM, Alex Harui <aha...@adobe.com.INVALID> wrote:
>>> 
>>> The circular dependency issue is almost certain to affect GoogDepsWriter.  
>>> It is end of my day here so I will start on those changes tomorrow.  So if 
>>> you can find a simple test case for your issue (it doesn't have to fail in 
>>> the browser, it might be good enough that the addDependency List is 
>>> different or missing some items) then I will look at that test case after I 
>>> finish up the circular issue.
>>> 
>>> Thanks,
>>> -Alex
>>> 
>>> On 12/18/18, 11:25 PM, "Alex Harui" <aha...@adobe.com.INVALID> wrote:
>>> 
>>>  Pretty sure something will need to change in GoogDepsWriter.  Don't know 
>>> what just yet.  Might be best if you can come up with a simple test case..  
>>> I'm working on a circular dependency issue right now that might also affect 
>>> GoogDepsWriter.  If you build some of our examples, do any show missing 
>>> goog.addDependencies?
>>> 
>>>  -Alex
>>> 
>>>  On 12/18/18, 11:12 PM, "Harbs" <harbs.li...@gmail.com> wrote:
>>> 
>>>      So where do you suggest we fix it? In GoogDepsWriter.removeRequires?
>>> 
>>>      I’m not completely following what’s going on there.
>>> 
>>>      Harbs
>>> 
>>>> On Dec 19, 2018, at 12:52 AM, Alex Harui <aha...@adobe.com.INVALID> wrote:
>>>> 
>>>> Yeah, that makes more sense.  So somehow the information we get back from 
>>>> processing the Royale Dependency List isn't recovering all of the 
>>>> dependency data.  I had noticed that we didn't list @extends  and 
>>>> @implements in the Dependency Lists and wondered how that was working.  
>>>> Maybe it isn't working and we've been getting lucky where we've seen it 
>>>> work.
>>>> 
>>>> -Alex
>>>> 
>>>> On 12/18/18, 1:59 PM, "Harbs" <harbs.li...@gmail.com> wrote:
>>>> 
>>>> The working one has (in this order):
>>>> goog.addDependency('../../../org/apache/royale/core/Application.js', 
>>>> ['org.apache.royale.core.Application'], 
>>>> ['org.apache.royale.core.ApplicationBase', 
>>>> 'org.apache.royale.core.IStrand', 'org.apache.royale.core.IParent', 
>>>> 'org.apache.royale.events.IEventDispatcher', 
>>>> 'org.apache.royale.core.IInitialViewApplication', 
>>>> 'org.apache.royale.core.IPopUpHost', 
>>>> 'org.apache.royale.core.IPopUpHostParent', 
>>>> 'org.apache.royale.core.IRenderedObject']);
>>>> goog.addDependency('../../../org/apache/royale/core/IInitialViewApplication.js',
>>>>  ['org.apache.royale.core.IInitialViewApplication'], 
>>>> ['org.apache.royale.events.IEventDispatcher']);
>>>> goog.addDependency('../../../org/apache/royale/core/IPopUpHost.js', 
>>>> ['org.apache.royale.core.IPopUpHost'], []);
>>>> goog.addDependency('../../../org/apache/royale/core/IPopUpHostParent.js', 
>>>> ['org.apache.royale.core.IPopUpHostParent'], 
>>>> ['org.apache.royale.core.IParent']);
>>>> goog.addDependency('../../../org/apache/royale/core/ApplicationBase.js', 
>>>> ['org.apache.royale.core.ApplicationBase'], 
>>>> ['org.apache.royale.core.HTMLElementWrapper', 
>>>> 'org.apache.royale.core.IFlexInfo']);
>>>> goog.addDependency('../../../org/apache/royale/core/IFlexInfo.js', 
>>>> ['org.apache.royale.core.IFlexInfo'], []);
>>>> 
>>>> The broken one has:
>>>> 
>>>> goog.addDependency('../../../org/apache/royale/core/Application.js', 
>>>> ['org.apache.royale.core.Application'], 
>>>> ['org.apache.royale.core.ApplicationBase', 
>>>> 'org.apache.royale.core.IStrand', 'org.apache.royale.core.IParent', 
>>>> 'org.apache.royale.events.IEventDispatcher', 
>>>> 'org.apache.royale.core.IInitialViewApplication', 
>>>> 'org.apache.royale.core.IPopUpHost', 
>>>> 'org.apache.royale.core.IPopUpHostParent', 
>>>> 'org.apache.royale.core.IRenderedObject']);
>>>> goog.addDependency('../../../org/apache/royale/core/BrowserResizeListener.js',
>>>>  ['org.apache.royale.core.BrowserResizeListener'], 
>>>> ['org.apache.royale.core.IBead']);
>>>> goog.addDependency('../../../org/apache/royale/core/CallLaterBead.js', 
>>>> ['org.apache.royale.core.CallLaterBead'], 
>>>> ['org.apache.royale.core.IBead']);
>>>> 
>>>> (No addDependency for ApplicationBase)
>>>> 
>>>> The broken one also has no addDependency for HTMLElementWrapper, IFlexInfo 
>>>> and I’m sure many others.
>>>> 
>>>>> On Dec 18, 2018, at 11:43 PM, Alex Harui <aha...@adobe.com.INVALID> wrote:
>>>>> 
>>>>> Is there a goog.addDependency for ApplicationBase.js in the working and 
>>>>> non-working index.html, and are they different?
>>>> 
>>>> 
>>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>> 
> 
> 
> 

Reply via email to