You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by Frédéric THOMAS <we...@hotmail.com> on 2015/04/21 01:19:22 UTC

Re : Re^10: Flex SDK Converter Maven Extension available

I think it is great as well but would like to be able to do a complete build on CI having the SDK in my repo manager, so at the moment, I still need to rely on the deployer until a public mavenized version is out.

Otherwize I still have no clue why I add an error:null, hope Ill have more time tomorrow to try to figure it out and try again with your last version.

But anyway and once again, great job, it is awesone the FM integration you did of the mavenizer.

Cheers,
-Fred

--- Message initial ---

De : "Christofer Dutz" <ch...@c-ware.de>
Envoyé : 20 avril 2015 23:24
A : dev@flex.apache.org
Objet : Re^10: Flex SDK Converter Maven Extension available

Ok ... so with my latest change, I was able to build Flexmojos without any Flex related artifacts in my local repo. It correctly downloaded flash and air as well as all of our released Flex SDKs and the entire test-suite passed without a single failure ... new SNAPSHOT uploaded by the way ;-)

I really like this solution. First of all it's so simple (just copy one jar to your maven lib/ext and all of your Flex projects have their stuff installed automatically ... as soon as we release a new FDK or you want to target a new Flash or Air version (Only restriction is that we have to list it in our installer config file), all you have to do is change the dependency version to the new one and run a "mvn install" and it will automatically get the missing parts. And all of this without giving up on any of the maven features.

With this in place I don't think we even need to release the FDK as maven artifacts.

So I think we should experiment a little with this, fix any eventually found bugs/problems and release it some time soon.

One thing I did notice, is that I have two implementations of download in the code ... the fast and the safe. I needed the safe one to download the fontkit libs. The fast is about 3 times faster than the safe one ... unfortunately I have noticed the fast being insanely slow in about 10% of the time. Eventually doing all with the safe version would be an option.

Chris


________________________________________
Von: Christofer Dutz <ch...@c-ware.de>
Gesendet: Montag, 20. April 2015 21:24
An: dev@flex.apache.org
Betreff: AW: AW: AW: Flex SDK Converter Maven Extension available

Ok I just fixed a little bug in the converter ...

As I stripped the build number from the flex version, no rsl was copied to the maven repo. I just fixed that problem, now the rsls are correctly deployed to the output.

Chris

________________________________________
Von: Christofer Dutz <ch...@c-ware.de>
Gesendet: Montag, 20. April 2015 09:17
An: dev@flex.apache.org
Betreff: AW: AW: AW: Flex SDK Converter Maven Extension available

The reason why the conversion of a Flex SDK needs flash resources, is the fact that in the Flex SDK we don't provide all themes as swcs. I made the flex converter automatically compile any non swc themes to swc format in order to be able to use all themes equally. In order to compile, you need a playerglobal and that's not present in the binary distribution. Therefore the flex converter downloads the minimum version for this task only.

Regarding the FM error. Did you compile with "-X" option to show stacktraces? Would be helpful as the log doesn't really show much usefull information. One thing I could immagine: The failling project ... does this use font encoding? This is no longer part of the "compiler" artifact. If your module needs font encoding and font embeding, you need to add an additional plugin dependency to com.adobe:fontkit:1.0:pom

Chris


________________________________________
Von: Frédéric THOMAS <we...@hotmail.com>
Gesendet: Sonntag, 19. April 2015 20:40
An: dev@flex.apache.org
Betreff: RE: AW: AW: Flex SDK Converter Maven Extension available

Hey Chris,

Yep, was that, thanks !

The project was compiling nicely with FM 7.0.1, SDK 4.14, I changed it to SDK 4.13.0 and FM 7.1.0-SNAPSHOT to verify.

1- I noticed you have a dependency to flash player 10.2, is this for the minimum version in case it is not specify ?
2- I removed the FM dependency of flexmojos-threadlocaltoolkit-wrapper to fonkit which is not in the compiler pom anymore and while it compiles some projects it fails on others with something not really helpful https://paste.apache.org/nIkS

Does it mean something for you ?

Frédéric THOMAS

> From: christofer.dutz@c-ware.de
> To: dev@flex.apache.org
> Subject: AW: AW: Flex SDK Converter Maven Extension available
> Date: Sun, 19 Apr 2015 17:21:47 +0000
>
> Yup ... I know exactly why you are getting this cause I had to figgure that out too :-)
> Maven 3.3 has higher requirements for the Java Version ... you need at least a Java 1.7 VM
>
> Chris
>
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: Frédéric THOMAS [mailto:webdoublefx@hotmail.com]
> Gesendet: Sonntag, 19. April 2015 18:46
> An: dev@flex.apache.org
> Betreff: RE: AW: Flex SDK Converter Maven Extension available
>
> Hi Chris,
>
> Just came back home and was trying FM 7.1.0-SNAPSHOT, I droped flex-maven-extension.jar into the lib/ext folder along with the extensions.xml of my fresh maven 3.3.1 (I still was in 3.0.5) and got this even though after I removed the extensions.xml:
>
> Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
>
> Any clue ?
>
> Frédéric THOMAS
>
> > From: christofer.dutz@c-ware.de
> > To: dev@flex.apache.org
> > Subject: AW: Flex SDK Converter Maven Extension available
> > Date: Sun, 19 Apr 2015 11:50:07 +0000
> >
> > Ok ... so maven and it's classloading can be a PITA ;-)
> >
> > But the latest version now works with all Maven versions from 3.1.1 up to 3.3.1.
> > So if you copy the fat jar from
> > flex-utils/mavenizer/maven-extension/target/flex-maven-extension-1.0.0.jar to MAVEN_HOME/lib/ext and try to build a Flex project with Flexmojos, the magic will kick in instantly.
> >
> > Unfortunately my last changes seem to have broken the ability to include the extension using the ".mvn/extensions.xml" mechanism. I'll fix that as soon as possible.
> >
> > Chris
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Christofer Dutz [mailto:christofer.dutz@c-ware.de]
> > Gesendet: Samstag, 18. April 2015 18:18
> > An: dev@flex.apache.org
> > Betreff: AW: Flex SDK Converter Maven Extension available
> >
> > Ok ... today I started testing the extension with older Maven versions
> > and with the extension installed in MAVEN_HOME/lib/ext instead of
> > having it referenced from ".mvn/extension.xml" and it seems I have to
> > put a little more work into this option. But feel free to test it with
> > 3.3.1 :-)
> >
> > Chris
> >
> > ________________________________________
> > Von: Christofer Dutz <ch...@c-ware.de>
> > Gesendet: Samstag, 18. April 2015 02:32
> > An: dev@flex.apache.org
> > Betreff: AW: Flex SDK Converter Maven Extension available
> >
> > Snapshot should be available. At least I deployed it a few hours ago
> > :-)
> >
> > Gesendet mit meinem HTC
> >
> > ----- Reply message -----
> > Von: "Frédéric THOMAS" <we...@hotmail.com>
> > An: "dev@flex.apache.org" <de...@flex.apache.org>
> > Betreff: Flex SDK Converter Maven Extension available
> > Datum: Fr., Apr. 17, 2015 20:56
> >
> > Hi Chris,
> >
> > Seems cool, do you have a snapshot ?
> > I will have more time on Sunday to continue the converter test and could be a good opportunity to try this version too.
> >
> > Thanks,
> > Frédéric THOMAS
> >
> > > From: christofer.dutz@c-ware.de
> > > To: dev@flex.apache.org
> > > Subject: Flex SDK Converter Maven Extension available
> > > Date: Fri, 17 Apr 2015 18:37:54 +0000
> > >
> > > 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
> > >
> > >
> > >
> > >
> > >
> > >
> >
>


