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.