I installed Meld and compared the entire js-debug folders. All files are identical except MainApp.js, MainApp.css and index.html.
Index.html is missing many addDependencies. It would take quite a bit of time to come up with a full list. MainApp.js is missing a few specific requires like I mentioned below and the order of some css declarations are in different orders i.e. "#albumName", function() {this["fontWeight"] = "bold"}, 0, 1, MainApp.css seems to have the same declarations, but the order is changed for some of it. That seems to be the sum of the differences. Thanks, Harbs > On Dec 18, 2018, at 11:43 PM, Alex Harui <aha...@adobe.com.INVALID> wrote: > > When a file is first compiled, it does not contain a "Royale Dependency > List". It contains goog.requires and maybe a "Royale Static Dependency > List" that contains a list of classes used as static dependencies. The > compiler's 'remove-circulars' handler then processes all of the goog.requires > in a file and tries to figure out what can be moved to the main application's > list of goog.requires and what goog.requires must stay in the file in order > to satisfy the minifier, which tries to match certain goog.requires with > other JSDoc like @extends and @implements. Anything not required to be in > the file for the minifier is put in the "Royale Dependency List". Any class > listed in Royale Dependency List should end up in the main application's list > of goog.requires. > > On the first compile after clean, JS files are being pulled out of SWCs with > only goog.requires and no "Royale Dependency List" and placed in > bin/js-debug. The compiler then does what I described above and leaves the > JS files from SWCs with a "Royale Dependency List". Files in the source path > are transpiled and the output contains only goog.requires and no "Royale > Dependency List" and then they are also processed as described above and > given a "Royale Dependency List". > > One the subsequent compile, the compiler sees that certain files have a > "Royale Dependency List" and skips the thinking about what is or isn't > required to be in the file. Files in the source path were re-transpiled and > only have goog.requires and no "Royale Dependency List". The compiler > should be able to build up the same list of goog.requires that need to be > added to the main application's list of goog.requires, and the same list of > goog.addDependency calls that go in index.html from the information "cached" > in the Royale Dependency Lists. > > I had thought I had gotten rid of duplicate goog.addDependency calls in > index.html, so verify that you are on the latest compiler. But I'm not > surprised there are issues with the cache missing some information. All of > the logic should be in GoogDepsWriter. > > Is there a goog.addDependency for ApplicationBase.js in the working and > non-working index.html, and are they different? > > -Alex > > On 12/18/18, 1:24 PM, "Harbs" <harbs.li...@gmail.com> wrote: > > The dependency list in Application.as is confusing to me: > > goog.provide('org.apache.royale.core.Application'); > /* Royale Dependency List: > org.apache.royale.core.IApplicationView,org.apache.royale.core.IBead,org.apache.royale.core.IChild,org.apache.royale.core.IUIBase,org.apache.royale.core.IValuesImpl,org.apache.royale.core.UIBase,org.apache.royale.core.ValuesManager,org.apache.royale.events.Event,org.apache.royale.utils.MXMLDataInterpreter,org.apache.royale.utils.Timer,org.apache.royale.utils.Language*/ > > goog.require('org.apache.royale.core.ApplicationBase'); > goog.require('org.apache.royale.core.IParent'); > goog.require('org.apache.royale.core.IPopUpHost'); > goog.require('org.apache.royale.core.IPopUpHostParent'); > goog.require('org.apache.royale.core.IInitialViewApplication'); > goog.require('org.apache.royale.core.IRenderedObject'); > goog.require('org.apache.royale.core.IStrand'); > goog.require('org.apache.royale.events.IEventDispatcher'); > > Why is the list of requires not included in the dependency list? > >> On Dec 18, 2018, at 9:46 PM, Harbs <harbs.li...@gmail.com> wrote: >> >> Yes. >> >> Here’s the references I have to ApplicationBase (besides ApplicationBase >> itself): >> >> line 35 of index.html: >> 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']); >> line 138 of index.html: >> 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']); >> >> line 13 of Application.js (it's missing from the Royale Dependency List): >> goog.require('org.apache.royale.core.ApplicationBase'); >> Line 32 same file: * @extends {org.apache.royale.core.ApplicationBase} >> Line 47: goog.inherits(org.apache.royale.core.Application, >> org.apache.royale.core.ApplicationBase); >> >> The require of Application is before the one for ApplicationBase. I’m >> assuming that might be the source of the problem. >> >> I also noticed that the index.html files are very different and the order of >> the addDependencies are totally different. The working file is 1269 lines >> and the broken one is 975. >> >> I’m out of time right now. I’ll spend more time in the morning… >> >> Thanks, >> Harbs >> >>> On Dec 18, 2018, at 9:27 PM, Alex Harui <aha...@adobe.com.INVALID> wrote: >>> >>> Do you still get the ApplicationBase error when loading the >>> bin/js-debug/index.html? >>> >>> On 12/18/18, 11:23 AM, "Harbs" <harbs.li...@gmail.com> wrote: >>> >>> The non-cleaned one is missing these lines from my main application file: >>> goog.require('org.apache.royale.events.getTargetWrapper'); >>> goog.require('org.apache.royale.events.utils.EventUtils'); >>> goog.require('org.apache.royale.utils.PointUtils'); >>> goog.require('org.apache.royale.geom.Point'); >>> >>> These classes are also missing from the index file. >>> >>> It also reordered some css. >>> >>> A quick look shows no other differences. I’m clueless on what’s special >>> about these files... >>> >>> I’m downloading UltraCompare to see if a thorough folder compare turns up >>> any other differences. >>> >>> Harbs >>> >>>> On Dec 18, 2018, at 8:48 PM, Greg Dove <greg.d...@gmail.com> wrote: >>>> >>>> fwiw I have seen this issue also Harbs. I always clean before any build to >>>> avoid issues. >>>> >>>> On Wed, Dec 19, 2018 at 7:26 AM Harbs <harbs.li...@gmail.com> wrote: >>>> >>>>> OK. >>>>> >>>>> I take it that the answer to my question is no. I’ll do the research and >>>>> report my findings. >>>>> >>>>> Thanks, >>>>> Harbs >>>>> >>>>>> On Dec 18, 2018, at 8:24 PM, Alex Harui <aha...@adobe.com.INVALID> >>>>> wrote: >>>>>> >>>>>> Try saving the bin/js-debug folder after a clean and compare it to a >>>>> build without a clean. The cached dependency information must be losing >>>>> something. >>>>>> >>>>>> -Alex >>>>>> >>>>>> On 12/18/18, 10:14 AM, "Harbs" <harbs.li...@gmail.com> wrote: >>>>>> >>>>>> A few weeks ago I noticed that I needed to clean every time I do a >>>>> release build. (I get errors during minification.) >>>>>> >>>>>> Now I see that even the debug build is not working without cleaning >>>>> first. I’m currently getting: >>>>>> >>>>>> Uncaught Error: Undefined nameToPath for >>>>> org.apache.royale.core.ApplicationBase >>>>>> at visitNode (base.js:1356) >>>>>> >>>>>> Is this a known problem? >>>>>> >>>>>> Harbs >>>>>> >>>>> >>>>> >>> >>> >>> >> > > >