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%7Cb9aa24d994ca4216e0e308d627d240eb%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636740181320258232&sdata=TEwSzMjXTxLp7Yi%2BXo%2FLdunCX7nwFMwBYOMAbyHgV4I%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
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]>
*Reply-To: *"[email protected]" <[email protected]>
*Date: *Monday, October 1, 2018 at 12:15 PM
*To: *"[email protected]" <[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%7Cb9aa24d994ca4216e0e308d627d240eb%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636740181320258232&sdata=TEwSzMjXTxLp7Yi%2BXo%2FLdunCX7nwFMwBYOMAbyHgV4I%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
aroyale/org/apache/royale/reflection/getDefinitionByName.as" ?
5. Use ValueEvent instead of FocusEvent.
Used only in (ResourceManagerImpl.as), ok !
6. Also, create something
likeCore/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
likeCore/src/main/royale/org/apache/royale/utils/OSUtils.as to
get the locale.
There is
aroyale/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%7Cb9aa24d994ca4216e0e308d627d240eb%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636740181320258232&sdata=q3SFgUC2AK5mslObctfmltFPQaBxLdH89KHKUKIPKf4%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%7Cb9aa24d994ca4216e0e308d627d240eb%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636740181320268237&sdata=S%2FctKSu1D1M%2Bm3Pd3g%2FWOiIgG8tdxBvEApW0aUkZ%2B%2Fg%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%7Cb9aa24d994ca4216e0e308d627d240eb%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636740181320278242&sdata=VFA3QEwBvi5Te1Vgt%2F%2FCSbFheKzeIRM6VYfqPsYa%2FGE%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.