API Usage in Flex Web Browser application (was Re: Generating API report for Flex Web Browser application)

classic Classic list List threaded Threaded
36 messages Options
12
Reply | Threaded
Open this post in threaded view
|

API Usage in Flex Web Browser application (was Re: Generating API report for Flex Web Browser application)

Alex Harui-2
Hi Alina,

I'm starting on the emulation.  I've noticed that your application code appears to be calling commitProperties().  Can you tell us why?

Also, it looks like there are a few uses of rotation, transform, scaleX and scaleY.  What are those used for?

Thanks,
-Alex

From: Alex Harui <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, March 5, 2018 at 11:38 PM
To: "[hidden email]" <[hidden email]>
Subject: Re: Generating API report for Flex Web Browser application

Hi Alina,

Try again.  Sometimes the Antlr server goes off-line around this time of day.

-Alex

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, March 5, 2018 at 11:12 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

Hi Alex,

Using jdk1.8.0_162:

 

C:\Users\aleena\royale-asjs>ant all

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8

Buildfile: C:\Users\aleena\royale-asjs\build.xml

 

set.base.folder:

 

check-git:

     [echo] Checking for Git...

     [exec] git version 2.16.2.windows.1

 

get-download-folder:

 

download-all:

     [echo] Using folder C:\Users\aleena\royale-asjs/..

 

check-royale-asjs:

 

warn-before-clone:

 

check-royale-asjs:

 

clone-royale-asjs:

 

check-royale-compiler:

 

clone-royale-compiler:

 

check-royale-typedefs:

 

clone-royale-typedefs:

 

check-playerglobal-home:

 

check-air-home:

 

build-all:

 

ask-before-build-all:

    [input] This script will now download and compile lots of files.  This can t

ake several minutes.   No interaction should be required.  Press the enter key t

o continue.

 

 

sdk:

 

annotate.class:

    [javac] Compiling 1 source file to C:\Users\aleena\royale-compiler\compiler-

build-tools\target\classes

    [javac] warning: [options] bootstrap class path not set in conjunction with

-source 1.5

    [javac] warning: [options] source value 1.5 is obsolete and will be removed

in a future release

    [javac] warning: [options] target value 1.5 is obsolete and will be removed

in a future release

    [javac] warning: [options] To suppress warnings about obsolete options, use

-Xlint:-options.

    [javac] C:\Users\aleena\royale-compiler\compiler-build-tools\src\main\java\o

rg\apache\royale\compiler\tools\annotate\AnnotateClass.java:24: warning: [serial

] serializable class AnnotateClassDeleteException has no definition of serialVer

sionUID

    [javac]     public static class AnnotateClassDeleteException extends Excepti

on

    [javac]                   ^

    [javac] C:\Users\aleena\royale-compiler\compiler-build-tools\src\main\java\o

rg\apache\royale\compiler\tools\annotate\AnnotateClass.java:32: warning: [serial

] serializable class AnnotateClassRenameException has no definition of serialVer

sionUID

    [javac]     public static class AnnotateClassRenameException extends Excepti

on

    [javac]                   ^

    [javac] 6 warnings

 

unknown.tree.pattern.input.output:

    [javac] Compiling 1 source file to C:\Users\aleena\royale-compiler\compiler-

build-tools\target\classes

    [javac] warning: [options] bootstrap class path not set in conjunction with

-source 1.5

    [javac] warning: [options] source value 1.5 is obsolete and will be removed

in a future release

    [javac] warning: [options] target value 1.5 is obsolete and will be removed

in a future release

    [javac] warning: [options] To suppress warnings about obsolete options, use

-Xlint:-options.

    [javac] 4 warnings

 

main:

 

compiler.downloads.cache:

 

compiler.downloads:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is ${ROYALE_COMPILER_HOME}

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

prepare:

     [echo] Making lib directory C:\Users\aleena\royale-compiler\compiler/lib/ex

ternal

    [mkdir] Created dir: C:\Users\aleena\royale-compiler\compiler\lib\external

 

all:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

check-dependency:

     [echo] checking for C:\Users\aleena\royale-compiler\compiler/lib/external//

antlr.jar

 

download-dependency:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

echo-project-jar:

   [delete] Deleting: C:\Users\aleena\royale-compiler\compiler\src\main\resource

s\project.properties

     [echo] ${INFO_DOWNLOADING_FILE_FROM}

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

download-apache-license:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

download-other-license:

      [get] Getting: http://www.antlr.org/license.html

      [get] To: C:\Users\aleena\royale-compiler\compiler\lib\external\antlr-LICE

NSE.html

      [get] Error getting http://www.antlr.org/license.html to C:\Users\aleena\r

oyale-compiler\compiler\lib\external\antlr-LICENSE.html

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

double-check-file:

     [echo] ${env.ROYALE_DOWNLOAD_CACHE}

     [echo] Need file: ${still_no_file}

 

get-from-cache-if-needed:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

fail-if-not-found:

 

BUILD FAILED

C:\Users\aleena\royale-asjs\build.xml:1754: The following error occurred while e

xecuting this line:

C:\Users\aleena\royale-asjs\build.xml:1825: The following error occurred while e

xecuting this line:

C:\Users\aleena\royale-compiler\build.xml:64: The following error occurred while

 executing this line:

C:\Users\aleena\royale-compiler\compiler-jburg-types\build.xml:87: The following

 error occurred while executing this line:

C:\Users\aleena\royale-compiler\compiler\src\main\resources\downloads.xml:81: Th

e following error occurred while executing this line:

C:\Users\aleena\royale-compiler\compiler\src\main\resources\downloads.xml:275: T

he following error occurred while executing this line:

C:\Users\aleena\royale-compiler\compiler\src\main\resources\downloads.xml:329: T

he following error occurred while executing this line:

C:\Users\aleena\royale-compiler\compiler\src\main\resources\downloads.xml:489: C

:\Users\aleena\royale-compiler\compiler/lib/external//antlr-LICENSE.html could n

ot be downloaded or found in cache

 

Total time: 47 seconds

 

C:\Users\aleena\royale-asjs>

 

Thanks,

Alina

 

From: Alex Harui [[hidden email]]
Sent: Tuesday, March 06, 2018 11:55 AM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

Please use JDK8.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, March 5, 2018 at 10:40 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

Java version that I am using is “9.0.1”

 

Thanks,

Alina

 

From: Alex Harui [[hidden email]]
Sent: Tuesday, March 06, 2018 11:42 AM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

What version of Java are you using?  Please get a JDK7 or 8 and try that.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, March 5, 2018 at 10:22 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

Command Prompt Output is:

C:\Users\aleena>git clone https://github.com/apache/royale-asjs.git royale-asjs

Cloning into 'royale-asjs'...

remote: Counting objects: 101103, done.

remote: Compressing objects: 100% (22/22), done.

remote: Total 101103 (delta 9), reused 30 (delta 7), pack-reused 101066R

Receiving objects: 100% (101103/101103), 19.23 MiB | 208.00 KiB/s, done.

 

Resolving deltas: 100% (61584/61584), done.

Checking out files: 100% (3572/3572), done.

 

C:\Users\aleena>cd royale-asjs

 

C:\Users\aleena\royale-asjs>git checkout develop

Already on 'develop'

Your branch is up to date with 'origin/develop'.

 

C:\Users\aleena\royale-asjs>ant all

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8

Buildfile: C:\Users\aleena\royale-asjs\build.xml

 

set.base.folder:

 

check-git:

     [echo] Checking for Git...

     [exec] git version 2.16.2.windows.1

 

get-download-folder:

 

download-all:

     [echo] Using folder C:\Users\aleena\royale-asjs/..

 

check-royale-asjs:

 

warn-before-clone:

 

check-royale-asjs:

 

clone-royale-asjs:

 

check-royale-compiler:

 

clone-royale-compiler:

     [echo] cloning royale-compiler repo into C:\Users\aleena\royale-asjs/../roy

ale-compiler

     [exec] Cloning into 'royale-compiler'...

     [exec] Checking out files:   8% (284/3191)

     [exec] Checking out files:   9% (288/3191)   Checking out files:  10% (320/

3191)   Checking out files:  11% (352/3191)   Checking out files:  12% (383/3191

)   Checking out files:  13% (415/3191)   Checking out files:  13% (444/3191)

Checking out files:  14% (447/3191)   Checking out files:  15% (479/3191)   Chec

king out files:  16% (511/3191)   Checking out files:  17% (543/3191)   Checking

 out files:  18% (575/3191)   Checking out files:  19% (607/3191)   Checking out

 files:  20% (639/3191)   Checking out files:  20% (641/3191)   Checking out fil

es:  21% (671/3191)   Checking out files:  22% (703/3191)   Checking out files:

 23% (734/3191)   Checking out files:  24% (766/3191)   Checking out files:  25%

 (798/3191)   Checking out files:  26% (830/3191)   Checking out files:  26% (84

2/3191)   Checking out files:  27% (862/3191)   Checking out files:  28% (894/31

91)   Checking out files:  29% (926/3191)   Checking out files:  30% (958/3191)

  Checking out files:  31% (990/3191)   Checking out files:  32% (1022/3191)   C

hecking out files:  33% (1054/3191)   Checking out files:  34% (1085/3191)   Che

cking out files:  35% (1117/3191)   Checking out files:  36% (1149/3191)   Check

ing out files:  37% (1181/3191)   Checking out files:  38% (1213/3191)   Checkin

g out files:  39% (1245/3191)   Checking out files:  40% (1277/3191)   Checking

out files:  40% (1308/3191)   Checking out files:  41% (1309/3191)   Checking ou

t files:  42% (1341/3191)   Checking out files:  42% (1352/3191)   Checking out

files:  43% (1373/3191)   Checking out files:  44% (1405/3191)   Checking out fi

les:  45% (1436/3191)   Checking out files:  46% (1468/3191)   Checking out file

s:  47% (1500/3191)   Checking out files:  48% (1532/3191)   Checking out files:

  49% (1564/3191)   Checking out files:  49% (1578/3191)   Checking out files:

50% (1596/3191)   Checking out files:  51% (1628/3191)   Checking out files:  52

% (1660/3191)   Checking out files:  53% (1692/3191)   Checking out files:  54%

(1724/3191)   Checking out files:  55% (1756/3191)   Checking out files:  56% (1

787/3191)   Checking out files:  57% (1819/3191)   Checking out files:  58% (185

1/3191)   Checking out files:  59% (1883/3191)   Checking out files:  60% (1915/

3191)   Checking out files:  61% (1947/3191)   Checking out files:  62% (1979/31

91)   Checking out files:  63% (2011/3191)   Checking out files:  63% (2022/3191

)   Checking out files:  64% (2043/3191)   Checking out files:  65% (2075/3191)

  Checking out files:  66% (2107/3191)   Checking out files:  67% (2138/3191)

Checking out files:  68% (2170/3191)   Checking out files:  69% (2202/3191)   Ch

ecking out files:  70% (2234/3191)   Checking out files:  71% (2266/3191)   Chec

king out files:  72% (2298/3191)   Checking out files:  73% (2330/3191)   Checki

ng out files:  74% (2362/3191)   Checking out files:  75% (2394/3191)   Checking

 out files:  76% (2426/3191)   Checking out files:  77% (2458/3191)   Checking o

ut files:  78% (2489/3191)   Checking out files:  79% (2521/3191)   Checking out

 files:  80% (2553/3191)   Checking out files:  81% (2585/3191)   Checking out f

iles:  82% (2617/3191)   Checking out files:  83% (2649/3191)   Checking out fil

es:  83% (2679/3191)   Checking out files:  84% (2681/3191)   Checking out files

:  85% (2713/3191)   Checking out files:  86% (2745/3191)   Checking out files:

 87% (2777/3191)   Checking out files:  88% (2809/3191)   Checking out files:  8

9% (2840/3191)   Checking out files:  89% (2845/3191)   Checking out files:  90%

 (2872/3191)   Checking out files:  91% (2904/3191)   Checking out files:  92% (

2936/3191)   Checking out files:  93% (2968/3191)   Checking out files:  94% (30

00/3191)   Checking out files:  95% (3032/3191)   Checking out files:  95% (3035

/3191)   Checking out files:  96% (3064/3191)   Checking out files:  97% (3096/3

191)   Checking out files:  98% (3128/3191)   Checking out files:  99% (3160/319

1)   Checking out files: 100% (3191/3191)   Checking out files: 100% (3191/3191)

, done.

     [exec] Your branch is up to date with 'origin/develop'.

     [exec] Already on 'develop'

 

check-royale-typedefs:

 

clone-royale-typedefs:

     [echo] cloning royale-typedefs repo into C:\Users\aleena\royale-asjs/../roy

ale-typedefs

     [exec] Cloning into 'royale-typedefs'...

     [exec] Your branch is up to date with 'origin/develop'.

     [exec] Already on 'develop'

 

check-playerglobal-home:

 

check-air-home:

 

build-all:

 

ask-before-build-all:

    [input] This script will now download and compile lots of files.  This can t

ake several minutes.   No interaction should be required.  Press the enter key t

o continue.

 

sdk:

 

annotate.class:

    [mkdir] Created dir: C:\Users\aleena\royale-compiler\compiler-build-tools\ta

rget\classes

    [javac] Compiling 1 source file to C:\Users\aleena\royale-compiler\compiler-

build-tools\target\classes

    [javac] warning: [options] bootstrap class path not set in conjunction with

-source 1.5

    [javac] error: Source option 1.5 is no longer supported. Use 1.6 or later.

    [javac] error: Target option 1.5 is no longer supported. Use 1.6 or later.

 

BUILD FAILED

C:\Users\aleena\royale-asjs\build.xml:1754: The following error occurred while e

xecuting this line:

C:\Users\aleena\royale-asjs\build.xml:1825: The following error occurred while e

xecuting this line:

C:\Users\aleena\royale-compiler\build.xml:63: The following error occurred while

 executing this line:

C:\Users\aleena\royale-compiler\compiler-build-tools\build.xml:74: Compile faile

d; see the compiler error output for details.

 

Total time: 17 minutes 59 seconds

 

C:\Users\aleena\royale-asjs>

 

Unable to Build, Please guide.

 

Thanks,

Alina

From: Alex Harui [[hidden email]]
Sent: Friday, March 02, 2018 10:31 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

I was able to download and expand the files.  I will be consolidating the data today. 

 

In order to be able to write some of these emulations, you will probably need to be able to build the framework sources.  If you haven't already, you can try cloning the royale-asjs repo and figure out how to get it to build.  You can choose Apache Maven or Apache Ant as the build tool.

 

 

Hopefully the instruction in the readme are sufficient.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Friday, March 2, 2018 at 12:34 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

Application API-Report link:

https://www.dropbox.com/s/swvqhly6wa0jrc5/API-Reports.rar?dl=0

SHMALib Report, applications,shmDoclist,shmSetupList,AppView_EIS, AppView_ERP,shmMappingSetup, shmMappingSetupOpenDetailGrid,shmSalesInvoice, shmSalesInvoiceDetail are main API Files.

 

Regards,

Alina

 

 

 

 

From: Alina Kazi [[hidden email]]
Sent: Friday, March 02, 2018 11:32 AM
To: [hidden email]
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

2) We are using Effects in our Application 2-3 times

4) We are using text styling in our Application 3-5 times

 

Thanks,

Alina

 

From: Alex Harui [[hidden email]]
Sent: Friday, March 02, 2018 4:26 AM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

1) Interesting about Charts.  They were being used by the SWC.

2) Effects are any animations that move, resize or fade things in the UI.

3) ok

4) I'm not sure what to conclude from the screenshot.  I'm interested in how often folks use it to create text with bold, italics and other styling of text.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Thursday, March 1, 2018 at 4:24 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

600 mxml.api.txt files are generated and still in process. I will share link for files tomorrow.

After sharing my files tomorrow, If you will suggest to build  emulations.

I will  definitely want to learn how to create emulations and contribute them to Apache Royale.  

1.We are not using Charts in our Application

2. How important are effects? (Please explain effects )

3. We are not using Right-to-left languages in RichTextEditor.

4. Is RichTextEditor being used for non-plain text?  If so, what kinds of text styling is important?

Link:https://www.dropbox.com/s/ky93eycmefm3cuu/RICHTEXTEDITOR.png?dl=0

Thanks,

Alina

From: Alex Harui [[hidden email]]
Sent: Wednesday, February 28, 2018 10:45 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

Good to hear it worked.

 

I think I am waiting on all of the mxml.api.txt files to see what else is in there that isn't in the two reports we have, then we'll have a pretty good list of the places you will either need to change in your code or that we  will build emulations for.

 

I think emulations will be less work in the end, but there will be a lot of them to do.  We will want to you to learn how to create emulations and contribute them to Apache Royale.  That's how many Apache projects work: some of the users learn how to become committers.  This will be an asset to your company as well since you will learn how to fix things in Royale yourself.  Then your company won't be dependent on outsiders for support.

 

So, Peter and I and hopefully others will get started on some emulations to make sure they work for us, and then you can see if they work for you, and then we will teach you how to write those emulations.  Over the next several months, besides testing emulations written by others in your app, you will be writing your own emulations for things you need right away that we haven't written yet, or for third-party code that you are using.

 

It might help to get some prioritization on the emulations we need to write.  In looking at the list, I am wondering:

  1. Are some charts more important than others?
  2. How important are effects?
  3. Do you use Right-to-left languages in RichTextEditor?
  4. Is RichTextEditor being used for non-plain text?  If so, what kinds of text styling is important?

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Wednesday, February 28, 2018 at 1:22 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

Thank you.

It’s working with latest nightly build:

https://www.dropbox.com/s/77wkgrm74upkg0j/SHMALib%20Report.txt?dl=0

 

 

Regards,

Alina

 

 

 

From: Alex Harui [[hidden email]]
Sent: Wednesday, February 28, 2018 1:15 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

