Hi Alex,

 *   as3corelib.swc is ok with just warnings and is around 28Kb in
   size, solved !

                    This is what i added to build of as3corelib:

set swflib=D:\dev\royale-emulation-works\apache-royale-0.9.4-bin-js-swf\royale-asjs\frameworks\projects\MXRoyale\target\MXRoyale-0.9.4-SNAPSHOT-swf.swc                set jslib=D:\dev\royale-emulation-works\apache-royale-0.9.4-bin-js-swf\royale-asjs\frameworks\projects\MXRoyale\target\MXRoyale-0.9.4-SNAPSHOT-js.swc                -external-library-path+=%swflib% -js-external-library-path+=%jslib%

Note : I need to add same path definitions to the project build also !

 * Exactly you are right, i found that some namespace are missed.
   Sorry, eclipse search and replace missuse by me :)
 * Embedding: any thing i can do ?
 * "Other errors are due to using flash APIs like URLLoader. Royale has
   a URLLoader you can use instead." *On my list!*
 * nightly build : *it is ok, I am working on !*
 * "Regarding the toUpper, if you know the fix, you can create a
   PullRequest for it.  Otherwise, please file a Github Issue."

         After searching the codebase, i found that /org.apache.royale.compiler.internal.codegen.js.jx.BinaryOperatorEmitter /is using enum /DatePropertiesGetters /and in this class toUpper is used 3 times. May be it can be changed to toUpperCase(Locale.ENGLISH)

       I changed this class in my local path : apache-royale-0.9.4-bin-js-swf\royale-compiler\compiler-jx and compiled with maven and finished iwth ssuccess. But i am not sure how to test new compiler :)

Thanks

Serkan...

3.10.2018 17:16 tarihinde [email protected] yazdı:
Hi Alex,

Here are my comments inline...

Alinti Alex Harui <[email protected]>

Hi Serkan,

I would advise against using -include-libraries.  There is no need to copy MXRoyale into AS3CoreLib and it would make AS3CoreLib very big and create a maintenance issue as the code in MXRoyale changes.

I believe you are getting lots of warnings building as3corelib because MXRoyale-0.9.4-SNAPSHOT.swc should be on the -external-library-path and MXRoyale-0.9.4-SNAPSHOT-js.swc should on the -js-external-library-path.  IOW, the Maven SWC with the “-js” in the name is for JS compilation, not SWF compilation.

Ok i am going to try it. Done it, it


In the application compile, it seems like the compiler can’t find the s:Group in some of the files, but assuming you use Group in other files, maybe the issue is that the xml namespace for “s” is mis-typed or didn’t get updated?  Or is Group really not working in any file?

I am going to check it.


I see a bunch of errors related to using embedded assets.  I think I already mentioned that Royale doesn’t yet support embedding.

Is it possbile for me to emulate it or need more expertise ?


Other errors are due to not all Spark classes being emulated yet.

Ok.


Other errors are due to using flash APIs like URLLoader.  Royale has a URLLoader you can use instead.

Ok.


You might want to grab a nightly build in about an hour or so. I added a resourceManager emulation that should eliminate more of the errors and make it easier to see what is left.


Ok.

Regarding the toUpper, if you know the fix, you can create a PullRequest for it.  Otherwise, please file a Github Issue.


If you give me the localtion of code genereatore of compiler i may submit patch.


Thanks,
-Alex


Thanks
Serkan...

From: Serkan Taş <[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Tuesday, October 2, 2018 at 12:35 PM
To: "[email protected]" <[email protected]>
Subject: Re: Work on Emulation


Let me make it clear :)
2.10.2018 20:43 tarihinde Alex Harui yazdı:
Hi Serkan,

I think I’m still confused.  It looks like you are using Maven to build the MXRoyale swc.  That will generate a SWC called something like MXRoyale-0.9.4-SNAPSHOT.swc and store it in your local Maven repository, which is probably C:\Users\serkan\.m2\repository.

Yes it is correct. When i build mxroyale, the libraries are stored in local maven repo : C:\Users\serkan\.m2\repository\org\apache\royale\framework\MXRoyale\0.9.4-SNAPSHOT



Then later, you say you finally got a command-line and it shows you are running mxmlc.  That mxmlc will not look at the MXRoyale-0.9.4-SNAPSHOT.swc in the Maven repository.  It is probably looking for MXRoyale.swc (notice the Ant/Command-Line name is different than the Maven name) in

D:\dev\royale-emulation-works>D:\dev\royale-emulation-works\apache-royale-0.9.4-bin-js-swf\royale-asjs\frameworks\libs

