On 18 January 2012 06:35, Mark Collin <m...@ardescosolutions.com> wrote:
> I'm in the progress of writing my second attempt at providing a working
> maven solution which you can see here:

It looks to me like an Ant build script using Maven deploy, i.e. Maven
is not used for building.

> https://github.com/Ardesco/jmeter/tree/trunk/maven
>
> The sticking point I have at the moment is plugging in the dependencies, I
> have been looking at tweaking the existing ant script to use
> maven-ant-tasks, this is how far I have got (It doesn't work yet):
>
> https://github.com/Ardesco/jmeter/blob/trunk/build.xml
>
> Downloading the dependencies is trivial, however finding a nice way to
> specify individual jars for the classpaths and the release mechanism is not
> quite so tidy, the most sane way would seem to be a series of POM files to
> set the dependencies for each requirement but I'm not sure if that is
> changing the existing build process too much.

Ant does not care about the dependencies being distributed accurately,
so long as all the dependencies are present.

AFAIK Maven need not either; if the parent depends on all the 3rd
party libs, then every JMeter jar can depend on the parent.

Intra-module dependencies in JMeter are quite simple and don't
(generally must not) change.

> Today I was planning on having a look at building some dependency POM's for
> the maven deploy on the fly from the build.properties as maybe a saner way
> to do things which will won't touch the existing build.xml at all, although
> I'm not that happy with this solution either.

Have you seen the POMs I comitted ro res/maven yesterday?

I was planning on using Maven deploy to upload them to a SNAPSHOT repo.

Someone can then see if the result is usable.

>
> -----Original Message-----
> From: Ian Brandt [mailto:i...@ianbrandt.com]
> Sent: 18 January 2012 05:04
> To: dev@jmeter.apache.org
> Subject: Re: Publishing to Maven Central
>
>
> On Jan 17, 2012, at 4:10 PM, sebb wrote:
>
>> IMO Maven works well for some projects, particularly single component
>> (module) builds.
>> Multi-module Maven does not work as well; in particular the test phase
>> requires the project to be (re)installed first.
>
> Understood.  I like Steve Ebersole's writeup of such issues he encountered
> with Hibernate [1].  On the other hand I maintain a 20 module Maven build at
> my company, having converted it from Ant a few years back, and have no
> regrets and minimal issues.
>
>> JMeter dependencies don't tend to change very frequently, so the
>> question is: is the effort required to introduce Ivy/MAT worth it?
>
> Good question, I can only offer anecdote.
>
> Before moving my company's build to Maven I first tried the Maven Ant Tasks
> and then Ivy.  The situation was that we had a large (50+) and frequently
> changing list of direct and transient dependencies.  With no way to
> comprehend all the relationships it was proving a maintenance nightmare to
> not use a dependency manager.  MAT proved lacking in needed functionality at
> the time, so that attempt was short lived.  With Ivy I can't remember the
> specifics, but I remember hitting enough issues and struggling with the
> documentation such that one day I just gave up and switched the entire build
> to Maven.  I'd have to say that for either MAT or Ivy to be worth it they'd
> need to have matured since then.  It's encouraging to see there is now
> Sonatype and Apache documentation on publishing to Maven repositories with
> them: [2], [3].
>
> If JMeter has a small and unchanging set of dependencies then the situation
> is different.  I'd only add that with any dependency management system the
> correctness of the declared relationships is everything, and with Maven you
> generally get one chance to get it right when publishing a given version to
> Central.  Tomcat has fewer external dependencies than JMeter I believe, and
> yet in my experience the Tomcat POMs aren't always right.  I'm proposing
> that MAT or Ivy might lead to higher quality POMs being published by JMeter
> because the exact same dependency information would be used to compile and
> test beforehand.
>
>> I assume that the main build and release procedures would be unaffected?
>> Is that correct?
>
> I've looked oven the Ant build, the README, and the Release Creation
> document on the Wiki [4].  Nothing jumps out as likely to be affected by MAT
> or Ivy that wouldn't already be involved with publishing to Maven in general
> [3].
>
>> Does Ivy generate source jars? Javadoc jars?
>> If so, what configuration is needed?
>> Can the config be re-used for the compilation phase?
>
>
> No, that'd still all be up to the traditional Ant tasks.  MAT or Ivy would
> reference these Jars however, and publish them along with the main
> artifacts.  See Attaching Multiple Artifacts in the MAT documentation [5],
> or the examples in these how-to's for Ivy: [6], [7].
>
> Ian
>
>
> [1] https://community.jboss.org/wiki/GradleWhy
> [2]
> https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+U
> sage+Guide#SonatypeOSSMavenRepositoryUsageGuide-7c.DeploySnapshotsandStageRe
> leaseswithAnt
> [3] http://www.apache.org/dev/publishing-maven-artifacts.html#ant
> [4] http://wiki.apache.org/jmeter/ReleaseCreation
> [5] http://maven.apache.org/ant-tasks/examples/install-deploy.html
> [6]
> http://draconianoverlord.com/2010/07/18/publishing-to-maven-repos-with-ivy.h
> tml
> [7] http://stackoverflow.com/a/5115447
>
> --
> This message contains confidential information and is intended only for the 
> individual named. If you are not the named addressee you should not 
> disseminate, distribute or copy this e-mail. Please notify the sender 
> immediately by e-mail if you have received this e-mail by mistake and delete 
> this e-mail from your system. If you are not the intended recipient you are 
> notified that disclosing, copying, distributing or taking any action in 
> reliance on the contents of this information is strictly prohibited.
>
> If you have received this email in error please notify 
> postmas...@ardescosolutions.com

Reply via email to