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


Reply via email to