Looks like COMPC collected the data but never generated the report.  I pushed a fix for that.  Please try the latest nightly build.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Tuesday, February 27, 2018 at 10:35 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

Thank you

After commenting the embedded font part from source.

Output to console:

3462313 bytes written to D:\SHMALib.swc in 19.878 seconds

D:\apache-royale-0.9.2-bin-js-swf\royale-asjs\bin>Compc -output "D:\SHMALib.swc"

 -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\framewor

ks\flex-config.xml -source-path="D:\SHMALIB\src" -include-sources="D:\SHMALIB\sr

c" -library-path+=D:\SHMALIB\libs

 

SHMALib.swf file Generated and Report.txt is empty

SHMALib.swc output Link:

https://www.dropbox.com/s/4tz49sz134m2gg9/SHMALib.swc?dl=0

then I change, Compc -output "D:\SHMALib.swc" to Compc -output "D:\SHMALib. txt "

SHMALib.txt output Link:

https://www.dropbox.com/s/j38obt5e36awuh3/SHMALib.txt?dl=0

 

Thanks,

Alina

 

 

 

From: Alex Harui [[hidden email]]
Sent: Wednesday, February 28, 2018 11:18 AM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

The only error right now is the embedded font.

 

We can discuss the pros and cons of embedding images in the JS output at some other point in time.

 

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Tuesday, February 27, 2018 at 10:01 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Big Part of SHMALib Uses Embed and metadata :

 

                                // Embed the font so we can rotate it for further distortion

                                [Embed(systemFont="Comic Sans MS",

                                                                embedAsCFF='false')]

                <mx:Image y="4" width="18" height="20" right="185" source="@Embed(source='assets/default/images/load.png')"

                                                  source="@Embed(source='assets/default/images/next.gif')" scaleContent="false"/>

                <mx:Image y="4" width="18" height="20" right="3" source="@Embed(source='assets/default/images/magnifier.png')"

     * An IFrame which you can embed into Flex applications to show an HTML page.

     * @example A simple application with Google embedded

        // SWF embed object tracking

         * The SWF embed object id.

         * Get the embed object id.

        protected function resolveEmbedObjectId():void

                    var result:Object=ExternalInterface.call(IFrameExternalCalls.FUNCTION_ASK_FOR_EMBED_OBJECT_ID, randomIdentificationString.toString());

                        logger.info("Resolved the SWF embed object id to '{0}'.", applicationId);

                        logger.error('Could not resolve the SWF embed object Id.');

            // Resolve the SWF embed object id in the DOM.

            ExternalInterface.call(IFrameExternalCalls.INSERT_FUNCTION_ASK_FOR_EMBED_OBJECT_ID);

            resolveEmbedObjectId();

            logger.info("Loading IFrame with id '{0}', on SWF embed object with id '{1}'.", _frameId, applicationId);

                    FUNCTION_LOADIFRAME + " = function (frameID, iframeID, url, embedID, scrollPolicy)" +

                                      "onLoad='\"+embedID+\".\"+frameID+\"_load();' " +

        public static var FUNCTION_ASK_FOR_EMBED_OBJECT_ID:String = "askForEmbedObjectId";

        public static var FUNCTION_ASK_FOR_EMBED_OBJECT_ID:String = "askForEmbedObjectId";

        public static var INSERT_FUNCTION_ASK_FOR_EMBED_OBJECT_ID:String =

                "if (document." + FUNCTION_ASK_FOR_EMBED_OBJECT_ID + "==null)" +

                    FUNCTION_ASK_FOR_EMBED_OBJECT_ID + " = function(randomString) " +

                            "var embeds = document.getElementsByTagName('embed'); " +

                            "var embeds = document.getElementsByTagName('embed'); " +

                            "for (var i = 0; i < embeds.length; i++) { " +

                                "var isTheGoodOne = embeds[i].checkObjectId(embeds[i].getAttribute('id'),randomString); " +

                                "var isTheGoodOne = embeds[i].checkObjectId(embeds[i].getAttribute('id'),randomString); " +

                                    "return embeds[i].getAttribute('id'); " +

                                 * The UITextField control for displaying embeded hints.

                                private var embedTextField:UITextField;

                                 *  The String to be shown as the embeded hint.

                                private var embedStr:String = "";

                                                                                embedStr = "MM DD YYYY";

                                                                                embedStr = "DD MM YYYY";

                                                                                embedStr = "YYYY MM DD";

                                                                                embedStr = "YYYY DD MM";

                                 *  Create child objects for displaying embeded hints.

                                                                embedTextField = new UITextField();

                                                                //embedTextField.text = embedStr;

                                                                //embedTextField.text = embedStr;

                                                                addChildAt(UITextField(embedTextField),getChildIndex(DisplayObject(textField)));//as TextField

                                                                                                                s = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                s = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                                s = s.substring(0,i) + embedStr.charAt(i) + s.substring(i+1, s.length);

                                                                                                                                embedTextField.text = s;

                                                                                                                s = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                s = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                                //s = s.substring(0,i) + embedStr.charAt(i) + s.substring(i+1, s.length);

                                                                                                                                //embedTextField.text = s;

                                                                                                                                s = s.substring(0,i) + embedStr.charAt(i) + s.substring(i+1, s.length);

                                                                                                                                embedTextField.text = s;

                                                                                // If embeded hints are displayed then update the

                                                                                // UITextField corresponding to the embeded hints

                                                                                                var s:String = embedTextField.text == null ? "":embedTextField.text;

                                                                                                var s:String = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                embedTextField.text = s;

                                                                // create the embeded text field for showing

                                                                // embeded hints if its not already created.

                                                                // If it is created, then just change the embeded hint.

                                                                if(!embedTextField)

                                                                                embedTextField = new UITextField();

                                                                                addChildAt(embedTextField,getChildIndex(DisplayObject(textField))); //as TextField

                                                                //embedTextField.text = embedStr;

                                                                //embedTextField.text = embedStr;

                                                                embedTextField.alpha = 1;

                                                                embedTextField.setTextFormat(txtFormat);

                                                                embedTextField.x = 0;

                                                                embedTextField.y = 2;

                                                                embedTextField.setActualSize(width,height);

                                                                if(embedTextField)

                                                                                embedTextField.text = "";

                                                                                embedTextField = null;

                                                // setting the color of the embeded text field to white.

                                                                if(embedTextField)

                                                                                embedTextField.setColor(0xFFFFFF);

                                                                                if(embedTextField)

                                                                                                addChildAt(DisplayObject(newSkin),getChildIndex(DisplayObject(embedTextField)));//

   background-image:                                      Embed(source="/assets/application_background.png",

                up-skin:                Embed("/assets/maximize_up.png");

                over-skin:            Embed("/assets/maximize_over.png");

                down-skin:         Embed("/assets/maximize_up.png");

                selected-up-skin:   Embed("/assets/restore_up.png");

                selected-over-skin: Embed("/assets/restore_over.png");

                selected-down-skin: Embed("/assets/restore_up.png");

                up-skin:        Embed("/assets/minimize_up.png");

                over-skin:      Embed("/assets/minimize_over.png");

                down-skin:      Embed("/assets/minimize_up.png");

                up-skin:                                Embed("/assets/tab_up.png", scaleGridTop="11", scaleGridBottom="30", scaleGridLeft="10", scaleGridRight="92");

                over-skin:                            Embed("/assets/tab_up.png", scaleGridTop="11", scaleGridBottom="30", scaleGridLeft="10", scaleGridRight="92");

                down-skin:                         Embed("/assets/tab_up.png", scaleGridTop="11", scaleGridBottom="30", scaleGridLeft="10", scaleGridRight="92");

                selected-up-skin:                             Embed("/assets/tab_selected.png", scaleGridTop="13", scaleGridBottom="31", scaleGridLeft="9", scaleGridRight="91");

                selected-over-skin:                         Embed("/assets/tab_selected.png", scaleGridTop="13", scaleGridBottom="31", scaleGridLeft="9", scaleGridRight="91");

                selected-down-skin:                      Embed("/assets/tab_selected.png", scaleGridTop="13", scaleGridBottom="31", scaleGridLeft="9", scaleGridRight="91");

                up-skin:                                Embed("/assets/left_arrow_up.gif");

                over-skin:                            Embed("/assets/left_arrow_over.gif");

                down-skin:                         Embed("/assets/left_arrow_up.gif");

                disabled-skin:    Embed("/assets/left_arrow_disabled.gif");

                up-skin:                                Embed("/assets/right_arrow_up.gif");

                over-skin:                            Embed("/assets/right_arrow_over.gif");

                down-skin:                         Embed("/assets/right_arrow_up.gif");

                disabled-skin:    Embed("/assets/right_arrow_disabled.gif");

                                //[Embed(source="/assets/cursor_move.gif")]

                                //[Embed(source="/assets/cursor_resize.gif")]

                                [Embed(source="/assets/default/images/mouseMove.gif")]

                                [Embed(source="/assets/default/images/verticalSize.gif")]

                                [Embed(source="/assets/default/images/horizontalSize.gif")]

                                [Embed(source="/assets/default/images/leftObliqueSize.gif")]

                                [Embed(source="/assets/default/images/rightObliqueSize.gif")]

                                                if (image.isEmbedded)

                                                //if (!Application.application.systemManager.isFontFaceEmbedded(textFormat))

                                                if (!FlexGlobals.topLevelApplication.systemManager.isFontFaceEmbedded(textFormat))

                                                                if (Application.application.isFontsEmbedded) {

                                                                if (Application.application.isFontsEmbedded) {

                                                                if (Application.application.isFontsEmbedded) {

                                private var _isEmbedded:Boolean = false;

                                public function set isEmbedded(embedded:Boolean):void

                                public function set isEmbedded(embedded:Boolean):void

                                                _isEmbedded = embedded;

                                                _isEmbedded = embedded;

                                public function get isEmbedded():Boolean

                                                return _isEmbedded;

                                                <mx:icon>@Embed(source='images/print.GIF')</mx:icon>

                                                <mx:icon>@Embed(source='images/reload.GIF')</mx:icon>

                                                                <mx:disabledIcon>@Embed(source='images/first-gray.GIF')</mx:disabledIcon>

                                                                <mx:icon>@Embed(source='images/first.GIF')</mx:icon>

                                                                <mx:disabledIcon>@Embed(source='images/previous-gray.GIF')</mx:disabledIcon>

                                                                <mx:icon>@Embed(source='images/previous.GIF')</mx:icon>

                                                                <mx:disabledIcon>@Embed(source='images/next-gray.GIF')</mx:disabledIcon>

                                                                <mx:icon>@Embed(source='images/next.GIF')</mx:icon>

                                                                <mx:disabledIcon>@Embed(source='images/last-gray.GIF')</mx:disabledIcon>

                                                                <mx:icon>@Embed(source='images/last.GIF')</mx:icon>

                                                                                <mx:icon>@Embed(source='images/actualsize.GIF')</mx:icon>

                                                                                <mx:icon>@Embed(source='images/fitpage.GIF')</mx:icon>

                                                                                <mx:icon>@Embed(source='images/fitwidth.GIF')</mx:icon>

                                                                <mx:disabledIcon>@Embed(source='images/zoomin-gray.GIF')</mx:disabledIcon>

                                                                <mx:icon>@Embed(source='images/zoomin.GIF')</mx:icon>

                                                                <mx:disabledIcon>@Embed(source='images/zoomout-gray.GIF')</mx:disabledIcon>

                                                                <mx:icon>@Embed(source='images/zoomout.GIF')</mx:icon>

                                                                <mx:icon>@Embed(source='images/print.GIF')</mx:icon>

                                                if ([hidden email]() > 0)

                                                                image.isEmbedded = imageSourceXml.@isEmbedded == "true";

                                                                image.isEmbedded = imageSourceXml.@isEmbedded == "true";

                 source="@Embed(source='/assets/default/images/left_arrow_up.gif')"/>

                 source="@Embed(source='/assets/default/images/left_arrow_over.gif')"/>

                 source="@Embed(source='/assets/default/images/left_arrow_disabled.gif')"/> 

                                                                                   source="@Embed(source='/com/shm/flexlib/mdi/assets/img/maximizeButton.png')"/>

                                                                                   height="12" source="@Embed(source='/com/shm/flexlib/mdi/assets/img/restoreButton.png')"/>

                                                                                   source="@Embed(source='/com/shm/flexlib/mdi/assets/img/minimizeButton.png')"/>

                 source="@Embed(source='/assets/default/images/right_arrow_up.gif')"/>

                 source="@Embed(source='/assets/default/images/right_arrow_over.gif')"/>

                 source="@Embed(source='/assets/default/images/right_arrow_disabled.gif')"/> 

 

 

 

From: Alex Harui [[hidden email]]
Sent: Wednesday, February 28, 2018 11:00 AM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

I think you can ignore the warnings.  The first error is for embedding a font, which Royale doesn't currently support, so for now, try commenting out the Embed metadata and see if that allows the error to go away.

 

I would look into the other errors to see if they are legitimate or not.  The Royale Compiler will catch some things the MXMLC compiler may not.  Or you could comment out the code involved in the two errors in TImeZone.as for now since that won't affect the report.

 

The final two errors I saw are for missing skin states.  I think you can just add the skin states.

 

HTH,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Tuesday, February 27, 2018 at 9:35 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

While Executing

D:\apache-royale-0.9.2-bin-js-swf\royale-asjs\bin>Compc -output "D:\SHMALib.swc" -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\frameworks\flex-config.xml -source-path="D:\SHMALIB\src" -include-sources="D:\SHMALIB\src"

Or

D:\apache-royale-0.9.2-bin-js-swf\royale-asjs\bin>Compc -output "D:\Flex\libs\SH

MALIB.swc" -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bi

n\frameworks\flex-config.xml -source-path="D:\SHMALIB\src" -include-sources="D:\

SHMALIB\src" -library-path+=D:\SHMALIB\libs

 

Error:

(file:/D:/apache-royale-0.9.2-bin-js-swf/royale-asjs/lib/external/guava.jar) to

field java.lang.Thread.inheritableThreadLocals

WARNING: Please consider reporting this to the maintainers of com.google.common.

base.internal.Finalizer

WARNING: Use --illegal-access=warn to enable warnings of further illegal reflect

ive access operations

WARNING: All illegal access operations will be denied in a future release

Loading configuration: D:\apache-flex-sdk-4.16.0-bin\frameworks\flex-config.xml

 

Warning: Duplicate declaration of SkinState 'normal'

 

 

Warning: Duplicate declaration of SkinState 'disabled'

 

 

Warning: Duplicate declaration of SkinState 'normal'

 

 

Warning: Duplicate declaration of SkinState 'disabled'

 

 

Warning: Duplicate declaration of SkinState 'normal'

 

 

Warning: Duplicate declaration of SkinState 'disabled'

 

 

Warning: Duplicate declaration of SkinState 'normal'

 

 

Warning: Duplicate declaration of SkinState 'disabled'

 

 

Warning: Duplicate declaration of SkinState 'normal'

 

 

Warning: Duplicate declaration of SkinState 'disabled'

 

 

D:\SHMALIB\src\com\shm\components\PickList_Discrete.mxml(415): col: 50 Warning:

Data binding will not be able to detect assignments to 'amfChannelSet'.

 

                <mx:RemoteObject channelSet="{parentApplication.amfChannelSet}"

id="DataProviderService"  showBusyCursor="true"

                                                               ^

 

D:\SHMALIB\src\com\shm\components\PickList_Discrete.mxml(419): col: 50 Warning:

Data binding will not be able to detect assignments to 'amfChannelSet'.

 

                <mx:RemoteObject channelSet="{parentApplication.amfChannelSet}"

id="BasicFormatterService"  showBusyCursor="true"

                                                               ^

 

D:\SHMALIB\src\com\shm\components\PickList_Simple.mxml(516): col: 50 Warning: Da

ta binding will not be able to detect assignments to 'amfChannelSet'.

 

                <mx:RemoteObject channelSet="{parentApplication.amfChannelSet}"

id="DataProviderService"  showBusyCursor="true"

                                                               ^

 

D:\SHMALIB\src\com\shm\components\PickList_Simple.mxml(520): col: 50 Warning: Da

ta binding will not be able to detect assignments to 'amfChannelSet'.

 

                <mx:RemoteObject channelSet="{parentApplication.amfChannelSet}"

id="BasicFormatterService"  showBusyCursor="true"

                                                               ^

 

D:\SHMALIB\src\com\shm\components\shmCaptchaImage.as(43): col: 3 Error: Embed re

quires a 'source' file attribute

 

                [Embed(systemFont="Comic Sans MS",

                ^

 

D:\SHMALIB\src\com\shm\components\shmColumnList.mxml(37): col: 88 Warning: Data

binding will not be able to detect assignments to 'isSelected'.

 

                                        <mx:CheckBox selectedField="isSelected"

 change="onChange(event);" selected="{data.isSelected}">

 

                                          ^

 

D:\SHMALIB\src\com\shm\components\shmColumnList.mxml(46): col: 27 Warning: Data

binding will not be able to detect assignments to 'label'.

 

                                        <mx:Label text="{data.label}" />

                                                             ^

 

D:\SHMALIB\src\com\shm\dashboard\qs\utils\TimeZone.as(126): col: 15 Error: Impli

cit coercion of a value of type Boolean to an unrelated type Number.

 

                                if(year & 0x3 == 0)

                                          ^

 

D:\SHMALIB\src\com\shm\dashboard\qs\utils\TimeZone.as(134): col: 39 Error: Impli

cit coercion of a value of type Boolean to an unrelated type Number.

 

                                if(month == 1 && value.fullYear & 0x3 == 0)

                                                                  ^

 

D:\SHMALIB\src\com\shm\dashboard\renderers\GridPodURLRenderer.mxml(6): col: 23 W

arning: Data binding will not be able to detect assignments to 'SrNo'.

 

                  htmlText="&lt;u&gt;{data.SrNo}&lt;/u&gt;" color="blue" click="

f_DrillDownData(data)">

                                    ^

 

D:\SHMALIB\src\com\shm\dashboard\spark\resize\ResizableTextAreaSkin.mxml Error:

The required skin state 'disabledWithPrompt' is missing.

 

 

D:\SHMALIB\src\com\shm\dashboard\spark\resize\ResizableTextAreaSkin.mxml Error:

The required skin state 'normalWithPrompt' is missing.

 

 

D:\SHMALIB\src\com\shm\dashboard\view\ChartContent.mxml(177): col: 27 Warning: D

ata binding will not be able to detect assignments to 'valueField'.

 

                                                yField="{properties.@valueField}

">

                                                                    ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ChartContent.mxml(187): col: 34 Warning: D

ata binding will not be able to detect assignments to 'categoryField'.

 

                                                categoryField="{properties.@cate

goryField}" />

                                                                           ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ChartContent.mxml(202): col: 27 Warning: D

ata binding will not be able to detect assignments to 'valueField'.

 

                                                yField="{properties.@valueField}

">

                                                                    ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ChartContent.mxml(212): col: 34 Warning: D

ata binding will not be able to detect assignments to 'categoryField'.

 

                                                categoryField="{properties.@cate

goryField}" />

                                                                           ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ComboContent.mxml(429): col: 27 Warning: D

ata binding will not be able to detect assignments to 'valueField'.

 

                                                yField="{properties.@valueField}

">

                                                                    ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ComboContent.mxml(439): col: 34 Warning: D

ata binding will not be able to detect assignments to 'categoryField'.

 

                                                categoryField="{properties.@cate

goryField}" />

                                                                           ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ComboContent.mxml(454): col: 27 Warning: D

ata binding will not be able to detect assignments to 'valueField'.

 

                                                yField="{properties.@valueField}

">

                                                                    ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ComboContent.mxml(464): col: 34 Warning: D

ata binding will not be able to detect assignments to 'categoryField'.

 

                                                categoryField="{properties.@cate

goryField}" />

                                                                           ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ComboContent.mxml(479): col: 26 Warning: D

ata binding will not be able to detect assignments to 'valueField'.

 

                                                field="{properties.@valueField}"

 

                                                                   ^

 

D:\SHMALIB\src\com\shm\dashboard\view\DrillDownViewer.mxml(115): col: 74 Warning

: Data binding will not be able to detect assignments to 'amfChannelSet'.

 

                <mx:RemoteObject id="roDrillDownColInfo" channelSet="{parentAppl

ication.amfChannelSet}" showBusyCursor="true"

 

       ^

 

D:\SHMALIB\src\com\shm\dashboard\view\DrillDownViewer.mxml(118): col: 68 Warning

: Data binding will not be able to detect assignments to 'amfChannelSet'.

 

                <mx:RemoteObject id="roDgDpResult" channelSet="{parentApplicatio

n.amfChannelSet}" showBusyCursor="true"

 

 ^

 

