+1 on having only a single build system. Maintaining two of them is a useless burden.
-- Gianmarco On 23 December 2013 16:04, Matt Franklin <[email protected]> wrote: > On Sat, Dec 21, 2013 at 12:14 AM, James Xu <[email protected]> wrote: > > > Leiningen is the best build tool for Clojure projects, while Maven is the > > first class citizen in ASF Infrastructure. Can we keep them both? Just > like > > Nathan’s storm-starter: https://github.com/nathanmarz/storm-starter , > the > > project itself is managed by Leiningen, but storm user who knows only > maven > > can use the > > https://github.com/nathanmarz/storm-starter/blob/master/m2-pom.xml there > > to build. > > > > The concerns Ted has mostly stem from the activities that need to happen > during the release process. It is technically possible to build with > Leiningen and only do release builds with Maven, but I would recommend > against having two build strategies for the project. > > > > > > On 2013年12月21日, at 上午5:26, Ted Dunning <[email protected]> wrote: > > > > > The difference between Maven and Leiningen in the Apache context hasn't > > > even really come into view. When it comes to IP clearance, packaging > in > > > standard ways, signing and interfacing with Nexus, Maven is going to be > > > worlds easier. It isn't so much about doing the things that most > > > developers know and care about better, it is about doing the things > that > > > most developers don't care about, but which are *really* important to > get > > > right. Because few developers care, very few developers will get these > > > things right. Maven helps with this in two ways. First, many Apache > > > projects use maven so there is a tribal knowledge available to help > out. > > > Second, Maven incorporates community development into normal practice. > > > This means that if one project makes project signing better, everybody > > > wins. This community focus means that enough resources actually get > > spent > > > on the frictional parts of releasing code to make them much less > painful. > > > > > > > > > > > > > > > > > > On Fri, Dec 20, 2013 at 12:29 PM, Brian O'Neill <[email protected] > > >wrote: > > > > > >> +1 for a switch to maven > > >> > > >> I¹m all for lowering the hurdles for other developers to get involved. > > >> > > >> By eliminating the zeromq dependency and converting to maven, we¹ll > > lower > > >> those barriers, and increase the base of people capable of/willing to > > >> contribute. > > >> > > >> (the cost of submitting a small fix/enhancement right now is too high > > for > > >> the casual java developer) > > >> > > >> -brian > > >> > > >> --- > > >> Brian O'Neill > > >> Chief Architect > > >> Health Market Science > > >> The Science of Better Results > > >> 2700 Horizon Drive € King of Prussia, PA € 19406 > > >> M: 215.588.6024 € @boneill42 <http://www.twitter.com/boneill42> € > > >> healthmarketscience.com > > >> > > >> This information transmitted in this email message is for the intended > > >> recipient only and may contain confidential and/or privileged > material. > > If > > >> you received this email in error and are not the intended recipient, > or > > >> the person responsible to deliver it to the intended recipient, please > > >> contact the sender at the email above and delete this email and any > > >> attachments and destroy any copies thereof. Any review, > retransmission, > > >> dissemination, copying or other use of, or taking any action in > reliance > > >> upon, this information by persons or entities other than the intended > > >> recipient is strictly prohibited. > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> On 12/20/13, 3:19 PM, "P. Taylor Goetz" <[email protected]> wrote: > > >> > > >>> I was hoping not to have to ask this question, since it¹s likely to > > start > > >>> a heated debate. But here goesŠ > > >>> > > >>> How would Storm developers feel about switching the build system from > > >>> Leiningen to Maven? > > >>> > > >>> This has nothing to do with personal preference (I¹m fine with > > either). I > > >>> ask in the context of release management and integration with the ASF > > >>> infrastructure. > > >>> > > >>> I know Leiningen is very concise (since it uses clojure) and Maven is > > >>> often looked at as a ³mess of xml². And there are a lot of other > > >>> differences that people feel passionate about. So I¹d like to put > > ³minor² > > >>> differences aside for a minute and focus on a few points that are > > >>> important from a release management perspective. > > >>> > > >>> > > >>> 1. ASF infrastructure support > > >>> > > >>> This is probably the biggest factor. From what I can tell (I could be > > >>> wrong) Storm is the first ASF project to use Clojure and Leiningen, > so > > it > > >>> is not well supported from an infrastructure perspective. For > example, > > >>> although there is a Leiningen plugin for Jenkins, it¹s not installed > on > > >>> builds.apache.org, so we¹d have to ask INFRA to install it which > could > > >>> take a long time. To work around that, the build would have to do a > > >>> temporary install of Leiningen with each build. We¹d probably have to > > add > > >>> a bunch of support scripts as well to do things like detect test > > >>> failures, etc. > > >>> > > >>> Maven on the other hand is pretty much a first class citizen in terms > > of > > >>> ASF infrastructure, and using Maven makes it easy to build/sign > > releases, > > >>> stage to Sonatype, etc. There are a wealth of plugins as well that > > >>> integrate well with infra for such things as publishing docs, project > > >>> websites, etc. > > >>> > > >>> 2. Developer productivity > > >>> One thing lot of people seem to like about Lieningen is the ability > to > > >>> quickly bring up a REPL and start hacking away. For this experiment, > I > > >>> used to the clojure maven plugin > > >>> (https://github.com/talios/clojure-maven-plugin) and found it (for > > me) to > > >>> be on par with Leiningen. To bring up a REPL you just type: > > >>> > > >>> `mvn clojure:repl` > > >>> > > >>> > > >>> To do a comparison, I put together a quick and dirty experimental > > branch > > >>> with Leiningen replaced with Maven: > > >>> > > >>> https://github.com/ptgoetz/incubator-storm/tree/maven-test > > >>> > > >>> I¹d encourage anyone to check it out play around to see what > developing > > >>> Storm with Maven would be like. > > >>> > > >>> > > >>> I¹d like to hear opinions from other committers and developers. If > > >>> switching to Maven is something we want to do, I¹ll volunteer to do > the > > >>> work. > > >>> > > >>> Thanks, > > >>> > > >>> Taylor > > >>> > > >>> > > >> > > >> > > >> > > > > >
