No. ASDoc is identical.

I’m not sure how to reproduce this. My app has a lot of MXML files with CSS and 
only two of them seem to cause things to change order.

> On Dec 23, 2018, at 9:57 AM, Alex Harui <[email protected]> wrote:
> 
> I'm in the middle of trying to upgrade our Closure versions so I'm not easily 
> able to reproduce this.  Can you reproduce it with examples/royale/ASDoc?  If 
> not, what is the key factor?
> 
> The CSS is encoded into the JS because the ICSSValuesImpls don't ask the 
> browser for the values, they read the encoded data structure.  There might be 
> a better way to deal with it.
> 
> -Alex
> 
> On 12/22/18, 11:16 PM, "Harbs" <[email protected]> wrote:
> 
>    Much better.
> 
>    The only difference I’m seeing right now is that a few CSS blocks are in 
> different locations. The main JS files have corresponding differences in the 
> order of the MXML declared CSS.
> 
>    There are two differences. In both cases it’s CSS that’s pulled in from 
> MXML files:
> 
>    
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpaste.apache.org%2FQCPO&amp;data=02%7C01%7Caharui%40adobe.com%7C38144c6aad134a10c4c208d668a687fe%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636811461811634059&amp;sdata=G8xFrRwg1k7E7hh82wT06uTS45rXV6%2Ft7R%2F%2FkRQgsug%3D&amp;reserved=0
>  
> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpaste.apache.org%2FQCPO&amp;data=02%7C01%7Caharui%40adobe.com%7C38144c6aad134a10c4c208d668a687fe%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636811461811634059&amp;sdata=G8xFrRwg1k7E7hh82wT06uTS45rXV6%2Ft7R%2F%2FkRQgsug%3D&amp;reserved=0>
> 
>    I don’t think the order really matters in my case, but theoretically CSS 
> order can matter. I’m not really sure how the order is determined today.
> 
>    As an aside: What is the purpose for having the declared CSS styling 
> included in the JS file? Is there a trick to get true css styling omitted?
> 
>    Harbs
> 
>> On Dec 22, 2018, at 9:10 AM, Alex Harui <[email protected]> wrote:
>> 
>> OK, I think I've made the changes so that every build will be the same 
>> whether you clean or not.
>> 
>> Hopefully this will make it easier to optimize the build because you can 
>> test if the output is the same or not.
>> 
>> Let me know if you still see differences.
>> 
>> -Alex
>> 
>> On 12/20/18, 1:40 AM, "Harbs" <[email protected]> wrote:
>> 
>>   TourDeJewel has similar results to my app.
>> 
>>   There are a number of classes which have different requires:
>> 
>>   ButtonPlayground
>>   ListPlayGround
>>   SliderPlayGround
>>   SnackbarPlayGround
>>   TablePlayGround
>>   WizardPlayGround
>> 
>>   The first compile seems to have requires which are removed on the second 
>> compile.
>> 
>>   It’s interesting to note that the files which have these symptoms (in 
>> TourDeJewel) all seem to be MXML files, but not all MXML files have the 
>> symptoms.
>> 
>>   The app seems to work in both cases.
>> 
>>   My class which has the static bindable ArrayList that has the same 
>> symptom, was an .as file FWIW. What I wrote below was backwards. The first 
>> compile seems to have more requires (when different) than the second compile 
>> in all cases.
>> 
>>   HTH,
>>   Harbs
>> 
>>> On Dec 20, 2018, at 11:06 AM, Harbs <[email protected]> wrote:
>>> 
>>> 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?
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
>> 
>> 
> 
> 
> 

Reply via email to