On Thu, Nov 13, 2014 at 2:59 PM, Alex Harui <aha...@adobe.com> wrote:

> 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.
>

Just to be clear, Maven favors convention over configuration, but it does
not dictate it.  You can certainly change the default assumptions that
Maven makes about your project [1]

[1]
http://books.sonatype.com/mvnref-book/reference/installation-sect-conventionConfiguration.html


>
> 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.


Can you please explain what "for Maven to provide the source artifact on
the CI server" means?  What are you trying to do?



>   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.


Moving our framework scripts to maven is not needed IMO.  Ant works and I
feel there is no need to change it.
When it comes to end users using Maven to build their Flex apps, that is a
different question altogether.  Supporting Maven is a big requirement for
enterprise software development.

Thanks,
Om

P.S.  For a good read on the Maven, I highly recommend this book:
http://books.sonatype.com/mvnref-book/reference/index.html


> 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
> >>
> >>
>
>

Reply via email to