AW: Re : Re^10: Flex SDK Converter Maven Extension available

Posted by Christofer Dutz <ch...@c-ware.de>.
The Problem with Everything thats not a core extension is that it will not get executed if maven can't resolve a plugin dependency or a normal dependency. So if you update the maven version to a new version. The build will fall before your extension/plugin had a chance to do anything. With the flex-maven-extension this kicks in between the reading of the Pom xml files and the build starting. That's why I can intercept before the build fails.

Chris

Gesendet mit meinem HTC

----- Reply message -----
Von: "Frédéric THOMAS" <we...@hotmail.com>
An: "dev@flex.apache.org" <de...@flex.apache.org>
Betreff: Re : Re^10: Flex SDK Converter Maven Extension available
Datum: Di., Apr. 21, 2015 10:48

> but Alex strictly objected that when I started working on the
Mavneizer. Even if the SDK build does have such an environment variable
to allow CI builds. If anything here has changed, I would love to allow
that.

Same here !

Btw, if the mavenized sdk was public, I would need to accept the licences only once before it be stored into my repo manager, even though the maven extension allows to build it easily on dev computer from inside your project (and I love it), it needs manual user interaction, for CI, the artifacts should be already into my repo manager for a fresh build and that's a requirement for companies, for now, it is possible only because I can use the deploy feature of the mavenizer, it is not a standard way though.

> I really like this solution. First of all it's so simple (just copy
 one jar to your maven lib/ext and all of your Flex projects have their
stuff installed automatically

Can't you use the same technic I used for the flexmojos-compatible-model-validator to install it from the flex-maven-extension the first time the user try to use it, failling nicely with a nice message saying "try again, everything has been installed and ready to use now" ? [1]

Frédéric THOMAS

[1] https://github.com/doublefx/flexmojos-compatible-model-validator/blob/master/src/main/java/com/doublefx/maven/utils/flexmojos/mavenValidator/FlexMojosExtensionInstallationHelper.java

