Hi Alex,

Thank you for the resourcemanager.

This is the fork of the project : https://github.com/nihavend/as3corelib

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]>
*Reply-To: *"[email protected]" <[email protected]>
*Date: *Monday, October 1, 2018 at 3:25 PM
*To: *"[email protected]" <[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%7C31f0f3ea00cf446844e508d627ecc07c%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636740295141197296&sdata=7NhAR12xSuuU9r%2FEw4iNMYr6W4CpwGXgW0YrNZimdYo%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%7C31f0f3ea00cf446844e508d627ecc07c%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636740295141197296&sdata=%2BgnjWg4urfLEzV%2FCwo6jdpMhwNI4cca9IZYN8%2BPW3vU%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%7C31f0f3ea00cf446844e508d627ecc07c%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636740295141197296&sdata=7NhAR12xSuuU9r%2FEw4iNMYr6W4CpwGXgW0YrNZimdYo%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%7C31f0f3ea00cf446844e508d627ecc07c%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636740295141197296&sdata=MqMmB3UlswEUjGk6bOlUbkX8F50kLdQa0oXi43yVULY%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%7C31f0f3ea00cf446844e508d627ecc07c%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636740295141197296&sdata=bZPSBrbr0tXIJJGPhaqTV1BgA6myp0h6lS2ezijBnJk%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%7C31f0f3ea00cf446844e508d627ecc07c%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636740295141197296&sdata=bZPSBrbr0tXIJJGPhaqTV1BgA6myp0h6lS2ezijBnJk%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