Is this a non-standard test running you speak of?  Surefire works great and
handles all of this.


On Mon, Dec 23, 2013 at 8:50 AM, Bobby Evans <[email protected]> wrote:

> I also agree that having two build systems is a pain, but both maven and
> lein currently have different sets of issues.  I know because I maintain
> both build systems for storm for different reasons.  I am very happy to
> give our maven build scripts as a starting point if someone is interested.
>
> The current clojure build plugin for maven will not output any error
> messages unless you are using clojure 1.5 or above (or 1.4 with my patch
> on it).
> http://dev.clojure.org/jira/browse/CLJ-1154
> The maven test runner will also not run a test case in isolation, it must
> be all or nothing.  In addition it has no way to fail the build if the
> tests fail.  If the tests crash horribly the build will fail, but not on
> simple test failures.
>
> Lein has bad multi-project integration and there are no good tools for
> integrating it with Jenkins.  Test reports do not come out in a format
> that Jenkins can read, there are no easy tools for doing code coverage
> analysis, and pushing/installing packages to repos is a pain.  Even the
> dependency resolution is a pain, this is why the build actually creates a
> pom.xml and calls into maven to place all of the dependencies in a single
> directory.
>
> We need to decide which of these two systems is going to be the best long
> term, and which errors need to be fixed before we can drop the other build
> system (CLJ-1154 is a blocker for me on maven).
>
> Also be aware that having both maven and lien in a multi-module project
> can also be really ugly.  I am sure there are things we could do to make
> this less ugly, but we did not want to modify the lein build process at
> all so for us it really is ugly. This is because maven requires the pom
> file of sub-projects to be called pom.xml, and under lein the part of the
> build that gathers the dependencies for packaging generates a pom.xml, so
> we had to create new maven specific directories with a pom.xml in it and
> symlinks back to the src and test directories.
>
> I personally am fine with either solution so long as the integration
> issues are fixed.  I am happy to help in either effort. But from what I
> see lein has some structural issues with multi-project builds that may be
> difficult to resolve, but maven’s clojure plugins have a ways to go before
> they are good enough for me as a developer to consider them as my primary
> build system.
>
> —Bobby
>
> On 12/23/13, 10:04 AM, "Herbert Mühlburger" <[email protected]> wrote:
>
> >-----BEGIN PGP SIGNED MESSAGE-----
> >Hash: SHA256
> >
> >+1 for maven.
> >
> >Am 23.12.13 14:11, schrieb Hugh Xedni:
> >> +1 for maven.
> >>
> >>
> >> On Sat, Dec 21, 2013 at 7:06 PM, Supun Kamburugamuva
> >> <[email protected]>wrote:
> >>
> >>> I'm also trying to develop on storm and had some problems with
> >>> Leiningen. For a developer like me who is familiar with maven,
> >>> switching Storm to maven will be a nice thing.
> >>>
> >>> Thanks, Supun..
> >>>
> >>>
> >>> On Sat, Dec 21, 2013 at 3:35 PM, Ed Kohlwey <[email protected]>
> >>> wrote:
> >>>
> >>>> Maven has much better IDE tooling built on top of it. While
> >>>> Lein has some minor advantages for those who want to get
> >>>> started quickly in Clojure, it doesn't have good multi module
> >>>> support. The current build system significantly complicates
> >>>> developing projects like Storm on Yarn in ways that maven would
> >>>> not. I think there is also a lot to be said for a declarative
> >>>> build language that actually constrains you to best practices
> >>>> rather than encouraging everyone to roll everything from
> >>>> scratch (and to Ted's point, usually get it wrong).
> >>>>
> >>>> +1 for maven. On Dec 20, 2013 4:27 PM, "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
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>>
> >>>
> >>> -- Supun Kamburugamuva Member, Apache Software Foundation;
> >>> http://www.apache.org E-mail: [email protected];  Mobile: +1 812
> >>> 369 6762 Blog: http://supunk.blogspot.com
> >>>
> >>
> >>
> >>
> >-----BEGIN PGP SIGNATURE-----
> >Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
> >Comment: GPGTools - http://gpgtools.org
> >
> >iF4EAREIAAYFAlK4XyAACgkQBJGnfYOuu33lwAD9Ga8Ol8luiU8y9TTCj0KtPGtt
> >URyr7y23RW4bH5tkXOIBALpNokRDJObyOB5v1+eRPFMx21KkzHQ8nnXbJLCt80VH
> >=3dmy
> >-----END PGP SIGNATURE-----
>
>

Reply via email to