> From: christofer.dutz@c-ware.de
> To: dev@flex.apache.org
> Subject: AW: Re : Re^10: Flex SDK Converter Maven Extension available
> Date: Tue, 21 Apr 2015 07:44:41 +0000
>
> If we were to publish all themes equally as swcs though, I wouldn't need to compile them in the mavenization process and we could get rid of the additional playerglobal 10.2 download, which has to be confirmed.
>
> I would love to allow setting an environment variable ... something like:
> -DI_ACCEPT_ADOBES_LICENSE_AGREEMENT_FOR_FLASH=true
> -DI_ACCEPT_ADOBES_LICENSE_AGREEMENT_FOR_AIR=true
> or
> -DI_ACCEPT_ADOBES_LICENSE_AGREEMENT_FOR_THE_FONTKIT=true
>
> but Alex strictly objected that when I started working on the Mavneizer. Even if the SDK build does have such an environment variable to allow CI builds. If anything here has changed, I would love to allow that.
>
> Chris
>
> ________________________________________
> Von: Christofer Dutz <ch...@c-ware.de>
> Gesendet: Dienstag, 21. April 2015 07:41
> An: dev@flex.apache.org
> Betreff: AW: Re : Re^10: Flex SDK Converter Maven Extension available
>
> Well actually i should make flexmojos output sensible errors. That message you reported isn't any help at all and I have to handle that.
>
> No matter what we do. Your repo manager will always have to do something in order to have flash, air and fontkit installed.
>
> So currently I'll not put that much effort into that.
>
> Chris
>
> Gesendet mit meinem HTC
>
> ----- Reply message -----
> Von: "Frédéric THOMAS" <we...@hotmail.com>
> An: "dev@flex.apache.org" <de...@flex.apache.org>
> Betreff: Re : Re^10: Flex SDK Converter Maven Extension available
> Datum: Di., Apr. 21, 2015 01:21
>
> I think it is great as well but would like to be able to do a complete build on CI having the SDK in my repo manager, so at the moment, I still need to rely on the deployer until a public mavenized version is out.
>
> Otherwize I still have no clue why I add an error:null, hope Ill have more time tomorrow to try to figure it out and try again with your last version.
>
> But anyway and once again, great job, it is awesone the FM integration you did of the mavenizer.
>
> Cheers,
> -Fred
>
> --- Message initial ---
>
> De : "Christofer Dutz" <ch...@c-ware.de>
> Envoyé : 20 avril 2015 23:24
> A : dev@flex.apache.org
> Objet : Re^10: Flex SDK Converter Maven Extension available
>
> Ok ... so with my latest change, I was able to build Flexmojos without any Flex related artifacts in my local repo. It correctly downloaded flash and air as well as all of our released Flex SDKs and the entire test-suite passed without a single failure ... new SNAPSHOT uploaded by the way ;-)
>
> I really like this solution. First of all it's so simple (just copy one jar to your maven lib/ext and all of your Flex projects have their stuff installed automatically ... as soon as we release a new FDK or you want to target a new Flash or Air version (Only restriction is that we have to list it in our installer config file), all you have to do is change the dependency version to the new one and run a "mvn install" and it will automatically get the missing parts. And all of this without giving up on any of the maven features.
>
> With this in place I don't think we even need to release the FDK as maven artifacts.
>
> So I think we should experiment a little with this, fix any eventually found bugs/problems and release it some time soon.
>
> One thing I did notice, is that I have two implementations of download in the code ... the fast and the safe. I needed the safe one to download the fontkit libs. The fast is about 3 times faster than the safe one ... unfortunately I have noticed the fast being insanely slow in about 10% of the time. Eventually doing all with the safe version would be an option.
>
> Chris
>
>
> ________________________________________
> Von: Christofer Dutz <ch...@c-ware.de>
> Gesendet: Montag, 20. April 2015 21:24
> An: dev@flex.apache.org
> Betreff: AW: AW: AW: Flex SDK Converter Maven Extension available
>
> Ok I just fixed a little bug in the converter ...
>
> As I stripped the build number from the flex version, no rsl was copied to the maven repo. I just fixed that problem, now the rsls are correctly deployed to the output.
>
> Chris
>
> ________________________________________
> Von: Christofer Dutz <ch...@c-ware.de>
> Gesendet: Montag, 20. April 2015 09:17
> An: dev@flex.apache.org
> Betreff: AW: AW: AW: Flex SDK Converter Maven Extension available
>
> The reason why the conversion of a Flex SDK needs flash resources, is the fact that in the Flex SDK we don't provide all themes as swcs. I made the flex converter automatically compile any non swc themes to swc format in order to be able to use all themes equally. In order to compile, you need a playerglobal and that's not present in the binary distribution. Therefore the flex converter downloads the minimum version for this task only.
>
> Regarding the FM error. Did you compile with "-X" option to show stacktraces? Would be helpful as the log doesn't really show much usefull information. One thing I could immagine: The failling project ... does this use font encoding? This is no longer part of the "compiler" artifact. If your module needs font encoding and font embeding, you need to add an additional plugin dependency to com.adobe:fontkit:1.0:pom
>
> Chris
>
>
> ________________________________________
> Von: Frédéric THOMAS <we...@hotmail.com>
> Gesendet: Sonntag, 19. April 2015 20:40
> An: dev@flex.apache.org
> Betreff: RE: AW: AW: Flex SDK Converter Maven Extension available
>
> Hey Chris,
>
> Yep, was that, thanks !
>
> The project was compiling nicely with FM 7.0.1, SDK 4.14, I changed it to SDK 4.13.0 and FM 7.1.0-SNAPSHOT to verify.
>
> 1- I noticed you have a dependency to flash player 10.2, is this for the minimum version in case it is not specify ?
> 2- I removed the FM dependency of flexmojos-threadlocaltoolkit-wrapper to fonkit which is not in the compiler pom anymore and while it compiles some projects it fails on others with something not really helpful https://paste.apache.org/nIkS
>
> Does it mean something for you ?
>
> Frédéric THOMAS
>
> > From: christofer.dutz@c-ware.de
> > To: dev@flex.apache.org
> > Subject: AW: AW: Flex SDK Converter Maven Extension available
> > Date: Sun, 19 Apr 2015 17:21:47 +0000
> >
> > Yup ... I know exactly why you are getting this cause I had to figgure that out too :-)
> > Maven 3.3 has higher requirements for the Java Version ... you need at least a Java 1.7 VM
> >
> > Chris
> >
> >
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Frédéric THOMAS [mailto:webdoublefx@hotmail.com]
> > Gesendet: Sonntag, 19. April 2015 18:46
> > An: dev@flex.apache.org
> > Betreff: RE: AW: Flex SDK Converter Maven Extension available
> >
> > Hi Chris,
> >
> > Just came back home and was trying FM 7.1.0-SNAPSHOT, I droped flex-maven-extension.jar into the lib/ext folder along with the extensions.xml of my fresh maven 3.3.1 (I still was in 3.0.5) and got this even though after I removed the extensions.xml:
> >
> > Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
> >
> > Any clue ?
> >
> > Frédéric THOMAS
> >
> > > From: christofer.dutz@c-ware.de
> > > To: dev@flex.apache.org
> > > Subject: AW: Flex SDK Converter Maven Extension available
> > > Date: Sun, 19 Apr 2015 11:50:07 +0000
> > >
> > > Ok ... so maven and it's classloading can be a PITA ;-)
> > >
> > > But the latest version now works with all Maven versions from 3.1.1 up to 3.3.1.
> > > So if you copy the fat jar from
> > > flex-utils/mavenizer/maven-extension/target/flex-maven-extension-1.0.0.jar to MAVEN_HOME/lib/ext and try to build a Flex project with Flexmojos, the magic will kick in instantly.
> > >
> > > Unfortunately my last changes seem to have broken the ability to include the extension using the ".mvn/extensions.xml" mechanism. I'll fix that as soon as possible.
> > >
> > > Chris
> > >
> > >
> > > -----Ursprüngliche Nachricht-----
> > > Von: Christofer Dutz [mailto:christofer.dutz@c-ware.de]
> > > Gesendet: Samstag, 18. April 2015 18:18
> > > An: dev@flex.apache.org
> > > Betreff: AW: Flex SDK Converter Maven Extension available
> > >
> > > Ok ... today I started testing the extension with older Maven versions
> > > and with the extension installed in MAVEN_HOME/lib/ext instead of
> > > having it referenced from ".mvn/extension.xml" and it seems I have to
> > > put a little more work into this option. But feel free to test it with
> > > 3.3.1 :-)
> > >
> > > Chris
> > >
> > > ________________________________________
> > > Von: Christofer Dutz <ch...@c-ware.de>
> > > Gesendet: Samstag, 18. April 2015 02:32
> > > An: dev@flex.apache.org
> > > Betreff: AW: Flex SDK Converter Maven Extension available
> > >
> > > Snapshot should be available. At least I deployed it a few hours ago
> > > :-)
> > >
> > > Gesendet mit meinem HTC
> > >
> > > ----- Reply message -----
> > > Von: "Frédéric THOMAS" <we...@hotmail.com>
> > > An: "dev@flex.apache.org" <de...@flex.apache.org>
> > > Betreff: Flex SDK Converter Maven Extension available
> > > Datum: Fr., Apr. 17, 2015 20:56
> > >
> > > Hi Chris,
> > >
> > > Seems cool, do you have a snapshot ?
> > > I will have more time on Sunday to continue the converter test and could be a good opportunity to try this version too.
> > >
> > > Thanks,
> > > Frédéric THOMAS
> > >
> > > > From: christofer.dutz@c-ware.de
> > > > To: dev@flex.apache.org
> > > > Subject: Flex SDK Converter Maven Extension available
> > > > Date: Fri, 17 Apr 2015 18:37:54 +0000
> > > >
> > > > 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
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
>


