The class has these lines which likely complicate things:
/**
* @export
* @type {org.apache.royale.collections.ArrayList}
*/
com.printui.view.managers.LocaleManager.spellingLocalesList_ = new
org.apache.royale.collections.ArrayList();
The above was generated from:
[Bindable]
public static var spellingLocalesList:ArrayList = new ArrayList();
> On Dec 20, 2018, at 11:01 AM, Harbs <[email protected]> wrote:
>
> I was not clear below that the ArrayList dependency was a static one.
>
>> On Dec 20, 2018, at 10:58 AM, Harbs <[email protected]> wrote:
>>
>> 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 <[email protected]> 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" <[email protected]> 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 <[email protected]> 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 <[email protected]> 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" <[email protected]> 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" <[email protected]> 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 <[email protected]>
>>>>>> 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" <[email protected]> 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 <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>> Is there a goog.addDependency for ApplicationBase.js in the working and
>>>>>>> non-working index.html, and are they different?
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>
>