D:\SHMALIB\src\com\shm\dashboard\view\PieChartContent.mxml(128): col: 24 Warning

: Data binding will not be able to detect assignments to 'valueField'.

 

                                field="{properties.@valueField}"

                                                   ^

 

D:\SHMALIB\src\com\shm\dashboard\view\PodCriteria.mxml(67): col: 37 Warning: Dat

a binding will not be able to detect assignments to 'appParams'.

 

                                                        inputMask="{parentApplic

ation.appParams.DATE_FORMAT}" showToday="true"  yearNavigationEnabled="true"

 

     ^

 

D:\SHMALIB\src\com\shm\dashboard\view\PodCriteria.mxml(67): col: 47 Warning: Dat

a binding will not be able to detect assignments to 'DATE_FORMAT'.

 

                                                        inputMask="{parentApplic

ation.appParams.DATE_FORMAT}" showToday="true"  yearNavigationEnabled="true"

 

               ^

 

D:\SHMALIB\src\com\shm\dashboard\view\PodCriteria.mxml(71): col: 38 Warning: Dat

a binding will not be able to detect assignments to 'appParams'.

 

                                                         inputMask="{parentAppli

cation.appParams.DATE_FORMAT}" yearNavigationEnabled="true" showToday="true"

 

      ^

 

D:\SHMALIB\src\com\shm\dashboard\view\PodCriteria.mxml(71): col: 48 Warning: Dat

a binding will not be able to detect assignments to 'DATE_FORMAT'.

 

                                                         inputMask="{parentAppli

cation.appParams.DATE_FORMAT}" yearNavigationEnabled="true" showToday="true"

 

                ^

 

D:\SHMALIB\src\com\shm\modules\components\shmGridBorder.mxml(12): col: 11 Warnin

g: 'Stroke' has been deprecated since 4.0. Please use 'SolidColorStroke'.

 

                        import mx.graphics.Stroke;

                               ^

 

D:\SHMALIB\src\com\shm\modules\components\shmGridBorder.mxml(37): col: 23 Warnin

g: 'Stroke' has been deprecated since 4.0. Please use 'SolidColorStroke'.

 

                                        lne.stroke = new Stroke(0,1,.3);

                                                         ^

 

D:\SHMALIB\src\com\shm\modules\components\shmGridBorder.mxml(46): col: 14 Warnin

g: Duplicate variable definition: i.

 

                                for (var i:int = 1; i < lnWdt; i++){

                                         ^

 

D:\SHMALIB\src\com\shm\modules\components\shmGridBorder.mxml(47): col: 10 Warnin

g: Duplicate variable definition: lne.

 

                                        var lne:Line  = new Line();

                                            ^

 

D:\SHMALIB\src\com\shm\modules\components\shmGridBorder.mxml(53): col: 23 Warnin

g: 'Stroke' has been deprecated since 4.0. Please use 'SolidColorStroke'.

 

                                        lne.stroke = new Stroke(0,1,.3);

                                                         ^

 

D:\SHMALIB\src\com\shm\modules\components\shmGridBorder.mxml(54): col: 10 Warnin

g: Duplicate variable definition: llbe.

 

                                        var llbe:Label = new Label();

                                            ^

 

D:\SHMALIB\src\com\shm\modules\components\shmResizeManager.as(157): col: 40 Warn

ing: 'application' has been deprecated since 4.0. Please use 'FlexGlobals.topLev

elApplication'.

 

                                var xPosition:Number = Application.application.p

arent.mouseX;

                                                                   ^

 

D:\SHMALIB\src\com\shm\modules\components\shmResizeManager.as(158): col: 40 Warn

ing: 'application' has been deprecated since 4.0. Please use 'FlexGlobals.topLev

elApplication'.

 

                                var yPosition:Number = Application.application.p

arent.mouseY;

                                                                   ^

 

D:\SHMALIB\src\com\shm\modules\components\shmResizeManager.as(225): col: 36 Warn

ing: 'application' has been deprecated since 4.0. Please use 'FlexGlobals.topLev

elApplication'.

 

                                var xPlus:Number = Application.application.paren

t.mouseX - point.x;

                                                               ^

 

D:\SHMALIB\src\com\shm\modules\components\shmResizeManager.as(226): col: 36 Warn

ing: 'application' has been deprecated since 4.0. Please use 'FlexGlobals.topLev

elApplication'.

 

                                var yPlus:Number = Application.application.paren

t.mouseY - point.y;

                                                              

Thanks,

Alina Kazi

From: Alex Harui [[hidden email]]
Sent: Wednesday, February 28, 2018 10:16 AM
To: Alina Kazi; [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

I think that Flash Builder makes it easy to build SWCs.  Building from the command line can be a bit trickier.

 

Let's try:

Compc -output "D:\SHMALib.swc" -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\frameworks\flex-config.xml -source-path="D:\SHMALIB\src" -include-sources="D:\SHMALIB\src"

 

HTH,

-Alex

 

 

From: Alina Kazi <[hidden email]>
Date: Tuesday, February 27, 2018 at 7:28 PM
To: "[hidden email]" <[hidden email]>, Alex Harui <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

Yes I am using Flash Builder.

SHMALIB and MainFlexApp are two separate Projects

Src for SHMALIB is placed into D:/SHMALIB/src

Src for MainFlexApp is D:/Flex/src and the library output file SHMALIB.swc is placed into D:/Flex/libs

 

SHMALIB (.actionscriptProperties)

 

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<actionScriptProperties mainApplicationPath="SHMALib.as" projectUUID="863559ab-3e7b-475b-a3a4-09f4f76fc0d2" version="6">

  <compiler additionalCompilerArguments="-locale en_US" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderLocation="D:/Flex/libs" outputFolderPath="bin-debug" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">

    <compilerSourcePath/>

    <libraryPath defaultLinkType="0">

      <libraryPathEntry kind="4" path="">

        <excludedEntries>

          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/flex.swc" useDefaultLinkType="false"/>

        </excludedEntries>

      </libraryPathEntry>

      <libraryPathEntry kind="1" linkType="1" path="libs"/>

    </libraryPath>

    <sourceAttachmentPath/>

  </compiler>

  <applications>

    <application path="SHMALib.as"/>

  </applications>

  <modules/>

  <buildCSSFiles/>

</actionScriptProperties>

 

SHMALIB (.flexLibProperties)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<flexLibProperties includeAllClasses="true" version="3">

  <includeClasses/>

  <includeResources/>

  <namespaceManifests/>

</flexLibProperties>

 

Thanks,

Alina

From: Alex Harui [[hidden email]]
Sent: Tuesday, February 27, 2018 9:34 PM
To: Alina Kazi
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

When you are not trying to use Royale to generate this API report, how are you building your current Flex app?  We might need to know that in order to determine what parameters to add to COMPC.

 

COMPC has additional parameters like -include–sources, include-file, include-classes.  Sometimes, these are listed in an xml file.  If you are using Flash Builder, for example, then examine the .flexlibproperties and .actionscriptProperties files in your project folder.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Date: Tuesday, February 27, 2018 at 3:21 AM
To: 'Alina Kazi' <[hidden email]>
Cc: Alex Harui <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

D:\apache-royale-0.9.2-bin-js-swf\royale-asjs\bin>Compc -output "D:\SHMALib.swc"

 -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\frameworks\flex-config.xml -source-path="D:\SHMALIB\src"

Using Royale SDK: D:\apache-flex-sdk-4.16.0-bin\royale-asjs

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8

WARNING: An illegal reflective access operation has occurred

WARNING: Illegal reflective access by com.google.common.base.internal.Finalizer

(file:/D:/apache-royale-0.9.2-bin-js-swf/royale-asjs/lib/external/guava.jar) to

field java.lang.Thread.inheritableThreadLocals

WARNING: Please consider reporting this to the maintainers of com.google.common.

base.internal.Finalizer

WARNING: Use --illegal-access=warn to enable warnings of further illegal reflect

ive access operations

 

Error: nothing was specified to be included in the library.

-Alina

 

From: Alina Kazi [[hidden email]]
Sent: Tuesday, February 27, 2018 2:16 PM
To: [hidden email]'
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

I am using Moonshine IDE 1.9.0.

Flex 4.16.0

Apache Royale 0.9.2 Latest Nightly Build

 

Running this Command on Command Prompt:

D:\apache-royale-0.9.2-bin-js-swf\royale-asjs\bin>Compc -output "D:\SHMALib.swc"

 -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\frameworks\flex-config.xml -source-path="D:\SHMALIB\src"

Using Royale SDK: D:\apache-flex-sdk-4.16.0-bin\royale-asjs

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8

WARNING: An illegal reflective access operation has occurred

WARNING: Illegal reflective access by com.google.common.base.internal.Finalizer

(file:/D:/apache-royale-0.9.2-bin-js-swf/royale-asjs/lib/external/guava.jar) to

field java.lang.Thread.inheritableThreadLocals

WARNING: Please consider reporting this to the maintainers of com.google.common.

base.internal.Finalizer

WARNING: Use --illegal-access=warn to enable warnings of further illegal reflect

ive access operations

WARNING: All illegal access operations will be denied in a future release

 

command line Error: unknown configuration variable 'sourceΓÇôpath'.

 

-Alina

From: Alex Harui [[hidden email]]
Sent: Tuesday, February 27, 2018 1:26 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

COMPC takes a slightly different set of parameters.  What IDE or build tools are you using to build it without Royale?  You might need to know what options that build uses.

 

You can try running: 

 

Compc -output "D:\Projects\SHMA\Main\Flex\libs\SHMALib.swc" -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\frameworks\flex-config.xml -source–path="D:\Projects\SHMA\Main\Flex\src" or wherever the source code is for the library.

 

HTH,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, February 26, 2018 at 11:33 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

For custom SWC, I am using COMPC to get an api-report for SWC

D:\apache-royale-0.9.2-bin-js-swf\royale-asjs\bin>compc "D:\Projects\SHMA\Main\Flex\libs\SHMALib.swc" -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\frameworks\flex-config.xml

Error: configuration variable 'output' was not set.

 

 

Thanks,

Alina

From: Alex Harui [[hidden email]]
Sent: Tuesday, February 27, 2018 12:27 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

Yes, any SWC that is not in the Flex SDK's frameworks/libs folder needs to be specified as Piotr describes below.  We want you specify the same MXML file that you use to compile in the regular Flex SDK.  So if your Application.mxml starts with an mx:Application or s:Application that’s probably the one to use.  But also, if you have your own custom SWCs, we want you to use COMPC to get an api-report for those SWCs.  We want this modified Royale compiler to compile every source file you own so we can see what Flex APIs you are using.

 

HTH,

-Alex

 

From: Piotr Zarzycki <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, February 26, 2018 at 11:19 PM
To: "[hidden email]" <[hidden email]>
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

In my sense you will have to use -library-path+=path to the library. You have to tell compiler about that library.

 

Thanks, Piotr

 

2018-02-27 7:57 GMT+01:00 Alina Kazi <[hidden email]>:

Hi  Alex,

With latest nightly build:

MaskedTextInput , shmReportUtil …. Are Library Project Actionscript Files.

Main Application contains SHMALib.swc file in Libs folder

Error Link:

https://www.dropbox.com/s/p5imt22cuut0ex6/ErrorGeneratingReport.png?dl=0

 

I have a question that which .mxml file should be used to generate that report?

Applications.mxml is startup file in case of my Project so I’m using it.

 

Please visit reference link and If I’m doing anything wrong please let me know.

 

Thanks,

Alina

 

From: Alex Harui [mailto:[hidden email]]
Sent: Tuesday, February 27, 2018 12:00 AM


To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

I pushed a fix for that.  It might or might not be related to your custom swc.  Get the latest nightly build and let us know.

 

Also, if you are successful, please use your regular compiler to generate a -link–report.  That will help us verify that the API report didn't miss anything.

 

Thanks,

-Alex

 

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, February 26, 2018 at 4:01 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Generated Report file for Sample Project Successfully.

 

spark.components.Application:minHeight,1

spark.components.Application:minWidth,1

spark.components.Application:mxmlContentFactory,2

spark.components.Label:fontSize,1

spark.components.Label:fontWeight,1

spark.components.Label:horizontalCenter,1

spark.components.Label:text,1

spark.components.Label:textAlign,1

spark.components.Label:verticalCenter,1

 

But while executing Actual Project got Error:

https://www.dropbox.com/s/d25eysllavuy5z4/compile2.png?dl=0

https://www.dropbox.com/s/49iq74zk6rxcr1y/compile1.png?dl=0

 

May be because my Application is dependent to SHMALib(.swc) Library Project (Source Shared Earlier).

 

-Alina

 

From: Piotr Zarzycki [[hidden email]]
Sent: Monday, February 26, 2018 5:02 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Alex,

 

I did above exercise for Moonshine and got NPE [1]. I used air-config.xml because it is na Desktop app.

 

 

Thanks,

Piotr

 

 

2018-02-26 12:56 GMT+01:00 Piotr Zarzycki <[hidden email]>:

Yishay,

 

Thank you so much!! I got it working.

 

Alina,

 

Here is the full instruction.

 

1) Download Apache Royale with SWF support - if you have that is good, if not it's here [1]

2) Download Apache Flex - you have it as I have seen on the screenshot.

3) Launch console and go to the Royale SDK folder

 

"yourpathtosdk\bin\" - In my case it was: "d:\Work\royale_ide\royale_nightly_js_swf\bin\"

 

4) Run following command where you will point to the Flex Browser application in order to generate report. My command looks like that:

 

mxmlc "c:\Users\piotr\Documents\NewFlexBrowserProject\src\NewFlexBrowserProject.mxml" -api-report="c:\Users\piotr\Documents\NewFlexBrowserProject\report.txt" -load-config=d:\Work\flex-sdk-4.16.1_adobe_air_28\frameworks\flex-config.xml

 

I generated report for hellow world. Maybe in order to generate report for your application that console command may be much more sophisticated. Let's see!

 

 

 

Thanks,

Piotr

 

 

2018-02-26 12:46 GMT+01:00 Yishay Weiss <[hidden email]>:

Looks like [1] you do need to add compiler option: -api–report=<path to output file>

 

[1] http://apache-royale-users.20374.n8.nabble.com/Substitutes-in-Apache-Royale-tp392p492.html

 

 

From: [hidden email]
Sent: Monday, February 26, 2018 1:37 PM


To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

I have produced with that swf, but what's next? Let's wait for Alex's response [1]

 

 

Thanks,

Piotr

 

2018-02-26 12:32 GMT+01:00 Yishay Weiss <[hidden email]>:

Alex will know but I don’t think so. I haven’t updated the compiler recently so can’t test it right now. If you want to test it maybe just create a simple app and replace /Users/aharui/ApacheFlex4.16.0 with your sdk home.

 

 

 

From: [hidden email]
Sent: Monday, February 26, 2018 1:25 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Yishay,

 

bin/mxmlc

<path to app's

.mxml

file>

-load-config=/Users/aharui/ApacheFlex4.16.0/frameworks/flex-config.xml  

 