RE: AW: Re : Re^10: Flex SDK Converter Maven Extension available

Posted by Frédéric THOMAS <we...@hotmail.com>.
> but Alex strictly objected that when I started working on the 
Mavneizer. Even if the SDK build does have such an environment variable 
to allow CI builds. If anything here has changed, I would love to allow 
that.

Same here !

Btw, if the mavenized sdk was public, I would need to accept the licences only once before it be stored into my repo manager, even though the maven extension allows to build it easily on dev computer from inside your project (and I love it), it needs manual user interaction, for CI, the artifacts should be already into my repo manager for a fresh build and that's a requirement for companies, for now, it is possible only because I can use the deploy feature of the mavenizer, it is not a standard way though.

> I really like this solution. First of all it's so simple (just copy
 one jar to your maven lib/ext and all of your Flex projects have their 
stuff installed automatically

Can't you use the same technic I used for the flexmojos-compatible-model-validator to install it from the flex-maven-extension the first time the user try to use it, failling nicely with a nice message saying "try again, everything has been installed and ready to use now" ? [1]

Frédéric THOMAS

[1] https://github.com/doublefx/flexmojos-compatible-model-validator/blob/master/src/main/java/com/doublefx/maven/utils/flexmojos/mavenValidator/FlexMojosExtensionInstallationHelper.java