Your updated MXRoyale-0.9.4-SNAPSHOT.swc will therefore not be used.
Exactly not used, so i had to define manually and the library as3corelib.swc is generated : https://drive.google.com/file/d/17F5nrGtbX1bHYAuron3Z0xI5KwiEeYYx/view?usp=sharing<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F17F5nrGtbX1bHYAuron3Z0xI5KwiEeYYx%2Fview%3Fusp%3Dsharing&data=02%7C01%7Caharui%40adobe.com%7Caf0cf85f07494b07b29a08d6289e227f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636741056993369362&sdata=WW0IPMBZf%2FDE4PDSuYuXSUiqsVkEUvOfuFoUR9Qe1ps%3D&reserved=0>


Separately, I’m not sure why the compiler can’t find the SparkRoyale components.  I know not all of Spark components are emulated in there, but Group definitely is.  This makes me think that SparkRoyale is somehow not on the library-path (or js-library-path).

If you do find a missing component, the way to add it is to edit the frameworks/projects/SparkRoyale/src/main/resources/spark-royale-manifest.xml. You will see an entry in there for ArrayCollection and a few other components that have lookup-“true” attributes.  But I think the first problem is to figure out why Group is not being seen by the compiler.  It is either not in the library-path or js-library-path or it is missing some components.

It looks like you didn’t post all of the output.  It might help to get all of it so we can see what the compiler did do correctly up to the point of failure.

Here is the full log of PinaraUI build : https://drive.google.com/file/d/1OaWKhR2lH2oUNrieY9oYOFnbCszls5XP/view?usp=sharing<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F1OaWKhR2lH2oUNrieY9oYOFnbCszls5XP%2Fview%3Fusp%3Dsharing&data=02%7C01%7Caharui%40adobe.com%7Caf0cf85f07494b07b29a08d6289e227f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636741056993369362&sdata=DCIwO5Z6f8TagrjyPq6mi1yl544j2S%2Bh6O1OKVo%2FzaA%3D&reserved=0>

And last note, just not to miss, do i need to  report and issue ? : "I am using fb and it is using utf-8. The issue is related with the code generator engine trying to process tag names with locale dependent toUpper of java (famous java problem with turkish), rather than the encoding of the files i am afraid."

Let us know what you find.
-Alex

Thanks

Serkan


From: Serkan Taş <[email protected]><mailto:[email protected]> Reply-To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Date: Tuesday, October 2, 2018 at 10:09 AM
To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Subject: Re: Work on Emulation


Hi Alex,

I am using fb and it is using utf-8. The issue is related with the code generator engine trying to process tag names with locale dependent toUpper of java (famous java problem with turkish), rather than the encoding of the files i am afraid.

As far as i know in all my projects i am using mvn no ant and script including the maven commands. I am compiling MXRoyale just using the command below (which is also in batch script)

set MAVEN_OPTS=-Duser.country=EN -Duser.language=en
(cd D:\dev\royale-emulation-works\apache-royale-0.9.4-bin-js-swf\royale-asjs\frameworks\projects\MXRoyale && mvn -DskipTests -Drat.skip=true clean install)

I added the line to the compiler tha i think resolved the referance problem but did not like my solution :)

set mxlib=D:\dev\royale-emulation-works\apache-royale-0.9.4-bin-js-swf\royale-asjs\frameworks\projects\MXRoyale\target\MXRoyale-0.9.4-SNAPSHOT-js.swc

-compiler.include-libraries %mxlib%