Do I need some switch for compiler -api-report or something like that ?

 

Thanks,

Piotr

 

 

2018-02-26 12:10 GMT+01:00 Yishay Weiss <[hidden email]>:

Wasn’t logged in. Here’s [1] the link.

 

[1] http://apache-royale-users.20374.n8.nabble.com/Substitutes-in-Apache-Royale-tp392p489.html

 

 

From: [hidden email]
Sent: Monday, February 26, 2018 12:59 PM
To: [hidden email]
Subject: RE: Generating API report for Flex Web Browser application

 

I couldn’t find a way to link to a nabble post, but this [1] might help (from Substitutes in Apache Royale).

 

[1] https://paste.apache.org/N2QR

 

From: [hidden email]
Sent: Monday, February 26, 2018 12:44 PM
To: [hidden email]
Subject: Generating API report for Flex Web Browser application

 

Hi Alex,

 

I would like to understand how to generate that report. I will go with the console path, because I think this is something unusual and probably Moonshine is not prepared to do this. I'm writing this on the users mailing list because Alina is having some problems with that. I wanted to simplify all of that. Let's start from the beginning. 

 

1) I have created Flex Web browser project using Apache Flex SDK 4.16.1. 

2) I have nightly build of Royale with SWF support [1]

 

What should I type in the console now ?

 

 

Thanks,
--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki

 

 



 

--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki

 



 

--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki

 



 

--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki



 

--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki



 

--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki

Reply | Threaded
Open this post in threaded view
|

RE: API Usage in Flex Web Browser application (was Re: Generating API report for Flex Web Browser application)

alina kazi-2

Hi Alex,

We are using commitProperties() in our Library Project. Overriding the Existing Spark commitProperties() method

For Example:

ResizableTextAreaSkin.mxml (SHMALib)

override protected function commitProperties():void {

                                                super.commitProperties();

 

                                                if (lineBreakChanged) {

                                                                updateStringStyle("lineBreak");

                                                                lineBreakChanged = false;

                                                }

                                                if (paddingChanged) {

                                                                updatePadding();

                                                                paddingChanged = false;

                                                }

                                                if (verticalAlignChanged) {

                                                                updateStringStyle("verticalAlign");

                                                                verticalAlignChanged = false;

                                                }

                                }

We are using

Package

flash.display

Class

public class DisplayObject

Inheritance

DisplayObject Inheritance EventDispatcher Inheritance Object

Reference Link:

https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html

 

e.g :

                public function updateLayoutWithoutAnimation():void

                                {

                                                if(_layoutInvalid == true && layoutFunction != null)

                                                {

                                                                _layoutInvalid = false;

                                                                layoutFunction();

                                                }

 

                                                for(var aChild:* in _targets)

                                                {

                                                                var target:LayoutTarget = _targets[aChild];

                                                                var item:IFlexDisplayObject = target.item;

                                                                var m:Matrix = DisplayObject(item).transform.matrix;

 

                                                                m.tx = target.x;

                                                                m.ty = target.y;

                                                                m.a = target.scaleX;                                                                       

                                                                m.d = target.scaleY

                                                               

                                                                DisplayObject(item).alpha = target.alpha;

                                                                DisplayObject(item).transform.matrix = m;

                                                                item.setActualSize(target.unscaledWidth,target.unscaledHeight);

                                                                if(target.state == "removed")

                                                                {

                                                                                delete _targets[target.item];

                                                                                continue;

                                                                }

                                                                else

                                                                {

                                                                                target.state = "positioned"

                                                                }

                                                }

                                                stopTimer();

                                }

 

Thanks,

Alina

 

From: Alex Harui [mailto:[hidden email]]
Sent: Tuesday, March 06, 2018 1:36 PM
To: [hidden email]
Subject: API Usage in Flex Web Browser application (was Re: Generating API report for Flex Web Browser application)

 

Hi Alina,

 

I'm starting on the emulation.  I've noticed that your application code appears to be calling commitProperties().  Can you tell us why?

 

Also, it looks like there are a few uses of rotation, transform, scaleX and scaleY.  What are those used for?

 

Thanks,

-Alex

 

From: Alex Harui <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, March 5, 2018 at 11:38 PM
To: "[hidden email]" <[hidden email]>
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

Try again.  Sometimes the Antlr server goes off-line around this time of day.

 

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, March 5, 2018 at 11:12 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

Using jdk1.8.0_162:

 

C:\Users\aleena\royale-asjs>ant all

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8

Buildfile: C:\Users\aleena\royale-asjs\build.xml

 

set.base.folder:

 

check-git:

     [echo] Checking for Git...

     [exec] git version 2.16.2.windows.1

 

get-download-folder:

 

download-all:

     [echo] Using folder C:\Users\aleena\royale-asjs/..

 

check-royale-asjs:

 

warn-before-clone:

 

check-royale-asjs:

 

clone-royale-asjs:

 

check-royale-compiler:

 

clone-royale-compiler:

 

check-royale-typedefs:

 

clone-royale-typedefs:

 

check-playerglobal-home:

 

check-air-home:

 

build-all:

 

ask-before-build-all:

    [input] This script will now download and compile lots of files.  This can t

ake several minutes.   No interaction should be required.  Press the enter key t

o continue.

 

 

sdk:

 

annotate.class:

    [javac] Compiling 1 source file to C:\Users\aleena\royale-compiler\compiler-

build-tools\target\classes

    [javac] warning: [options] bootstrap class path not set in conjunction with

-source 1.5

    [javac] warning: [options] source value 1.5 is obsolete and will be removed

in a future release

    [javac] warning: [options] target value 1.5 is obsolete and will be removed

in a future release

    [javac] warning: [options] To suppress warnings about obsolete options, use

-Xlint:-options.

    [javac] C:\Users\aleena\royale-compiler\compiler-build-tools\src\main\java\o

rg\apache\royale\compiler\tools\annotate\AnnotateClass.java:24: warning: [serial

] serializable class AnnotateClassDeleteException has no definition of serialVer

sionUID

    [javac]     public static class AnnotateClassDeleteException extends Excepti

on

    [javac]                   ^

    [javac] C:\Users\aleena\royale-compiler\compiler-build-tools\src\main\java\o

rg\apache\royale\compiler\tools\annotate\AnnotateClass.java:32: warning: [serial

] serializable class AnnotateClassRenameException has no definition of serialVer

sionUID

    [javac]     public static class AnnotateClassRenameException extends Excepti

on

    [javac]                   ^

    [javac] 6 warnings

 

unknown.tree.pattern.input.output:

    [javac] Compiling 1 source file to C:\Users\aleena\royale-compiler\compiler-

build-tools\target\classes

    [javac] warning: [options] bootstrap class path not set in conjunction with

-source 1.5

    [javac] warning: [options] source value 1.5 is obsolete and will be removed

in a future release

    [javac] warning: [options] target value 1.5 is obsolete and will be removed

in a future release

    [javac] warning: [options] To suppress warnings about obsolete options, use

-Xlint:-options.

    [javac] 4 warnings

 

main:

 

compiler.downloads.cache:

 

compiler.downloads:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is ${ROYALE_COMPILER_HOME}

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

prepare:

     [echo] Making lib directory C:\Users\aleena\royale-compiler\compiler/lib/ex

ternal

    [mkdir] Created dir: C:\Users\aleena\royale-compiler\compiler\lib\external

 

all:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

check-dependency:

     [echo] checking for C:\Users\aleena\royale-compiler\compiler/lib/external//

antlr.jar

 

download-dependency:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

echo-project-jar:

   [delete] Deleting: C:\Users\aleena\royale-compiler\compiler\src\main\resource

s\project.properties

     [echo] ${INFO_DOWNLOADING_FILE_FROM}

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

download-apache-license:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

download-other-license:

      [get] Getting: http://www.antlr.org/license.html

      [get] To: C:\Users\aleena\royale-compiler\compiler\lib\external\antlr-LICE

NSE.html

      [get] Error getting http://www.antlr.org/license.html to C:\Users\aleena\r

oyale-compiler\compiler\lib\external\antlr-LICENSE.html

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

double-check-file:

     [echo] ${env.ROYALE_DOWNLOAD_CACHE}

     [echo] Need file: ${still_no_file}

 

get-from-cache-if-needed:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

fail-if-not-found:

 

BUILD FAILED

C:\Users\aleena\royale-asjs\build.xml:1754: The following error occurred while e

xecuting this line:

C:\Users\aleena\royale-asjs\build.xml:1825: The following error occurred while e

xecuting this line:

C:\Users\aleena\royale-compiler\build.xml:64: The following error occurred while

 executing this line:

C:\Users\aleena\royale-compiler\compiler-jburg-types\build.xml:87: The following

 error occurred while executing this line:

C:\Users\aleena\royale-compiler\compiler\src\main\resources\downloads.xml:81: Th

e following error occurred while executing this line:

C:\Users\aleena\royale-compiler\compiler\src\main\resources\downloads.xml:275: T

he following error occurred while executing this line:

C:\Users\aleena\royale-compiler\compiler\src\main\resources\downloads.xml:329: T

he following error occurred while executing this line:

C:\Users\aleena\royale-compiler\compiler\src\main\resources\downloads.xml:489: C

:\Users\aleena\royale-compiler\compiler/lib/external//antlr-LICENSE.html could n

ot be downloaded or found in cache

 

Total time: 47 seconds

 

C:\Users\aleena\royale-asjs>

 

Thanks,

Alina

 

From: Alex Harui [[hidden email]]
Sent: Tuesday, March 06, 2018 11:55 AM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

Please use JDK8.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, March 5, 2018 at 10:40 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

Java version that I am using is “9.0.1”

 

Thanks,

Alina

 

From: Alex Harui [[hidden email]]
Sent: Tuesday, March 06, 2018 11:42 AM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

What version of Java are you using?  Please get a JDK7 or 8 and try that.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, March 5, 2018 at 10:22 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

Command Prompt Output is:

C:\Users\aleena>git clone https://github.com/apache/royale-asjs.git royale-asjs

Cloning into 'royale-asjs'...

remote: Counting objects: 101103, done.

remote: Compressing objects: 100% (22/22), done.

remote: Total 101103 (delta 9), reused 30 (delta 7), pack-reused 101066R

Receiving objects: 100% (101103/101103), 19.23 MiB | 208.00 KiB/s, done.

 

Resolving deltas: 100% (61584/61584), done.

Checking out files: 100% (3572/3572), done.

 

C:\Users\aleena>cd royale-asjs

 

C:\Users\aleena\royale-asjs>git checkout develop

Already on 'develop'

Your branch is up to date with 'origin/develop'.

 

C:\Users\aleena\royale-asjs>ant all

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8

Buildfile: C:\Users\aleena\royale-asjs\build.xml

 

set.base.folder:

 

check-git:

     [echo] Checking for Git...

     [exec] git version 2.16.2.windows.1

 

get-download-folder:

 

download-all:

     [echo] Using folder C:\Users\aleena\royale-asjs/..

 

check-royale-asjs:

 

warn-before-clone:

 

check-royale-asjs:

 

clone-royale-asjs:

 

check-royale-compiler:

 

clone-royale-compiler:

     [echo] cloning royale-compiler repo into C:\Users\aleena\royale-asjs/../roy

ale-compiler

     [exec] Cloning into 'royale-compiler'...

     [exec] Checking out files:   8% (284/3191)

     [exec] Checking out files:   9% (288/3191)   Checking out files:  10% (320/

3191)   Checking out files:  11% (352/3191)   Checking out files:  12% (383/3191

)   Checking out files:  13% (415/3191)   Checking out files:  13% (444/3191)

Checking out files:  14% (447/3191)   Checking out files:  15% (479/3191)   Chec

king out files:  16% (511/3191)   Checking out files:  17% (543/3191)   Checking

 out files:  18% (575/3191)   Checking out files:  19% (607/3191)   Checking out

 files:  20% (639/3191)   Checking out files:  20% (641/3191)   Checking out fil

es:  21% (671/3191)   Checking out files:  22% (703/3191)   Checking out files:

 23% (734/3191)   Checking out files:  24% (766/3191)   Checking out files:  25%

 (798/3191)   Checking out files:  26% (830/3191)   Checking out files:  26% (84

2/3191)   Checking out files:  27% (862/3191)   Checking out files:  28% (894/31

91)   Checking out files:  29% (926/3191)   Checking out files:  30% (958/3191)

  Checking out files:  31% (990/3191)   Checking out files:  32% (1022/3191)   C

hecking out files:  33% (1054/3191)   Checking out files:  34% (1085/3191)   Che

cking out files:  35% (1117/3191)   Checking out files:  36% (1149/3191)   Check

ing out files:  37% (1181/3191)   Checking out files:  38% (1213/3191)   Checkin

g out files:  39% (1245/3191)   Checking out files:  40% (1277/3191)   Checking

out files:  40% (1308/3191)   Checking out files:  41% (1309/3191)   Checking ou

t files:  42% (1341/3191)   Checking out files:  42% (1352/3191)   Checking out

files:  43% (1373/3191)   Checking out files:  44% (1405/3191)   Checking out fi

les:  45% (1436/3191)   Checking out files:  46% (1468/3191)   Checking out file

s:  47% (1500/3191)   Checking out files:  48% (1532/3191)   Checking out files:

  49% (1564/3191)   Checking out files:  49% (1578/3191)   Checking out files:

50% (1596/3191)   Checking out files:  51% (1628/3191)   Checking out files:  52

% (1660/3191)   Checking out files:  53% (1692/3191)   Checking out files:  54%

(1724/3191)   Checking out files:  55% (1756/3191)   Checking out files:  56% (1

787/3191)   Checking out files:  57% (1819/3191)   Checking out files:  58% (185

1/3191)   Checking out files:  59% (1883/3191)   Checking out files:  60% (1915/

3191)   Checking out files:  61% (1947/3191)   Checking out files:  62% (1979/31

91)   Checking out files:  63% (2011/3191)   Checking out files:  63% (2022/3191

)   Checking out files:  64% (2043/3191)   Checking out files:  65% (2075/3191)

  Checking out files:  66% (2107/3191)   Checking out files:  67% (2138/3191)

Checking out files:  68% (2170/3191)   Checking out files:  69% (2202/3191)   Ch

ecking out files:  70% (2234/3191)   Checking out files:  71% (2266/3191)   Chec

king out files:  72% (2298/3191)   Checking out files:  73% (2330/3191)   Checki

ng out files:  74% (2362/3191)   Checking out files:  75% (2394/3191)   Checking

 out files:  76% (2426/3191)   Checking out files:  77% (2458/3191)   Checking o

ut files:  78% (2489/3191)   Checking out files:  79% (2521/3191)   Checking out

 files:  80% (2553/3191)   Checking out files:  81% (2585/3191)   Checking out f

iles:  82% (2617/3191)   Checking out files:  83% (2649/3191)   Checking out fil

es:  83% (2679/3191)   Checking out files:  84% (2681/3191)   Checking out files

:  85% (2713/3191)   Checking out files:  86% (2745/3191)   Checking out files:

 87% (2777/3191)   Checking out files:  88% (2809/3191)   Checking out files:  8

9% (2840/3191)   Checking out files:  89% (2845/3191)   Checking out files:  90%

 (2872/3191)   Checking out files:  91% (2904/3191)   Checking out files:  92% (

2936/3191)   Checking out files:  93% (2968/3191)   Checking out files:  94% (30

00/3191)   Checking out files:  95% (3032/3191)   Checking out files:  95% (3035

/3191)   Checking out files:  96% (3064/3191)   Checking out files:  97% (3096/3

191)   Checking out files:  98% (3128/3191)   Checking out files:  99% (3160/319

1)   Checking out files: 100% (3191/3191)   Checking out files: 100% (3191/3191)

, done.

     [exec] Your branch is up to date with 'origin/develop'.

     [exec] Already on 'develop'

 

check-royale-typedefs:

 

clone-royale-typedefs:

     [echo] cloning royale-typedefs repo into C:\Users\aleena\royale-asjs/../roy

ale-typedefs

     [exec] Cloning into 'royale-typedefs'...

     [exec] Your branch is up to date with 'origin/develop'.

     [exec] Already on 'develop'

 

check-playerglobal-home:

 

check-air-home:

 

build-all:

 

ask-before-build-all:

    [input] This script will now download and compile lots of files.  This can t

ake several minutes.   No interaction should be required.  Press the enter key t

o continue.

 

sdk:

 

annotate.class:

    [mkdir] Created dir: C:\Users\aleena\royale-compiler\compiler-build-tools\ta

rget\classes

    [javac] Compiling 1 source file to C:\Users\aleena\royale-compiler\compiler-

build-tools\target\classes

    [javac] warning: [options] bootstrap class path not set in conjunction with

-source 1.5

    [javac] error: Source option 1.5 is no longer supported. Use 1.6 or later.

    [javac] error: Target option 1.5 is no longer supported. Use 1.6 or later.

 

BUILD FAILED

C:\Users\aleena\royale-asjs\build.xml:1754: The following error occurred while e

xecuting this line:

C:\Users\aleena\royale-asjs\build.xml:1825: The following error occurred while e

xecuting this line:

C:\Users\aleena\royale-compiler\build.xml:63: The following error occurred while

 executing this line:

C:\Users\aleena\royale-compiler\compiler-build-tools\build.xml:74: Compile faile

d; see the compiler error output for details.

 

Total time: 17 minutes 59 seconds

 

C:\Users\aleena\royale-asjs>

 

Unable to Build, Please guide.

 

Thanks,

Alina

From: Alex Harui [[hidden email]]
Sent: Friday, March 02, 2018 10:31 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

I was able to download and expand the files.  I will be consolidating the data today. 

 

In order to be able to write some of these emulations, you will probably need to be able to build the framework sources.  If you haven't already, you can try cloning the royale-asjs repo and figure out how to get it to build.  You can choose Apache Maven or Apache Ant as the build tool.

 

 

