Thanks, Om, I liked the summary. Testing Chris’ release candidate via Maven was my first real exposure to it. The way I think of Maven now is that makes assumptions about the way projects are built in order to make it easier to build them if you can conform to its rules. Ant, on the other hand, is a scripting language that can be used to build projects as well as other things.
I once went to a pizza restaurant where all the toppings were in a salad bar. You took a plain cheese pizza, put your toppings on it, and handed it to the “chef” who put it in the oven and returned it to you when finished. That is Ant. Everyone can make different kinds of pizzas, but every pizza I make if I go through the same steps will be the same (or similar enough). In the Maven equivalent of this restaurant, the toppings would be pre-packaged into certain quantities. You would check which ones you wanted and the “chef” would distribute the toppings on the pizza and cook it for a fixed amount of time. Then, anyone selecting pepperoni and sausage would get the same exact pizza. Sometimes, that’s good, and when manufacturing/building things, that’s generally what you want, but sometimes you want more flexibility, like putting the pepperoni on one side and the sausage on the other. In fact, when trying to review the potential release candidate, it turned out to be difficult (impossible?) for Maven to provide the source artifact on the CI server without actually deploying the artifact to a Maven server. In Ant, there would likely be a “target” just for building the source artifact and I could get just that one thing. If you look at the Ant scripts that build our various release packages, there is a lot of commonality, but often the same thing is being done slightly differently in different scripts or at least has a different name. If we switched to Maven, there would be far less room for variability, and creating the release for the next donated code would be easier for folks who know Maven, but somehow, Maven seems too opaque for me. I would rather refactor all of our Ant scripts to use some common tasks/macros so there is consistency between them and be able to see what is inside each step. But I can certainly be convinced otherwise. -Alex On 11/13/14, 2:25 PM, "OmPrakash Muppirala" <bigosma...@gmail.com> wrote: >On Thu, Nov 13, 2014 at 12:57 PM, Harbs <harbs.li...@gmail.com> wrote: > >> > The cool thing is that I am currently able to build a FlexJS >>application >> on a machine without any Falcon, FalconJX, ASJS, or even a FDK >>installed. >> No need to download any libraries, setup environment variables or >> whatsoever. If the Maven artifacts were publicly available, all you >>would >> need to do is run "mvn install". Think this will make things a lot >>easier >> for people wanting to experiment on FlexJS. >> >> That IS very cool! >> >> One of these days, I’m going to have to figure out what Maven is… :-p >> >> >Replying here, so that it benefits everyone who has this question. > >Maven makes building your app easy. If you have Maven installed on your >machine, all you have to do is run 'mvn install' from the command line and >your app gets built. You just need to have a pom.xml in your project >directory. POM stands for 'Project Object Model' where you specify the >build params, which plugins to use and which dependencies to download >before attempting to build the app. > >Normally, Maven is used to build Java applications, but it supports a >plugin architecture so other technologies (like Flex) can use it as well. >Chris has created a plugin (much like the FlexMojos plugin) and has >created >a mavenized version of Apache Flex SDK (usually called artifacts) He has >also worked in Adobe's licensing requirements so that users can accept the >license terms for the Flash Player Global and AIR SDK. > >How does Maven know where to download these artifacts from? You upload it >either to a public maven repository (usually >http://repo1.maven.org/maven2) >or to your own private installation of a maven repo. You specify the url >in your local pom.xml file. Chris plans to upload the mavenized form >Apache Flex SDK to this server so anyone can use it. Which means, no need >for the end user to download the Installer and set things up. > >When you run 'mvn install' for the first time, maven locates the required >artifacts from the given server using the unique artifact id and downloads >it to a local cache. After that, it will use the cached version of the >artifact until you change it in your pom.xml file. > >With this release, the barriers to create Flex and FlexJS applications >will >be reduced further. Some IDEs (ex. IntelliJ) support Maven out of the >box. So, with this release, we will most likely get IntelliJ support for >FlexJS for free. > >I have simplified things a bit to keep the explanation short. Please feel >free to ask questions or correct me :-) > >Thanks, >Om > > > >> Way to go! >> >> Harbs >> >> On Nov 13, 2014, at 5:03 PM, Christofer Dutz <christofer.d...@c-ware.de> >> wrote: >> >> > Hi, >> > >> > >> > a few minutes ago I managed to have Flexmojos build the first ever >> FlexJS application. >> > >> > https://www.dropbox.com/s/ab1hsaaqsyowzwr/it-lives.zip?dl=0 >> > >> > [ >> >>https://www.dropbox.com/static/images/icons128/page_white_compressed.png] >>< >> https://www.dropbox.com/s/ab1hsaaqsyowzwr/it-lives.zip?dl=0> >> > >> > Dropbox - it-lives.zip >> > Dropbox is a free service that lets you bring your photos, docs, and >> videos anywhere and share them easily. Never email yourself a file >>again! >> > Weitere Informationen...< >> https://www.dropbox.com/s/ab1hsaaqsyowzwr/it-lives.zip?dl=0> >> > >> > >> > This is a huge step for me. But I have to also report that it will >> probably take quite a while until this feature will be in a releasable >> state. Currently my build sort of looks like this: >> > >> > >> > >> >>http://www.qsl.net/sp5ddj/kit_w_zawodach_ratownictwo_gornicze_2003.jpg.JP >>G >> > >> > >> > and I will have to tweak quite a bit on Flexmojos and especially >> FalconJX and FlexJS. >> > >> > >> > But the fist big step is taken :-) >> > >> > >> > The cool thing is that I am currently able to build a FlexJS >>application >> on a machine without any Falcon, FalconJX, ASJS, or even a FDK >>installed. >> No need to download any libraries, setup environment variables or >> whatsoever. If the Maven artifacts were publicly available, all you >>would >> need to do is run "mvn install". Think this will make things a lot >>easier >> for people wanting to experiment on FlexJS. >> > >> > ? >> > >> > Chris >> >>