Hi Carlos,
so now' I've finished two things:
a) I added a new archetype to the framework that automates setting up a new
FlexJS maven project
b) Tested and fine-tuned my "featue-autobuild/*" setup (extra mail on that)
So in order to setup a working FlexJS maven application, all you need to do, is
execute the following command on the command-line in a place where you want to
create a new project:
mvn -s {path to the settings-template.xml of any of the flexjs projects}
archetype:generate -DarchetypeGroupId=org.apache.flex.flexjs.framework
-DarchetypeArtifactId=flexjs-application-archetype
-DarchetypeVersion=0.8.0-SNAPSHOT
Maven will ask you for a groupId, artifactId and version as well as a package.
Assuming you used an artifactId of "lalala", then there will be a child
directory called "lalala" containing the new project. Just change directory
inside that directory and do a:
mvn -s {path to the settings-template.xml of any of the flexjs projects} clean
install
That should be all you need in order to get started.
Please give it a try and tell me if there are problems with this. I'll now
continue documenting a little and then I'll continue with other archetypes
(library, multi-module, flexjs-included-in-server-application, ...)
Chris
________________________________
Von: [email protected] <[email protected]> im Auftrag von Carlos
Rovira <[email protected]>
Gesendet: Donnerstag, 29. September 2016 09:42:15
An: [email protected]
Betreff: Re: [FlexJS][Maven] Simple pom with js output
Ok Chris, I'll try to setup some framework dependencies but without luck.
I'll wait for your scaffolding.
thanks again! :)
2016-09-29 0:07 GMT+02:00 Christofer Dutz <[email protected]>:
> In contrast to the usual setup using Ant where you simply always add all
> framework SWCs, with maven you only add the ones you use, so you need some
> of the Framework dependencies in you pom.
>
>
> Let me whip up the artifacts ... I think that will help a lot :-)
>
>
> Chris
>
> ________________________________
> Von: [email protected] <[email protected]> im Auftrag von
> Carlos Rovira <[email protected]>
> Gesendet: Mittwoch, 28. September 2016 23:31:57
> An: [email protected]
> Betreff: Re: [FlexJS][Maven] Simple pom with js output
>
> Hi Chris,
>
> thanks, I try to remove that tag but now I get a failure :(
>
> [INFO]
> ------------------------------------------------------------------------
>
> [INFO] Building My Own TestFlexJS 0.1.0-SNAPSHOT
>
> [INFO]
> ------------------------------------------------------------------------
>
> [INFO]
>
> [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ TestFlexJS ---
>
> [INFO] Deleting
> /Users/carlosrovira/Dev/Flex/projects/flexjs/TestFlexJS/target
>
> [INFO]
>
> [INFO] --- flexjs-maven-plugin:0.7.0:compile-app (compile-javascript) @
> TestFlexJS ---
>
> [INFO] Executing MXMLC in tool group FlexJS with args:
> [-load-config=/Users/carlosrovira/Dev/Flex/projects/flexjs/TestFlexJS/
> target/compile-app-javascript-config.xml,
> /Users/carlosrovira/Dev/Flex/projects/flexjs/TestFlexJS/
> src/HelloWorld.mxml]
>
> Missing builtin type Object
>
>
> Unable to build SWF
> /Users/carlosrovira/Dev/Flex/projects/flexjs/TestFlexJS/target/javascript
>
>
> [INFO]
> ------------------------------------------------------------------------
>
> [INFO] BUILD FAILURE
>
> [INFO]
> ------------------------------------------------------------------------
>
> [INFO] Total time: 0.951 s
>
> [INFO] Finished at: 2016-09-28T23:28:08+02:00
>
> [INFO] Final Memory: 12M/307M
>
> [INFO]
> ------------------------------------------------------------------------
>
> [ERROR] Failed to execute goal
> org.apache.flex.flexjs.compiler:flexjs-maven-plugin:0.7.0:compile-app
> (compile-javascript) on project TestFlexJS: There were errors during the
> build. -> [Help 1]
>
>
>
> btw, it would be great to get a template and simplify a project setup :)
>
> Thanks
>
> Carlos
>
>
>
> 2016-09-28 23:15 GMT+02:00 Christofer Dutz <[email protected]>:
>
> > Hi Carlos,
> >
> >
> > remove the pluginManagment tags and make the plugins a direct child of
> > build.
> >
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <project xmlns="http://maven.apache.org/POM/4.0.0"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
XML Schema instance namespace -
w3.org<http://www.w3.org/2001/XMLSchema-instance>
www.w3.org
$Date: 2001/03/16 20:25:57 $ $Id: XMLSchema-instance.xsd,v 1.4 2001/03/16
20:25:57 ht Exp $ This schema should never be used as such: the XML ...
> >
> > XML Schema instance namespace - w3.org<http://www.w3.org/2001/
> > XMLSchema-instance>
> > www.w3.org
> > $Date: 2001/03/16 20:25:57 $ $Id: XMLSchema-instance.xsd,v 1.4 2001/03/16
> > 20:25:57 ht Exp $ This schema should never be used as such: the XML ...
> >
> >
> >
> > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> > http://maven.apache.org/maven-v4_0_0.xsd">
> > <modelVersion>4.0.0</modelVersion>
> >
> > <groupId>com.carlosrovira.flexjs.examples</groupId>
> > <artifactId>TestFlexJS</artifactId>
> > <version>0.1.0-SNAPSHOT</version>
> > <packaging>pom</packaging>
> >
> > <name>My Own TestFlexJS</name>
> >
> > <properties>
> > <flexjs.compiler.version>0.7.0</flexjs.compiler.version>
> > </properties>
> >
> > <build>
> > <sourceDirectory>src</sourceDirectory>
> > <plugins>
> > <plugin>
> > <groupId>org.apache.flex.flexjs.compiler</groupId>
> > <artifactId>flexjs-maven-plugin</artifactId>
> > <version>${flexjs.compiler.version}</version>
> > <extensions>true</extensions>
> > <executions>
> > <!-- Add a second execution with output set to JavaScript
> > (Flash is the default) -->
> > <execution>
> > <id>compile-javascript</id>
> > <phase>compile</phase>
> > <goals>
> > <goal>compile-app</goal>
> > </goals>
> > <configuration>
> > <mainClass>HelloWorld.mxml</mainClass>
> > <outputJavaScript>true</outputJavaScript>
> > </configuration>
> > </execution>
> > </executions>
> >
> > <dependencies>
> > <dependency>
> > <groupId>org.apache.flex.flexjs.compiler</groupId>
> > <artifactId>compiler-jx</artifactId>
> > <version>${flexjs.compiler.version}</version>
> > </dependency>
> > </dependencies>
> > </plugin>
> > </plugins>
> > </build>
> >
> > </project>
> >
> >
> > That should probably do the trick.
> >
> >
> > By the way ... I'm currently working on some maven archetypes. These are
> > something like templates to automatically generate and setup new maven
> > projects. Was stuck in preparations for ApacheCon today and struggling to
> > find out why the builds wasn't working, but perhaps I'll manage to
> deliver
> > something tomorrow.
> >
> >
> > Chris
> >
> >
> > Chris
> >
> > ________________________________
> > Von: [email protected] <[email protected]> im Auftrag von
> > Carlos Rovira <[email protected]>
> > Gesendet: Mittwoch, 28. September 2016 23:04:04
> > An: [email protected]
> > Betreff: Re: [FlexJS][Maven] Simple pom with js output
> >
> > Hi Chris,
> >
> > final y I get a BUILD SUCCESS :)
> > But there's no target and no output :(
> > Do you know what could be happen?
> >
> > This is the pom.xml (notice that the project only has one file in src
> > folder called 'HelloWorld.mxml'):
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <project xmlns="http://maven.apache.org/POM/4.0.0"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> > http://maven.apache.org/maven-v4_0_0.xsd">
> > <modelVersion>4.0.0</modelVersion>
> >
> > <groupId>com.carlosrovira.flexjs.examples</groupId>
> > <artifactId>TestFlexJS</artifactId>
> > <version>0.1.0-SNAPSHOT</version>
> > <packaging>pom</packaging>
> >
> > <name>My Own TestFlexJS</name>
> >
> > <properties>
> > <flexjs.compiler.version>0.7.0</flexjs.compiler.version>
> > </properties>
> >
> > <build>
> > <sourceDirectory>src</sourceDirectory>
> > <pluginManagement>
> > <plugins>
> > <plugin>
> > <groupId>org.apache.flex.flexjs.compiler</groupId>
> > <artifactId>flexjs-maven-plugin</artifactId>
> > <version>${flexjs.compiler.version}</version>
> > <extensions>true</extensions>
> > <executions>
> > <!-- Add a second execution with output set to JavaScript
> > (Flash is the default) -->
> > <execution>
> > <id>compile-javascript</id>
> > <phase>compile</phase>
> > <goals>
> > <goal>compile-app</goal>
> > </goals>
> > <configuration>
> > <mainClass>HelloWorld.mxml</mainClass>
> > <outputJavaScript>true</outputJavaScript>
> > </configuration>
> > </execution>
> > </executions>
> >
> > <dependencies>
> > <dependency>
> > <groupId>org.apache.flex.flexjs.compiler</groupId>
> > <artifactId>compiler-jx</artifactId>
> > <version>${flexjs.compiler.version}</version>
> > </dependency>
> > </dependencies>
> > </plugin>
> > </plugins>
> > </pluginManagement>
> > </build>
> >
> > </project>
> >
> > Thanks
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > 2016-09-27 23:25 GMT+02:00 Carlos Rovira <[email protected]
> >:
> >
> > > Thanks Chris,
> > >
> > > I start to see the way...but something is failing. I try some
> > combinations
> > > without luck. The following pom I try is what I think is more close to
> > > something OK:
> > >
> > > <project xmlns="http://maven.apache.org/POM/4.0.0"
> > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> > > http://maven.apache.org/maven-v4_0_0.xsd">
> > > <modelVersion>4.0.0</modelVersion>
> > >
> > > <groupId>com.carlosrovira.flexjs.examples</groupId>
> > > <artifactId>TestFlexJS</artifactId>
> > > <version>0.8.0-SNAPSHOT</version>
> > > <packaging>swf</packaging>
> > >
> > > <name>Apache Flex - FlexJS: Examples: FlexJS: TestFlexJS</name>
> > >
> > > <build>
> > > <plugins>
> > > <plugin>
> > > <groupId>org.apache.flex.flexjs.compiler</groupId>
> > > <artifactId>flexjs-maven-plugin</artifactId>
> > > <extensions>true</extensions>
> > > <configuration>
> > > <mainClass>Main.as</mainClass>
> > > <outputJavaScript>true</outputJavaScript>
> > > </configuration>
> > > </plugin>
> > > </plugins>
> > > </build>
> > >
> > > </project>
> > >
> > > but I get:
> > >
> > > [INFO] BUILD FAILURE
> > >
> > > [INFO] ------------------------------------------------------------
> > > ------------
> > >
> > > [ERROR] Failed to execute goal org.apache.flex.flexjs.
> > > compiler:flexjs-maven-plugin:0.7.0:compile-app (default-compile-app)
> on
> > > project TestFlexJS: *Could not find tool group: FlexJS* -> [Help 1]
> > >
> > > Some clue about what can be the problem?
> > >
> > > Thanks
> > >
> > >
> > > 2016-09-27 21:14 GMT+02:00 Christofer Dutz <[email protected]
> >:
> > >
> > >> Hi Carlos,
> > >>
> > >>
> > >> "swf" and "swc" is more a placeholder for "application" or "library"
> ...
> > >> it's more historically to name them that way.
> > >>
> > >>
> > >> The default of a "swf" module would produce a swf file. But by using
> the
> > >> config option:
> > >>
> > >> <outputJavaScript>true</outputJavaScript>
> > >>
> > >> the output should be JavaScript instead.
> > >>
> > >>
> > >> In the examples I use the default to produce the swf and add a second
> > >> "execution" to produce the JavaScript output (see the pom in
> > >> flex-asjs/examples/flexjs/pom.xml). Additionally I use the
> > >> maven-war-plugin to create a war file from the debug-output and add
> > that to
> > >> the build using the build-helper-maven-plugin (This way the war is
> > >> automatically installed and deployed). The cool thing about this is
> that
> > >> you can use this war as an overlay to bundle the client with a server
> > >> application.
> > >>
> > >>
> > >> I guess I'll be writing some documentation, now that the site
> deployment
> > >> seems to be setup.
> > >>
> > >>
> > >> When building pure JavaScript output you can probably omit the
> > >> playerglobal. Just give it a try.
> > >>
> > >>
> > >> I just had a look at your pom ... you need a packaging of swf,
> > >> additionally you need the outputJavaScript = true. You can omit the
> war
> > and
> > >> buildhelper plugin for now, the output will be in
> > >>
> > >> target/javascript/bin/js-debug
> > >>
> > >>
> > >> Chris
> > >>
> > >>
> > >>
> > >> ________________________________
> > >> Von: [email protected] <[email protected]> im Auftrag von
> > >> Carlos Rovira <[email protected]>
> > >> Gesendet: Dienstag, 27. September 2016 18:12:29
> > >> An: [email protected]
> > >> Betreff: [FlexJS][Maven] Simple pom with js output
> > >>
> > >> Hi Chris,
> > >>
> > >> I'm trying to make a test flex's maven project. I check some projects
> in
> > >> "examples" folder and the poms has SWF packing
> > >> (<packaging>swf</packaging>)
> > >> So first question is...to get JS output I should use other kind of
> > >> packaging?)
> > >>
> > >> I could remove the dependency on player global?
> > >>
> > >> Hope you could help me to configure it a get a successful build.
> > >>
> > >> This is a my basic pom.xml (note: I suppose I can use Main.as as main
> > >> class
> > >> or Main.mxml, I used .as since I'm testing VisualCode extension from
> > >> NextGenAS in parallel)
> > >>
> > >> <project xmlns="http://maven.apache.org/POM/4.0.0"
> > >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > >> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> > >> http://maven.apache.org/maven-v4_0_0.xsd">
> > >> <modelVersion>4.0.0</modelVersion>
> > >>
> > >> <groupId>com.carlosrovira.flexjs.examples</groupId>
> > >> <artifactId>TestFlexJS</artifactId>
> > >> <version>0.1.0-SNAPSHOT</version>
> > >> <packaging>???</packaging>
> > >>
> > >> <name>Apache Flex - FlexJS: Examples: FlexJS: TestFlexJS</name>
> > >>
> > >> <build>
> > >> <plugins>
> > >> <plugin>
> > >> <groupId>org.apache.flex.flexjs.compiler</groupId>
> > >> <artifactId>flexjs-maven-plugin</artifactId>
> > >> <extensions>true</extensions>
> > >> <configuration>
> > >> <mainClass>Main.as</mainClass>
> > >> </configuration>
> > >> </plugin>
> > >> <plugin>
> > >> <groupId>org.apache.maven.plugins</groupId>
> > >> <artifactId>maven-war-plugin</artifactId>
> > >> </plugin>
> > >> <plugin>
> > >> <groupId>org.codehaus.mojo</groupId>
> > >> <artifactId>build-helper-maven-plugin</artifactId>
> > >> </plugin>
> > >> </plugins>
> > >> </build>
> > >>
> > >> <!--<dependencies>
> > >> <dependency>
> > >> <groupId>com.adobe.flash.framework</groupId>
> > >> <artifactId>playerglobal</artifactId>
> > >> <version>23.0</version>
> > >> <type>swc</type>
> > >> <scope>provided</scope>
> > >> </dependency>
> > >> </dependencies>-->
> > >>
> > >> </project>
> > >>
> > >> Thanks in advance
> > >>
> > >>
> > >>
> > >> --
> > >> Carlos Rovira
> > >> http://about.me/carlosrovira
> > >>
> > >
> > >
> > >
> > > --
> > >
> > > Carlos Rovira
> > > Director General
> > > M: +34 607 22 60 05
> > > http://www.codeoscopic.com
> > > http://www.avant2.es
> > >
> > >
> > > Este mensaje se dirige exclusivamente a su destinatario y puede
> contener
> > > informaci?n privilegiada o confidencial. Si ha recibido este mensaje
> por
> > > error, le rogamos que nos lo comunique inmediatamente por esta misma
> v?a
> > y
> > > proceda a su destrucci?n.
> > >
> > > De la vigente Ley Org?nica de Protecci?n de Datos (15/1999), le
> > > comunicamos que sus datos forman parte de un fichero cuyo responsable
> es
> > > CODEOSCOPIC S.A. La finalidad de dicho tratamiento es facilitar la
> > > prestaci?n del servicio o informaci?n solicitados, teniendo usted
> derecho
> > > de acceso, rectificaci?n, cancelaci?n y oposici?n de sus datos
> > dirigi?ndose
> > > a nuestras oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la
> > > documentaci?n necesaria.
> > >
> > >
> >
> >
> > --
> >
> > Carlos Rovira
> > Director General
> > M: +34 607 22 60 05
> > http://www.codeoscopic.com
> > http://www.avant2.es
> >
> >
> > Este mensaje se dirige exclusivamente a su destinatario y puede contener
> > informaci?n privilegiada o confidencial. Si ha recibido este mensaje por
> > error, le rogamos que nos lo comunique inmediatamente por esta misma v?a
> y
> > proceda a su destrucci?n.
> >
> > De la vigente Ley Org?nica de Protecci?n de Datos (15/1999), le
> comunicamos
> > que sus datos forman parte de un fichero cuyo responsable es CODEOSCOPIC
> > S.A. La finalidad de dicho tratamiento es facilitar la prestaci?n del
> > servicio o informaci?n solicitados, teniendo usted derecho de acceso,
> > rectificaci?n, cancelaci?n y oposici?n de sus datos dirigi?ndose a
> nuestras
> > oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentaci?n
> > necesaria.
> >
>
>
>
> --
>
> Carlos Rovira
> Director General
> M: +34 607 22 60 05
> http://www.codeoscopic.com
> http://www.avant2.es
>
>
> Este mensaje se dirige exclusivamente a su destinatario y puede contener
> información privilegiada o confidencial. Si ha recibido este mensaje por
> error, le rogamos que nos lo comunique inmediatamente por esta misma vía y
> proceda a su destrucción.
>
> De la vigente Ley Orgánica de Protección de Datos (15/1999), le comunicamos
> que sus datos forman parte de un fichero cuyo responsable es CODEOSCOPIC
> S.A. La finalidad de dicho tratamiento es facilitar la prestación del
> servicio o información solicitados, teniendo usted derecho de acceso,
> rectificación, cancelación y oposición de sus datos dirigiéndose a nuestras
> oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentación
> necesaria.
>
--
Carlos Rovira
Director General
M: +34 607 22 60 05
http://www.codeoscopic.com
http://www.avant2.es
Este mensaje se dirige exclusivamente a su destinatario y puede contener
información privilegiada o confidencial. Si ha recibido este mensaje por
error, le rogamos que nos lo comunique inmediatamente por esta misma vía y
proceda a su destrucción.
De la vigente Ley Orgánica de Protección de Datos (15/1999), le comunicamos
que sus datos forman parte de un fichero cuyo responsable es CODEOSCOPIC
S.A. La finalidad de dicho tratamiento es facilitar la prestación del
servicio o información solicitados, teniendo usted derecho de acceso,
rectificación, cancelación y oposición de sus datos dirigiéndose a nuestras
oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentación
necesaria.