Hopefully the instruction in the readme are sufficient.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Friday, March 2, 2018 at 12:34 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

Application API-Report link:

https://www.dropbox.com/s/swvqhly6wa0jrc5/API-Reports.rar?dl=0

SHMALib Report, applications,shmDoclist,shmSetupList,AppView_EIS, AppView_ERP,shmMappingSetup, shmMappingSetupOpenDetailGrid,shmSalesInvoice, shmSalesInvoiceDetail are main API Files.

 

Regards,

Alina

 

 

 

 

From: Alina Kazi [[hidden email]]
Sent: Friday, March 02, 2018 11:32 AM
To: [hidden email]
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

2) We are using Effects in our Application 2-3 times

4) We are using text styling in our Application 3-5 times

 

Thanks,

Alina

 

From: Alex Harui [[hidden email]]
Sent: Friday, March 02, 2018 4:26 AM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

1) Interesting about Charts.  They were being used by the SWC.

2) Effects are any animations that move, resize or fade things in the UI.

3) ok

4) I'm not sure what to conclude from the screenshot.  I'm interested in how often folks use it to create text with bold, italics and other styling of text.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Thursday, March 1, 2018 at 4:24 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

600 mxml.api.txt files are generated and still in process. I will share link for files tomorrow.

After sharing my files tomorrow, If you will suggest to build  emulations.

I will  definitely want to learn how to create emulations and contribute them to Apache Royale.  

1.We are not using Charts in our Application

2. How important are effects? (Please explain effects )

3. We are not using Right-to-left languages in RichTextEditor.

4. Is RichTextEditor being used for non-plain text?  If so, what kinds of text styling is important?

Link:https://www.dropbox.com/s/ky93eycmefm3cuu/RICHTEXTEDITOR.png?dl=0

Thanks,

Alina

From: Alex Harui [[hidden email]]
Sent: Wednesday, February 28, 2018 10:45 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

Good to hear it worked.

 

I think I am waiting on all of the mxml.api.txt files to see what else is in there that isn't in the two reports we have, then we'll have a pretty good list of the places you will either need to change in your code or that we  will build emulations for.

 

I think emulations will be less work in the end, but there will be a lot of them to do.  We will want to you to learn how to create emulations and contribute them to Apache Royale.  That's how many Apache projects work: some of the users learn how to become committers.  This will be an asset to your company as well since you will learn how to fix things in Royale yourself.  Then your company won't be dependent on outsiders for support.

 

So, Peter and I and hopefully others will get started on some emulations to make sure they work for us, and then you can see if they work for you, and then we will teach you how to write those emulations.  Over the next several months, besides testing emulations written by others in your app, you will be writing your own emulations for things you need right away that we haven't written yet, or for third-party code that you are using.

 

It might help to get some prioritization on the emulations we need to write.  In looking at the list, I am wondering:

  1. Are some charts more important than others?
  2. How important are effects?
  3. Do you use Right-to-left languages in RichTextEditor?
  4. Is RichTextEditor being used for non-plain text?  If so, what kinds of text styling is important?

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Wednesday, February 28, 2018 at 1:22 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

Thank you.

It’s working with latest nightly build:

https://www.dropbox.com/s/77wkgrm74upkg0j/SHMALib%20Report.txt?dl=0

 

 

Regards,

Alina

 

 

 

From: Alex Harui [[hidden email]]
Sent: Wednesday, February 28, 2018 1:15 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

Looks like COMPC collected the data but never generated the report.  I pushed a fix for that.  Please try the latest nightly build.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Tuesday, February 27, 2018 at 10:35 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

Thank you

After commenting the embedded font part from source.

Output to console:

3462313 bytes written to D:\SHMALib.swc in 19.878 seconds

D:\apache-royale-0.9.2-bin-js-swf\royale-asjs\bin>Compc -output "D:\SHMALib.swc"

 -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\framewor

ks\flex-config.xml -source-path="D:\SHMALIB\src" -include-sources="D:\SHMALIB\sr

c" -library-path+=D:\SHMALIB\libs

 

SHMALib.swf file Generated and Report.txt is empty

SHMALib.swc output Link:

https://www.dropbox.com/s/4tz49sz134m2gg9/SHMALib.swc?dl=0

then I change, Compc -output "D:\SHMALib.swc" to Compc -output "D:\SHMALib. txt "

SHMALib.txt output Link:

https://www.dropbox.com/s/j38obt5e36awuh3/SHMALib.txt?dl=0

 

Thanks,

Alina

 

 

 

From: Alex Harui [[hidden email]]
Sent: Wednesday, February 28, 2018 11:18 AM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

The only error right now is the embedded font.

 

We can discuss the pros and cons of embedding images in the JS output at some other point in time.

 

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Tuesday, February 27, 2018 at 10:01 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Big Part of SHMALib Uses Embed and metadata :

 

                                // Embed the font so we can rotate it for further distortion

                                [Embed(systemFont="Comic Sans MS",

                                                                embedAsCFF='false')]

                <mx:Image y="4" width="18" height="20" right="185" source="@Embed(source='assets/default/images/load.png')"

                                                  source="@Embed(source='assets/default/images/next.gif')" scaleContent="false"/>

                <mx:Image y="4" width="18" height="20" right="3" source="@Embed(source='assets/default/images/magnifier.png')"

     * An IFrame which you can embed into Flex applications to show an HTML page.

     * @example A simple application with Google embedded

        // SWF embed object tracking

         * The SWF embed object id.

         * Get the embed object id.

        protected function resolveEmbedObjectId():void

                    var result:Object=ExternalInterface.call(IFrameExternalCalls.FUNCTION_ASK_FOR_EMBED_OBJECT_ID, randomIdentificationString.toString());

                        logger.info("Resolved the SWF embed object id to '{0}'.", applicationId);

                        logger.error('Could not resolve the SWF embed object Id.');

            // Resolve the SWF embed object id in the DOM.

            ExternalInterface.call(IFrameExternalCalls.INSERT_FUNCTION_ASK_FOR_EMBED_OBJECT_ID);

            resolveEmbedObjectId();

            logger.info("Loading IFrame with id '{0}', on SWF embed object with id '{1}'.", _frameId, applicationId);

                    FUNCTION_LOADIFRAME + " = function (frameID, iframeID, url, embedID, scrollPolicy)" +

                                      "onLoad='\"+embedID+\".\"+frameID+\"_load();' " +

        public static var FUNCTION_ASK_FOR_EMBED_OBJECT_ID:String = "askForEmbedObjectId";

        public static var FUNCTION_ASK_FOR_EMBED_OBJECT_ID:String = "askForEmbedObjectId";

        public static var INSERT_FUNCTION_ASK_FOR_EMBED_OBJECT_ID:String =

                "if (document." + FUNCTION_ASK_FOR_EMBED_OBJECT_ID + "==null)" +

                    FUNCTION_ASK_FOR_EMBED_OBJECT_ID + " = function(randomString) " +

                            "var embeds = document.getElementsByTagName('embed'); " +

                            "var embeds = document.getElementsByTagName('embed'); " +

                            "for (var i = 0; i < embeds.length; i++) { " +

                                "var isTheGoodOne = embeds[i].checkObjectId(embeds[i].getAttribute('id'),randomString); " +

                                "var isTheGoodOne = embeds[i].checkObjectId(embeds[i].getAttribute('id'),randomString); " +

                                    "return embeds[i].getAttribute('id'); " +

                                 * The UITextField control for displaying embeded hints.

                                private var embedTextField:UITextField;

                                 *  The String to be shown as the embeded hint.

                                private var embedStr:String = "";

                                                                                embedStr = "MM DD YYYY";

                                                                                embedStr = "DD MM YYYY";

                                                                                embedStr = "YYYY MM DD";

                                                                                embedStr = "YYYY DD MM";

                                 *  Create child objects for displaying embeded hints.

                                                                embedTextField = new UITextField();

                                                                //embedTextField.text = embedStr;

                                                                //embedTextField.text = embedStr;

                                                                addChildAt(UITextField(embedTextField),getChildIndex(DisplayObject(textField)));//as TextField

                                                                                                                s = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                s = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                                s = s.substring(0,i) + embedStr.charAt(i) + s.substring(i+1, s.length);

                                                                                                                                embedTextField.text = s;

                                                                                                                s = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                s = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                                //s = s.substring(0,i) + embedStr.charAt(i) + s.substring(i+1, s.length);

                                                                                                                                //embedTextField.text = s;

                                                                                                                                s = s.substring(0,i) + embedStr.charAt(i) + s.substring(i+1, s.length);

                                                                                                                                embedTextField.text = s;

                                                                                // If embeded hints are displayed then update the

                                                                                // UITextField corresponding to the embeded hints

                                                                                                var s:String = embedTextField.text == null ? "":embedTextField.text;

                                                                                                var s:String = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                embedTextField.text = s;

                                                                // create the embeded text field for showing

                                                                // embeded hints if its not already created.

                                                                // If it is created, then just change the embeded hint.

                                                                if(!embedTextField)

                                                                                embedTextField = new UITextField();

                                                                                addChildAt(embedTextField,getChildIndex(DisplayObject(textField))); //as TextField

                                                                //embedTextField.text = embedStr;

                                                                //embedTextField.text = embedStr;

                                                                embedTextField.alpha = 1;

                                                                embedTextField.setTextFormat(txtFormat);

                                                                embedTextField.x = 0;

                                                                embedTextField.y = 2;

                                                                embedTextField.setActualSize(width,height);

                                                                if(embedTextField)

                                                                                embedTextField.text = "";

                                                                                embedTextField = null;

                                                // setting the color of the embeded text field to white.

                                                                if(embedTextField)

                                                                                embedTextField.setColor(0xFFFFFF);

                                                                                if(embedTextField)

                                                                                                addChildAt(DisplayObject(newSkin),getChildIndex(DisplayObject(embedTextField)));//

   background-image:                                      Embed(source="/assets/application_background.png",

                up-skin:                Embed("/assets/maximize_up.png");

                over-skin:            Embed("/assets/maximize_over.png");

                down-skin:         Embed("/assets/maximize_up.png");

                selected-up-skin:   Embed("/assets/restore_up.png");

                selected-over-skin: Embed("/assets/restore_over.png");

                selected-down-skin: Embed("/assets/restore_up.png");

                up-skin:        Embed("/assets/minimize_up.png");

                over-skin:      Embed("/assets/minimize_over.png");

                down-skin:      Embed("/assets/minimize_up.png");

                up-skin:                                Embed("/assets/tab_up.png", scaleGridTop="11", scaleGridBottom="30", scaleGridLeft="10", scaleGridRight="92");

                over-skin:                            Embed("/assets/tab_up.png", scaleGridTop="11", scaleGridBottom="30", scaleGridLeft="10", scaleGridRight="92");

                down-skin:                         Embed("/assets/tab_up.png", scaleGridTop="11", scaleGridBottom="30", scaleGridLeft="10", scaleGridRight="92");

                selected-up-skin:                             Embed("/assets/tab_selected.png", scaleGridTop="13", scaleGridBottom="31", scaleGridLeft="9", scaleGridRight="91");

                selected-over-skin:                         Embed("/assets/tab_selected.png", scaleGridTop="13", scaleGridBottom="31", scaleGridLeft="9", scaleGridRight="91");

                selected-down-skin:                      Embed("/assets/tab_selected.png", scaleGridTop="13", scaleGridBottom="31", scaleGridLeft="9", scaleGridRight="91");

                up-skin:                                Embed("/assets/left_arrow_up.gif");

                over-skin:                            Embed("/assets/left_arrow_over.gif");

                down-skin:                         Embed("/assets/left_arrow_up.gif");

                disabled-skin:    Embed("/assets/left_arrow_disabled.gif");

                up-skin:                                Embed("/assets/right_arrow_up.gif");

                over-skin:                            Embed("/assets/right_arrow_over.gif");

                down-skin:                         Embed("/assets/right_arrow_up.gif");

                disabled-skin:    Embed("/assets/right_arrow_disabled.gif");

                                //[Embed(source="/assets/cursor_move.gif")]

                                //[Embed(source="/assets/cursor_resize.gif")]

                                [Embed(source="/assets/default/images/mouseMove.gif")]

                                [Embed(source="/assets/default/images/verticalSize.gif")]

                                [Embed(source="/assets/default/images/horizontalSize.gif")]

                                [Embed(source="/assets/default/images/leftObliqueSize.gif")]

                                [Embed(source="/assets/default/images/rightObliqueSize.gif")]

                                                if (image.isEmbedded)

                                                //if (!Application.application.systemManager.isFontFaceEmbedded(textFormat))

                                                if (!FlexGlobals.topLevelApplication.systemManager.isFontFaceEmbedded(textFormat))

                                                                if (Application.application.isFontsEmbedded) {

                                                                if (Application.application.isFontsEmbedded) {

                                                                if (Application.application.isFontsEmbedded) {

                                private var _isEmbedded:Boolean = false;

                                public function set isEmbedded(embedded:Boolean):void

                                public function set isEmbedded(embedded:Boolean):void

                                                _isEmbedded = embedded;

                                                _isEmbedded = embedded;

                                public function get isEmbedded():Boolean

                                                return _isEmbedded;

                                                <mx:icon>@Embed(source='images/print.GIF')</mx:icon>

                                                <mx:icon>@Embed(source='images/reload.GIF')</mx:icon>

                                                                <mx:disabledIcon>@Embed(source='images/first-gray.GIF')</mx:disabledIcon>

                                                                <mx:icon>@Embed(source='images/first.GIF')</mx:icon>

                                                                <mx:disabledIcon>@Embed(source='images/previous-gray.GIF')</mx:disabledIcon>

                                                                <mx:icon>@Embed(source='images/previous.GIF')</mx:icon>

                                                                <mx:disabledIcon>@Embed(source='images/next-gray.GIF')</mx:disabledIcon>

                                                                <mx:icon>@Embed(source='images/next.GIF')</mx:icon>

                                                                <mx:disabledIcon>@Embed(source='images/last-gray.GIF')</mx:disabledIcon>

                                                                <mx:icon>@Embed(source='images/last.GIF')</mx:icon>

                                                                                <mx:icon>@Embed(source='images/actualsize.GIF')</mx:icon>

                                                                                <mx:icon>@Embed(source='images/fitpage.GIF')</mx:icon>

                                                                                <mx:icon>@Embed(source='images/fitwidth.GIF')</mx:icon>

                                                                <mx:disabledIcon>@Embed(source='images/zoomin-gray.GIF')</mx:disabledIcon>

                                                                <mx:icon>@Embed(source='images/zoomin.GIF')</mx:icon>

                                                                <mx:disabledIcon>@Embed(source='images/zoomout-gray.GIF')</mx:disabledIcon>

                                                                <mx:icon>@Embed(source='images/zoomout.GIF')</mx:icon>

                                                                <mx:icon>@Embed(source='images/print.GIF')</mx:icon>

                                                if ([hidden email]() > 0)

                                                                image.isEmbedded = imageSourceXml.@isEmbedded == "true";

                                                                image.isEmbedded = imageSourceXml.@isEmbedded == "true";

                 source="@Embed(source='/assets/default/images/left_arrow_up.gif')"/>

                 source="@Embed(source='/assets/default/images/left_arrow_over.gif')"/>

                 source="@Embed(source='/assets/default/images/left_arrow_disabled.gif')"/> 

                                                                                   source="@Embed(source='/com/shm/flexlib/mdi/assets/img/maximizeButton.png')"/>

                                                                                   height="12" source="@Embed(source='/com/shm/flexlib/mdi/assets/img/restoreButton.png')"/>

                                                                                   source="@Embed(source='/com/shm/flexlib/mdi/assets/img/minimizeButton.png')"/>

                 source="@Embed(source='/assets/default/images/right_arrow_up.gif')"/>

                 source="@Embed(source='/assets/default/images/right_arrow_over.gif')"/>

                 source="@Embed(source='/assets/default/images/right_arrow_disabled.gif')"/> 

 

 

 

From: Alex Harui [[hidden email]]
Sent: Wednesday, February 28, 2018 11:00 AM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

I think you can ignore the warnings.  The first error is for embedding a font, which Royale doesn't currently support, so for now, try commenting out the Embed metadata and see if that allows the error to go away.

 

I would look into the other errors to see if they are legitimate or not.  The Royale Compiler will catch some things the MXMLC compiler may not.  Or you could comment out the code involved in the two errors in TImeZone.as for now since that won't affect the report.

 

The final two errors I saw are for missing skin states.  I think you can just add the skin states.

 

HTH,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Tuesday, February 27, 2018 at 9:35 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

While Executing

D:\apache-royale-0.9.2-bin-js-swf\royale-asjs\bin>Compc -output "D:\SHMALib.swc" -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\frameworks\flex-config.xml -source-path="D:\SHMALIB\src" -include-sources="D:\SHMALIB\src"

Or

D:\apache-royale-0.9.2-bin-js-swf\royale-asjs\bin>Compc -output "D:\Flex\libs\SH

MALIB.swc" -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bi

n\frameworks\flex-config.xml -source-path="D:\SHMALIB\src" -include-sources="D:\

SHMALIB\src" -library-path+=D:\SHMALIB\libs

 

Error:

(file:/D:/apache-royale-0.9.2-bin-js-swf/royale-asjs/lib/external/guava.jar) to

field java.lang.Thread.inheritableThreadLocals

WARNING: Please consider reporting this to the maintainers of com.google.common.

base.internal.Finalizer

WARNING: Use --illegal-access=warn to enable warnings of further illegal reflect

ive access operations

WARNING: All illegal access operations will be denied in a future release

Loading configuration: D:\apache-flex-sdk-4.16.0-bin\frameworks\flex-config.xml

 

Warning: Duplicate declaration of SkinState 'normal'

 

 

Warning: Duplicate declaration of SkinState 'disabled'

 

 

Warning: Duplicate declaration of SkinState 'normal'

 

 

Warning: Duplicate declaration of SkinState 'disabled'

 

 

Warning: Duplicate declaration of SkinState 'normal'

 

 

Warning: Duplicate declaration of SkinState 'disabled'

 

 

Warning: Duplicate declaration of SkinState 'normal'

 

 

Warning: Duplicate declaration of SkinState 'disabled'

 

 

Warning: Duplicate declaration of SkinState 'normal'

 

 

Warning: Duplicate declaration of SkinState 'disabled'

 

 

D:\SHMALIB\src\com\shm\components\PickList_Discrete.mxml(415): col: 50 Warning:

Data binding will not be able to detect assignments to 'amfChannelSet'.

 

                <mx:RemoteObject channelSet="{parentApplication.amfChannelSet}"

id="DataProviderService"  showBusyCursor="true"

                                                               ^

 

D:\SHMALIB\src\com\shm\components\PickList_Discrete.mxml(419): col: 50 Warning:

Data binding will not be able to detect assignments to 'amfChannelSet'.

 

                <mx:RemoteObject channelSet="{parentApplication.amfChannelSet}"

id="BasicFormatterService"  showBusyCursor="true"

                                                               ^

 

D:\SHMALIB\src\com\shm\components\PickList_Simple.mxml(516): col: 50 Warning: Da

ta binding will not be able to detect assignments to 'amfChannelSet'.

 

                <mx:RemoteObject channelSet="{parentApplication.amfChannelSet}"

id="DataProviderService"  showBusyCursor="true"

                                                               ^

 

D:\SHMALIB\src\com\shm\components\PickList_Simple.mxml(520): col: 50 Warning: Da

ta binding will not be able to detect assignments to 'amfChannelSet'.

 

                <mx:RemoteObject channelSet="{parentApplication.amfChannelSet}"

id="BasicFormatterService"  showBusyCursor="true"

                                                               ^

 

D:\SHMALIB\src\com\shm\components\shmCaptchaImage.as(43): col: 3 Error: Embed re

quires a 'source' file attribute

 

                [Embed(systemFont="Comic Sans MS",

                ^

 

D:\SHMALIB\src\com\shm\components\shmColumnList.mxml(37): col: 88 Warning: Data

binding will not be able to detect assignments to 'isSelected'.

 

                                        <mx:CheckBox selectedField="isSelected"

 change="onChange(event);" selected="{data.isSelected}">

 

                                          ^

 

D:\SHMALIB\src\com\shm\components\shmColumnList.mxml(46): col: 27 Warning: Data

binding will not be able to detect assignments to 'label'.

 

                                        <mx:Label text="{data.label}" />

                                                             ^

 

D:\SHMALIB\src\com\shm\dashboard\qs\utils\TimeZone.as(126): col: 15 Error: Impli

cit coercion of a value of type Boolean to an unrelated type Number.

 

                                if(year & 0x3 == 0)

                                          ^

 

D:\SHMALIB\src\com\shm\dashboard\qs\utils\TimeZone.as(134): col: 39 Error: Impli

cit coercion of a value of type Boolean to an unrelated type Number.

 

                                if(month == 1 && value.fullYear & 0x3 == 0)

                                                                  ^

 

D:\SHMALIB\src\com\shm\dashboard\renderers\GridPodURLRenderer.mxml(6): col: 23 W

arning: Data binding will not be able to detect assignments to 'SrNo'.

 

                  htmlText="&lt;u&gt;{data.SrNo}&lt;/u&gt;" color="blue" click="

f_DrillDownData(data)">

                                    ^

 

D:\SHMALIB\src\com\shm\dashboard\spark\resize\ResizableTextAreaSkin.mxml Error:

The required skin state 'disabledWithPrompt' is missing.

 

 

D:\SHMALIB\src\com\shm\dashboard\spark\resize\ResizableTextAreaSkin.mxml Error:

The required skin state 'normalWithPrompt' is missing.

 

 

D:\SHMALIB\src\com\shm\dashboard\view\ChartContent.mxml(177): col: 27 Warning: D

ata binding will not be able to detect assignments to 'valueField'.

 

                                                yField="{properties.@valueField}

">

                                                                    ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ChartContent.mxml(187): col: 34 Warning: D

ata binding will not be able to detect assignments to 'categoryField'.

 

                                                categoryField="{properties.@cate

goryField}" />

                                                                           ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ChartContent.mxml(202): col: 27 Warning: D

ata binding will not be able to detect assignments to 'valueField'.

 

                                                yField="{properties.@valueField}

">

                                                                    ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ChartContent.mxml(212): col: 34 Warning: D

ata binding will not be able to detect assignments to 'categoryField'.

 

                                                categoryField="{properties.@cate

goryField}" />

                                                                           ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ComboContent.mxml(429): col: 27 Warning: D

ata binding will not be able to detect assignments to 'valueField'.

 

                                                yField="{properties.@valueField}

">

                                                                    ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ComboContent.mxml(439): col: 34 Warning: D

ata binding will not be able to detect assignments to 'categoryField'.

 

                                                categoryField="{properties.@cate

goryField}" />

                                                                           ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ComboContent.mxml(454): col: 27 Warning: D

ata binding will not be able to detect assignments to 'valueField'.

 

                                                yField="{properties.@valueField}

">

                                                                    ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ComboContent.mxml(464): col: 34 Warning: D

ata binding will not be able to detect assignments to 'categoryField'.

 

                                                categoryField="{properties.@cate

goryField}" />

                                                                           ^

 

D:\SHMALIB\src\com\shm\dashboard\view\ComboContent.mxml(479): col: 26 Warning: D

ata binding will not be able to detect assignments to 'valueField'.

 

                                                field="{properties.@valueField}"

 

                                                                   ^

 

D:\SHMALIB\src\com\shm\dashboard\view\DrillDownViewer.mxml(115): col: 74 Warning

: Data binding will not be able to detect assignments to 'amfChannelSet'.

 

                <mx:RemoteObject id="roDrillDownColInfo" channelSet="{parentAppl

ication.amfChannelSet}" showBusyCursor="true"

 

       ^

 

D:\SHMALIB\src\com\shm\dashboard\view\DrillDownViewer.mxml(118): col: 68 Warning

: Data binding will not be able to detect assignments to 'amfChannelSet'.

 

                <mx:RemoteObject id="roDgDpResult" channelSet="{parentApplicatio

n.amfChannelSet}" showBusyCursor="true"

 

 ^

 