It points the newly generated as3corelib.swc. (as i forked i may commit my changes to my copy : https://github.com/nihavend/as3corelib<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnihavend%2Fas3corelib&data=02%7C01%7Caharui%40adobe.com%7Caf0cf85f07494b07b29a08d6289e227f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636741056993369362&sdata=GXdQMM6PWsRbn6nqo%2FGahCEbfPekAva91utqot69daU%3D&reserved=0>) The same method may be applied to other flash components.

At last, i got this command line

D:\dev\royale-emulation-works>D:\dev\royale-emulation-works\apache-royale-0.9.4-bin-js-swf\royale-asjs\js\bin\mxmlc D:\dev\royale-emulation-works\github\pinaraui-royale\PinaraUI\src\com\likya\pinara\main\PinaraUI.mxml -library-path+=D:\dev\royale-emulation-works\as3corelib.swc,D:\dev\royale-emulation-works\github\pinaraui-royale\PinaraUI\libs\flexlib.swc,D:\dev\royale-emulation-works\github\pinaraui-royale\PinaraUI\libs\libravis.swc -js-library-path+=D:\dev\royale-emulation-works\as3corelib.swc,D:\dev\royale-emulation-works\github\pinaraui-royale\PinaraUI\libs\flexlib.swc,D:\dev\royale-emulation-works\github\pinaraui-royale\PinaraUI\libs\libravis.swc -source-path=D:\dev\royale-emulation-works\github\pinaraui-royale\PinaraUI\src,D:\dev\royale-emulation-works\github\pinaraui-royale\PinaraUI\locale\{locale} -services=D:\dev\royale-emulation-works\services-config.xml -locale+=tr_TR  -o .\PinaraUI.swf
MXMLJSC
-sdk-js-lib=D:\dev\royale-emulation-works\apache-royale-0.9.4-bin-js-swf\royale-asjs\js\bin\..\..\frameworks\js\Royale\generated-sources D:\dev\royale-emulation-works\github\pinaraui-royale\PinaraUI\src\com\likya\pinara\main\PinaraUI.mxml -library-path+=D:\dev\royale-emulation-works\as3corelib.swc,D:\dev\royale-emulation-works\github\pinaraui-royale\PinaraUI\libs\flexlib.swc,D:\dev\royale-emulation-works\github\pinaraui-royale\PinaraUI\libs\libravis.swc -js-library-path+=D:\dev\royale-emulation-works\as3corelib.swc,D:\dev\royale-emulation-works\github\pinaraui-royale\PinaraUI\libs\flexlib.swc,D:\dev\royale-emulation-works\github\pinaraui-royale\PinaraUI\libs\libravis.swc -source-path=D:\dev\royale-emulation-works\github\pinaraui-royale\PinaraUI\src,D:\dev\royale-emulation-works\github\pinaraui-royale\PinaraUI\locale\{locale}
-services=D:\dev\royale-emulation-works\services-config.xml
-locale+=tr_TR
-o
.\PinaraUI.swf

Ant the output is here : https://drive.google.com/file/d/14Jks-RwjLCemhvBdT8WH3HAaacf2WdKA/view?usp=sharing<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F14Jks-RwjLCemhvBdT8WH3HAaacf2WdKA%2Fview%3Fusp%3Dsharing&data=02%7C01%7Caharui%40adobe.com%7Caf0cf85f07494b07b29a08d6289e227f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636741056993369362&sdata=tM34Fcg9GzNh9VXVYANVrqzw4JJv%2FwcixZMDi1pEsDM%3D&reserved=0>

Most of the errors are related with spark components. I looked at the manifest of SparkRoyale to add spark components mx counterparts but did not find how to add. I may need some sample to check it.

Thanks,

Serkan



2.10.2018 19:40 tarihinde Alex Harui yazdı:
Hi Serkan,

What source code editor are you using?  It probably needs to be one that outputs UTF-8, and you may need to set the environment variable
JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

Your output looks like you used Maven to do some of the compiling and other places it looks like you are using Ant or command-line.  Maven uses different names for SWCs and puts them in the local Maven repo.  Ant and command-line will use the same SWC names but the command-line may not copy the SWC to the folder where the next compile will see it.  You will have to pick Maven or Ant throughout a whole set of changes and once that is working, test the other build tool to see if it also works.

I keep separate working copies for Maven and Ant.  I generally start with Ant, then commit the changes, pull them down in the Maven working copy and test the Maven build there.

HTH,
-Alex

From: Serkan Taş <[email protected]><mailto:[email protected]> Reply-To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Date: Tuesday, October 2, 2018 at 6:14 AM
To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Subject: Re: Work on Emulation


Hi Alex,
·         The path is ok now after setting =$HOME/royale/as3corelib/src
·         After making the changes as3corelib.swc compiles with errors "Definition mx.formatters.DateBase could not be found." ·         I added the class to MXRoyaleClasses.as, changed the import of flash.events.Event to org.apache.royale.events.Event and comment out the [ResourceBundle] lines and the resourceManager references.

Altough the MXRoyale project was being succesfully compiled, adter making the changes in item 2 and 3, it gives lots of compile erros related with regional setttings of my system :

D:\dev\royale-emulation-works\apache-royale-0.9.4-bin-js-swf\royale-asjs\frameworks\projects\MXRoyale\src\main\royale\mx\formatters\DateBase.as line 635 column 30 Internal error in ASBlockWalker subsystem, when generating code for: D:\dev\royale-emulation-works\apache-royale-0.9.4-bin-js-swf\royale-asjs\frameworks\projects\MXRoyale\src\main\royale\mx\formatters\DateBase.as line 635 column 30: java.lang.IllegalArgumentException: No enum constant org.apache.royale.compiler.internal.codegen.js.jx.BinaryOperatorEmitter.DatePropertiesGetters.T¦MEZONEOFFSET
        at java.lang.Enum.valueOf(Enum.java:238)

timezone is to upper and result is T¦MEZONEOFFSET trying to be TİMEZONEOFFSET but should be TIMEZONEOFFSET (should i open an issue ?)

The workaround is adding the line to build script :

set MAVEN_OPTS=-Duser.country=EN -Duser.language=en

and the result is :

[INFO] Installing D:\dev\royale-emulation-works\apache-royale-0.9.4-bin-js-swf\royale-asjs\frameworks\projects\MXRoyale\target\MXRoyale-0.9.4-SNAPSHOT-swf.swc to C:\Users\serkan\.m2\repository\org\apache\royale\framework\MXRoyale\0.9.4-SNAPSHOT\MXRoyale-0.9.4-SNAPSHOT.swc [INFO] Installing D:\dev\royale-emulation-works\apache-royale-0.9.4-bin-js-swf\royale-asjs\frameworks\projects\MXRoyale\pom.xml to C:\Users\serkan\.m2\repository\org\apache\royale\framework\MXRoyale\0.9.4-SNAPSHOT\MXRoyale-0.9.4-SNAPSHOT.pom [INFO] Installing D:\dev\royale-emulation-works\apache-royale-0.9.4-bin-js-swf\royale-asjs\frameworks\projects\MXRoyale\target\MXRoyale-0.9.4-SNAPSHOT-swf.swc to C:\Users\serkan\.m2\repository\org\apache\royale\framework\MXRoyale\0.9.4-SNAPSHOT\MXRoyale-0.9.4-SNAPSHOT-swf.swc [INFO] Installing D:\dev\royale-emulation-works\apache-royale-0.9.4-bin-js-swf\royale-asjs\frameworks\projects\MXRoyale\target\MXRoyale-0.9.4-SNAPSHOT-js.swc to C:\Users\serkan\.m2\repository\org\apache\royale\framework\MXRoyale\0.9.4-SNAPSHOT\MXRoyale-0.9.4-SNAPSHOT-js.swc [INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 47.042 s
[INFO] Finished at: 2018-10-02T15:31:12+03:00
[INFO] ------------------------------------------------------------------------ ·         MXRoyale compile is ok and trying to genereate as3corelib one more time but getting the errors below: D:\dev\royale-emulation-works\github\as3corelib\src\com\adobe\utils\DateUtil.as(35): col: 9 Warning: Definition mx.formatters.DateBase could not be found.

How can i use new generated mx component to be seen by ascorelib compiler ?

Thanks
Serkan

2.10.2018 02:29 tarihinde Alex Harui yazdı:
Hi Serkan,

Without spending too much time investigating, I think SRCPATH should be =$HOME/royale/as3corelib/src

The compiler will expect classes to be in a folder structure that matches the package name relative to the source-path.

DateBase is not in the emulation component set yet because nobody needed it so far.  It looks like it should be easy to add to MXRoyale.  Change the import of flash.events.Event to org.apache.royale.events.Event and temporarily comment out the [ResourceBundle] lines and add DateBase to MXRoyaleClasses.as and see if that compiles.

Thanks,
-Alex


From: Serkan Taş <[email protected]><mailto:[email protected]> Reply-To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Date: Monday, October 1, 2018 at 4:15 PM
To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Subject: Re: Work on Emulation


Hi Alex,

Thank you for the resourcemanager.

This is the fork of the project : https://github.com/nihavend/as3corelib<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnihavend%2Fas3corelib&data=02%7C01%7Caharui%40adobe.com%7Caf0cf85f07494b07b29a08d6289e227f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636741056993369362&sdata=GXdQMM6PWsRbn6nqo%2FGahCEbfPekAva91utqot69daU%3D&reserved=0>

I configured to compile only the class DateUtil.as for the initial work :

script content :
export COMPILER_PATH=$HOME/royale/apache-royale-0.9.4-bin-js-swf/royale-asjs/js/bin

export SRCPATH=$HOME/royale/as3corelib/src/com/adobe/utils

$COMPILER_PATH/compc -compiler.library-path $HOME/royale/as3corelib/build/libs -compiler.source-path $SRCPATH -include-sources $SRCPATH/DateUtil.as -o .\as3corelib.swc



and the result :

pinara18@ubuntu-relman:~/royale$ ./build_as3corelib.sh
Using Royale Compiler codebase: /home/pinara18/royale/apache-royale-0.9.4-bin-js-swf/royale-asjs/js/bin/../.. Using Royale SDK: /home/pinara18/royale/apache-royale-0.9.4-bin-js-swf/royale-asjs/js/bin/../..
args:
+royalelib=/home/pinara18/royale/apache-royale-0.9.4-bin-js-swf/royale-asjs/js/bin/../../frameworks -sdk-js-lib=/home/pinara18/royale/apache-royale-0.9.4-bin-js-swf/royale-asjs/js/bin/../../frameworks/js/Royale/generated-sources
-compiler.library-path
/home/pinara18/royale/as3corelib/build/libs
-compiler.source-path
/home/pinara18/royale/as3corelib/src/com/adobe/utils
-include-sources
/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as
-o
/home/pinara18/royale/.as3corelib.swc
target:SWF
target:JSRoyale
COMPC
Loading configuration: /home/pinara18/royale/apache-royale-0.9.4-bin-js-swf/royale-asjs/frameworks/royale-config.xml

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as Error: No externally-visible definition with the name 'DateUtil' was found.


/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as Error: No externally-visible definition with the name 'DateUtil' was found.


/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(35): col: 9 Warning: Definition mx.formatters.DateBase could not be found.

        import mx.formatters.DateBase;
               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(45): col: 15 Error: An externally-visible definition with the name 'com.adobe.utils.DateUtil' was unexpectedly found.

        public class DateUtil
                     ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(45): col: 15 Error: An externally-visible definition with the name 'com.adobe.utils.DateUtil' was unexpectedly found.

        public class DateUtil
                     ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(65): col: 11 Error: Access of possibly undefined property DateBase.

                        return DateBase.monthNamesShort[d.getMonth()];
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(88): col: 11 Error: Access of possibly undefined property DateBase.

                        return DateBase.monthNamesShort.indexOf(m);
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(108): col: 11 Error: Access of possibly undefined property DateBase.

                        return DateBase.monthNamesLong[d.getMonth()];
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(128): col: 11 Error: Access of possibly undefined property DateBase.

                        return DateBase.monthNamesLong.indexOf(m);
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(148): col: 11 Error: Access of possibly undefined property DateBase.

                        return DateBase.dayNamesShort[d.getDay()];
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(168): col: 11 Error: Access of possibly undefined property DateBase.

                        return DateBase.dayNamesShort.indexOf(d);
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(188): col: 11 Error: Access of possibly undefined property DateBase.

                        return DateBase.dayNamesLong[d.getDay()];
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(208): col: 11 Error: Access of possibly undefined property DateBase.

                        return DateBase.dayNamesLong.indexOf(d);
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(481): col: 10 Error: Access of possibly undefined property DateBase.

                        sb += DateBase.dayNamesShort[d.getUTCDay()];
                              ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(491): col: 10 Error: Access of possibly undefined property DateBase.

                        sb += DateBase.monthNamesShort[d.getUTCMonth()];
                              ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(669): col: 8 Warning: variable definition duplicates function parameter: d.

                        var d:Date = new Date(d.time);
                            ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(682): col: 8 Warning: variable definition duplicates function parameter: d.

                        var d:Date = new Date(d.time);
                            ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as No externally-visible definition with the name 'DateUtil' was found.


/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as No externally-visible definition with the name 'DateUtil' was found.


/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(35): col: 9 Definition mx.formatters.DateBase could not be found.

        import mx.formatters.DateBase;
               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(45): col: 15 An externally-visible definition with the name 'com.adobe.utils.DateUtil' was unexpectedly found.

        public class DateUtil
                     ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(45): col: 15 An externally-visible definition with the name 'com.adobe.utils.DateUtil' was unexpectedly found.

        public class DateUtil
                     ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(65): col: 11 Access of possibly undefined property DateBase.

                        return DateBase.monthNamesShort[d.getMonth()];
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(88): col: 11 Access of possibly undefined property DateBase.

                        return DateBase.monthNamesShort.indexOf(m);
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(108): col: 11 Access of possibly undefined property DateBase.

                        return DateBase.monthNamesLong[d.getMonth()];
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(128): col: 11 Access of possibly undefined property DateBase.

                        return DateBase.monthNamesLong.indexOf(m);
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(148): col: 11 Access of possibly undefined property DateBase.

                        return DateBase.dayNamesShort[d.getDay()];
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(168): col: 11 Access of possibly undefined property DateBase.

                        return DateBase.dayNamesShort.indexOf(d);
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(188): col: 11 Access of possibly undefined property DateBase.

                        return DateBase.dayNamesLong[d.getDay()];
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(208): col: 11 Access of possibly undefined property DateBase.

                        return DateBase.dayNamesLong.indexOf(d);
                               ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(481): col: 10 Access of possibly undefined property DateBase.

                        sb += DateBase.dayNamesShort[d.getUTCDay()];
                              ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(491): col: 10 Access of possibly undefined property DateBase.

                        sb += DateBase.monthNamesShort[d.getUTCMonth()];
                              ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(669): col: 8 variable definition duplicates function parameter: d.

                        var d:Date = new Date(d.time);
                            ^

/home/pinara18/royale/as3corelib/src/com/adobe/utils/DateUtil.as(682): col: 8 variable definition duplicates function parameter: d.

                        var d:Date = new Date(d.time);
                            ^

I am going to check it tomorrow...

Thanks,

Serkan


2.10.2018 01:27 tarihinde Alex Harui yazdı:
Hi Serkan,

OK, I will work on ResourceManager.

I think you are looking at the right repo to try to get AS3CoreLib to work in Royale.

Good luck,
-Alex

From: Serkan Taş <[email protected]><mailto:[email protected]> Reply-To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Date: Monday, October 1, 2018 at 3:25 PM
To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Subject: Re: Work on Emulation


Hi Alex,

I know you and the community so busy with lots of things. I prefer you prepare ResourceManager if you can find time for. If not i may try with my self.

Regarding as3corelib: It sounds very nice to have the fork of the library on github and to check if it compiles wirth royale, tomorrow i will work on this. I am sure with DateUtil.as but need to work on others.

Just to be sure that if the github repo below is the right one to have the fork from.

https://github.com/mikechambers/as3corelib<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmikechambers%2Fas3corelib%2Fblob%2Fmaster%2Fsrc%2Fcom%2Fadobe%2Futils%2FDateUtil.as&data=02%7C01%7Caharui%40adobe.com%7Caf0cf85f07494b07b29a08d6289e227f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636741056993369362&sdata=alOcScRMIy0tAAUh1kf61DGuknujsqSJ1uCfNfCWJW0%3D&reserved=0>

Thanks,

Serkan
1.10.2018 23:57 tarihinde Alex Harui yazdı:
Hi Serkan,

Sorry, I forgot to answer your questions about ResourceManager.   ResourceModules are a special kind of module used by ResourceManager.  Here’s a link to one article about it: https://www.adobe.com/devnet/flex/articles/flex-localization-pt2.html<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.adobe.com%2Fdevnet%2Fflex%2Farticles%2Fflex-localization-pt2.html&data=02%7C01%7Caharui%40adobe.com%7Caf0cf85f07494b07b29a08d6289e227f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636741056993369362&sdata=D2GdB7o3Tt5KsxF6ofW8pt2fI%2Fmll5M71ghCrT%2BonEU%3D&reserved=0>

If you are not using this feature then you can comment lots of code out of ResourceManager and make it easier to have it work in JS.  You will still be able to use other kinds of modules. If you are unclear as to what to remove, I can try to do it.

Regarding as3corelib:  Adobe has not donated that code to Apache.  It was not part of the Flex framework.  Donating the code to Apache is a long process.  So you won’t find it in the Apache Royale repos.  However, the code you want has an open-source BSD license so you are free to use it in your application.  You could even fork the code and build your own Royale version of as3corelib by grabbing all of the source and seeing if you can get the Apache Royale compiler (COMPC) to compile it.

If you want to try that, try doing that work on GitHub so others can help or use the results. Let us know what issues you run into.  Maybe at some future point in time I’ll start the process of donating the code if that’s what people in the community want.

Thanks,
-Alex

From: Serkan Taş <[email protected]><mailto:[email protected]> Reply-To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Date: Monday, October 1, 2018 at 12:15 PM
To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Subject: Re: Work on Emulation


Hi Alex,

Prior to my questions at hte end of this mail,  few days ago you commented about the libraries i use : "you are using certain libraries like as3corelib and flexlib that have dependencies on Flash. "

From as3corelib.swc i am using the class DateUtils for the method parseW3CDTF.  I found the source code for the swc : https://github.com/mikechambers/as3corelib/blob/master/src/com/adobe/utils/DateUtil.as<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmikechambers%2Fas3corelib%2Fblob%2Fmaster%2Fsrc%2Fcom%2Fadobe%2Futils%2FDateUtil.as&data=02%7C01%7Caharui%40adobe.com%7Caf0cf85f07494b07b29a08d6289e227f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636741056993369362&sdata=alOcScRMIy0tAAUh1kf61DGuknujsqSJ1uCfNfCWJW0%3D&reserved=0>

It has copyright.

When i checked the source code i see that it is pure as code if not missed something.

I searched the royale codebase for any word with W3CDTF bot nothing found.

May be we may find javascript version of the function or use this one ?
30.09.2018 22:02 tarihinde Serkan Taş yazdı:

Hi Alex,

I am not sure I can exactly answer your questions but let me try;

1. Are you using ResourceModules?

   I am using ResourceManager only for languge support and changing user language on runtime. So then i get IResourceManager

    e.g.

    private static var toolTipList:ArrayList = new ArrayList();
toolTipList.addItem(ResourceManager.getInstance().getString('messages', 'readyTooltip'))



  I looked at ResourceManager, ResourceManagerImpl and ResourceBundle but did not see any "ResourceModules".

   But if the subject is Modules class then yes am using the modules infrastructure for dynamically loading some modules but i do not know it is related with these three classes "ResourceManager, ResourceManagerImpl and ResourceBundle"



2. If not, if you comment out all of the support for ResourceModules, I think you might be able to use the old Flex code mostly as is.You should be able to comment out the parts that use a Dictionary and assume that weakReferences aren’t needed.  Then the Timer code shouldn’t be needed either.

    İf you mean these, theh ok (ResourceManagerImpl.as)

import flash.events.Event;
import flash.events.EventDispatcher;
import flash.events.FocusEvent;
import flash.events.IEventDispatcher;
import flash.events.TimerEvent;
import flash.system.ApplicationDomain;
import flash.system.Capabilities;
import flash.system.SecurityDomain;
import flash.utils.Dictionary;
// import flash.utils.Timer;
// import mx.core.IFlexModuleFactory;
import mx.core.mx_internal;
import mx.core.Singleton;
import mx.events.FlexEvent;
// import mx.events.ModuleEvent;
import mx.events.ResourceEvent;
import mx.managers.SystemManagerGlobals;
// import mx.modules.IModuleInfo;
// import mx.modules.ModuleManager;
import mx.utils.StringUtil;

3. Use “org.apache.royale.events Event/EventDispatcher” instead of “flash.events.Event/EventDispatcher”.

Both variable declarations and class extensions, ok !

4. I think you can remove getClassByName from ResourceBundle.

ok, but replace it with  "There is a royale/org/apache/royale/reflection/getDefinitionByName.as" ?

5. Use ValueEvent instead of FocusEvent.

Used only in (ResourceManagerImpl.as), ok !

6. Also, create something like Core/src/main/royale/org/apache/royale/utils/OSUtils.as  to get the locale.

Ok, but may give some advices where to begin ? :)

Thanks,

Serkan...
30.09.2018 05:00 tarihinde Alex Harui yazdı:
Hi Serkan,

Sounds great.

I was just taking a quick look at the code for ResourceManager, ResourceManagerImpl and ResourceBundle.  Are you using ResourceModules?  If not, if you comment out all of the support for ResourceModules, I think you might be able to use the old Flex code mostly as is.   You should be able to comment out the parts that use a Dictionary and assume that weakReferences aren’t needed.  Then the Timer code shouldn’t be needed either.

Use “org.apache.royale.events Event/EventDispatcher” instead of “flash.events.Event/EventDispatcher”.
I think you can remove getClassByName from ResourceBundle.
Use ValueEvent instead of FocusEvent.


Also, create something like Core/src/main/royale/org/apache/royale/utils/OSUtils.as  to get the locale.

There is a royale/org/apache/royale/reflection/getDefinitionByName.as

If you can get the classes to compile cleanly, then we can try seeing if the Royale compiler will do the right thing with those classes.

HTH,
-Alex


From: Serkan Taş <[email protected]><mailto:[email protected]> Reply-To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Date: Friday, September 28, 2018 at 11:53 PM
To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Subject: Re: Work on Emulation

Hi Alex,
I am going to work on ResourceManager and mapping of spark to mx.

Have a nice weekend
Thanks.
Serkan


29.09.2018 09:48 tarihinde Alex Harui yazdı:
Hi Serkan,

That looks more like I would expect.  I guess you should have an emulation of resourceManager which will make a lot of those errors go away.  Feel free to try to build it yourself.  I also see that you are using Operation and other parts of RPC.  We should probably emulate that as well.

And I see that you are using some Spark components we haven’t emulated.  For at least now, you might be able to map to existing MX versions via the manifest in SparkRoyale with the “lookupOnly” attribute.

I won’t have much more time this weekend.

Later,
-Alex

From: Serkan Taş <[email protected]><mailto:[email protected]> Reply-To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Date: Friday, September 28, 2018 at 11:15 PM
To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Subject: Re: Work on Emulation


Hi Alex,

After updating the path definitions i got the list of errors : https://drive.google.com/open?id=16U6awiZCoiunYWgfd_SWHwbppnAImhso<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdrive.google.com%2Fopen%3Fid%3D16U6awiZCoiunYWgfd_SWHwbppnAImhso&data=02%7C01%7Caharui%40adobe.com%7Caf0cf85f07494b07b29a08d6289e227f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636741056993369362&sdata=E5QUTvac9g6GYFaDjiK78zKocDdoltnWhTbxpUQQh7A%3D&reserved=0>

Thanks,

Serkan
29.09.2018 03:48 tarihinde Alex Harui yazdı:
Hi Serkan,

Your -library-path and -js-library-path need a += (not just “=”) otherwise you reset the list of libraries on the path instead of appending to it.

HTH,
-Alex

From: Serkan Taş <[email protected]><mailto:[email protected]> Reply-To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Date: Friday, September 28, 2018 at 2:03 PM
To: "[email protected]"<mailto:[email protected]> <[email protected]><mailto:[email protected]>
Subject: Re: Work on Emulation


Hi Alex,

I replaced the namespaces to

xmlns:mx="library://ns.apache.org/royale/mx"
xmlns:s="library://ns.apache.org/royale/spark"

compiled with options :

Using Royale Compiler codebase: /home/pinara18/royale/apache-royale-0.9.4-bin-js-swf/royale-asjs/js/bin/../.. Using Royale SDK: /home/pinara18/royale/apache-royale-0.9.4-bin-js-swf/royale-asjs/js/bin/../..
MXMLJSC
+royalelib=/home/pinara18/royale/apache-royale-0.9.4-bin-js-swf/royale-asjs/js/bin/../../frameworks -sdk-js-lib=/home/pinara18/royale/apache-royale-0.9.4-bin-js-swf/royale-asjs/js/bin/../../frameworks/js/Royale/generated-sources /home/pinara18/royale/pinaragroup/PinaraUI/src/com/likya/pinara/main/PinaraUI.mxml
-library-path=/home/pinara18/royale/pinaragroup/PinaraUI/libs
-js-library-path=/home/pinara18/royale/pinaragroup/PinaraUI/libs
-source-path=/home/pinara18/royale/pinaragroup/PinaraUI/src,/home/pinara18/royale/pinaragroup/PinaraUI/locale/{locale} -services=/home/pinara18/royale/pinaragroup/Pinara-0.0.1/WEB-INF/flex/services-config.xml
-locale
en_US
tr_TR
-o
.PinaraUI.swf

and the result is :

Loading configuration: /home/pinara18/royale/apache-royale-0.9.4-bin-js-swf/royale-asjs/frameworks/royale-config.xml

/home/pinara18/royale/pinaragroup/PinaraUI/src/com/likya/pinara/main/PinaraUI.mxml(2): col: 1 Error: This tag could not be resolved to an ActionScript class. It will be ignored.

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fns.adobe.com%2Fmxml%2F2009&data=02%7C01%7Caharui%40adobe.com%7Caf0cf85f07494b07b29a08d6289e227f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636741056993369362&sdata=1Va6Jcpm4p0Ux8tKjZkM%2BOwNrgjY5DQWH0lrn3Ujyt8%3D&reserved=0>
^

/home/pinara18/royale/pinaragroup/PinaraUI/src/com/likya/pinara/main/PinaraUI.mxml(2): col: 1 Error: This tag could not be resolved to an ActionScript class. It will be ignored.

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fns.adobe.com%2Fmxml%2F2009&data=02%7C01%7Caharui%40adobe.com%7Caf0cf85f07494b07b29a08d6289e227f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636741056993369362&sdata=1Va6Jcpm4p0Ux8tKjZkM%2BOwNrgjY5DQWH0lrn3Ujyt8%3D&reserved=0>
^

3.778434625 seconds

I tried changing the application to <mx:Application> and <js:Application> got the similar errors.
27.09.2018 22:49 tarihinde Serkan Taş yazdı:

Ok, I'll check it and replace.


Reply via email to