In this case I think it would make things a lot easier for me, if we introduced 
an Interface that all "Compiler" main classes implement. I'm talking about the 
default Flex compiler, Falcon, FlexJS and whatever other compiler there might 
be.

Was thinking of something like this:

public interface Compiler {

        void compile(String[] args);

}

This way I wouldn't have to trick around using Reflection.


Chris



-----Ursprüngliche Nachricht-----
Von: Christofer Dutz [mailto:christofer.d...@c-ware.de] 
Gesendet: Sonntag, 26. Oktober 2014 17:07
An: dev@flex.apache.org
Betreff: AW: Adding support for FlexJS & FlexJX to Flexmojos

So how would I setup this scenario?
I have a flexjs-compiler jar artifact that has dependencies on 
falcon-compiler.jar?
Would I add an additional flexjs-compiler artifact to the rest and somehow tell 
Flexmojos which compiler implementation class it should use? Having a look at 
the code, I think it would be an option to have something like this:

    <build>
        <sourceDirectory>src/main/flex</sourceDirectory>
        <plugins>
            <plugin>
                <groupId>net.flexmojos.oss</groupId>
                <artifactId>flexmojos-maven-plugin</artifactId>
                <version>7.1.0-SNAPSHOT</version>
                <extensions>true</extensions>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.flex.compiler</groupId>
                        <artifactId>falcon-compiler</artifactId>
                        <version>0.0.3-SNAPSHOT</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

For normal compilation and something like this for fle

    <build>
        <sourceDirectory>src/main/flex</sourceDirectory>
        <plugins>
            <plugin>
                <groupId>net.flexmojos.oss</groupId>
                <artifactId>flexmojos-maven-plugin</artifactId>
                <version>7.1.0-SNAPSHOT</version>
                <extensions>true</extensions>
                <configuration>
                    <compiler>flexjs </sourceFile>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.flex.compiler</groupId>
                        <artifactId>falcon-compiler</artifactId>
                        <version>0.0.3-SNAPSHOT</version>
                    </dependency>
                    <dependency>
                        <groupId>org.apache.flex.compiler</groupId>
                        <artifactId>falcon-js </artifactId>
                        <version>0.0.3-SNAPSHOT</version>
                    </dependency>
            </plugin>
        </plugins>
    </build>

Then I would need some code in Flexmojos to use MXMLJSC instead of MXMLC. So it 
seems there is no change needed to the Framework?

Chris





-----Ursprüngliche Nachricht-----
Von: Erik de Bruin [mailto:e...@ixsoftware.nl]
Gesendet: Sonntag, 26. Oktober 2014 16:32
An: dev@flex.apache.org
Betreff: Re: Adding support for FlexJS & FlexJX to Flexmojos

FalconJX takes care of the cross compilation to JS. This is a separate project 
in the flex-falcon repository. It basically uses Falcon to create the AST and 
then traverses that to create Javascript. To complicate
matters: this Javascript is then passed to the Google Closure Compiler for 
optimalisation and minification ;-)

EdB



On Sunday, October 26, 2014, Christofer Dutz <christofer.d...@c-ware.de>
wrote:

> Hi,
>
> well I'll currently treat my work on supporting Flacon as done and now 
> want to concentrate on supporting the first JavaScript output support to it.
> I could need a little help getting started with this.
>
> Assuming I was building a classic Falcon application, how exactly is 
> the JavaScript output triggered? Is there a commandline switch for 
> this? Does the compiler simply need an additional Jar (Or multiple)?
> What changes in the FDK are needed?
>
> Chris
>
>

--
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Reply via email to