D:\SHMALIB\src\com\shm\dashboard\view\PieChartContent.mxml(128): col: 24 Warning

: Data binding will not be able to detect assignments to 'valueField'.

 

                                field="{properties.@valueField}"

                                                   ^

 

D:\SHMALIB\src\com\shm\dashboard\view\PodCriteria.mxml(67): col: 37 Warning: Dat

a binding will not be able to detect assignments to 'appParams'.

 

                                                        inputMask="{parentApplic

ation.appParams.DATE_FORMAT}" showToday="true"  yearNavigationEnabled="true"

 

     ^

 

D:\SHMALIB\src\com\shm\dashboard\view\PodCriteria.mxml(67): col: 47 Warning: Dat

a binding will not be able to detect assignments to 'DATE_FORMAT'.

 

                                                        inputMask="{parentApplic

ation.appParams.DATE_FORMAT}" showToday="true"  yearNavigationEnabled="true"

 

               ^

 

D:\SHMALIB\src\com\shm\dashboard\view\PodCriteria.mxml(71): col: 38 Warning: Dat

a binding will not be able to detect assignments to 'appParams'.

 

                                                         inputMask="{parentAppli

cation.appParams.DATE_FORMAT}" yearNavigationEnabled="true" showToday="true"

 

      ^

 

D:\SHMALIB\src\com\shm\dashboard\view\PodCriteria.mxml(71): col: 48 Warning: Dat

a binding will not be able to detect assignments to 'DATE_FORMAT'.

 

                                                         inputMask="{parentAppli

cation.appParams.DATE_FORMAT}" yearNavigationEnabled="true" showToday="true"

 

                ^

 

D:\SHMALIB\src\com\shm\modules\components\shmGridBorder.mxml(12): col: 11 Warnin

g: 'Stroke' has been deprecated since 4.0. Please use 'SolidColorStroke'.

 

                        import mx.graphics.Stroke;

                               ^

 

D:\SHMALIB\src\com\shm\modules\components\shmGridBorder.mxml(37): col: 23 Warnin

g: 'Stroke' has been deprecated since 4.0. Please use 'SolidColorStroke'.

 

                                        lne.stroke = new Stroke(0,1,.3);

                                                         ^

 

D:\SHMALIB\src\com\shm\modules\components\shmGridBorder.mxml(46): col: 14 Warnin

g: Duplicate variable definition: i.

 

                                for (var i:int = 1; i < lnWdt; i++){

                                         ^

 

D:\SHMALIB\src\com\shm\modules\components\shmGridBorder.mxml(47): col: 10 Warnin

g: Duplicate variable definition: lne.

 

                                        var lne:Line  = new Line();

                                            ^

 

D:\SHMALIB\src\com\shm\modules\components\shmGridBorder.mxml(53): col: 23 Warnin

g: 'Stroke' has been deprecated since 4.0. Please use 'SolidColorStroke'.

 

                                        lne.stroke = new Stroke(0,1,.3);

                                                         ^

 

D:\SHMALIB\src\com\shm\modules\components\shmGridBorder.mxml(54): col: 10 Warnin

g: Duplicate variable definition: llbe.

 

                                        var llbe:Label = new Label();

                                            ^

 

D:\SHMALIB\src\com\shm\modules\components\shmResizeManager.as(157): col: 40 Warn

ing: 'application' has been deprecated since 4.0. Please use 'FlexGlobals.topLev

elApplication'.

 

                                var xPosition:Number = Application.application.p

arent.mouseX;

                                                                   ^

 

D:\SHMALIB\src\com\shm\modules\components\shmResizeManager.as(158): col: 40 Warn

ing: 'application' has been deprecated since 4.0. Please use 'FlexGlobals.topLev

elApplication'.

 

                                var yPosition:Number = Application.application.p

arent.mouseY;

                                                                   ^

 

D:\SHMALIB\src\com\shm\modules\components\shmResizeManager.as(225): col: 36 Warn

ing: 'application' has been deprecated since 4.0. Please use 'FlexGlobals.topLev

elApplication'.

 

                                var xPlus:Number = Application.application.paren

t.mouseX - point.x;

                                                               ^

 

D:\SHMALIB\src\com\shm\modules\components\shmResizeManager.as(226): col: 36 Warn

ing: 'application' has been deprecated since 4.0. Please use 'FlexGlobals.topLev

elApplication'.

 

                                var yPlus:Number = Application.application.paren

t.mouseY - point.y;

                                                              

Thanks,

Alina Kazi

From: Alex Harui [[hidden email]]
Sent: Wednesday, February 28, 2018 10:16 AM
To: Alina Kazi; [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

I think that Flash Builder makes it easy to build SWCs.  Building from the command line can be a bit trickier.

 

Let's try:

Compc -output "D:\SHMALib.swc" -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\frameworks\flex-config.xml -source-path="D:\SHMALIB\src" -include-sources="D:\SHMALIB\src"

 

HTH,

-Alex

 

 

From: Alina Kazi <[hidden email]>
Date: Tuesday, February 27, 2018 at 7:28 PM
To: "[hidden email]" <[hidden email]>, Alex Harui <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

Yes I am using Flash Builder.

SHMALIB and MainFlexApp are two separate Projects

Src for SHMALIB is placed into D:/SHMALIB/src

Src for MainFlexApp is D:/Flex/src and the library output file SHMALIB.swc is placed into D:/Flex/libs

 

SHMALIB (.actionscriptProperties)

 

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<actionScriptProperties mainApplicationPath="SHMALib.as" projectUUID="863559ab-3e7b-475b-a3a4-09f4f76fc0d2" version="6">

  <compiler additionalCompilerArguments="-locale en_US" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderLocation="D:/Flex/libs" outputFolderPath="bin-debug" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">

    <compilerSourcePath/>

    <libraryPath defaultLinkType="0">

      <libraryPathEntry kind="4" path="">

        <excludedEntries>

          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/flex.swc" useDefaultLinkType="false"/>

        </excludedEntries>

      </libraryPathEntry>

      <libraryPathEntry kind="1" linkType="1" path="libs"/>

    </libraryPath>

    <sourceAttachmentPath/>

  </compiler>

  <applications>

    <application path="SHMALib.as"/>

  </applications>

  <modules/>

  <buildCSSFiles/>

</actionScriptProperties>

 

SHMALIB (.flexLibProperties)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<flexLibProperties includeAllClasses="true" version="3">

  <includeClasses/>

  <includeResources/>

  <namespaceManifests/>

</flexLibProperties>

 

Thanks,

Alina

From: Alex Harui [[hidden email]]
Sent: Tuesday, February 27, 2018 9:34 PM
To: Alina Kazi
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

When you are not trying to use Royale to generate this API report, how are you building your current Flex app?  We might need to know that in order to determine what parameters to add to COMPC.

 

COMPC has additional parameters like -include–sources, include-file, include-classes.  Sometimes, these are listed in an xml file.  If you are using Flash Builder, for example, then examine the .flexlibproperties and .actionscriptProperties files in your project folder.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Date: Tuesday, February 27, 2018 at 3:21 AM
To: 'Alina Kazi' <[hidden email]>
Cc: Alex Harui <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

D:\apache-royale-0.9.2-bin-js-swf\royale-asjs\bin>Compc -output "D:\SHMALib.swc"

 -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\frameworks\flex-config.xml -source-path="D:\SHMALIB\src"

Using Royale SDK: D:\apache-flex-sdk-4.16.0-bin\royale-asjs

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8

WARNING: An illegal reflective access operation has occurred

WARNING: Illegal reflective access by com.google.common.base.internal.Finalizer

(file:/D:/apache-royale-0.9.2-bin-js-swf/royale-asjs/lib/external/guava.jar) to

field java.lang.Thread.inheritableThreadLocals

WARNING: Please consider reporting this to the maintainers of com.google.common.

base.internal.Finalizer

WARNING: Use --illegal-access=warn to enable warnings of further illegal reflect

ive access operations

 

Error: nothing was specified to be included in the library.

-Alina

 

From: Alina Kazi [[hidden email]]
Sent: Tuesday, February 27, 2018 2:16 PM
To: [hidden email]'
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

I am using Moonshine IDE 1.9.0.

Flex 4.16.0

Apache Royale 0.9.2 Latest Nightly Build

 

Running this Command on Command Prompt:

D:\apache-royale-0.9.2-bin-js-swf\royale-asjs\bin>Compc -output "D:\SHMALib.swc"

 -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\frameworks\flex-config.xml -source-path="D:\SHMALIB\src"

Using Royale SDK: D:\apache-flex-sdk-4.16.0-bin\royale-asjs

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8

WARNING: An illegal reflective access operation has occurred

WARNING: Illegal reflective access by com.google.common.base.internal.Finalizer

(file:/D:/apache-royale-0.9.2-bin-js-swf/royale-asjs/lib/external/guava.jar) to

field java.lang.Thread.inheritableThreadLocals

WARNING: Please consider reporting this to the maintainers of com.google.common.

base.internal.Finalizer

WARNING: Use --illegal-access=warn to enable warnings of further illegal reflect

ive access operations

WARNING: All illegal access operations will be denied in a future release

 

command line Error: unknown configuration variable 'sourceΓÇôpath'.

 

-Alina

From: Alex Harui [[hidden email]]
Sent: Tuesday, February 27, 2018 1:26 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

COMPC takes a slightly different set of parameters.  What IDE or build tools are you using to build it without Royale?  You might need to know what options that build uses.

 

You can try running: 

 

Compc -output "D:\Projects\SHMA\Main\Flex\libs\SHMALib.swc" -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\frameworks\flex-config.xml -source–path="D:\Projects\SHMA\Main\Flex\src" or wherever the source code is for the library.

 

HTH,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, February 26, 2018 at 11:33 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

For custom SWC, I am using COMPC to get an api-report for SWC

D:\apache-royale-0.9.2-bin-js-swf\royale-asjs\bin>compc "D:\Projects\SHMA\Main\Flex\libs\SHMALib.swc" -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\frameworks\flex-config.xml

Error: configuration variable 'output' was not set.

 

 

Thanks,

Alina

From: Alex Harui [[hidden email]]
Sent: Tuesday, February 27, 2018 12:27 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

Yes, any SWC that is not in the Flex SDK's frameworks/libs folder needs to be specified as Piotr describes below.  We want you specify the same MXML file that you use to compile in the regular Flex SDK.  So if your Application.mxml starts with an mx:Application or s:Application that’s probably the one to use.  But also, if you have your own custom SWCs, we want you to use COMPC to get an api-report for those SWCs.  We want this modified Royale compiler to compile every source file you own so we can see what Flex APIs you are using.

 

HTH,

-Alex

 

From: Piotr Zarzycki <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, February 26, 2018 at 11:19 PM
To: "[hidden email]" <[hidden email]>
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

In my sense you will have to use -library-path+=path to the library. You have to tell compiler about that library.

 

Thanks, Piotr

 

2018-02-27 7:57 GMT+01:00 Alina Kazi <[hidden email]>:

Hi  Alex,

With latest nightly build:

MaskedTextInput , shmReportUtil …. Are Library Project Actionscript Files.

Main Application contains SHMALib.swc file in Libs folder

Error Link:

https://www.dropbox.com/s/p5imt22cuut0ex6/ErrorGeneratingReport.png?dl=0

 

I have a question that which .mxml file should be used to generate that report?

Applications.mxml is startup file in case of my Project so I’m using it.

 

Please visit reference link and If I’m doing anything wrong please let me know.

 

Thanks,

Alina

 

From: Alex Harui [mailto:[hidden email]]
Sent: Tuesday, February 27, 2018 12:00 AM


To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

I pushed a fix for that.  It might or might not be related to your custom swc.  Get the latest nightly build and let us know.

 

Also, if you are successful, please use your regular compiler to generate a -link–report.  That will help us verify that the API report didn't miss anything.

 

Thanks,

-Alex

 

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, February 26, 2018 at 4:01 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Generated Report file for Sample Project Successfully.

 

spark.components.Application:minHeight,1

spark.components.Application:minWidth,1

spark.components.Application:mxmlContentFactory,2

spark.components.Label:fontSize,1

spark.components.Label:fontWeight,1

spark.components.Label:horizontalCenter,1

spark.components.Label:text,1

spark.components.Label:textAlign,1

spark.components.Label:verticalCenter,1

 

But while executing Actual Project got Error:

https://www.dropbox.com/s/d25eysllavuy5z4/compile2.png?dl=0

https://www.dropbox.com/s/49iq74zk6rxcr1y/compile1.png?dl=0

 

May be because my Application is dependent to SHMALib(.swc) Library Project (Source Shared Earlier).

 

-Alina

 

From: Piotr Zarzycki [[hidden email]]
Sent: Monday, February 26, 2018 5:02 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Alex,

 

I did above exercise for Moonshine and got NPE [1]. I used air-config.xml because it is na Desktop app.

 

 

Thanks,

Piotr

 

 

2018-02-26 12:56 GMT+01:00 Piotr Zarzycki <[hidden email]>:

Yishay,

 

Thank you so much!! I got it working.

 

Alina,

 

Here is the full instruction.

 

1) Download Apache Royale with SWF support - if you have that is good, if not it's here [1]

2) Download Apache Flex - you have it as I have seen on the screenshot.