> From: christofer.dutz@c-ware.de
> To: dev@flex.apache.org
> Subject: AW: Re : Re^10: Flex SDK Converter Maven Extension available
> Date: Tue, 21 Apr 2015 07:44:41 +0000
> 
> If we were to publish all themes equally as swcs though, I wouldn't need to compile them in the mavenization process and we could get rid of the additional playerglobal 10.2 download, which has to be confirmed.
> 
> I would love to allow setting an environment variable ... something like:
> -DI_ACCEPT_ADOBES_LICENSE_AGREEMENT_FOR_FLASH=true
> -DI_ACCEPT_ADOBES_LICENSE_AGREEMENT_FOR_AIR=true
> or
> -DI_ACCEPT_ADOBES_LICENSE_AGREEMENT_FOR_THE_FONTKIT=true
> 
> but Alex strictly objected that when I started working on the Mavneizer. Even if the SDK build does have such an environment variable to allow CI builds. If anything here has changed, I would love to allow that.
> 
> Chris
> 
> ________________________________________
> Von: Christofer Dutz <ch...@c-ware.de>
> Gesendet: Dienstag, 21. April 2015 07:41
> An: dev@flex.apache.org
> Betreff: AW: Re : Re^10: Flex SDK Converter Maven Extension available
> 
> Well actually i should make flexmojos output sensible errors. That message you reported isn't any help at all and I have to handle that.
> 
> No matter what we do. Your repo manager will always have to do something in order to have flash, air and fontkit installed.
> 
> So currently I'll not put that much effort into that.
> 
> Chris
> 
> Gesendet mit meinem HTC
> 
> ----- Reply message -----
> Von: "Frédéric THOMAS" <we...@hotmail.com>
> An: "dev@flex.apache.org" <de...@flex.apache.org>
> Betreff: Re : Re^10: Flex SDK Converter Maven Extension available
> Datum: Di., Apr. 21, 2015 01:21
> 
> I think it is great as well but would like to be able to do a complete build on CI having the SDK in my repo manager, so at the moment, I still need to rely on the deployer until a public mavenized version is out.
> 
> Otherwize I still have no clue why I add an error:null, hope Ill have more time tomorrow to try to figure it out and try again with your last version.
> 
> But anyway and once again, great job, it is awesone the FM integration you did of the mavenizer.
> 
> Cheers,
> -Fred
> 
> --- Message initial ---
> 
> De : "Christofer Dutz" <ch...@c-ware.de>
> Envoyé : 20 avril 2015 23:24
> A : dev@flex.apache.org
> Objet : Re^10: Flex SDK Converter Maven Extension available
> 
> Ok ... so with my latest change, I was able to build Flexmojos without any Flex related artifacts in my local repo. It correctly downloaded flash and air as well as all of our released Flex SDKs and the entire test-suite passed without a single failure ... new SNAPSHOT uploaded by the way ;-)
> 
> I really like this solution. First of all it's so simple (just copy one jar to your maven lib/ext and all of your Flex projects have their stuff installed automatically ... as soon as we release a new FDK or you want to target a new Flash or Air version (Only restriction is that we have to list it in our installer config file), all you have to do is change the dependency version to the new one and run a "mvn install" and it will automatically get the missing parts. And all of this without giving up on any of the maven features.
> 
> With this in place I don't think we even need to release the FDK as maven artifacts.
> 
> So I think we should experiment a little with this, fix any eventually found bugs/problems and release it some time soon.
> 
> One thing I did notice, is that I have two implementations of download in the code ... the fast and the safe. I needed the safe one to download the fontkit libs. The fast is about 3 times faster than the safe one ... unfortunately I have noticed the fast being insanely slow in about 10% of the time. Eventually doing all with the safe version would be an option.
> 
> Chris
> 
> 
> ________________________________________
> Von: Christofer Dutz <ch...@c-ware.de>
> Gesendet: Montag, 20. April 2015 21:24
> An: dev@flex.apache.org
> Betreff: AW: AW: AW: Flex SDK Converter Maven Extension available
> 
> Ok I just fixed a little bug in the converter ...
> 
> As I stripped the build number from the flex version, no rsl was copied to the maven repo. I just fixed that problem, now the rsls are correctly deployed to the output.
> 
> Chris
> 
> ________________________________________
> Von: Christofer Dutz <ch...@c-ware.de>
> Gesendet: Montag, 20. April 2015 09:17
> An: dev@flex.apache.org
> Betreff: AW: AW: AW: Flex SDK Converter Maven Extension available
> 
> The reason why the conversion of a Flex SDK needs flash resources, is the fact that in the Flex SDK we don't provide all themes as swcs. I made the flex converter automatically compile any non swc themes to swc format in order to be able to use all themes equally. In order to compile, you need a playerglobal and that's not present in the binary distribution. Therefore the flex converter downloads the minimum version for this task only.
> 
> Regarding the FM error. Did you compile with "-X" option to show stacktraces? Would be helpful as the log doesn't really show much usefull information. One thing I could immagine: The failling project ... does this use font encoding? This is no longer part of the "compiler" artifact. If your module needs font encoding and font embeding, you need to add an additional plugin dependency to com.adobe:fontkit:1.0:pom
> 
> Chris
> 
> 
> ________________________________________
> Von: Frédéric THOMAS <we...@hotmail.com>
> Gesendet: Sonntag, 19. April 2015 20:40
> An: dev@flex.apache.org
> Betreff: RE: AW: AW: Flex SDK Converter Maven Extension available
> 
> Hey Chris,
> 
> Yep, was that, thanks !
> 
> The project was compiling nicely with FM 7.0.1, SDK 4.14, I changed it to SDK 4.13.0 and FM 7.1.0-SNAPSHOT to verify.
> 
> 1- I noticed you have a dependency to flash player 10.2, is this for the minimum version in case it is not specify ?
> 2- I removed the FM dependency of flexmojos-threadlocaltoolkit-wrapper to fonkit which is not in the compiler pom anymore and while it compiles some projects it fails on others with something not really helpful https://paste.apache.org/nIkS
> 
> Does it mean something for you ?
> 
> Frédéric THOMAS
> 
> > From: christofer.dutz@c-ware.de
> > To: dev@flex.apache.org
> > Subject: AW: AW: Flex SDK Converter Maven Extension available
> > Date: Sun, 19 Apr 2015 17:21:47 +0000
> >
> > Yup ... I know exactly why you are getting this cause I had to figgure that out too :-)
> > Maven 3.3 has higher requirements for the Java Version ... you need at least a Java 1.7 VM
> >
> > Chris
> >
> >
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Frédéric THOMAS [mailto:webdoublefx@hotmail.com]
> > Gesendet: Sonntag, 19. April 2015 18:46
> > An: dev@flex.apache.org
> > Betreff: RE: AW: Flex SDK Converter Maven Extension available
> >
> > Hi Chris,
> >
> > Just came back home and was trying FM 7.1.0-SNAPSHOT, I droped flex-maven-extension.jar into the lib/ext folder along with the extensions.xml of my fresh maven 3.3.1 (I still was in 3.0.5) and got this even though after I removed the extensions.xml:
> >
> > Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
> >
> > Any clue ?
> >
> > Frédéric THOMAS
> >
> > > From: christofer.dutz@c-ware.de
> > > To: dev@flex.apache.org
> > > Subject: AW: Flex SDK Converter Maven Extension available
> > > Date: Sun, 19 Apr 2015 11:50:07 +0000
> > >
> > > Ok ... so maven and it's classloading can be a PITA ;-)
> > >
> > > But the latest version now works with all Maven versions from 3.1.1 up to 3.3.1.
> > > So if you copy the fat jar from
> > > flex-utils/mavenizer/maven-extension/target/flex-maven-extension-1.0.0.jar to MAVEN_HOME/lib/ext and try to build a Flex project with Flexmojos, the magic will kick in instantly.
> > >
> > > Unfortunately my last changes seem to have broken the ability to include the extension using the ".mvn/extensions.xml" mechanism. I'll fix that as soon as possible.
> > >
> > > Chris
> > >
> > >
> > > -----Ursprüngliche Nachricht-----
> > > Von: Christofer Dutz [mailto:christofer.dutz@c-ware.de]
> > > Gesendet: Samstag, 18. April 2015 18:18
> > > An: dev@flex.apache.org
> > > Betreff: AW: Flex SDK Converter Maven Extension available
> > >
> > > Ok ... today I started testing the extension with older Maven versions
> > > and with the extension installed in MAVEN_HOME/lib/ext instead of
> > > having it referenced from ".mvn/extension.xml" and it seems I have to
> > > put a little more work into this option. But feel free to test it with
> > > 3.3.1 :-)
> > >
> > > Chris
> > >
> > > ________________________________________
> > > Von: Christofer Dutz <ch...@c-ware.de>
> > > Gesendet: Samstag, 18. April 2015 02:32
> > > An: dev@flex.apache.org
> > > Betreff: AW: Flex SDK Converter Maven Extension available
> > >
> > > Snapshot should be available. At least I deployed it a few hours ago
> > > :-)
> > >
> > > Gesendet mit meinem HTC
> > >
> > > ----- Reply message -----
> > > Von: "Frédéric THOMAS" <we...@hotmail.com>
> > > An: "dev@flex.apache.org" <de...@flex.apache.org>
> > > Betreff: Flex SDK Converter Maven Extension available
> > > Datum: Fr., Apr. 17, 2015 20:56
> > >
> > > Hi Chris,
> > >
> > > Seems cool, do you have a snapshot ?
> > > I will have more time on Sunday to continue the converter test and could be a good opportunity to try this version too.
> > >
> > > Thanks,
> > > Frédéric THOMAS
> > >
> > > > From: christofer.dutz@c-ware.de
> > > > To: dev@flex.apache.org
> > > > Subject: Flex SDK Converter Maven Extension available
> > > > Date: Fri, 17 Apr 2015 18:37:54 +0000
> > > >
> > > > 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
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
> 
 		 	   		  

