Subclasses just to get around this problem adds weight.  It doesn't matter so 
much for MXRoyale, but IMO this sort of thing may crop up elsewhere.   We might 
need to provide finer-grain control over dependencies in general.  To me, the 
base problem is that we pile every SWC into the library-path.  That really 
won't scale, IMO.  Imagine if there were 100 SWCs to load for every compile.  
It would push the limits on compiler memory and resolving identifiers and 
probably push the limits on code-hinting in IDEs.

So, if we have 100 swcs and potential CSS collisions, maybe we should organize 
them in some way other than one single folder.  I think the -library-path 
doesn't search subfolders, so we could group certain kinds of SWCs in 
subfolders and have different -config.xml files that have different default 
-library-paths.

For that matter, we could be explicit about the SWCs in the library-path in 
different -config.xml files.  Either royale-config.xml would not reference 
MXRoyale or it would and we would have a basic-config.xml that doesn't.

The compiler lets you add to the library-path with +=.  I don't know if it 
supports -= or what it would take to get that to work.

Lots of choices.  The simplest one is to be explicit in the -config.xml files.

My 2 cents,
-Alex

On 10/14/18, 10:31 AM, "Harbs" <harbs.li...@gmail.com> wrote:

    That’s problematic. I look at it that it’s a limitation that you have to 
declare the dependencies in Maven. I’d rather that everything should just be 
available.
    
    What about subclassing the basic classes in MXRoyale so we don’t need to 
declare new CSS dependencies for Basic components there?
    
    > On Oct 14, 2018, at 7:26 PM, Alex Harui <aha...@adobe.com.INVALID> wrote:
    > 
    > Ah yes, I hadn't thought about that.  Folks only using Basic should 
probably find a way to not include MXRoyale and SparkRoyale on the 
library-paths.
    > 
    > So I think some chocies are:
    > -Delete the MXRoyale and SparkRoyale swcs from frameworks/libs and 
frameworks/js/libs.
    > -Explicitly list which SWCs you want in your app.
    > 
    > IMO, as Royale picks up more and more component sets, folks will have to 
be more explicit about their SWC dependencies.  That's one thing Maven is 
better at.
    > 
    > -Alex
    > 
    > On 10/14/18, 7:33 AM, "Yishay Weiss" <yishayj...@hotmail.com 
<mailto:yishayj...@hotmail.com>> wrote:
    > 
    >    Same result.
    > 
    > 
    > 
    >    ________________________________
    >    From: Piotr Zarzycki <piotrzarzyck...@gmail.com>
    >    Sent: Sunday, October 14, 2018 4:51:56 PM
    >    To: dev@royale.apache.org
    >    Subject: Re: Royale Compiler Brings Wrong Dependencies
    > 
    >    Maybe you should try point to the theme from Basic.
    > 
    >    On Sun, Oct 14, 2018, 1:09 PM Yishay Weiss <yishayj...@hotmail.com> 
wrote:
    > 
    >> No. We’re running the compiler-jx project with the following arguments:
    >> 
    >> 
    >> 
    >> +royalelib="C:\dev\flexjs\royale-asjs\frameworks"
    >> 
    >> +configname=royale
    >> 
    >> -debug
    >> 
    >> -closure-lib=C:\dev\goog\closure-library
    >> 
    >> 
    >> 
--js-library-path+=C:\Users\Yishay\Documents\printui-flexjs\PortedPrintUI\lib
    >> 
    >> 
    >> 
--js-external-library-path+=C:\Users\Yishay\Documents\printui-flexjs\PortedPrintUI\typedefs
    >> 
    >> --remove-circulars=true
    >> 
    >> --html-template=src\resources\mdl-js-index-template.html
    >> 
    >> --js-compiler-option+=--skip_type_inference
    >> 
    >> --targets=JSRoyale
    >> 
    >> 
    >> 
C:\Users\Yishay\Documents\printui-flexjs\PortedPrintUI\src\PortedPrintUI.mxml
    >> 
    >> 
    >> 
    >> ________________________________
    >> From: Piotr Zarzycki <piotrzarzyck...@gmail.com>
    >> Sent: Sunday, October 14, 2018 12:41:41 PM
    >> To: dev@royale.apache.org
    >> Subject: Re: Royale Compiler Brings Wrong Dependencies
    >> 
    >> Hi Yishay,
    >> 
    >> Do you load during the build -theme?
    >> 
    >> Piotr
    >> 
    >> On Sun, Oct 14, 2018, 9:45 AM Yishay Weiss <yishayj...@hotmail.com> 
wrote:
    >> 
    >>> Hi,
    >>> 
    >>> We’re seeing a bug where beads from MXRoyale are loaded even though the
    >>> project doesn’t reference MXRoyale. This results in a runtime error when
    >>> opening a ComboBox.
    >>> 
    >>> Specifically, it looks like these lines
    >>> 
    >>> Basic|ComboBoxList
    >>> {
    >>>        IDataProviderItemRendererMapper:
    >>> 
    >> 
ClassReference("mx.controls.listClasses.DataItemRendererFactoryForICollectionViewData");
    >>>        IBeadModel:
    >>> 
    >> 
ClassReference("mx.controls.beads.models.SingleSelectionICollectionViewModel");
    >>> }
    >>> 
    >>> Are bring read from MXRoyale’s defaults.css, changing the default model
    >>> for ComboBoxList. I haven’t been able to reproduce this in a simple [1]
    >>> example.
    >>> 
    >>> I spent some time in the compiler trying to figure out what was going on
    >>> but no luck so far. What I have noticed is that in
    >>> RoyaleJSTarget.findAllCompilationUnitsToLink() the list of found
    >>> dependencies includes compilation units I wouldn’t expect to find. For
    >>> example, in the simple test [1] I created one of the dependencies has 
the
    >>> AceJS compilation unit.
    >>> 
    >>> Any pointers?
    >>> 
    >>> [1] 
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpaste.apache.org%2FN5As&amp;data=02%7C01%7Caharui%40adobe.com%7C1d5f7c0c64674f47286308d631fadc24%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636751350843541623&amp;sdata=cdmNUHByZWf1%2BiimmpEgjy%2FAoZzLTmbZo6s%2Bnvy7ud0%3D&amp;reserved=0
 
<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpaste.apache.org%2FN5As&amp;data=02%7C01%7Caharui%40adobe.com%7C1d5f7c0c64674f47286308d631fadc24%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636751350843541623&amp;sdata=cdmNUHByZWf1%2BiimmpEgjy%2FAoZzLTmbZo6s%2Bnvy7ud0%3D&amp;reserved=0>
    

Reply via email to