3) Launch console and go to the Royale SDK folder

 

"yourpathtosdk\bin\" - In my case it was: "d:\Work\royale_ide\royale_nightly_js_swf\bin\"

 

4) Run following command where you will point to the Flex Browser application in order to generate report. My command looks like that:

 

mxmlc "c:\Users\piotr\Documents\NewFlexBrowserProject\src\NewFlexBrowserProject.mxml" -api-report="c:\Users\piotr\Documents\NewFlexBrowserProject\report.txt" -load-config=d:\Work\flex-sdk-4.16.1_adobe_air_28\frameworks\flex-config.xml

 

I generated report for hellow world. Maybe in order to generate report for your application that console command may be much more sophisticated. Let's see!

 

 

 

Thanks,

Piotr

 

 

2018-02-26 12:46 GMT+01:00 Yishay Weiss <[hidden email]>:

Looks like [1] you do need to add compiler option: -api–report=<path to output file>

 

[1] http://apache-royale-users.20374.n8.nabble.com/Substitutes-in-Apache-Royale-tp392p492.html

 

 

From: [hidden email]
Sent: Monday, February 26, 2018 1:37 PM


To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

I have produced with that swf, but what's next? Let's wait for Alex's response [1]

 

 

Thanks,

Piotr

 

2018-02-26 12:32 GMT+01:00 Yishay Weiss <[hidden email]>:

Alex will know but I don’t think so. I haven’t updated the compiler recently so can’t test it right now. If you want to test it maybe just create a simple app and replace /Users/aharui/ApacheFlex4.16.0 with your sdk home.

 

 

 

From: [hidden email]
Sent: Monday, February 26, 2018 1:25 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Yishay,

 

bin/mxmlc

<path to app's

.mxml

file>

-load-config=/Users/aharui/ApacheFlex4.16.0/frameworks/flex-config.xml  

 

Do I need some switch for compiler -api-report or something like that ?

 

Thanks,

Piotr

 

 

2018-02-26 12:10 GMT+01:00 Yishay Weiss <[hidden email]>:

Wasn’t logged in. Here’s [1] the link.

 

[1] http://apache-royale-users.20374.n8.nabble.com/Substitutes-in-Apache-Royale-tp392p489.html

 

 

From: [hidden email]
Sent: Monday, February 26, 2018 12:59 PM
To: [hidden email]
Subject: RE: Generating API report for Flex Web Browser application

 

I couldn’t find a way to link to a nabble post, but this [1] might help (from Substitutes in Apache Royale).

 

[1] https://paste.apache.org/N2QR

 

From: [hidden email]
Sent: Monday, February 26, 2018 12:44 PM
To: [hidden email]
Subject: Generating API report for Flex Web Browser application

 

Hi Alex,

 

I would like to understand how to generate that report. I will go with the console path, because I think this is something unusual and probably Moonshine is not prepared to do this. I'm writing this on the users mailing list because Alina is having some problems with that. I wanted to simplify all of that. Let's start from the beginning. 

 

1) I have created Flex Web browser project using Apache Flex SDK 4.16.1. 

2) I have nightly build of Royale with SWF support [1]

 

What should I type in the console now ?

 

 

Thanks,
--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki

 

 



 

--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki

 



 

--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki

 



 

--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki



 

--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki



 

--

Piotr Zarzycki 

Patreon: https://www.patreon.com/piotrzarzycki

Reply | Threaded
Open this post in threaded view
|

RE: API Usage in Flex Web Browser application (was Re: Generating API report for Flex Web Browser application)

alina kazi-2
In reply to this post by Alex Harui-2

Hi Alex,

 

We can exclude ScaleX , ScaleY,transform from our code as we are using it in our Library Project Only.

We are using “Rotation” in a PopUp Window.

 

Can you please explain emulation ?

How do they will work?

 

Thanks,

Alina

 

From: Alina Kazi [mailto:[hidden email]]
Sent: Tuesday, March 06, 2018 3:14 PM
To: '[hidden email]'
Subject: RE: API Usage in Flex Web Browser application (was Re: Generating API report for Flex Web Browser application)

 

Hi Alex,

We are using commitProperties() in our Library Project. Overriding the Existing Spark commitProperties() method

For Example:

ResizableTextAreaSkin.mxml (SHMALib)

override protected function commitProperties():void {

                                                super.commitProperties();

 

                                                if (lineBreakChanged) {

                                                                updateStringStyle("lineBreak");

                                                                lineBreakChanged = false;

                                                }

                                                if (paddingChanged) {

                                                                updatePadding();

                                                                paddingChanged = false;

                                                }

                                                if (verticalAlignChanged) {

                                                                updateStringStyle("verticalAlign");

                                                                verticalAlignChanged = false;

                                                }

                                }

We are using

Package

flash.display

Class

public class DisplayObject

Inheritance

DisplayObject Inheritance EventDispatcher Inheritance Object

Reference Link:

https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html

 

e.g :

                public function updateLayoutWithoutAnimation():void

                                {

                                                if(_layoutInvalid == true && layoutFunction != null)

                                                {

                                                                _layoutInvalid = false;

                                                                layoutFunction();

                                                }

 

                                                for(var aChild:* in _targets)

                                                {

                                                                var target:LayoutTarget = _targets[aChild];

                                                                var item:IFlexDisplayObject = target.item;

                                                                var m:Matrix = DisplayObject(item).transform.matrix;

 

                                                                m.tx = target.x;

                                                                m.ty = target.y;

                                                                m.a = target.scaleX;                                                                       

                                                                m.d = target.scaleY

                                                               

                                                                DisplayObject(item).alpha = target.alpha;

                                                                DisplayObject(item).transform.matrix = m;

                                                                item.setActualSize(target.unscaledWidth,target.unscaledHeight);

                                                                if(target.state == "removed")

                                                                {

                                                                                delete _targets[target.item];

                                                                                continue;

                                                                }

                                                                else

                                                                {

                                                                                target.state = "positioned"

                                                                }

                                                }

                                                stopTimer();

                                }

 

Thanks,

Alina

 

From: Alex Harui [mailto:[hidden email]]
Sent: Tuesday, March 06, 2018 1:36 PM
To: [hidden email]
Subject: API Usage in Flex Web Browser application (was Re: Generating API report for Flex Web Browser application)

 

Hi Alina,

 

I'm starting on the emulation.  I've noticed that your application code appears to be calling commitProperties().  Can you tell us why?

 

Also, it looks like there are a few uses of rotation, transform, scaleX and scaleY.  What are those used for?

 

Thanks,

-Alex

 

From: Alex Harui <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, March 5, 2018 at 11:38 PM
To: "[hidden email]" <[hidden email]>
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

Try again.  Sometimes the Antlr server goes off-line around this time of day.

 

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, March 5, 2018 at 11:12 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

Using jdk1.8.0_162:

 

C:\Users\aleena\royale-asjs>ant all

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8

Buildfile: C:\Users\aleena\royale-asjs\build.xml

 

set.base.folder:

 

check-git:

     [echo] Checking for Git...

     [exec] git version 2.16.2.windows.1

 

get-download-folder:

 

download-all:

     [echo] Using folder C:\Users\aleena\royale-asjs/..

 

check-royale-asjs:

 

warn-before-clone:

 

check-royale-asjs:

 

clone-royale-asjs:

 

check-royale-compiler:

 

clone-royale-compiler:

 

check-royale-typedefs:

 

clone-royale-typedefs:

 

check-playerglobal-home:

 

check-air-home:

 

build-all:

 

ask-before-build-all:

    [input] This script will now download and compile lots of files.  This can t

ake several minutes.   No interaction should be required.  Press the enter key t

o continue.

 

 

sdk:

 

annotate.class:

    [javac] Compiling 1 source file to C:\Users\aleena\royale-compiler\compiler-

build-tools\target\classes

    [javac] warning: [options] bootstrap class path not set in conjunction with

-source 1.5

    [javac] warning: [options] source value 1.5 is obsolete and will be removed

in a future release

    [javac] warning: [options] target value 1.5 is obsolete and will be removed

in a future release

    [javac] warning: [options] To suppress warnings about obsolete options, use

-Xlint:-options.

    [javac] C:\Users\aleena\royale-compiler\compiler-build-tools\src\main\java\o

rg\apache\royale\compiler\tools\annotate\AnnotateClass.java:24: warning: [serial

] serializable class AnnotateClassDeleteException has no definition of serialVer

sionUID

    [javac]     public static class AnnotateClassDeleteException extends Excepti

on

    [javac]                   ^

    [javac] C:\Users\aleena\royale-compiler\compiler-build-tools\src\main\java\o

rg\apache\royale\compiler\tools\annotate\AnnotateClass.java:32: warning: [serial

] serializable class AnnotateClassRenameException has no definition of serialVer

sionUID

    [javac]     public static class AnnotateClassRenameException extends Excepti

on

    [javac]                   ^

    [javac] 6 warnings

 

unknown.tree.pattern.input.output:

    [javac] Compiling 1 source file to C:\Users\aleena\royale-compiler\compiler-

build-tools\target\classes

    [javac] warning: [options] bootstrap class path not set in conjunction with

-source 1.5

    [javac] warning: [options] source value 1.5 is obsolete and will be removed

in a future release

    [javac] warning: [options] target value 1.5 is obsolete and will be removed

in a future release

    [javac] warning: [options] To suppress warnings about obsolete options, use

-Xlint:-options.

    [javac] 4 warnings

 

main:

 

compiler.downloads.cache:

 

compiler.downloads:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is ${ROYALE_COMPILER_HOME}

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

prepare:

     [echo] Making lib directory C:\Users\aleena\royale-compiler\compiler/lib/ex

ternal

    [mkdir] Created dir: C:\Users\aleena\royale-compiler\compiler\lib\external

 

all:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

check-dependency:

     [echo] checking for C:\Users\aleena\royale-compiler\compiler/lib/external//

antlr.jar

 

download-dependency:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

echo-project-jar:

   [delete] Deleting: C:\Users\aleena\royale-compiler\compiler\src\main\resource

s\project.properties

     [echo] ${INFO_DOWNLOADING_FILE_FROM}

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

download-apache-license:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

download-other-license:

      [get] Getting: http://www.antlr.org/license.html

      [get] To: C:\Users\aleena\royale-compiler\compiler\lib\external\antlr-LICE

NSE.html

      [get] Error getting http://www.antlr.org/license.html to C:\Users\aleena\r

oyale-compiler\compiler\lib\external\antlr-LICENSE.html

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

double-check-file:

     [echo] ${env.ROYALE_DOWNLOAD_CACHE}

     [echo] Need file: ${still_no_file}

 

get-from-cache-if-needed:

     [echo] basedir is C:\Users\aleena\royale-compiler\compiler\src\main\resourc

es

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

     [echo] ROYALE_COMPILER_HOME is C:\Users\aleena\royale-compiler\compiler

 

fail-if-not-found:

 

BUILD FAILED

C:\Users\aleena\royale-asjs\build.xml:1754: The following error occurred while e

xecuting this line:

C:\Users\aleena\royale-asjs\build.xml:1825: The following error occurred while e

xecuting this line:

C:\Users\aleena\royale-compiler\build.xml:64: The following error occurred while

 executing this line:

C:\Users\aleena\royale-compiler\compiler-jburg-types\build.xml:87: The following

 error occurred while executing this line:

C:\Users\aleena\royale-compiler\compiler\src\main\resources\downloads.xml:81: Th

e following error occurred while executing this line:

C:\Users\aleena\royale-compiler\compiler\src\main\resources\downloads.xml:275: T

he following error occurred while executing this line:

C:\Users\aleena\royale-compiler\compiler\src\main\resources\downloads.xml:329: T

he following error occurred while executing this line:

C:\Users\aleena\royale-compiler\compiler\src\main\resources\downloads.xml:489: C

:\Users\aleena\royale-compiler\compiler/lib/external//antlr-LICENSE.html could n

ot be downloaded or found in cache

 

Total time: 47 seconds

 

C:\Users\aleena\royale-asjs>

 

Thanks,

Alina

 

From: Alex Harui [[hidden email]]
Sent: Tuesday, March 06, 2018 11:55 AM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

Please use JDK8.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, March 5, 2018 at 10:40 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

Java version that I am using is “9.0.1”

 

Thanks,

Alina

 

From: Alex Harui [[hidden email]]
Sent: Tuesday, March 06, 2018 11:42 AM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

What version of Java are you using?  Please get a JDK7 or 8 and try that.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Monday, March 5, 2018 at 10:22 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

Command Prompt Output is:

C:\Users\aleena>git clone https://github.com/apache/royale-asjs.git royale-asjs

Cloning into 'royale-asjs'...

remote: Counting objects: 101103, done.

remote: Compressing objects: 100% (22/22), done.

remote: Total 101103 (delta 9), reused 30 (delta 7), pack-reused 101066R

Receiving objects: 100% (101103/101103), 19.23 MiB | 208.00 KiB/s, done.

 

Resolving deltas: 100% (61584/61584), done.

Checking out files: 100% (3572/3572), done.

 

C:\Users\aleena>cd royale-asjs

 

C:\Users\aleena\royale-asjs>git checkout develop

Already on 'develop'

Your branch is up to date with 'origin/develop'.

 

C:\Users\aleena\royale-asjs>ant all

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8

Buildfile: C:\Users\aleena\royale-asjs\build.xml

 

set.base.folder:

 

check-git:

     [echo] Checking for Git...

     [exec] git version 2.16.2.windows.1

 

get-download-folder:

 

download-all:

     [echo] Using folder C:\Users\aleena\royale-asjs/..

 

check-royale-asjs:

 

warn-before-clone:

 

check-royale-asjs:

 

clone-royale-asjs:

 

check-royale-compiler:

 

clone-royale-compiler:

     [echo] cloning royale-compiler repo into C:\Users\aleena\royale-asjs/../roy

ale-compiler

     [exec] Cloning into 'royale-compiler'...

     [exec] Checking out files:   8% (284/3191)

     [exec] Checking out files:   9% (288/3191)   Checking out files:  10% (320/

3191)   Checking out files:  11% (352/3191)   Checking out files:  12% (383/3191

)   Checking out files:  13% (415/3191)   Checking out files:  13% (444/3191)

Checking out files:  14% (447/3191)   Checking out files:  15% (479/3191)   Chec

king out files:  16% (511/3191)   Checking out files:  17% (543/3191)   Checking

 out files:  18% (575/3191)   Checking out files:  19% (607/3191)   Checking out

 files:  20% (639/3191)   Checking out files:  20% (641/3191)   Checking out fil

es:  21% (671/3191)   Checking out files:  22% (703/3191)   Checking out files:

 23% (734/3191)   Checking out files:  24% (766/3191)   Checking out files:  25%

 (798/3191)   Checking out files:  26% (830/3191)   Checking out files:  26% (84

2/3191)   Checking out files:  27% (862/3191)   Checking out files:  28% (894/31

91)   Checking out files:  29% (926/3191)   Checking out files:  30% (958/3191)

  Checking out files:  31% (990/3191)   Checking out files:  32% (1022/3191)   C

hecking out files:  33% (1054/3191)   Checking out files:  34% (1085/3191)   Che

cking out files:  35% (1117/3191)   Checking out files:  36% (1149/3191)   Check

ing out files:  37% (1181/3191)   Checking out files:  38% (1213/3191)   Checkin

g out files:  39% (1245/3191)   Checking out files:  40% (1277/3191)   Checking

out files:  40% (1308/3191)   Checking out files:  41% (1309/3191)   Checking ou

t files:  42% (1341/3191)   Checking out files:  42% (1352/3191)   Checking out

files:  43% (1373/3191)   Checking out files:  44% (1405/3191)   Checking out fi

les:  45% (1436/3191)   Checking out files:  46% (1468/3191)   Checking out file

s:  47% (1500/3191)   Checking out files:  48% (1532/3191)   Checking out files:

  49% (1564/3191)   Checking out files:  49% (1578/3191)   Checking out files:

50% (1596/3191)   Checking out files:  51% (1628/3191)   Checking out files:  52

% (1660/3191)   Checking out files:  53% (1692/3191)   Checking out files:  54%

