flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christofer Dutz <christofer.d...@c-ware.de>
Subject Flex SDK Converter Maven Extension available
Date Fri, 17 Apr 2015 18:37:54 GMT
Hi Guys,


I invested several days in extending Flexmojos to use the flex-sdk-converter (AKA Mavenizer).
I ended up with a version of Flexmojos that allowed to build flex applications without any
dependencies at all (compiler, player/airglobal, framework were added automatically). By setting
some properties flexmojos would auto-download the resources and convert them. I even managed
to have the compiler resources automatically added to the plugin classpath.


The huge downside of this approach is that other maven plugins don't deal really well with
this. For example the dependency:tree plugin doesn't show the libs and IntelliJ doesn't either.
I was also really worried that I was working around mavens dependency resolutions strategies
which could mess up some things big time.


I therefore tried something completely different. I created a core maven extension. You can
think of this as a plugin for maven itself. With this I added a Maven "EventSpy" which monitors
Maven for resolution requests to Flex related artifacts. If one of these fail to resolve,
the SDK Converter kicks in to download, convert and install the artifacts. Depending on the
Maven version you are using this has to be installed slightly different.


-------------------------------------------------------------

If you are using Maven 3.3.1 or above (Yeah ... not too much above that yet ;-):

-------------------------------------------------------------

- create a ".mvn" directory in your projects root.

- create an "extensions.xml" inside that directory with the following content

<?xml version="1.0" encoding="UTF-8"?>
<extensions>
    <extension>
        <groupId>org.apache.flex.utilities.converter</groupId>
        <artifactId>maven-extension</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </extension>
</extensions>

-------------------------------------------------------------

If you are using Maven below 3.3.1

-------------------------------------------------------------

Copy the flex-maven-extension jar to your MAVEN_HOME/lib/ext directory
(Have to do a little more testing with this though ... the 3.3.1 approach should work)


So you should be able to build the above project without having ANYTHING related to flex installed
by executing:

mvn install

I did change 2 minor things in the current sdk-converter though ... FDKs now have three digit
versions an no longer contain the build number ... so instead of using 4.14.1.20150325 you
just use 4.14.1 instead. Additionally now for the flash sdk a "com.adobe.flash:framework:pom"
is created in order to have all sdk parts in sync.

Really glad I didn't release the converter the first time ;-)

Have Fun, looking forward for feedback

    Chris







Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message