What did the stub classes do? I suppose you could add signatures to the report, but you could also find the signature in the source or ASDoc.
The numbers represent the number of times the API was resolved to a definition, which is, at least for now, not 1:1 related to how often it was seen in the code, but sort of gives a relative measure of how often that API was used compared to other APIs of that type. IOW, there are two kinds of APIs in the HelloWorld report: Classes and properties. Classes seem to get resolved multiple times per use. Properties seem to get resolved once per use. At least in an example this simple. IMO, it is inefficient for the compiler to resolve things more than once per use, so that points to a possible place to speed up the compiler some day. -Alex From: Yishay Weiss <yishayj...@hotmail.com<mailto:yishayj...@hotmail.com>> Reply-To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Date: Tuesday, February 20, 2018 at 11:00 PM To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Subject: RE: Substitutes in Apache Royale This is pretty cool. If we had the method signatures we could use this report as a source for a utility that creates stub classes. That’s a step we performed manually (with some help from FB) when porting our app. BTW, what are the numbers at the end of the line? From: Alex Harui<mailto:aha...@adobe.com> Sent: Wednesday, February 21, 2018 8:38 AM To: users@royale.apache.org<mailto:users@royale.apache.org> Subject: Re: Substitutes in Apache Royale OK, I've implemented the first attempt at an API report. Get the latest -bin–js-swf package from here: http://apacheroyaleci.westus2.cloudapp.azure.com:8080/job/royale-asjs/lastSuccessfulBuild/artifact/out<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapacheroyaleci.westus2.cloudapp.azure.com%3A8080%2Fjob%2Froyale-asjs%2FlastSuccessfulBuild%2Fartifact%2Fout&data=02%7C01%7Caharui%40adobe.com%7C562b9205ba0d4d92125408d578f8ca02%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636547932324282121&sdata=7XcFkgrlhifiotmXdupLTMz0dOWmB2GmoKJT3Rc%2B2dI%3D&reserved=0>/ Follow the instructions in my prior post below. If you get a successful compile, then try it again and add an additional compiler option: -api–report=<path to output file> The output file should look something like this: Flex46Project:foo,14 mx.collections.ArrayCollection,13 mx.collections.ArrayCollection:sort,4 mx.collections.Sort,11 mx.controls.Label:text,1 spark.components.Application:minHeight,1 spark.components.Application:minWidth,1 spark.components.Application:mxmlContentFactory,2 That was for a hello world. I expect a much longer list for a real app. Your code will be listed as well so you may wish to delete those lines before posting the results for us to see. Attachments don't always work on these mailing lists so post a link to the report stored on some service like pastebin or paste.apache.org or dropbox or create a GitHub issue and post it there. Again, this is a first attempt at an API report, so before we put any faith in it, it would help if you think about your code a bit and whether anything might be missing. Thanks, -Alex From: Alex Harui <aha...@adobe.com<mailto:aha...@adobe.com>> Reply-To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Date: Tuesday, February 20, 2018 at 10:30 AM To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Subject: Re: Substitutes in Apache Royale In fact, I went and tried it just now to build a Flex Hello World. I had Apache Flex 4.16.0 installed in /Users/aharui/ApacheFlex4.16.0. Then I: - took the apache-royale-0.9.1-bin-js-swf package from [1] (you must use the bin-js-swf and not just bin-js). - unzipped the package - ran in the package's royale-asjs folder: ant –f InstallAdobeSDKs.xml That results in a working Royale SDK with SWF Support. Then I ran from the royale-asjs folder: bin/mxmlc <path to app's .mxml file> -load-config=/Users/aharui/ApacheFlex4.16.0/frameworks/flex-config.xml The compile finished successfully. I think I'm going to work on the API report now and deal with the * selector after. If you can get a SWF build via this technique, this is the technique you will use to generate the API report. Thanks, -Alex [1] http://royale.apache.org/download/<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Froyale.apache.org%2Fdownload%2F&data=02%7C01%7Caharui%40adobe.com%7C562b9205ba0d4d92125408d578f8ca02%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636547932324282121&sdata=4xzeKQl6qCfAy90Bj7yQVfC%2BM5tzh1CiFT3fpIsob%2BA%3D&reserved=0> From: Alex Harui <aha...@adobe.com<mailto:aha...@adobe.com>> Reply-To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Date: Monday, February 19, 2018 at 11:46 PM To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Subject: Re: Substitutes in Apache Royale Sorry, just realized I referenced the JS compiler. Please try using bin/compc and bin/mxmlc. You won't need the –targets parameter, just the load-config option. HTH, -Alex From: Alex Harui <aha...@adobe.com<mailto:aha...@adobe.com>> Reply-To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Date: Monday, February 19, 2018 at 11:14 PM To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Subject: Re: Substitutes in Apache Royale Hi Alina, Piotr might be better at helping you use Moonshine. The IDEs sort of expect that the libraries/SWCs that your code needs is in the same folder as the compiler. That's why it might be easier to work from the command line. I remembered this morning that the Royale SWF Compiler doesn't have embedded font support. However the goal isn't so much to make a runnable SWF but to have the compilation and linking complete so we can determine the full set of Flex APIs used in your app. If your code has two projects, then we will want you to compile both projects with the Royale compiler and get two API reports. The Library project would be compiled with js/bin/compc and the main app would be compiled with js/bin/mxmlc. I think you will want to use the compiler option: -load-config="path to a Flex SDK flex-config.xml" and also use –compiler.targets=SWF HTH, -Alex From: Alina Kazi <alina.k...@d-bz.com<mailto:alina.k...@d-bz.com>> Reply-To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Date: Monday, February 19, 2018 at 10:10 PM To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Subject: RE: Substitutes in Apache Royale Hi Alex, Our Flex Application(Main Project) is dependent on Flex Library Project , I tookoriginal code (Library Project) without porting it, Compiling it using Royale Compiler's SWF compiler (apache-royale-0.9.1-bin-js-swf or apache-royale-0.9.0-bin-js-swf) [cid:image001.png@01D3AA3A.7CAB69F0] Moonshine IDE (1.9.0) Console : Loading configuration: C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml : : C:\Users\aleena\Documents\SHMALIB\defaults Error: unable to open 'C:\Users\aleena\AppData\Roaming\npm\node_modules\apache-royale\royale-js\frameworks\royale-config.xml'. : defaults (line: -1) : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(35): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\mx-manifest.xml'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 35) : : </namespace> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\player\11.0\playerglobal.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\rpc.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\osmf.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\spark.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\apache.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\flatspark.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\framework.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\spark_dmv.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\sparkskins.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\textLayout.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\experimental.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\advancedgrids.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\authoringsupport.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\flash-integration.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(61): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\libs\mx\mx.swc'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 61) : : </external-library-path> : : : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml(64): col: 0 Error: unable to open 'D:\apache-royale-0.9.1-bin-js-swf\royale-asjs\frameworks\locale\en_US'. : C:\Users\aleena\Documents\SHMALIB\obj\SHMALIBConfig.xml (line: 64) : : </library-path> Regards, Alina From: Alex Harui [mailto:aha...@adobe.com] Sent: Monday, February 19, 2018 12:35 PM To: users@royale.apache.org<mailto:users@royale.apache.org> Subject: Re: Substitutes in Apache Royale Hi Alina, What I'm asking is that you take your original code without porting it at all and run the Royale Compiler's SWF compiler. It should be able to produce the same SWF you are deploying now. It might catch errors that the Flex MXMLC compiler does not catch. We need a successful SWF output so we know the compiler visited all APIs. Once you can get a SWF out, then later I will provide you with an updated Royale SWF compiler that will also output an API usage report. Thanks, -Alex From: Alina Kazi <alina.k...@d-bz.com<mailto:alina.k...@d-bz.com>> Reply-To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Date: Sunday, February 18, 2018 at 10:37 PM To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Subject: RE: Substitutes in Apache Royale Hi Alex, Sure, I’m compiling the code with the royale compiler. Porting basic components that are available in Royale. Thanks Alina From: Alex Harui [mailto:aha...@adobe.com] Sent: Monday, February 19, 2018 11:16 AM To: users@royale.apache.org<mailto:users@royale.apache.org> Subject: Re: Substitutes in Apache Royale Hi Alina, While I work on the compiler API report feature, you could start now trying to get your code to compile with the royale compiler from the command line. I think you can run the bin/mxmlc from the Royale releases with the same options you use with Flex MXMLC. Give it a try and let us know. -Alex From: Alina Kazi <alina.k...@d-bz.com<mailto:alina.k...@d-bz.com>> Reply-To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Date: Sunday, February 18, 2018 at 8:29 PM To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Subject: RE: Substitutes in Apache Royale Hi Alex, I’ll be waiting for your response. Thanks, Alina From: Alex Harui [mailto:aha...@adobe.com] Sent: Friday, February 16, 2018 2:02 AM To: users@royale.apache.org<mailto:users@royale.apache.org> Subject: Re: Substitutes in Apache Royale Hi Alina, I can't guarantee that you will be in production in six months, but I believe we can help you get to the point where every screen shows up and fills with data and we are fixing bugs in corner cases. We might also be chasing down memory leaks and things like that. My strategy for lots of things is to do the big things first and polish it later. For example, I recently pushed some basic Virtual Item Renderer support for Royale, but I'm pretty sure it will have bugs in corner cases, like deleting things when scrolled to the bottom. But most apps start at the top and it will get you going and we'll fix those corner cases later. I want to finish up some infrastructural things in Royale over the next couple of weeks, then I will adjust the compiler to generate an API report. Once we see what that looks like, I should be able to help take the sample code you provided and make it work in Royale. So maybe in a month or so, you'll see more activity around your code. Right now I need to clean up a few things so we can be more efficient working with you. You won't need an IDE to generate the API report. If you know what compiler settings you are using for your Flex app, you can just run a Royale compiler from the command-line with the same arguments. I believe that we are likely to make compiling your Flex app with the Royale compiler one of the steps in migrating. The Royale compiler will catch some syntax issues that the Flex compiler does not. More later, -Alex From: Alina Kazi <alina.k...@d-bz.com<mailto:alina.k...@d-bz.com>> Reply-To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Date: Thursday, February 15, 2018 at 2:13 AM To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Subject: RE: Substitutes in Apache Royale Hi Alex, Thank you so much. You gave me hope that I can achieve my target on time and at least I am working in right direction. At most places I'm using getItemAt(0) to access the element in ArrayCollection. At some places myArrayCollection[0].propertyname to access it If you will modify the Royale compiler, I will definitely try compiling my Flex app with the Royale compiler and generate a report of APIs used. Currently I am using Visual Studio Code and apache royale 0.9.0 release is installed.I will need your guidance which IDE and apache royale release should I use to generate that report. Thanks, Alina Kazi From: Alex Harui [mailto:aha...@adobe.com] Sent: Thursday, February 15, 2018 1:40 PM To: users@royale.apache.org<mailto:users@royale.apache.org> Subject: Re: Substitutes in Apache Royale Hi Alina, Other than ArrayCollection, that looks right. There will be sorting classes eventually. I think there are two buckets of things that you are going to need: Things we haven't written yet: - DividedBox/Container (mostly done) - Menu/MenuBar - VariableRowHeight - Editable DataGrids - Sorting? Things we have written, but aren't packaged in a way that makes migration easy: - TitleWindow - Canvas - ArrayCollection For ArrayCollection, do you use array indexing (myArrayCollection[0]) or do you access it as getItemAt(0)? You have so many files to port, it is tempting to create a Spark-ish and MX-ish component set. They wouldn't be fully backward compatible but would try to implement the most commonly used APIs. I'm wondering what percentage of Flex APIs you actually used in your app. If I modify the Royale compiler, could you try compiling your Flex app with the Royale compiler and generate a report of APIs used? Thanks, -Alex From: Alina Kazi <alina.k...@d-bz.com<mailto:alina.k...@d-bz.com>> Reply-To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Date: Wednesday, February 14, 2018 at 11:06 PM To: "users@royale.apache.org<mailto:users@royale.apache.org>" <users@royale.apache.org<mailto:users@royale.apache.org>> Subject: Substitutes in Apache Royale Hi, I have replaced few imports in Apache Royale Project after comparison in terms of functionality. As you all are more familiar to Flex and Apache Royale. Are these correct substitutes? import org.apache.royale.html.Alert; //instead of import mx.controls.Alert; import org.apache.royale.events.CloseEvent; // instead of import mx.events.CloseEvent; import org.apache.royale.net.events.FaultEvent; // instead of import mx.rpc.events.FaultEvent; import org.apache.royale.net.events.ResultEvent; //instead of import mx.rpc.events.ResultEvent; import mx.collections.ArrayCollection; //very similar to org.apache.royale.collections.TreeData import mx.collections.Sort; // No Alternate found import mx.collections.SortField;// No Alternate found import mx.managers.PopUpManager; //org.apache.royale.core.IPopUp or .IPopUpHost import org.apache.royale.utils.StringUtil;// instead of import mx.utils.StringUtil; Reference: http://apacheflexbuild.cloudapp.net:8080/job/Royale_ASDoc_Example/lastSuccessfulBuild/artifact/examples/royale/ASDoc/bin/js-debug/index.html<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapacheflexbuild.cloudapp.net%3A8080%2Fjob%2FRoyale_ASDoc_Example%2FlastSuccessfulBuild%2Fartifact%2Fexamples%2Froyale%2FASDoc%2Fbin%2Fjs-debug%2Findex.html&data=02%7C01%7Caharui%40adobe.com%7C2a0f4a052bf44496feaf08d574445542%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636542759199500428&sdata=A9xjrAppjUqWDkvAJTgSHhOOW3ZlkZPPZTD5%2BG4eexw%3D&reserved=0> Thanks, Alina Kazi