AW: Re : Re^10: Flex SDK Converter Maven Extension available

Posted by Christofer Dutz <ch...@c-ware.de>.
If we were to publish all themes equally as swcs though, I wouldn't need to compile them in the mavenization process and we could get rid of the additional playerglobal 10.2 download, which has to be confirmed.

I would love to allow setting an environment variable ... something like:
-DI_ACCEPT_ADOBES_LICENSE_AGREEMENT_FOR_FLASH=true
-DI_ACCEPT_ADOBES_LICENSE_AGREEMENT_FOR_AIR=true
or
-DI_ACCEPT_ADOBES_LICENSE_AGREEMENT_FOR_THE_FONTKIT=true

but Alex strictly objected that when I started working on the Mavneizer. Even if the SDK build does have such an environment variable to allow CI builds. If anything here has changed, I would love to allow that.

Chris

________________________________________
Von: Christofer Dutz <ch...@c-ware.de>
Gesendet: Dienstag, 21. April 2015 07:41
An: dev@flex.apache.org
Betreff: AW: Re : Re^10: Flex SDK Converter Maven Extension available

Well actually i should make flexmojos output sensible errors. That message you reported isn't any help at all and I have to handle that.

No matter what we do. Your repo manager will always have to do something in order to have flash, air and fontkit installed.

So currently I'll not put that much effort into that.

Chris

Gesendet mit meinem HTC

----- Reply message -----
Von: "Frédéric THOMAS" <we...@hotmail.com>
An: "dev@flex.apache.org" <de...@flex.apache.org>
Betreff: Re : Re^10: Flex SDK Converter Maven Extension available
Datum: Di., Apr. 21, 2015 01:21

I think it is great as well but would like to be able to do a complete build on CI having the SDK in my repo manager, so at the moment, I still need to rely on the deployer until a public mavenized version is out.

Otherwize I still have no clue why I add an error:null, hope Ill have more time tomorrow to try to figure it out and try again with your last version.

But anyway and once again, great job, it is awesone the FM integration you did of the mavenizer.

Cheers,
-Fred

--- Message initial ---

De : "Christofer Dutz" <ch...@c-ware.de>
Envoyé : 20 avril 2015 23:24
A : dev@flex.apache.org
Objet : Re^10: Flex SDK Converter Maven Extension available

Ok ... so with my latest change, I was able to build Flexmojos without any Flex related artifacts in my local repo. It correctly downloaded flash and air as well as all of our released Flex SDKs and the entire test-suite passed without a single failure ... new SNAPSHOT uploaded by the way ;-)

I really like this solution. First of all it's so simple (just copy one jar to your maven lib/ext and all of your Flex projects have their stuff installed automatically ... as soon as we release a new FDK or you want to target a new Flash or Air version (Only restriction is that we have to list it in our installer config file), all you have to do is change the dependency version to the new one and run a "mvn install" and it will automatically get the missing parts. And all of this without giving up on any of the maven features.

With this in place I don't think we even need to release the FDK as maven artifacts.

So I think we should experiment a little with this, fix any eventually found bugs/problems and release it some time soon.

One thing I did notice, is that I have two implementations of download in the code ... the fast and the safe. I needed the safe one to download the fontkit libs. The fast is about 3 times faster than the safe one ... unfortunately I have noticed the fast being insanely slow in about 10% of the time. Eventually doing all with the safe version would be an option.

Chris


________________________________________
Von: Christofer Dutz <ch...@c-ware.de>
Gesendet: Montag, 20. April 2015 21:24
An: dev@flex.apache.org
Betreff: AW: AW: AW: Flex SDK Converter Maven Extension available

Ok I just fixed a little bug in the converter ...

As I stripped the build number from the flex version, no rsl was copied to the maven repo. I just fixed that problem, now the rsls are correctly deployed to the output.

Chris

________________________________________
Von: Christofer Dutz <ch...@c-ware.de>
Gesendet: Montag, 20. April 2015 09:17
An: dev@flex.apache.org
Betreff: AW: AW: AW: Flex SDK Converter Maven Extension available

The reason why the conversion of a Flex SDK needs flash resources, is the fact that in the Flex SDK we don't provide all themes as swcs. I made the flex converter automatically compile any non swc themes to swc format in order to be able to use all themes equally. In order to compile, you need a playerglobal and that's not present in the binary distribution. Therefore the flex converter downloads the minimum version for this task only.

Regarding the FM error. Did you compile with "-X" option to show stacktraces? Would be helpful as the log doesn't really show much usefull information. One thing I could immagine: The failling project ... does this use font encoding? This is no longer part of the "compiler" artifact. If your module needs font encoding and font embeding, you need to add an additional plugin dependency to com.adobe:fontkit:1.0:pom

Chris


________________________________________
Von: Frédéric THOMAS <we...@hotmail.com>
Gesendet: Sonntag, 19. April 2015 20:40
An: dev@flex.apache.org
Betreff: RE: AW: AW: Flex SDK Converter Maven Extension available

Hey Chris,

Yep, was that, thanks !

The project was compiling nicely with FM 7.0.1, SDK 4.14, I changed it to SDK 4.13.0 and FM 7.1.0-SNAPSHOT to verify.

1- I noticed you have a dependency to flash player 10.2, is this for the minimum version in case it is not specify ?
2- I removed the FM dependency of flexmojos-threadlocaltoolkit-wrapper to fonkit which is not in the compiler pom anymore and while it compiles some projects it fails on others with something not really helpful https://paste.apache.org/nIkS

