On Sun, Nov 15, 2015 at 11:22 PM, Alex Harui <aha...@adobe.com> wrote:
> Instead of replying individually to all of these posts, let me see if I > can summarize my thoughts here: > > For sure, we should try Maven. I think the main questions, since there’s > been so much emphasis lately on making it easier for new contributors to > contribute are: > > 1) I think it will take weeks or months to fully Mavenize FlexJS. If we > are willing to use “convention” over “configuration” I can probably use > Ant to make things much more foolproof in a few days. Is it worth it, or > should we just wait? > The problem is that if we don't use a particular convention (i.e. Maven's, in this case) any convention we assume will end up being another configuration. I think it depends on what exactly you mean by making things more 'foolproof'. > 2) Maybe the day will come where we don’t need Ant anymore, but again, > since lowering the barrier for new contributors is so important, should we > require a tool like Maven that we all have to take a training course in to > use? > I disagree with the premise of this logic. When I had no idea what Ant was, I had to go through a lot of Ant manuals to get something simple going. That does not mean that Ant is inherently more difficult to grok than Maven, or vice versa. > > Right now, I don’t think we should lock into a particular build system. > There is no lock in. Why would there be a lock in with Maven? > What if the next new committers prefer some third system besides Ant and > Maven? This seems like one of those “itch” things. Folks who want to > have a particular build system work with Flex are free to make it happen. > I will help with refactoring things if needed. > I agree. Maven should be an addition, not an replacement for our existing Ant build system. > > Now some specific responses: > > On 11/15/15, 8:52 PM, "Justin Mclean" <justinmcl...@me.com> wrote: > > > >We could add that to the binary release but not the source release, you > >can’t have jars in a source release. > > Do you see any conflicts with ASF policy if our Maven scripts bring down > Adobe artifacts? > > > > >Previous version of OS X had it installed, but for Mavericks it not, and > >it come with java in Lion, but It’s easy enough to install using homebrew > >on OS X via 'brew install maven”. > > Apparently, I don’t have brew installed. The suggestion to use brew is > what made me think we shouldn’t mandate any build system, not even Ant. > There is no need to use brew (I have no idea what that is) to install maven. You can install it the same way as you install Ant. Ant that's the reason why I suggested we ship Maven with our binary release of the sdk. > The next committer might make all of Flex and/or FlexJS installable via > brew, or npm, or something else. > The more ways folks get access to Flex/FlexJS, the better, isn't it? > > > Finally, one more thing about Ant. Ant is integrated to some degree with > Flash Builder. The MXMLC and Falcon compilers both have Ant flex-tasks > jars that I think people use. The Ant build scripts exercise that Ant > tasks code. To fully replace Ant, we might need to make sure we catch any > breakage in that area. > It is perfectly fine to have the 'build' portion of the mvn install to use the Maven AntRun plugin. At least initially. This way, at least we would move the dependency management from Ant to Maven, which IMO is the trickiest part of the entire build process. > > Anyway, I hope some folks do get started on the Maven stuff. I’m only > going to work on an Ant script to setup the Adobe stuff if folks think > that’s a good idea. > -1 for using Ant script to set up the Adobe stuff. I think we have too many Ant scripts to manage already. I am worried about the maintainability of such scripts. Thanks, Om > > Thoughts? > -Alex > >