flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <aha...@adobe.com>
Subject Re: AW: AW: [FLEXJS] Problem compiling Core extern
Date Tue, 03 May 2016 20:05:48 GMT

On 5/3/16, 11:53 AM, "Christofer Dutz" <christofer.dutz@c-ware.de> wrote:

>It would really be good if we could get together at ApacheCon US and sort
>out the compilation problems. To me the current state of the FlexJS /
>Extern / Framework feels more and more like something MacGyver banged

I will spend the time and money to meet with you, but I am not going to
look forward to it if all I'm going to hear is complaints.  The fact we're
are even discussing Maven for FlexJS is because a group of volunteers were
able to produce a proof-of-concept that enough folks found interesting.
Maybe you always take the time to carefully write your POCs, but I don't,
and at least the current code does enough to continue to get people

>I am trying to destil a default design pattern, but it seems impossible
>as there seem to be hacks and exceptions all over the place.

Maybe there are exceptions to the default pattern, but basically, we are
trying to use conditional compilation to output multiple targets from a
single code base.  Maybe Maven isn't the right build tool to build the
framework SWCs.  In FlexJS, I see a difference between framework
developers and application developers.  Folks working on the framework
have to abstract away runtime/platform differences so the application
developers can use the framework SWCs to develop apps without having to
worry about platform differences.  Maybe we should just use Ant to create
the framework SWCs or the pieces that finally go in the framework SWCs and
have Maven publish those SWCs so that application developers can use Maven
for their projects.

>Problems I'm currently having:
>- I seem to be unable to get around the problem of the missing TextField
>class when compiling the JavaScript
>The definition of base class TextField was not found.
>        public class CSSTextField extends TextField
>- If I skip the JavaScript generation I have to comment out line 70 of
>ApplicationBase as this seems to produce this error:
>Error: Call to a possibly undefined method info through a reference with
>static type Class.
>                _info = c.info();

You can check the Ant console output to see if these errors are somehow
being ignored, but otherwise, it sounds like you are still compiling every
file in the SWC and maybe have some other configuration issue like whether
playerglobal/airglobal or js.swc is being used for the built-in classes.

>- If I skip the SWC compilation and want to continue with the Extern
>compilation I get the same problem as with the JavaScript compilation as
>the TextField is missing too.
>- I can't detect if a module produces just an extern-swc, just an swc, a
>swc containing JavaScript or a mixture of this. Currently this logic is
>hard-coded in the build scripts, but I would like to make the builds
>simpler. What could help me detect what to build? The only thing I can
>automate is the generation of ActionScript code from JavaScript via
>externc (here you have to provide which files to include/exclude. If the
>number of files is empty the plugin does nothing)

AFAIK, every project in frameworks/projects produces JS files, an
externs.swc, and a final SWC that contains the JS files.  ExternC
shouldn't be used on code in frameworks/projects.

>- Config options that could be made in the config-xml files are added as
>arguments to the compiler. As we don't have a xml schema for the config
>files it's really hard to find out where to put stuff.

I don't know of a way to use variable substitution in the config-xml
files, so that's why some SWCs are specified on the command-line in

>I was planning on talking about the new FlexJS compilation with Maven at
>ApacheCon, but it feels like I will have to fallback to the old talk
>about Flexmojos, but even with this I am in great doubt that it would
>actually still work. So it will be a theoretical talk about something
>that might come, but what I can talk about won't shed a good light on the
>project :-(

Well, it wasn't for lack of trying.  I have put all feature development on
hold for the last 3 weeks to try to get Maven to work for Falcon and
FlexJS.  I hope you agree that Falcon is ready.  But all I think our
community really wants for FlexJS is a set of Maven artifacts they can use
in their apps.  I'm not sure they care whether we create those artifacts
entirely with Maven.  I know you claimed Maven would make it easier for
framework developers to contribute to the framework, but whether we use
Maven or not, at least trying to use Maven helped us get a bit more
consistency in the code bases.


View raw message