Does it mean something for you ?

Frédéric THOMAS

> From: christofer.dutz@c-ware.de
> To: dev@flex.apache.org
> Subject: AW: AW: Flex SDK Converter Maven Extension available
> Date: Sun, 19 Apr 2015 17:21:47 +0000
>
> Yup ... I know exactly why you are getting this cause I had to figgure that out too :-)
> Maven 3.3 has higher requirements for the Java Version ... you need at least a Java 1.7 VM
>
> Chris
>
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: Frédéric THOMAS [mailto:webdoublefx@hotmail.com]
> Gesendet: Sonntag, 19. April 2015 18:46
> An: dev@flex.apache.org
> Betreff: RE: AW: Flex SDK Converter Maven Extension available
>
> Hi Chris,
>
> Just came back home and was trying FM 7.1.0-SNAPSHOT, I droped flex-maven-extension.jar into the lib/ext folder along with the extensions.xml of my fresh maven 3.3.1 (I still was in 3.0.5) and got this even though after I removed the extensions.xml:
>
> Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
>
> Any clue ?
>
> Frédéric THOMAS
>
> > From: christofer.dutz@c-ware.de
> > To: dev@flex.apache.org
> > Subject: AW: Flex SDK Converter Maven Extension available
> > Date: Sun, 19 Apr 2015 11:50:07 +0000
> >
> > Ok ... so maven and it's classloading can be a PITA ;-)
> >
> > But the latest version now works with all Maven versions from 3.1.1 up to 3.3.1.
> > So if you copy the fat jar from
> > flex-utils/mavenizer/maven-extension/target/flex-maven-extension-1.0.0.jar to MAVEN_HOME/lib/ext and try to build a Flex project with Flexmojos, the magic will kick in instantly.
> >
> > Unfortunately my last changes seem to have broken the ability to include the extension using the ".mvn/extensions.xml" mechanism. I'll fix that as soon as possible.
> >
> > Chris
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Christofer Dutz [mailto:christofer.dutz@c-ware.de]
> > Gesendet: Samstag, 18. April 2015 18:18
> > An: dev@flex.apache.org
> > Betreff: AW: Flex SDK Converter Maven Extension available
> >
> > Ok ... today I started testing the extension with older Maven versions
> > and with the extension installed in MAVEN_HOME/lib/ext instead of
> > having it referenced from ".mvn/extension.xml" and it seems I have to
> > put a little more work into this option. But feel free to test it with
> > 3.3.1 :-)
> >
> > Chris
> >
> > ________________________________________
> > Von: Christofer Dutz <ch...@c-ware.de>
> > Gesendet: Samstag, 18. April 2015 02:32
> > An: dev@flex.apache.org
> > Betreff: AW: Flex SDK Converter Maven Extension available
> >
> > Snapshot should be available. At least I deployed it a few hours ago
> > :-)
> >
> > Gesendet mit meinem HTC
> >
> > ----- Reply message -----
> > Von: "Frédéric THOMAS" <we...@hotmail.com>
> > An: "dev@flex.apache.org" <de...@flex.apache.org>
> > Betreff: Flex SDK Converter Maven Extension available
> > Datum: Fr., Apr. 17, 2015 20:56
> >
> > Hi Chris,
> >
> > Seems cool, do you have a snapshot ?
> > I will have more time on Sunday to continue the converter test and could be a good opportunity to try this version too.
> >
> > Thanks,
> > Frédéric THOMAS
> >
> > > From: christofer.dutz@c-ware.de
> > > To: dev@flex.apache.org
> > > Subject: Flex SDK Converter Maven Extension available
> > > Date: Fri, 17 Apr 2015 18:37:54 +0000
> > >
> > > 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
> > >
> > >
> > >
> > >
> > >
> > >
> >
>


AW: Re : Re^10: Flex SDK Converter Maven Extension available

Posted by Christofer Dutz <ch...@c-ware.de>.
Well actually i should make flexmojos output sensible errors. That message you reported isn't any help at all and I have to handle that.

No matter what we do. Your repo manager will always have to do something in order to have flash, air and fontkit installed.

So currently I'll not put that much effort into that.

Chris

Gesendet mit meinem HTC

----- Reply message -----
Von: "Frédéric THOMAS" <we...@hotmail.com>
An: "dev@flex.apache.org" <de...@flex.apache.org>
Betreff: Re : Re^10: Flex SDK Converter Maven Extension available
Datum: Di., Apr. 21, 2015 01:21

I think it is great as well but would like to be able to do a complete build on CI having the SDK in my repo manager, so at the moment, I still need to rely on the deployer until a public mavenized version is out.

Otherwize I still have no clue why I add an error:null, hope Ill have more time tomorrow to try to figure it out and try again with your last version.

But anyway and once again, great job, it is awesone the FM integration you did of the mavenizer.

Cheers,
-Fred

--- Message initial ---

De : "Christofer Dutz" <ch...@c-ware.de>
Envoyé : 20 avril 2015 23:24
A : dev@flex.apache.org
Objet : Re^10: Flex SDK Converter Maven Extension available

Ok ... so with my latest change, I was able to build Flexmojos without any Flex related artifacts in my local repo. It correctly downloaded flash and air as well as all of our released Flex SDKs and the entire test-suite passed without a single failure ... new SNAPSHOT uploaded by the way ;-)

I really like this solution. First of all it's so simple (just copy one jar to your maven lib/ext and all of your Flex projects have their stuff installed automatically ... as soon as we release a new FDK or you want to target a new Flash or Air version (Only restriction is that we have to list it in our installer config file), all you have to do is change the dependency version to the new one and run a "mvn install" and it will automatically get the missing parts. And all of this without giving up on any of the maven features.

With this in place I don't think we even need to release the FDK as maven artifacts.

So I think we should experiment a little with this, fix any eventually found bugs/problems and release it some time soon.

