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&data=02%7C01%7Caharui%40adobe.com%7C38144c6aad134a10c4c208d668a687fe%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636811461811634059&sdata=G8xFrRwg1k7E7hh82wT06uTS45rXV6%2Ft7R%2F%2FkRQgsug%3D&reserved=0 > > <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpaste.apache.org%2FQCPO&data=02%7C01%7Caharui%40adobe.com%7C38144c6aad134a10c4c208d668a687fe%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636811461811634059&sdata=G8xFrRwg1k7E7hh82wT06uTS45rXV6%2Ft7R%2F%2FkRQgsug%3D&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? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> >> >> > > >
