swftools-common
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Swftools-common] building a 'phony' playerglobal.swc


From: Steve Linabery
Subject: [Swftools-common] building a 'phony' playerglobal.swc
Date: Fri, 1 May 2009 12:56:07 -0500
User-agent: Mutt/1.5.18 (2008-05-17)

Hi,

I have been trying to build the Adobe Flex framework from their "MPL" "source" 
"SDK" (for background, and the reason for all those quote marks, see [1]).

Briefly, there is a file called playerglobal.swc that contains library.swf, 
which can almost be described as a "header" file for the flash.* classes.[2] 
Roughly half of the ActionScript source files for the Flex framework include 
references to classes in the flash.* classpath (e.g. 
flash.net.URLRequestMethod).

AFAICT (Big Caveat!), the mxmlc ActionScript compiler does not actually pull in 
code from the implemented classes in playerglobal.swc, but rather uses that 
file for compile-time type checking and to ensure that, for example, there 
really is a "flash.foo.Bar.getFoo():Object" method.

Various Free flashplayer projects have reverse-engineered and implemented 
much/most of the flash API described in playerglobal.swc. Unfortunately (for 
someone like me trying to compile using Adobe's mxmlc tool), they don't expose 
the API definitions in a way that mxmlc can use for compilation-time includes, 
i.e. in a .swc file.

If I run 'swfdump -atp library.swf' (the swf contained in playerglobal.swc) I 
get a ton of interesting output.

It seems to me that one could, for purposes of compiling against 
playerglobal.swc, somehow generate "stubs" based on the information in Adobe's 
.swc. In other words, create a source tree where all the interface definitions 
resided, but there was no real implementation of methods. I.e., 
"flash.foo.Bar.getFoo():Object" would just be implemented to return null, and 
all methods returning void would just be blank. Then one could compile that 
tree, use Adobe's tools to generate a .swc from it, and then be able to compile 
the Flex framework without depending on their closed-source binary.

I believe someone on this list would possess the expertise to advise me on how 
to proceed, or at least let me know if I am attempting to do the impossible.

Again, see [1] for why I am so concerned with this nonsense. It boils down to 
this: I want to use Flex for a project (http://ovirt.org) that is destined for 
inclusion in the Fedora distribution.

Thank you!
Steve Linabery

[1] http://forums.adobe.com/message/1921437
[2] http://www.adobe.com/devnet/flex/articles/link_load_08.html




reply via email to

[Prev in Thread] Current Thread [Next in Thread]