One thing I did notice, is that I have two implementations of download in the code ... the fast and the safe. I needed the safe one to download the fontkit libs. The fast is about 3 times faster than the safe one ... unfortunately I have noticed the fast being insanely slow in about 10% of the time. Eventually doing all with the safe version would be an option.

Chris


________________________________________
Von: Christofer Dutz <ch...@c-ware.de>
Gesendet: Montag, 20. April 2015 21:24
An: dev@flex.apache.org
Betreff: AW: AW: AW: Flex SDK Converter Maven Extension available

Ok I just fixed a little bug in the converter ...

As I stripped the build number from the flex version, no rsl was copied to the maven repo. I just fixed that problem, now the rsls are correctly deployed to the output.

Chris

________________________________________
Von: Christofer Dutz <ch...@c-ware.de>
Gesendet: Montag, 20. April 2015 09:17
An: dev@flex.apache.org
Betreff: AW: AW: AW: Flex SDK Converter Maven Extension available

The reason why the conversion of a Flex SDK needs flash resources, is the fact that in the Flex SDK we don't provide all themes as swcs. I made the flex converter automatically compile any non swc themes to swc format in order to be able to use all themes equally. In order to compile, you need a playerglobal and that's not present in the binary distribution. Therefore the flex converter downloads the minimum version for this task only.

Regarding the FM error. Did you compile with "-X" option to show stacktraces? Would be helpful as the log doesn't really show much usefull information. One thing I could immagine: The failling project ... does this use font encoding? This is no longer part of the "compiler" artifact. If your module needs font encoding and font embeding, you need to add an additional plugin dependency to com.adobe:fontkit:1.0:pom

Chris


________________________________________
Von: Frédéric THOMAS <we...@hotmail.com>
Gesendet: Sonntag, 19. April 2015 20:40
An: dev@flex.apache.org
Betreff: RE: AW: AW: Flex SDK Converter Maven Extension available

Hey Chris,

Yep, was that, thanks !

The project was compiling nicely with FM 7.0.1, SDK 4.14, I changed it to SDK 4.13.0 and FM 7.1.0-SNAPSHOT to verify.

1- I noticed you have a dependency to flash player 10.2, is this for the minimum version in case it is not specify ?
2- I removed the FM dependency of flexmojos-threadlocaltoolkit-wrapper to fonkit which is not in the compiler pom anymore and while it compiles some projects it fails on others with something not really helpful https://paste.apache.org/nIkS

Does it mean something for you ?

Frédéric THOMAS

> From: christofer.dutz@c-ware.de
> To: dev@flex.apache.org
> Subject: AW: AW: Flex SDK Converter Maven Extension available
> Date: Sun, 19 Apr 2015 17:21:47 +0000
>
> Yup ... I know exactly why you are getting this cause I had to figgure that out too :-)
> Maven 3.3 has higher requirements for the Java Version ... you need at least a Java 1.7 VM
>
> Chris
>
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: Frédéric THOMAS [mailto:webdoublefx@hotmail.com]
> Gesendet: Sonntag, 19. April 2015 18:46
> An: dev@flex.apache.org
> Betreff: RE: AW: Flex SDK Converter Maven Extension available
>
> Hi Chris,
>
> Just came back home and was trying FM 7.1.0-SNAPSHOT, I droped flex-maven-extension.jar into the lib/ext folder along with the extensions.xml of my fresh maven 3.3.1 (I still was in 3.0.5) and got this even though after I removed the extensions.xml:
>
> Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
>
> Any clue ?
>
> Frédéric THOMAS
>
> > From: christofer.dutz@c-ware.de
> > To: dev@flex.apache.org
> > Subject: AW: Flex SDK Converter Maven Extension available
> > Date: Sun, 19 Apr 2015 11:50:07 +0000
> >
> > Ok ... so maven and it's classloading can be a PITA ;-)
> >
> > But the latest version now works with all Maven versions from 3.1.1 up to 3.3.1.
> > So if you copy the fat jar from
> > flex-utils/mavenizer/maven-extension/target/flex-maven-extension-1.0.0.jar to MAVEN_HOME/lib/ext and try to build a Flex project with Flexmojos, the magic will kick in instantly.
> >
> > Unfortunately my last changes seem to have broken the ability to include the extension using the ".mvn/extensions.xml" mechanism. I'll fix that as soon as possible.
> >
> > Chris
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Christofer Dutz [mailto:christofer.dutz@c-ware.de]
> > Gesendet: Samstag, 18. April 2015 18:18
> > An: dev@flex.apache.org
> > Betreff: AW: Flex SDK Converter Maven Extension available
> >
> > Ok ... today I started testing the extension with older Maven versions
> > and with the extension installed in MAVEN_HOME/lib/ext instead of
> > having it referenced from ".mvn/extension.xml" and it seems I have to
> > put a little more work into this option. But feel free to test it with
> > 3.3.1 :-)
> >
> > Chris
> >
> > ________________________________________
> > Von: Christofer Dutz <ch...@c-ware.de>
> > Gesendet: Samstag, 18. April 2015 02:32
> > An: dev@flex.apache.org
> > Betreff: AW: Flex SDK Converter Maven Extension available
> >
> > Snapshot should be available. At least I deployed it a few hours ago
> > :-)
> >
> > Gesendet mit meinem HTC
> >
> > ----- Reply message -----
> > Von: "Frédéric THOMAS" <we...@hotmail.com>
> > An: "dev@flex.apache.org" <de...@flex.apache.org>
> > Betreff: Flex SDK Converter Maven Extension available
> > Datum: Fr., Apr. 17, 2015 20:56
> >
> > Hi Chris,
> >
> > Seems cool, do you have a snapshot ?
> > I will have more time on Sunday to continue the converter test and could be a good opportunity to try this version too.
> >
> > Thanks,
> > Frédéric THOMAS
> >
> > > From: christofer.dutz@c-ware.de
> > > To: dev@flex.apache.org
> > > Subject: Flex SDK Converter Maven Extension available
> > > Date: Fri, 17 Apr 2015 18:37:54 +0000
> > >
> > > 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
> > >
> > >
> > >
> > >
> > >
> > >
> >
>