I can confirm that classes are being renamed in both files. I have attempted your suggestion i.e. removing variable maps and property maps then use -externs-report;-export-public-symbols=true;-prevent-rename-public-symbols=true;
I get the below error command line Error: configuration variable 'externs-report' expected 1 argument(s), got 0. I cannot find any documentation on how to use the -externs-report argument. What does it do ? and what are the acceptable values ? Regards, On Sun, Jan 2, 2022 at 9:06 AM Alex Harui <aha...@adobe.com> wrote: > Hi Roman, > > > > It might be more complicated. The settings are probably doing something > since you reported that the error occurred in the app vs the module > depending on the settings. > > > > I went back and looked at the original module example in > examples/royale/ModuleExample and was surprised there weren’t more compiler > settings. I thought we’d found a way to externalize the main app’s code > for the module. Because if both the app and module have a copy of > SimpleCSSValuesImpl or any other class that both JS files use, there could > be issues as to which one gets loaded (maybe both) and what export aliases > are pointing to. Sounds like changing settings affected whether the > aliases pointed at module code vs app code. > > > > I thought we were using similar settings to what we used for SWF where the > module would not contain a copy of SimpleCSSValuesImpl so it would use the > one loaded by the main app, but I didn’t see those settings. We might need > to make that work because otherwise I think static initializations won’t do > the right thing. Or maybe we’ve figured out that it is simpler just to > write defensive code that doesn’t get broken. But also, if the module has > its own copy of code already loaded by the main app, that’s sort of a waste > of bytes. Maybe there was a minification issue with not having the module > link in classes already linked into the main app. I see an -externs-report > option in the compiler but the example doesn’t seem to use it. > > > > You should be able to scan the JS files and see if a class is in both > module and app and if it is getting renamed. > > > > I don’t know if I will have time to investigate further. The currently > recommended options for modules involving variable maps and property maps > may need to be abandoned in favor of externs and preventing renames. > > > > -Alex > > > > > > *From: *Roman Isitua <romanisi...@gmail.com> > *Reply-To: *"users@royale.apache.org" <users@royale.apache.org> > *Date: *Saturday, January 1, 2022 at 3:02 AM > *To: *"users@royale.apache.org" <users@royale.apache.org> > *Subject: *Re: Compiling Modules (was Re: Load time is very slow) > > > > Alex, thank you for your detailed analysis of the error log. > > > > I agree with you that the best strategy is to prevent renaming of > public/exports used by the module. I have tried different options to > prevent renaming > > It appears none of them stops this. From my observation, it appears that > this default options below > > > > > -export-public-symbols=true;-prevent-rename-public-symbols=true;-prevent-rename-public-instance-accessors=true; > > > > Only seem to affect the main application (main module) but have no effect > on the other modules even though I ensured they were applied in > their respective module pom. I came to this conclusion when I decided to > turn set -prevent-rename-public-symbols=false > > > > I noticed that I got the same error but this time around in the main > module. > > > > Uncaught TypeError: this.rb[(intermediate value).Kd(...)] is not a function > at HN.iI.send (FrontEnd.js:970) > at nI.EH.Ea (FrontEnd.js:880) > at ON.q6 (FrontEnd.js:1815) > at TN.L2 (FrontEnd.js:2034) > at hF.Xf (FrontEnd.js:2063) > at lF.kb (FrontEnd.js:1233) > at lF.Vf (FrontEnd.js:1224) > at cF.O (FrontEnd.js:659) > at cF.M.w (FrontEnd.js:661) > at gQ.mA.M (FrontEnd.js:241) > > > > FrontEnd.js maps to FrontEnd.as in my application and is the entry point > of the application. This confirms that -prevent-rename-public-symbols=false > has > > an effect on the main module but no effect on other modules even though > they were applied in the respective module pom's. > > > > Maybe there are other options I am overlooking. > > > > On Sat, Jan 1, 2022 at 9:31 AM Alex Harui <aha...@adobe.com> wrote: > > In case it helps, the minification (variable renaming) mechanism is > essentially guaranteed to cause problems in modules. The Closure Compiler > basically takes variables, sees if it is worth renaming it, then gives it > the name ‘a’, then ‘b’, and so-on, (it skips a few letters, IIRC), then > moves on to ‘aa’, and ‘ab’, etc. The odds that the compiler will encounter > the same variables in the same order when compiling an app and one or more > modules is close to zero. > > > > I did some work to try to dump the mapping of the renamed variables in the > main app and use that when compiling the modules. It was working for a > while, then some code was added to the framework that started fooling the > Closure Compiler. I spent some time trying to fix the Closure Compiler, > but ran out of time. Meanwhile, Josh was adding more control over renaming > so I moved on to other things. > > > > IMO, the best strategy to take would be to try to control what gets > renamed. All public/exports from the app that are used by the module > should not be renamed. That will definitely make the app and modules > bigger, but unless the Closure Compiler folks become interested in > runtime-loaded modules, it is challenging for the Royale compiler to allow > aggressive renaming. > > > > I think what is going on with the exceptions below is that exporting > doesn’t really prevent renaming. It only sets up an externally-visible > alias to a renamed variable. Especially for static members. So it isn’t > sufficient to export public variables, the code within the module must not > let the Closure Compiler think that the intra-module references can be > renamed, in this case, from SimpleCSSValuesImpl to QI > > > > I don’t know the renaming options we’ve added to the Royale Compiler, so I > don’t know if there is an option to control that. I think there is a way > to convince the Closure Compiler to not rename SimpleCSSValuesImpl because > I’ve seen other class names not get renamed. > > > > HTH, > > -Alex > > > > *From: *Roman Isitua <romanisi...@gmail.com> > *Reply-To: *"users@royale.apache.org" <users@royale.apache.org> > *Date: *Friday, December 31, 2021 at 10:42 AM > *To: *"users@royale.apache.org" <users@royale.apache.org> > *Subject: *Re: Compiling Modules (was Re: Load time is very slow) > > > > I have tested on both. The error log is the same. > > > > I don't understand your second question. Kindly clarify ? > > > > > > I followed strictly the approach used for loading modules here in this > example. > > This is the only method I know for loading modules. If there is another > method please share. > > > > > > > https://royale.apache.org/dividing-an-apache-royale-application-with-modules/ > <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Froyale.apache.org%2Fdividing-an-apache-royale-application-with-modules%2F&data=04%7C01%7Caharui%40adobe.com%7Cbb4c911ab5664808355908d9cd1630b7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637766317469204767%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=gHQ7%2FCyT%2FRTRqbf7fE7MonqFK8QHhWMC5KbOuly2DcI%3D&reserved=0> > > > > On Fri, 31 Dec 2021, 19:14 Maria Jose Esteve, <mjest...@iest.com> wrote: > > @Roman, which branch did you compile the SDK from, ROYALE_INTERFACE_INFO > or develop? > > Could you pass the Overview.mxml view to the main application? (to rule > it out) > > > > Hiedra > > > > *De:* Roman Isitua <romanisi...@gmail.com> > *Enviado el:* viernes, 31 de diciembre de 2021 17:56 > *Para:* users@royale.apache.org > *Asunto:* Re: Compiling Modules (was Re: Load time is very slow) > > > > I have tried tracing where the errors are happening whenever I test the > release version > > Uncaught TypeError: Ql.valuesImpl.init is not a function > at Hr.Cr.um (Overview.js:846) > at Function.ep.generateMXMLProperties (Overview.js:795) > at Hr.Sp.generateMXMLAttributes (Overview.js:599) > at new Hr (Overview.js:864) > at PN.M.loadHandler (FrontEnd.js:2042) > 9Overview.js:173 Uncaught TypeError: this.createElement is not a function > at $B.V (Overview.js:173) > at new $B (FrontEnd.js:2430) > at EP.convert (FrontEnd.js:2430) > at Zy (FrontEnd.js:261) > at HTMLAnchorElement.Uy (FrontEnd.js:121) > at HTMLAnchorElement.Sy.b (FrontEnd.js:117) > > > > > > The highlighted code in red is declared as follows in the Overview.mxml > (maven module) > > > > <j:valuesImpl> > > <js:SimpleCSSValuesImpl/> > > </j:valuesImpl> > > > > The j:valuesImpl points to the following code in jewel Module.js > > > > /** > * @nocollapse > * @export > * @type {org.apache.royale.core.IValuesImpl} > */ > org.apache.royale.jewel.Module.prototype.valuesImpl; > > > org.apache.royale.jewel.Module.prototype.set__valuesImpl = function(value) > { > org.apache.royale.core.ValuesManager.valuesImpl.init(this); > }; > > > > > > it appears this function is improperly renamed and whenever the app tries > to load the module is not able to recognise it as a function. > > > > The same issue of improper function renaming is happening in the second > error as well > > > > 9Overview.js:173 Uncaught TypeError: this.createElement is not a function > > > > > > On Thu, Dec 30, 2021 at 10:42 PM Roman Isitua <romanisi...@gmail.com> > wrote: > > > > I have applied the js compiler option as follows > > > > > <additionalCompilerOptions>-source-map=false;-compiler.show-binding-warnings=false;-js-default-initializers=true;-js-dynamic-access-unknown-members=true; > -js-compiler-option=--variable_map_output_file > gccvars.txt;-js-compiler-option+=--property_map_output_file gccprops.txt > </additionalCompilerOptions> > > > > > > I get the same error as before when attempting to launch the jewel module. > > > > *Error! Filename not specified.* > > > > > > Same error trace. > > > > Uncaught TypeError: cm.valuesImpl.init is not a function > at Rr.Mr.yl (Overview.js:786) > at Function.iq.generateMXMLProperties (Overview.js:736) > at Rr.hq.generateMXMLAttributes (Overview.js:546) > at new Rr (Overview.js:804) > at LN.J.loadHandler (FrontEnd.js:1967) > FrontEnd.js:1640 Uncaught TypeError: M is not a function > at oM.J.handleMouseOut (FrontEnd.js:1640) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:248) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > FrontEnd.js:1640 Uncaught TypeError: M is not a function > at oM.J.handleMouseOver (FrontEnd.js:1640) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:248) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > FrontEnd.js:1640 Uncaught TypeError: M is not a function > at oM.J.handleMouseOut (FrontEnd.js:1640) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:248) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > FrontEnd.js:1640 Uncaught TypeError: M is not a function > at oM.J.handleMouseOver (FrontEnd.js:1640) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:248) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > FrontEnd.js:1640 Uncaught TypeError: M is not a function > at oM.J.handleMouseOut (FrontEnd.js:1640) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:248) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > FrontEnd.js:1640 Uncaught TypeError: M is not a function > at oM.J.handleMouseOver (FrontEnd.js:1640) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:248) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > FrontEnd.js:1640 Uncaught TypeError: M is not a function > at oM.J.handleMouseOut (FrontEnd.js:1640) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:248) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > 3Overview.js:56 Uncaught TypeError: Cannot read properties of undefined > (reading 'prototype') > at P (Overview.js:56) > at SG.convert (FrontEnd.js:904) > at ny (FrontEnd.js:248) > at HTMLElement.iy (FrontEnd.js:125) > at HTMLElement.b (FrontEnd.js:121) > > > > On Thu, Dec 30, 2021 at 6:56 PM Harbs <harbs.li...@gmail.com> wrote: > > 1. I’d get rid of the agressive minification options. It will likely cause > issues. If you get it to work without those options, you can try to add > them back in and see if it still works. > > 2. You seem to be missing the compiler options explained here: > https://apache.github.io/royale-docs/features/modules#minification > <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapache.github.io%2Froyale-docs%2Ffeatures%2Fmodules%23minification&data=04%7C01%7Caharui%40adobe.com%7Cbb4c911ab5664808355908d9cd1630b7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637766317469204767%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=%2BbYUFfqzb4QzEkFBJp9fi0e%2FeYx7IqvtItN4slKbK38%3D&reserved=0> > > > > For a pom, it would look something like this (adjust your paths to match > your setup): > > > > Main app: > > <additionalCompilerOptions>-source-map=true;-js-compiler-option=--variable_map_output_file > gccvars.txt;-js-compiler-option+=--property_map_output_file > gccprops.txt</additionalCompilerOptions> > > > > Module: > > <additionalCompilerOptions>-source-map=true;-js-compiler-option=--variable_map_input_file > ../../../../../MainApp/bin/js-release/gccvars.txt;-js-compiler-option+=--property_map_input_file > ../../../../../MainApp/bin/js-release/gccprops.txt</additionalCompilerOptions> > > > > On Dec 30, 2021, at 7:43 PM, Roman Isitua <romanisi...@gmail.com> wrote: > > > > I think it will be better for me to share my pom's that way you can see > all the compilation options used. The pom for the parent (FmClient2), the > MainApp and one module (Overview) have been attached to this email. > > > > > > On Thu, Dec 30, 2021 at 6:22 PM Harbs <harbs.li...@gmail.com> wrote: > > Roman, can you share your full compiler options? > > > > I decided to remove the below settings completely > -export-public-symbols=false > -prevent-rename-protected-symbols=false > -prevent-rename-public-symbols=false > -prevent-rename-internal-symbols=false > > > I enabled the below settings > > -js-dynamic-access-unknown-members=true; > -js-default-initializers=true > > > The release version starts up > > > > Hiedra, that’s great! > > > > On Dec 30, 2021, at 7:15 PM, Roman Isitua <romanisi...@gmail.com> wrote: > > > > > > Yes. I am testing with the sdk compiled on branch ROYALE_INTERFACE_INFO > > > > On Thu, Dec 30, 2021 at 6:10 PM Maria Jose Esteve <mjest...@iest.com> > wrote: > > Roman, are you testing with the SDK compiled from the Harb branches, > ROYALE_INTERFACE_INFO, or from develop? > > > > Hiedra > > > > *De:* Roman Isitua <romanisi...@gmail.com> > *Enviado el:* jueves, 30 de diciembre de 2021 16:52 > *Para:* users@royale.apache.org > *Asunto:* Re: Compiling Modules (was Re: Load time is very slow) > > > > I decided to remove the below settings completely > -export-public-symbols=false > -prevent-rename-protected-symbols=false > -prevent-rename-public-symbols=false > -prevent-rename-internal-symbols=false > > > I enabled the below settings > > -js-dynamic-access-unknown-members=true; > -js-default-initializers=true > > > The release version starts up > > > > > > > > <image001.png> > > > > > > <image002.png> > > > > However, the moment I launch a module. I get the below error > > > > <image003.png> > > > > > > It appears to be failing when I launch the "*Overview*" module > (by clicking the Overview side menu). > > > > So my current observation is that by retaining only two settings > > > > -js-dynamic-access-unknown-members=true; > -js-default-initializers=true > > > > The release module starts up but the app fails whenever I launch a module. > > > > The smallest size settings in the documentation do not work. The app does > not start up. > > > > -export-public-symbols=false > -prevent-rename-protected-symbols=false > -prevent-rename-public-symbols=false > -prevent-rename-internal-symbols=false > > > > > > > > The error trace is below > > > > > > Uncaught TypeError: cm.valuesImpl.init is not a function > at Wr.Rr.pl > <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwr.rr.pl%2F&data=04%7C01%7Caharui%40adobe.com%7Cbb4c911ab5664808355908d9cd1630b7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637766317469204767%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=eD7plf2Ay8jDRKilUhOXLH%2BK%2FvYPjI7rJh2sOUillgk%3D&reserved=0> > (Overview.js:792) > at Function.mq.generateMXMLProperties (Overview.js:743) > at Wr.lq.generateMXMLAttributes (Overview.js:551) > at new Wr (Overview.js:810) > at QN.J.loadHandler (FrontEnd.js:1978) > 3Overview.js:56 Uncaught TypeError: Cannot read properties of undefined > (reading 'prototype') > at P (Overview.js:56) > at VG.convert (FrontEnd.js:910) > at ny (FrontEnd.js:250) > at HTMLElement.iy (FrontEnd.js:125) > at HTMLElement.b (FrontEnd.js:121) > FrontEnd.js:1649 Uncaught TypeError: M is not a function > at sM.J.handleMouseOut (FrontEnd.js:1649) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:250) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > FrontEnd.js:1649 Uncaught TypeError: M is not a function > at sM.J.handleMouseOver (FrontEnd.js:1649) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:250) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > J.handleMouseOver @ FrontEnd.js:1649 > ny @ FrontEnd.js:123 > ny @ FrontEnd.js:250 > iy @ FrontEnd.js:125 > b @ FrontEnd.js:121 > FrontEnd.js:1649 Uncaught TypeError: M is not a function > at sM.J.handleMouseOut (FrontEnd.js:1649) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:250) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > J.handleMouseOut @ FrontEnd.js:1649 > ny @ FrontEnd.js:123 > ny @ FrontEnd.js:250 > iy @ FrontEnd.js:125 > b @ FrontEnd.js:121 > FrontEnd.js:1649 Uncaught TypeError: M is not a function > at sM.J.handleMouseOver (FrontEnd.js:1649) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:250) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > J.handleMouseOver @ FrontEnd.js:1649 > ny @ FrontEnd.js:123 > ny @ FrontEnd.js:250 > iy @ FrontEnd.js:125 > b @ FrontEnd.js:121 > FrontEnd.js:1649 Uncaught TypeError: M is not a function > at sM.J.handleMouseOut (FrontEnd.js:1649) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:250) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > J.handleMouseOut @ FrontEnd.js:1649 > ny @ FrontEnd.js:123 > ny @ FrontEnd.js:250 > iy @ FrontEnd.js:125 > b @ FrontEnd.js:121 > FrontEnd.js:1649 Uncaught TypeError: M is not a function > at sM.J.handleMouseOver (FrontEnd.js:1649) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:250) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > J.handleMouseOver @ FrontEnd.js:1649 > ny @ FrontEnd.js:123 > ny @ FrontEnd.js:250 > iy @ FrontEnd.js:125 > b @ FrontEnd.js:121 > FrontEnd.js:1649 Uncaught TypeError: M is not a function > at sM.J.handleMouseOut (FrontEnd.js:1649) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:250) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > J.handleMouseOut @ FrontEnd.js:1649 > ny @ FrontEnd.js:123 > ny @ FrontEnd.js:250 > iy @ FrontEnd.js:125 > b @ FrontEnd.js:121 > FrontEnd.js:1649 Uncaught TypeError: M is not a function > at sM.J.handleMouseOver (FrontEnd.js:1649) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:250) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > J.handleMouseOver @ FrontEnd.js:1649 > ny @ FrontEnd.js:123 > ny @ FrontEnd.js:250 > iy @ FrontEnd.js:125 > b @ FrontEnd.js:121 > FrontEnd.js:1649 Uncaught TypeError: M is not a function > at sM.J.handleMouseOut (FrontEnd.js:1649) > at Function.ny [as googFireListener] (FrontEnd.js:123) > at ny (FrontEnd.js:250) > at HTMLAnchorElement.iy (FrontEnd.js:125) > at HTMLAnchorElement.b (FrontEnd.js:121) > J.handleMouseOut @ FrontEnd.js:1649 > ny @ FrontEnd.js:123 > ny @ FrontEnd.js:250 > iy @ FrontEnd.js:125 > b @ FrontEnd.js:121 > > > > On Thu, Dec 30, 2021 at 4:32 PM Roman Isitua <romanisi...@gmail.com> > wrote: > > I get the same error even when I set > the -js-dynamic-access-unknown-members=true; > > > > On Thu, Dec 30, 2021 at 4:24 PM Roman Isitua <romanisi...@gmail.com> > wrote: > > > > Using the below settings, > > -export-public-symbols=false > -prevent-rename-protected-symbols=false > -prevent-rename-public-symbols=false > -prevent-rename-internal-symbols=false > -js-dynamic-access-unknown-members=false; > > -js-default-initializers=true > > > Debug version runs fine. The release version does not start up > > <image004.png> > > > I get the below errors > > Uncaught TypeError: Cannot read properties of undefined (reading 'apply') > at KE.hm (FrontEnd.js:1600) > at XE.M.Fb (FrontEnd.js:943) > at XE.M.uh (FrontEnd.js:937) > at FE.M.na > <https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Ffe.m.na%2F&data=04%7C01%7Caharui%40adobe.com%7Cbb4c911ab5664808355908d9cd1630b7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637766317469204767%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=C2dMLjuecMOcaQ6hesLK2sXJ4uUmP1frYCqcrIbYpyI%3D&reserved=0> > (FrontEnd.js:497) > at FE.M.v (FrontEnd.js:497) > at dR.M.S (FrontEnd.js:213) > at dR.Nz.S (FrontEnd.js:217) > at dR.M.start (FrontEnd.js:1396) > at index.html:45 > :8080/favicon.ico:1 Failed to load resource: the server responded with a > status of 404 (Not Found) > > > > > > FrontEnd.js is the start up class for the application. i.e. It implements > the Jewel application class. > > > > > > > > On Thu, Dec 30, 2021 at 3:19 PM Roman Isitua <romanisi...@gmail.com> > wrote: > > Hi Harb, > > > > Thanks for your response. I have gone through the documentation. I will do > my test again starting with the smallest size option and share my findings. > > > > Regards, > > > > On Thu, Dec 30, 2021 at 10:59 AM Harbs <harbs.li...@gmail.com> wrote: > > Sorry for my deal in responding. > > > > Let’s take a step back. > > > > I’m not sure how you are compiling your modules. I just added some content > to the module documentation page which explains what compiler options you > need while compiling modules. (It still needs some editing.) > https://apache.github.io/royale-docs/features/modules#minification > <https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapache.github.io%2Froyale-docs%2Ffeatures%2Fmodules%23minification&data=04%7C01%7Caharui%40adobe.com%7Cbb4c911ab5664808355908d9cd1630b7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637766317469204767%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=%2BbYUFfqzb4QzEkFBJp9fi0e%2FeYx7IqvtItN4slKbK38%3D&reserved=0> > > > > Are you using those options? > > > > On Dec 29, 2021, at 2:19 AM, Maria Jose Esteve <mjest...@iest.com> wrote: > > > > Hi, Let me join you with these tests.... > > > > @Harb, I have compiled the SDK from this branch, > feature/ROYALE_INTERFACE_INFO, > and when running in debug I get this error: > > > > Message on the PURGE CONSOLE is displayed: > > > > Cannot convert org.apache.royale.reflection.beads.ClassAliasBead to IBead > > > > Message in the IDE Window: > > > > Se produjo una excepción: TypeError: Cannot convert [object Object] to > IBead > > at App.org.apache.royale.core.ElementWrapper.addBead ( > http://localhost:8080/WNetSuitePlus/org/apache/royale/core/ElementWrapper.js:114:11 > ) > > at App.org.apache.royale.core.HTMLElementWrapper.addBead ( > http://localhost:8080/WNetSuitePlus/org/apache/royale/core/HTMLElementWrapper.js:43:65 > ) > > at App.org.apache.royale.jewel.Application.start ( > http://localhost:8080/WNetSuitePlus/org/apache/royale/jewel/Application.js:246:10 > ) > > at App.App_loadXML (http://localhost:8080/WNetSuitePlus/App.js:1681:25 > ) > > at > org.apache.royale.net.URLLoader.org.apache.royale.events.EventDispatcher.fireListeners > ( > http://localhost:8080/WNetSuitePlus/org/apache/royale/events/EventDispatcher.js:97:23 > ) > > at Function.goog.events.EventTarget.dispatchEventInternal_ ( > http://localhost:8080/WNetSuitePlus/library/closure/goog/events/eventtarget.js:381:26 > ) > > at > org.apache.royale.net.URLLoader.org.apache.royale.events.EventDispatcher.dispatchEvent > ( > http://localhost:8080/WNetSuitePlus/org/apache/royale/events/EventDispatcher.js:72:37 > ) > > at org.apache.royale.net.URLLoader.jsEventHandler ( > http://localhost:8080/WNetSuitePlus/org/apache/royale/net/URLLoader.js:169:12 > ) > > > > Call stack: > > > > <image003.png> > > > > [INFO] Executing MXMLC in tool group Royale with args: [ > > > -load-config=D:\Develop_Royale\Projects\WinPlusWebSuite\royaleapp\royalelogin\target\compile-app-config.xml, > > -js-default-initializers=true, > > -source-map=true, > > -js-dynamic-access-unknown-members=true, > > > -keep-as3-metadata+=Inject,Dispatcher,EventHandler,Event,PostConstruct,PreDestroy,ViewAdded,ViewRemoved,Bindable,Transient, > > -keep-code-with-metadata=Inject, > > -show-binding-warnings=false, > > -export-public-symbols=false, > > -prevent-rename-protected-symbols=false, > > -prevent-rename-internal-symbols=false, > > > -js-output=D:\Develop_Royale\Projects\WinPlusWebSuite\royaleapp\royalelogin\target\javascript, > > -compiler.targets=JSRoyale, > > > D:\Develop_Royale\Projects\WinPlusWebSuite\royaleapp\royalelogin\src\main\royale\App.mxml > > > > > > The release execution does not change, the error is the same as before > (SDK compilation from the develop branch): > > > > Se produjo una excepción: ReferenceError: Error #1065: Variable > com.iest.winplusweb.models.MasterConfigSystemModel is not defined. > > at yR (http://localhost:8080/WPWebRelease/App.js:3605:1771) > > at Mya (http://localhost:8080/WPWebRelease/App.js:3343:365) > > at AR.J.usa (http://localhost:8080/WPWebRelease/App.js:434:441) > > at GFa.J.fromTypeDefinition ( > http://localhost:8080/WPWebRelease/App.js:5706:139) > > at Function.YT.getTypeDescriptor ( > http://localhost:8080/WPWebRelease/App.js:4570:820) > > at Function.fX.constructBean ( > http://localhost:8080/WPWebRelease/App.js:2336:472) > > at r$.J.initialize (http://localhost:8080/WPWebRelease/App.js:5041:66) > > at OW.J.init (http://localhost:8080/WPWebRelease/App.js:950:452) > > at OW.J.u (http://localhost:8080/WPWebRelease/App.js:951:454) > > at $$.J.addBead (http://localhost:8080/WPWebRelease/App.js:357:549) > > > > The main difference: > > project compiled from "SDK-develop" runs fine in js-debug and gives error > in js-release and, compiled from "SDK-ROYALE_INTERFACE_INFO" does not > launch because of conversion error. > > > > Hiedra > > > > *De:* Roman Isitua <romanisi...@gmail.com> > *Enviado el:* martes, 28 de diciembre de 2021 15:55 > *Para:* users@royale.apache.org > *Asunto:* Re: Load time is very slow > > > > @Harb > > > > I have checked out the feature/ROYALE_INTERFACE_INFO branch and compiled > asjs and compiler. I have rebuilt my application with modules in release > mode. > > > > I get the following error when I attempt to launch a module > > > > > > <image001.png> > > > > > > The module loads fine in debug mode > > > > <image002.png> > > > > > > Snippets of the log > > > > Overview.js:786 Uncaught TypeError: cm.valuesImpl.init is not a function > at Rr.Mr.yl (Overview.js:786) > at Function.iq.generateMXMLProperties (Overview.js:736) > at Rr.hq.generateMXMLAttributes (Overview.js:546) > at new Rr (Overview.js:804) > at LN.J.loadHandler (FrontEnd.js:1967) > Mr.yl @ Overview.js:786 > iq.generateMXMLProperties @ Overview.js:736 > hq.generateMXMLAttributes @ Overview.js:546 > Rr @ Overview.js:804 > J.loadHandler @ FrontEnd.js:1967 > load (async) > LN.loadModule @ FrontEnd.js:1965 > dN.loadModule @ FrontEnd.js:2406 > LD.Un @ FrontEnd.js:1809 > ny @ FrontEnd.js:123 > ny @ FrontEnd.js:248 > iy @ FrontEnd.js:125 > b @ FrontEnd.js:121 > > > > > > I have attached the full log to this email. > > > > > > > > > > On Tue, Dec 28, 2021 at 2:51 PM Roman Isitua <romanisi...@gmail.com> > wrote: > > Hi Maria, > > > > Prior to starting this mail discussion "Load time is very slow". I can > confirm I have only been compiling in debug mode. My target\javascript\bin\ > only had js-debug. It was after I upgraded my royale sdk from 0.9.7 to > 0.9.8 that I compiled in release mode. > > > > > > > > On Tue, Dec 28, 2021 at 2:24 PM Maria Jose Esteve <mjest...@iest.com> > wrote: > > Hi, @Roman, I think you are doing a double compile can it be? My times are > the same as yours and I always compile in debug and release. > > > > Look at your target folder " target\javascript\bin\" and if you have two > folders: js-debug and js-release you are compiling always double. > > > > In my case, the architecture of my project as well as the Maven > compilation files (pom.xml) were provided by an external company (we didn't > know anything about Maven or Royale at that time) and I understand that > this formula was chosen to show us the options we had. > > > > A priori and without doing any test as Harb has done, I think that > modularity gives us the advantage of compiling parts of the code once and > not compiling them again if they are not modified. So far WITH MY > COMPILATION TIMES, sometimes more than 1 minute, this is fundamental. But > of course, now we have the problem of minification of the modules and it is > really a serious problem because it is impossible for us to deploy in > production. > > > > I will try to separate the compiación realese with a profile and if I > succeed I will pass it to you @Roman. > > > > @Harb what do you mean by compiling the ROYALE_INTERFACE_INFO branch? > > > > Hiedra > > > > *De:* Harbs <harbs.li...@gmail.com> > *Enviado el:* lunes, 27 de diciembre de 2021 18:32 > *Para:* users@royale.apache.org > *Asunto:* Re: Load time is very slow > > > > That doesn’t sound right. > > > > Are you sure you’re compiling debug and not release? That sounds like > release build times. > > > > On Dec 27, 2021, at 3:31 PM, Roman Isitua <romanisi...@gmail.com> wrote: > > > > Wow ! You are using a workstation with a bleeding edge processor. > > > > I just compiled my app now. It took 44 seconds. (First compilation after > ide start up.) Subsequently compilations are usually 19s to 20s. > > > > My application code base is very very small compared to yours. As we > continue to add functionality, I expect the compile times to rise. > > > > > > > > > > <MainApp_pom.xml><Overview_pom.xml><fm_client2_pom.xml> > > > >