Ok, I think this approach could be working. Probably you'll need to introduce a new special scope in order not to intersect with scopes used by people. Or may be instead of scope it would be possible to use some other classification feature. I guess only playerglobal.swc/airglobal.swc contain Object class declaration in catalog.xml (<def id="Object" />) - probably this can be used as a 'special' marker instead of maven scope.

On 02.06.2014 19:20, Christofer Dutz wrote:
Well I'm not assuming that "isInternal" isn't used and can be ignored, I'm just assuming 
that I can make a Source internal by providing the appropreate scopes in flexmojos and hence make 
the "copy the file around and internally rename" hack obsolete.

But I'll be able to investigate this in more detail when I'm back home.

Chris
________________________________________
Von: Alexander Doroshko <alexander.doros...@jetbrains.com>
Gesendet: Montag, 2. Juni 2014 17:10
An: dev@flex.apache.org
Betreff: Re: AW: AW: AW: Is/Was there a requirement for the playerglobal.swc 
having to be named exactly this way?

I don't know.
I'm sure Velo also did some simple testing before releasing Flexmojos
3.7.0. But the problem came in real-life complex multi-modular project
[1] and he had to release 7.0.1.
flex2.compiler.Source#isInternal() method has 24 usages and I can't say
for sure that all of them can be simply ignored without impact on
compilation result.

[1] https://www.mail-archive.com/flex-mojos%40googlegroups.com/msg06459.html

On 02.06.2014 18:26, Christofer Dutz wrote:
But why does it produce running applications if I remove the special handling? 
(I am using the legacy compiler)

Chris

________________________________________
Von: Alexander Doroshko <alexander.doros...@jetbrains.com>
Gesendet: Montag, 2. Juni 2014 16:16
An: dev@flex.apache.org
Betreff: Re: AW: AW: Is/Was there a requirement for the playerglobal.swc having 
to be named exactly this way?

You are right that playerglobal.swc has "external" dependency scope in
Maven terms (and -external-library-path in terms of Flex compiler
options). Custom SWCs also may have "external" scope configred by user
who wants to omit inclusion of classes from this custom SWC. From maven
point of view both playerglobal.swc and custom.swc look the same. But
compiler still needs to handle them differently.
So far I don't see a way of making existing legacy compiler work
correctly with renamed playerglobal.swc.

On 02.06.2014 15:40, Christofer Dutz wrote:
I Just had a look at the code and it seems that the hard-coded name is only used in order 
to decide if the dependency is "internal".
In Flexmojos I can set scopes "internal" and "external" (I think in Flexmojos Scopes the 
playerglobal should be "external").
So I'll investigate if setting the playerglobal dependency to Mavens scope 
"external" which should result in the same behaviour.

If the playerglobal is not needed to be included in the output as the runtime provides 
this, "external" seems to be exactly that and
I think providing that scope in maven is cleaner than renaming the package and 
then interenally handling it differently.

What do you think?

Chris


________________________________________
Von: Alexander Doroshko <alexander.doros...@jetbrains.com>
Gesendet: Montag, 2. Juni 2014 10:01
An: dev@flex.apache.org
Betreff: Re: AW: Is/Was there a requirement for the playerglobal.swc having to 
be named exactly this way?

I'm afraid hardcoded "playerglobal.swc" is still not wiped out from the
compiler sources. See
flex2.compiler.mxml.lang.StandardDefs#SWC_PLAYERGLOBAL, its usage in
flex2.compiler.CompilerSwcContext#createSource() and further usages of
flex2.compiler.Source#isInternal(). With renamed playerglobal.swc
compiler will just work incorrectly.

On 01.06.2014 3:09, Christofer Dutz wrote:
But if I build using maven, it shouldn't matter ... so I was wandering why Velo 
implemented this extremely complicated renaming ...
Seems to work nicely without :-)

Chris

-----Ursprüngliche Nachricht-----
Von: Justin Mclean [mailto:jus...@classsoftware.com]
Gesendet: Samstag, 31. Mai 2014 22:15
An: dev@flex.apache.org
Betreff: Re: Is/Was there a requirement for the playerglobal.swc having to be 
named exactly this way?

HI,

So is this now an obsolete requirement?
As far as I aware Flash Builder expects it to be called playerglobal.swc.

Thanks,
Justin

Reply via email to