(1724/3191)   Checking out files:  55% (1756/3191)   Checking out files:  56% (1

787/3191)   Checking out files:  57% (1819/3191)   Checking out files:  58% (185

1/3191)   Checking out files:  59% (1883/3191)   Checking out files:  60% (1915/

3191)   Checking out files:  61% (1947/3191)   Checking out files:  62% (1979/31

91)   Checking out files:  63% (2011/3191)   Checking out files:  63% (2022/3191

)   Checking out files:  64% (2043/3191)   Checking out files:  65% (2075/3191)

  Checking out files:  66% (2107/3191)   Checking out files:  67% (2138/3191)

Checking out files:  68% (2170/3191)   Checking out files:  69% (2202/3191)   Ch

ecking out files:  70% (2234/3191)   Checking out files:  71% (2266/3191)   Chec

king out files:  72% (2298/3191)   Checking out files:  73% (2330/3191)   Checki

ng out files:  74% (2362/3191)   Checking out files:  75% (2394/3191)   Checking

 out files:  76% (2426/3191)   Checking out files:  77% (2458/3191)   Checking o

ut files:  78% (2489/3191)   Checking out files:  79% (2521/3191)   Checking out

 files:  80% (2553/3191)   Checking out files:  81% (2585/3191)   Checking out f

iles:  82% (2617/3191)   Checking out files:  83% (2649/3191)   Checking out fil

es:  83% (2679/3191)   Checking out files:  84% (2681/3191)   Checking out files

:  85% (2713/3191)   Checking out files:  86% (2745/3191)   Checking out files:

 87% (2777/3191)   Checking out files:  88% (2809/3191)   Checking out files:  8

9% (2840/3191)   Checking out files:  89% (2845/3191)   Checking out files:  90%

 (2872/3191)   Checking out files:  91% (2904/3191)   Checking out files:  92% (

2936/3191)   Checking out files:  93% (2968/3191)   Checking out files:  94% (30

00/3191)   Checking out files:  95% (3032/3191)   Checking out files:  95% (3035

/3191)   Checking out files:  96% (3064/3191)   Checking out files:  97% (3096/3

191)   Checking out files:  98% (3128/3191)   Checking out files:  99% (3160/319

1)   Checking out files: 100% (3191/3191)   Checking out files: 100% (3191/3191)

, done.

     [exec] Your branch is up to date with 'origin/develop'.

     [exec] Already on 'develop'

 

check-royale-typedefs:

 

clone-royale-typedefs:

     [echo] cloning royale-typedefs repo into C:\Users\aleena\royale-asjs/../roy

ale-typedefs

     [exec] Cloning into 'royale-typedefs'...

     [exec] Your branch is up to date with 'origin/develop'.

     [exec] Already on 'develop'

 

check-playerglobal-home:

 

check-air-home:

 

build-all:

 

ask-before-build-all:

    [input] This script will now download and compile lots of files.  This can t

ake several minutes.   No interaction should be required.  Press the enter key t

o continue.

 

sdk:

 

annotate.class:

    [mkdir] Created dir: C:\Users\aleena\royale-compiler\compiler-build-tools\ta

rget\classes

    [javac] Compiling 1 source file to C:\Users\aleena\royale-compiler\compiler-

build-tools\target\classes

    [javac] warning: [options] bootstrap class path not set in conjunction with

-source 1.5

    [javac] error: Source option 1.5 is no longer supported. Use 1.6 or later.

    [javac] error: Target option 1.5 is no longer supported. Use 1.6 or later.

 

BUILD FAILED

C:\Users\aleena\royale-asjs\build.xml:1754: The following error occurred while e

xecuting this line:

C:\Users\aleena\royale-asjs\build.xml:1825: The following error occurred while e

xecuting this line:

C:\Users\aleena\royale-compiler\build.xml:63: The following error occurred while

 executing this line:

C:\Users\aleena\royale-compiler\compiler-build-tools\build.xml:74: Compile faile

d; see the compiler error output for details.

 

Total time: 17 minutes 59 seconds

 

C:\Users\aleena\royale-asjs>

 

Unable to Build, Please guide.

 

Thanks,

Alina

From: Alex Harui [[hidden email]]
Sent: Friday, March 02, 2018 10:31 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

I was able to download and expand the files.  I will be consolidating the data today. 

 

In order to be able to write some of these emulations, you will probably need to be able to build the framework sources.  If you haven't already, you can try cloning the royale-asjs repo and figure out how to get it to build.  You can choose Apache Maven or Apache Ant as the build tool.

 

 

Hopefully the instruction in the readme are sufficient.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Friday, March 2, 2018 at 12:34 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

Application API-Report link:

https://www.dropbox.com/s/swvqhly6wa0jrc5/API-Reports.rar?dl=0

SHMALib Report, applications,shmDoclist,shmSetupList,AppView_EIS, AppView_ERP,shmMappingSetup, shmMappingSetupOpenDetailGrid,shmSalesInvoice, shmSalesInvoiceDetail are main API Files.

 

Regards,

Alina

 

 

 

 

From: Alina Kazi [[hidden email]]
Sent: Friday, March 02, 2018 11:32 AM
To: [hidden email]
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

 

2) We are using Effects in our Application 2-3 times

4) We are using text styling in our Application 3-5 times

 

Thanks,

Alina

 

From: Alex Harui [[hidden email]]
Sent: Friday, March 02, 2018 4:26 AM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

1) Interesting about Charts.  They were being used by the SWC.

2) Effects are any animations that move, resize or fade things in the UI.

3) ok

4) I'm not sure what to conclude from the screenshot.  I'm interested in how often folks use it to create text with bold, italics and other styling of text.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Thursday, March 1, 2018 at 4:24 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

600 mxml.api.txt files are generated and still in process. I will share link for files tomorrow.

After sharing my files tomorrow, If you will suggest to build  emulations.

I will  definitely want to learn how to create emulations and contribute them to Apache Royale.  

1.We are not using Charts in our Application

2. How important are effects? (Please explain effects )

3. We are not using Right-to-left languages in RichTextEditor.

4. Is RichTextEditor being used for non-plain text?  If so, what kinds of text styling is important?

Link:https://www.dropbox.com/s/ky93eycmefm3cuu/RICHTEXTEDITOR.png?dl=0

Thanks,

Alina

From: Alex Harui [[hidden email]]
Sent: Wednesday, February 28, 2018 10:45 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

Good to hear it worked.

 

I think I am waiting on all of the mxml.api.txt files to see what else is in there that isn't in the two reports we have, then we'll have a pretty good list of the places you will either need to change in your code or that we  will build emulations for.

 

I think emulations will be less work in the end, but there will be a lot of them to do.  We will want to you to learn how to create emulations and contribute them to Apache Royale.  That's how many Apache projects work: some of the users learn how to become committers.  This will be an asset to your company as well since you will learn how to fix things in Royale yourself.  Then your company won't be dependent on outsiders for support.

 

So, Peter and I and hopefully others will get started on some emulations to make sure they work for us, and then you can see if they work for you, and then we will teach you how to write those emulations.  Over the next several months, besides testing emulations written by others in your app, you will be writing your own emulations for things you need right away that we haven't written yet, or for third-party code that you are using.

 

It might help to get some prioritization on the emulations we need to write.  In looking at the list, I am wondering:

  1. Are some charts more important than others?
  2. How important are effects?
  3. Do you use Right-to-left languages in RichTextEditor?
  4. Is RichTextEditor being used for non-plain text?  If so, what kinds of text styling is important?

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Wednesday, February 28, 2018 at 1:22 AM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

Thank you.

It’s working with latest nightly build:

https://www.dropbox.com/s/77wkgrm74upkg0j/SHMALib%20Report.txt?dl=0

 

 

Regards,

Alina

 

 

 

From: Alex Harui [[hidden email]]
Sent: Wednesday, February 28, 2018 1:15 PM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

Looks like COMPC collected the data but never generated the report.  I pushed a fix for that.  Please try the latest nightly build.

 

Thanks,

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Tuesday, February 27, 2018 at 10:35 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Hi Alex,

Thank you

After commenting the embedded font part from source.

Output to console:

3462313 bytes written to D:\SHMALib.swc in 19.878 seconds

D:\apache-royale-0.9.2-bin-js-swf\royale-asjs\bin>Compc -output "D:\SHMALib.swc"

 -api-report="D:\report.txt" -load-config=D:\apache-flex-sdk-4.16.0-bin\framewor

ks\flex-config.xml -source-path="D:\SHMALIB\src" -include-sources="D:\SHMALIB\sr

c" -library-path+=D:\SHMALIB\libs

 

SHMALib.swf file Generated and Report.txt is empty

SHMALib.swc output Link:

https://www.dropbox.com/s/4tz49sz134m2gg9/SHMALib.swc?dl=0

then I change, Compc -output "D:\SHMALib.swc" to Compc -output "D:\SHMALib. txt "

SHMALib.txt output Link:

https://www.dropbox.com/s/j38obt5e36awuh3/SHMALib.txt?dl=0

 

Thanks,

Alina

 

 

 

From: Alex Harui [[hidden email]]
Sent: Wednesday, February 28, 2018 11:18 AM
To: [hidden email]
Subject: Re: Generating API report for Flex Web Browser application

 

Hi Alina,

 

The only error right now is the embedded font.

 

We can discuss the pros and cons of embedding images in the JS output at some other point in time.

 

-Alex

 

From: Alina Kazi <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Tuesday, February 27, 2018 at 10:01 PM
To: "[hidden email]" <[hidden email]>
Subject: RE: Generating API report for Flex Web Browser application

 

Big Part of SHMALib Uses Embed and metadata :

 

                                // Embed the font so we can rotate it for further distortion

                                [Embed(systemFont="Comic Sans MS",

                                                                embedAsCFF='false')]

                <mx:Image y="4" width="18" height="20" right="185" source="@Embed(source='assets/default/images/load.png')"

                                                  source="@Embed(source='assets/default/images/next.gif')" scaleContent="false"/>

                <mx:Image y="4" width="18" height="20" right="3" source="@Embed(source='assets/default/images/magnifier.png')"

     * An IFrame which you can embed into Flex applications to show an HTML page.

     * @example A simple application with Google embedded

        // SWF embed object tracking

         * The SWF embed object id.

         * Get the embed object id.

        protected function resolveEmbedObjectId():void

                    var result:Object=ExternalInterface.call(IFrameExternalCalls.FUNCTION_ASK_FOR_EMBED_OBJECT_ID, randomIdentificationString.toString());

                        logger.info("Resolved the SWF embed object id to '{0}'.", applicationId);

                        logger.error('Could not resolve the SWF embed object Id.');

            // Resolve the SWF embed object id in the DOM.

            ExternalInterface.call(IFrameExternalCalls.INSERT_FUNCTION_ASK_FOR_EMBED_OBJECT_ID);

            resolveEmbedObjectId();

            logger.info("Loading IFrame with id '{0}', on SWF embed object with id '{1}'.", _frameId, applicationId);

                    FUNCTION_LOADIFRAME + " = function (frameID, iframeID, url, embedID, scrollPolicy)" +

                                      "onLoad='\"+embedID+\".\"+frameID+\"_load();' " +

        public static var FUNCTION_ASK_FOR_EMBED_OBJECT_ID:String = "askForEmbedObjectId";

        public static var FUNCTION_ASK_FOR_EMBED_OBJECT_ID:String = "askForEmbedObjectId";

        public static var INSERT_FUNCTION_ASK_FOR_EMBED_OBJECT_ID:String =

                "if (document." + FUNCTION_ASK_FOR_EMBED_OBJECT_ID + "==null)" +

                    FUNCTION_ASK_FOR_EMBED_OBJECT_ID + " = function(randomString) " +

                            "var embeds = document.getElementsByTagName('embed'); " +

                            "var embeds = document.getElementsByTagName('embed'); " +

                            "for (var i = 0; i < embeds.length; i++) { " +

                                "var isTheGoodOne = embeds[i].checkObjectId(embeds[i].getAttribute('id'),randomString); " +

                                "var isTheGoodOne = embeds[i].checkObjectId(embeds[i].getAttribute('id'),randomString); " +

                                    "return embeds[i].getAttribute('id'); " +

                                 * The UITextField control for displaying embeded hints.

                                private var embedTextField:UITextField;

                                 *  The String to be shown as the embeded hint.

                                private var embedStr:String = "";

                                                                                embedStr = "MM DD YYYY";

                                                                                embedStr = "DD MM YYYY";

                                                                                embedStr = "YYYY MM DD";

                                                                                embedStr = "YYYY DD MM";

                                 *  Create child objects for displaying embeded hints.

                                                                embedTextField = new UITextField();

                                                                //embedTextField.text = embedStr;

                                                                //embedTextField.text = embedStr;

                                                                addChildAt(UITextField(embedTextField),getChildIndex(DisplayObject(textField)));//as TextField

                                                                                                                s = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                s = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                                s = s.substring(0,i) + embedStr.charAt(i) + s.substring(i+1, s.length);

                                                                                                                                embedTextField.text = s;

                                                                                                                s = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                s = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                                //s = s.substring(0,i) + embedStr.charAt(i) + s.substring(i+1, s.length);

                                                                                                                                //embedTextField.text = s;

                                                                                                                                s = s.substring(0,i) + embedStr.charAt(i) + s.substring(i+1, s.length);

                                                                                                                                embedTextField.text = s;

                                                                                // If embeded hints are displayed then update the

                                                                                // UITextField corresponding to the embeded hints

                                                                                                var s:String = embedTextField.text == null ? "":embedTextField.text;

                                                                                                var s:String = embedTextField.text == null ? "":embedTextField.text;

                                                                                                                embedTextField.text = s;

                                                                // create the embeded text field for showing

                                                                // embeded hints if its not already created.

                                                                // If it is created, then just change the embeded hint.

                                                                if(!embedTextField)

                                                                                embedTextField = new UITextField();

                                                                                addChildAt(embedTextField,getChildIndex(DisplayObject(textField))); //as TextField

                                                                //embedTextField.text = embedStr;

                                                                //embedTextField.text = embedStr;

                                                                embedTextField.alpha = 1;

                                                                embedTextField.setTextFormat(txtFormat);

                                                                embedTextField.x = 0;

                                                                embedTextField.y = 2;

                                                                embedTextField.setActualSize(width,height);

                                                                if(embedTextField)

                                                                                embedTextField.text = "";

                                                                                embedTextField = null;

                                                // setting the color of the embeded text field to white.

                                                                if(embedTextField)

                                                                                embedTextField.setColor(0xFFFFFF);

                                                                                if(embedTextField)

                                                                                                addChildAt(DisplayObject(newSkin),getChildIndex(DisplayObject(embedTextField)));//

   background-image:                                      Embed(source="/assets/application_background.png",

                up-skin:                Embed("/assets/maximize_up.png");

                over-skin:            Embed("/assets/maximize_over.png");

                down-skin:         Embed("/assets/maximize_up.png");

                selected-up-skin:   Embed("/assets/restore_up.png");

                selected-over-skin: Embed("/assets/restore_over.png");

                selected-down-skin: Embed("/assets/restore_up.png");

                up-skin:        Embed("/assets/minimize_up.png");

                over-skin:      Embed("/assets/minimize_over.png");

                down-skin:      Embed("/assets/minimize_up.png");

                up-skin:                                Embed("/assets/tab_up.png", scaleGridTop="11", scaleGridBottom="30", scaleGridLeft="10", scaleGridRight="92");

                over-skin:                            Embed("/assets/tab_up.png", scaleGridTop="11", scaleGridBottom="30", scaleGridLeft="10", scaleGridRight="92");

                down-skin:                         Embed("/assets/tab_up.png", scaleGridTop="11", scaleGridBottom="30", scaleGridLeft="10", scaleGridRight="92");

                selected-up-skin:                             Embed("/assets/tab_selected.png", scaleGridTop="13", scaleGridBottom="31", scaleGridLeft="9", scaleGridRight="91");

                selected-over-skin:                         Embed("/assets/tab_selected.png", scaleGridTop="13", scaleGridBottom="31", scaleGridLeft="9", scaleGridRight="91");

                selected-down-skin:                      Embed("/assets/tab_selected.png", scaleGridTop="13", scaleGridBottom="31", scaleGridLeft="9", scaleGridRight="91");

                up-skin:                                Embed("/assets/left_arrow_up.gif");

                over-skin:                            Embed("/assets/left_arrow_over.gif");

                down-skin:                         Embed("/assets/left_arrow_up.gif");

                disabled-skin:    Embed("/assets/left_arrow_disabled.gif");

                up-skin:                                Embed("/assets/right_arrow_up.gif");

                over-skin:                            Embed("/assets/right_arrow_over.gif");

                down-skin:                         Embed("/assets/right_arrow_up.gif");

                disabled-skin:    Embed("/assets/right_arrow_disabled.gif");

                                //[Embed(source="/assets/cursor_move.gif")]

                                //[Embed(source="/assets/cursor_resize.gif")]

                                [Embed(source="/assets/default/images/mouseMove.gif")]

                                [Embed(source="/assets/default/images/verticalSize.gif")]

                                [Embed(source="/assets/default/images/horizontalSize.gif")]

                                [Embed(source="/assets/default/images/leftObliqueSize.gif")]

                                [Embed(source="/assets/default/images/rightObliqueSize.gif")]

                                                if (image.isEmbedded)

                                                //if (!Application.application.systemManager.isFontFaceEmbedded(textFormat))

                                                if (!FlexGlobals.topLevelApplication.systemManager.isFontFaceEmbedded(textFormat))

                                                                if (Application.application.isFontsEmbedded) {

                                                                if (Application.application.isFontsEmbedded) {

                                                                if (Application.application.isFontsEmbedded) {

                                private var _isEmbedded:Boolean = false;

                                public function set isEmbedded(embedded:Boolean):void

                                public function set isEmbedded(embedded:Boolean):void

                                                _isEmbedded = embedded;

                                                _isEmbedded = embedded;

                                public function get isEmbedded():Boolean