Publishing to Maven Central
Greetings, I'm shifting discussion to here from "Bug 49753 - Please publish jMeter artifacts on Maven central repository" [1]. Considering an outright switch to Maven is a no go [2], what do developers think about delegating dependency management in the JMeter Ant build to the Maven Ant Tasks or Apache Ivy? The primary benefit would be that POMs could be generated to satisfy Bug 49753 that would be based on the same dependencies used by Ant to compile and execute tests. Using Ivy as an example (the Maven Ant Tasks have synonymous functionality), the change would roughly entail the following: - Dependency information in build.properties would move to a corresponding ivy.xml [3] file. - The _process_all_jars Ant target and friends would be implemented with the Ivy resolve [4] and retrieve [5] tasks. - Corresponding classpaths would be generated with the cachepath [6] task. - Equivalent POMs would be generated with the makepom [7] task. - JMeter JARs would be published to Nexus [8] with the publish [9] task. Regards, Ian [1] https://issues.apache.org/bugzilla/show_bug.cgi?id=49753 [2] https://issues.apache.org/bugzilla/show_bug.cgi?id=50324 [3] http://ant.apache.org/ivy/history/2.2.0/ivyfile.html [4] http://ant.apache.org/ivy/history/2.2.0/use/resolve.html [5] http://ant.apache.org/ivy/history/2.2.0/use/retrieve.html [6] http://ant.apache.org/ivy/history/2.2.0/use/cachepath.html [7] http://ant.apache.org/ivy/history/2.2.0/use/makepom.html [8] https://issues.apache.org/jira/browse/INFRA-4332 [9] http://ant.apache.org/ivy/history/2.2.0/use/publish.html
Re: Publishing to Maven Central
On 17 January 2012 21:59, Ian Brandt wrote: > > Greetings, > > I'm shifting discussion to here from "Bug 49753 - Please publish jMeter > artifacts on Maven central repository" [1]. > > Considering an outright switch to Maven is a no go [2], 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. > what do developers think about delegating dependency management in the JMeter > Ant build to the Maven Ant Tasks or Apache Ivy? The primary benefit would be > that POMs could be generated to satisfy Bug 49753 that would be based on the > same dependencies used by Ant to compile and execute tests. JMeter dependencies don't tend to change very frequently, so the question is: is the effort required to introduce Ivy/MAT worth it? > Using Ivy as an example (the Maven Ant Tasks have synonymous functionality), > the change would roughly entail the following: > > - Dependency information in build.properties would move to a corresponding > ivy.xml [3] file. > - The _process_all_jars Ant target and friends would be implemented with the > Ivy resolve [4] and retrieve [5] tasks. > - Corresponding classpaths would be generated with the cachepath [6] task. > - Equivalent POMs would be generated with the makepom [7] task. > - JMeter JARs would be published to Nexus [8] with the publish [9] task. I assume that the main build and release procedures would be unaffected? Is that correct? Does Ivy generate source jars? Javadoc jars? If so, what configuration is needed? Can the config be re-used for the compilation phase? > Regards, > > Ian > > > [1] https://issues.apache.org/bugzilla/show_bug.cgi?id=49753 > [2] https://issues.apache.org/bugzilla/show_bug.cgi?id=50324 > [3] http://ant.apache.org/ivy/history/2.2.0/ivyfile.html > [4] http://ant.apache.org/ivy/history/2.2.0/use/resolve.html > [5] http://ant.apache.org/ivy/history/2.2.0/use/retrieve.html > [6] http://ant.apache.org/ivy/history/2.2.0/use/cachepath.html > [7] http://ant.apache.org/ivy/history/2.2.0/use/makepom.html > [8] https://issues.apache.org/jira/browse/INFRA-4332 > [9] http://ant.apache.org/ivy/history/2.2.0/use/publish.html >
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+Usage+Guide#SonatypeOSSMavenRepositoryUsageGuide-7c.DeploySnapshotsandStageReleaseswithAnt [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.html [7] http://stackoverflow.com/a/5115447
RE: Publishing to Maven Central
I'm in the progress of writing my second attempt at providing a working maven solution which you can see here: 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. 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. -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-mai
Re: Publishing to Maven Central
On 18 January 2012 06:35, Mark Collin 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, tha
RE: Publishing to Maven Central
Hmm I've not seen any updates on the jmeter github page. I guess the syncing is either not working, or you aren't syncing the github pages with the main repo. I'll go have a look now. -Original Message- From: sebb [mailto:seb...@gmail.com] Sent: 18 January 2012 10:56 To: dev@jmeter.apache.org Subject: Re: Publishing to Maven Central On 18 January 2012 06:35, Mark Collin 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, t
RE: Publishing to Maven Central
It looks like you have specified all of the dependencies in the ApacheJMeter_parent pom. I thought you wanted a unified set of dependencies that are only declared in one place. The code I have right now will deploy to a repo using ant to call the mvn deploy command via an exec command. It's working on Linux and Windows and just requires you to have maven installed upon your system. I can add in the dependency list to the parent.pom and it will all work right now. -Original Message- From: sebb [mailto:seb...@gmail.com] Sent: 18 January 2012 10:56 To: dev@jmeter.apache.org Subject: Re: Publishing to Maven Central On 18 January 2012 06:35, Mark Collin 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 pub
Re: Publishing to Maven Central
On 18 January 2012 12:30, Mark Collin wrote: > It looks like you have specified all of the dependencies in the > ApacheJMeter_parent pom. > > I thought you wanted a unified set of dependencies that are only declared in > one place. Ideally, yes, but that looks to be hard to do. This approach should be enough to publish the jars and it's not to hard to maintain. If it can be improved later, so much the better. > The code I have right now will deploy to a repo using ant to call the mvn > deploy command via an exec command. It's working on Linux and Windows and > just requires you to have maven installed upon your system. Does it use standard Ant? Can you attach the file to the Bugzilla issue so I can try it? > I can add in the dependency list to the parent.pom and it will all work right > now. Huh? What's wrong with the existing dependency list in ApacheJMeter_parent pom? > -Original Message- > From: sebb [mailto:seb...@gmail.com] > Sent: 18 January 2012 10:56 > To: dev@jmeter.apache.org > Subject: Re: Publishing to Maven Central > > On 18 January 2012 06:35, Mark Collin 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
Re: Publishing to Maven Central
On 18 January 2012 05:04, Ian Brandt wrote: > > 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]. Just read it. Very useful summary; I've experienced nearly all of those issues in one way or another. > [1] https://community.jboss.org/wiki/GradleWhy
RE: Publishing to Maven Central
I was trying to find a way that would use a unified dependency list for both the ant build and the maven deploy. The path I have been going down is creating a dependency POM for doc, core and api and making them required dependencies of ApacheJMeter_parent. I have then modified build.xml to use these dependencies instead of build.properties, but I'm running into issues with the existing classpath declaration in the build.xml because it doesn't just use all of the files in core, doc, or api. I'll upload what I currently have -Original Message- From: sebb [mailto:seb...@gmail.com] Sent: 18 January 2012 12:41 To: dev@jmeter.apache.org Subject: Re: Publishing to Maven Central On 18 January 2012 12:30, Mark Collin wrote: > It looks like you have specified all of the dependencies in the > ApacheJMeter_parent pom. > > I thought you wanted a unified set of dependencies that are only > declared in one place. Ideally, yes, but that looks to be hard to do. This approach should be enough to publish the jars and it's not to hard to maintain. If it can be improved later, so much the better. > The code I have right now will deploy to a repo using ant to call the > mvn deploy command via an exec command. It's working on Linux and > Windows and just requires you to have maven installed upon your system. Does it use standard Ant? Can you attach the file to the Bugzilla issue so I can try it? > I can add in the dependency list to the parent.pom and it will all work right now. Huh? What's wrong with the existing dependency list in ApacheJMeter_parent pom? > -Original Message- > From: sebb [mailto:seb...@gmail.com] > Sent: 18 January 2012 10:56 > To: dev@jmeter.apache.org > Subject: Re: Publishing to Maven Central > > On 18 January 2012 06:35, Mark Collin 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 mov
RE: Publishing to Maven Central
I've added what I currently have to the bug. -Original Message- From: sebb [mailto:seb...@gmail.com] Sent: 18 January 2012 12:41 To: dev@jmeter.apache.org Subject: Re: Publishing to Maven Central On 18 January 2012 12:30, Mark Collin wrote: > It looks like you have specified all of the dependencies in the > ApacheJMeter_parent pom. > > I thought you wanted a unified set of dependencies that are only > declared in one place. Ideally, yes, but that looks to be hard to do. This approach should be enough to publish the jars and it's not to hard to maintain. If it can be improved later, so much the better. > The code I have right now will deploy to a repo using ant to call the > mvn deploy command via an exec command. It's working on Linux and > Windows and just requires you to have maven installed upon your system. Does it use standard Ant? Can you attach the file to the Bugzilla issue so I can try it? > I can add in the dependency list to the parent.pom and it will all work right now. Huh? What's wrong with the existing dependency list in ApacheJMeter_parent pom? > -Original Message- > From: sebb [mailto:seb...@gmail.com] > Sent: 18 January 2012 10:56 > To: dev@jmeter.apache.org > Subject: Re: Publishing to Maven Central > > On 18 January 2012 06:35, Mark Collin 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 specific
RE: Publishing to Maven Central
Uploaded a final version just now. I had to fix some transitive dependency problems that were not apparent until you tried to use the artifacts and I had one POM that was not correctly referencing ApacheJMeter_parent. The final version will also automatically download ant-contrib if you don't have it to make the whole process easier. Let me know if it needs any more tweaking. Regards Mark -Original Message- From: Mark Collin [mailto:m...@ardescosolutions.com] Sent: 18 January 2012 14:10 To: dev@jmeter.apache.org Subject: RE: Publishing to Maven Central I was trying to find a way that would use a unified dependency list for both the ant build and the maven deploy. The path I have been going down is creating a dependency POM for doc, core and api and making them required dependencies of ApacheJMeter_parent. I have then modified build.xml to use these dependencies instead of build.properties, but I'm running into issues with the existing classpath declaration in the build.xml because it doesn't just use all of the files in core, doc, or api. I'll upload what I currently have -Original Message- From: sebb [mailto:seb...@gmail.com] Sent: 18 January 2012 12:41 To: dev@jmeter.apache.org Subject: Re: Publishing to Maven Central On 18 January 2012 12:30, Mark Collin wrote: > It looks like you have specified all of the dependencies in the > ApacheJMeter_parent pom. > > I thought you wanted a unified set of dependencies that are only > declared in one place. Ideally, yes, but that looks to be hard to do. This approach should be enough to publish the jars and it's not to hard to maintain. If it can be improved later, so much the better. > The code I have right now will deploy to a repo using ant to call the > mvn deploy command via an exec command. It's working on Linux and > Windows and just requires you to have maven installed upon your system. Does it use standard Ant? Can you attach the file to the Bugzilla issue so I can try it? > I can add in the dependency list to the parent.pom and it will all > work right now. Huh? What's wrong with the existing dependency list in ApacheJMeter_parent pom? > -Original Message- > From: sebb [mailto:seb...@gmail.com] > Sent: 18 January 2012 10:56 > To: dev@jmeter.apache.org > Subject: Re: Publishing to Maven Central > > On 18 January 2012 06:35, Mark Collin 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 (r
Re: Publishing to Maven Central
On 18 January 2012 22:45, Mark Collin wrote: > Uploaded a final version just now. > > I had to fix some transitive dependency problems that were not apparent > until you tried to use the artifacts and I had one POM that was not > correctly referencing ApacheJMeter_parent. > > The final version will also automatically download ant-contrib if you don't > have it to make the whole process easier. I don't think we need the ant-contrib; so long as Maven is locally installed it's possible to access it using Java. I recently committed an Ant script that uses this technique to upload the jars (so far not source or javadoc). > Let me know if it needs any more tweaking. Have you seen the snapshots I uploaded? Do the poms work OK? If not, what needs to be fixed? > Regards > > Mark > > -Original Message- > From: Mark Collin [mailto:m...@ardescosolutions.com] > Sent: 18 January 2012 14:10 > To: dev@jmeter.apache.org > Subject: RE: Publishing to Maven Central > > I was trying to find a way that would use a unified dependency list for both > the ant build and the maven deploy. > > The path I have been going down is creating a dependency POM for doc, core > and api and making them required dependencies of ApacheJMeter_parent. I > have then modified build.xml to use these dependencies instead of > build.properties, but I'm running into issues with the existing classpath > declaration in the build.xml because it doesn't just use all of the files in > core, doc, or api. > > I'll upload what I currently have > > > -Original Message----- > From: sebb [mailto:seb...@gmail.com] > Sent: 18 January 2012 12:41 > To: dev@jmeter.apache.org > Subject: Re: Publishing to Maven Central > > On 18 January 2012 12:30, Mark Collin wrote: >> It looks like you have specified all of the dependencies in the >> ApacheJMeter_parent pom. >> >> I thought you wanted a unified set of dependencies that are only >> declared in one place. > > Ideally, yes, but that looks to be hard to do. > This approach should be enough to publish the jars and it's not to hard to > maintain. > If it can be improved later, so much the better. > >> The code I have right now will deploy to a repo using ant to call the >> mvn deploy command via an exec command. It's working on Linux and >> Windows and just requires you to have maven installed upon your system. > > Does it use standard Ant? > Can you attach the file to the Bugzilla issue so I can try it? > >> I can add in the dependency list to the parent.pom and it will all >> work > right now. > > Huh? > What's wrong with the existing dependency list in ApacheJMeter_parent pom? > >> -Original Message- >> From: sebb [mailto:seb...@gmail.com] >> Sent: 18 January 2012 10:56 >> To: dev@jmeter.apache.org >> Subject: Re: Publishing to Maven Central >> >> On 18 January 2012 06:35, Mark Collin 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
RE: Publishing to Maven Central
Sebb, There is a transitive dependency issue with JDOM pulling in jaxen which by default tries to pull in some plugins that are not available: http://blog.cedarsoft.com/2011/12/fixing-maven-artifact-jaxen/ http://jira.codehaus.org/browse/JAXEN-217 This is fixed in the package I supplied yesterday by adding an exclusion for jaxen. I have also added in a repo that has jchart 0.75 available, and one for beanshell 2.0b5 (although checking just now I have missed the dependency block for beanshell in the parent POM so it isn't actually pulling beanshell down). I'll look at it in a bit more anger in a couple of hours to provide some more useful feedback. Ant-contrib is used in the patch I have supplied to loop through a couple of lists and add in an if/else block that will allow you to choose if you want to add sources and javadoc jars when deploying, if you don't want to do these things it isn't needed. Regards Mark -Original Message- From: sebb [mailto:seb...@gmail.com] Sent: 18 January 2012 23:39 To: dev@jmeter.apache.org Subject: Re: Publishing to Maven Central On 18 January 2012 22:45, Mark Collin wrote: > Uploaded a final version just now. > > I had to fix some transitive dependency problems that were not > apparent until you tried to use the artifacts and I had one POM that > was not correctly referencing ApacheJMeter_parent. > > The final version will also automatically download ant-contrib if you > don't have it to make the whole process easier. I don't think we need the ant-contrib; so long as Maven is locally installed it's possible to access it using Java. I recently committed an Ant script that uses this technique to upload the jars (so far not source or javadoc). > Let me know if it needs any more tweaking. Have you seen the snapshots I uploaded? Do the poms work OK? If not, what needs to be fixed? > Regards > > Mark > > -Original Message- > From: Mark Collin [mailto:m...@ardescosolutions.com] > Sent: 18 January 2012 14:10 > To: dev@jmeter.apache.org > Subject: RE: Publishing to Maven Central > > I was trying to find a way that would use a unified dependency list > for both the ant build and the maven deploy. > > The path I have been going down is creating a dependency POM for doc, > core and api and making them required dependencies of > ApacheJMeter_parent. I have then modified build.xml to use these > dependencies instead of build.properties, but I'm running into issues > with the existing classpath declaration in the build.xml because it > doesn't just use all of the files in core, doc, or api. > > I'll upload what I currently have > > > -----Original Message- > From: sebb [mailto:seb...@gmail.com] > Sent: 18 January 2012 12:41 > To: dev@jmeter.apache.org > Subject: Re: Publishing to Maven Central > > On 18 January 2012 12:30, Mark Collin wrote: >> It looks like you have specified all of the dependencies in the >> ApacheJMeter_parent pom. >> >> I thought you wanted a unified set of dependencies that are only >> declared in one place. > > Ideally, yes, but that looks to be hard to do. > This approach should be enough to publish the jars and it's not to > hard to maintain. > If it can be improved later, so much the better. > >> The code I have right now will deploy to a repo using ant to call the >> mvn deploy command via an exec command. It's working on Linux and >> Windows and just requires you to have maven installed upon your system. > > Does it use standard Ant? > Can you attach the file to the Bugzilla issue so I can try it? > >> I can add in the dependency list to the parent.pom and it will all >> work > right now. > > Huh? > What's wrong with the existing dependency list in ApacheJMeter_parent pom? > >> -Original Message- >> From: sebb [mailto:seb...@gmail.com] >> Sent: 18 January 2012 10:56 >> To: dev@jmeter.apache.org >> Subject: Re: Publishing to Maven Central >> >> On 18 January 2012 06:35, Mark Collin 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 >>> >
RE: Publishing to Maven Central
; to add sources and javadoc jars when deploying, if you don't want to do > these things it isn't needed. > > Regards > > Mark > > -Original Message- > From: sebb [mailto:seb...@gmail.com] > Sent: 18 January 2012 23:39 > To: dev@jmeter.apache.org > Subject: Re: Publishing to Maven Central > > On 18 January 2012 22:45, Mark Collin wrote: >> Uploaded a final version just now. >> >> I had to fix some transitive dependency problems that were not >> apparent until you tried to use the artifacts and I had one POM that >> was not correctly referencing ApacheJMeter_parent. >> >> The final version will also automatically download ant-contrib if you >> don't have it to make the whole process easier. > > I don't think we need the ant-contrib; so long as Maven is locally > installed > it's possible to access it using Java. > > I recently committed an Ant script that uses this technique to upload the > jars (so far not source or javadoc). > >> Let me know if it needs any more tweaking. > > Have you seen the snapshots I uploaded? > Do the poms work OK? > > If not, what needs to be fixed? > >> Regards >> >> Mark >> >> -Original Message- >> From: Mark Collin [mailto:m...@ardescosolutions.com] >> Sent: 18 January 2012 14:10 >> To: dev@jmeter.apache.org >> Subject: RE: Publishing to Maven Central >> >> I was trying to find a way that would use a unified dependency list >> for both the ant build and the maven deploy. >> >> The path I have been going down is creating a dependency POM for doc, >> core and api and making them required dependencies of >> ApacheJMeter_parent. I have then modified build.xml to use these >> dependencies instead of build.properties, but I'm running into issues >> with the existing classpath declaration in the build.xml because it >> doesn't just use all of the files in core, doc, or api. >> >> I'll upload what I currently have >> >> >> -Original Message- >> From: sebb [mailto:seb...@gmail.com] >> Sent: 18 January 2012 12:41 >> To: dev@jmeter.apache.org >> Subject: Re: Publishing to Maven Central >> >> On 18 January 2012 12:30, Mark Collin wrote: >>> It looks like you have specified all of the dependencies in the >>> ApacheJMeter_parent pom. >>> >>> I thought you wanted a unified set of dependencies that are only >>> declared in one place. >> >> Ideally, yes, but that looks to be hard to do. >> This approach should be enough to publish the jars and it's not to >> hard to maintain. >> If it can be improved later, so much the better. >> >>> The code I have right now will deploy to a repo using ant to call the >>> mvn deploy command via an exec command. It's working on Linux and >>> Windows and just requires you to have maven installed upon your system. >> >> Does it use standard Ant? >> Can you attach the file to the Bugzilla issue so I can try it? >> >>> I can add in the dependency list to the parent.pom and it will all >>> work >> right now. >> >> Huh? >> What's wrong with the existing dependency list in ApacheJMeter_parent >> pom? >> >>> -Original Message- >>> From: sebb [mailto:seb...@gmail.com] >>> Sent: 18 January 2012 10:56 >>> To: dev@jmeter.apache.org >>> Subject: Re: Publishing to Maven Central >>> >>> On 18 January 2012 06:35, Mark Collin >>> 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
RE: Publishing to Maven Central
Oh this has highlighted another difference between the implementation I supplied and your one, I have a POM named ApacheJMeter_reports and you have one named ApacheJMeter_report. If you do want to use the one I supplied you'll need to take the s off the name to make it match your current POM. -Original Message- From: Mark Collin [mailto:m...@ardescosolutions.com] Sent: 19 January 2012 09:09 To: dev@jmeter.apache.org Subject: RE: Publishing to Maven Central OK I have tried using the 2.6-SNAPSHOT at https://repository.apache.org/content/repositories/snapshots/ and I get the following dependency issues: [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Failed to resolve artifact. Missing: -- 1) org.bouncycastle:bcmail-jdk15:jar:$(bcmail.version} Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.bouncycastle -DartifactId=bcmail-jdk15 -Dversion=$(bcmail.version} -Dpackaging=jar -Dfile=/path/to/file Alternatively, if you host your own repository you can deploy the file there: mvn deploy:deploy-file -DgroupId=org.bouncycastle -DartifactId=bcmail-jdk15 -Dversion=$(bcmail.version} -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] Path to dependency: 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT 2) org.apache.jmeter:ApacheJMeter_core:jar:2.6-SNAPSHOT 3) org.bouncycastle:bcmail-jdk15:jar:$(bcmail.version} 2) maven-plugins:maven-cobertura-plugin:plugin:1.3 Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=maven-plugins -DartifactId=maven-cobertura-plugin -Dversion=1.3 -Dpackaging=plugin -Dfile=/path/to/file Alternatively, if you host your own repository you can deploy the file there: mvn deploy:deploy-file -DgroupId=maven-plugins -DartifactId=maven-cobertura-plugin -Dversion=1.3 -Dpackaging=plugin -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] Path to dependency: 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT 2) org.apache.jmeter:ApacheJMeter_core:jar:2.6-SNAPSHOT 3) org.jdom:jdom:jar:1.1.2 4) jaxen:jaxen:jar:1.1.3 5) maven-plugins:maven-cobertura-plugin:plugin:1.3 3) maven-plugins:maven-findbugs-plugin:plugin:1.3.1 Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=maven-plugins -DartifactId=maven-findbugs-plugin -Dversion=1.3.1 -Dpackaging=plugin -Dfile=/path/to/file Alternatively, if you host your own repository you can deploy the file there: mvn deploy:deploy-file -DgroupId=maven-plugins -DartifactId=maven-findbugs-plugin -Dversion=1.3.1 -Dpackaging=plugin -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] Path to dependency: 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT 2) org.apache.jmeter:ApacheJMeter_core:jar:2.6-SNAPSHOT 3) org.jdom:jdom:jar:1.1.2 4) jaxen:jaxen:jar:1.1.3 5) maven-plugins:maven-findbugs-plugin:plugin:1.3.1 4) org.apache.jmeter:ApacheJMeter_mail:jar:2.6-SNAPSHOT Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=org.apache.jmeter -DartifactId=ApacheJMeter_mail -Dversion=2.6-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file Alternatively, if you host your own repository you can deploy the file there: mvn deploy:deploy-file -DgroupId=org.apache.jmeter -DartifactId=ApacheJMeter_mail -Dversion=2.6-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] Path to dependency: 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT 2) org.apache.jmeter:ApacheJMeter_mail:jar:2.6-SNAPSHOT -- 4 required artifacts are missing. for artifact: org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT from the specified remote repositories: central (http://repo1.maven.org/maven2), Java maven repo (https://repository.apache.org/content/repositories/snapshots/), Maven JMeter Repo (http://ardesco.github.com/jmeter-maven-plugin/repository) [INFO] Regards Mark > Sebb, > > There is a transitive dependency issue with JDOM pulling in jaxen > which by default tries to pull in some plugins that are not available: > > http://blog.cedarsoft.com/2011/12/fixing-maven-artifact-jaxen/ > http://jira.codehaus.org/browse/JAXEN-217 > > This is fixed in the package I supplied yesterday by adding an > exclusion for jaxen. > > I have also added in a repo that has jchart 0.75 available, and one >
Re: Publishing to Maven Central
On 19 January 2012 09:13, Mark Collin wrote: > Oh this has highlighted another difference between the implementation I > supplied and your one, I have a POM named ApacheJMeter_reports and you have > one named ApacheJMeter_report. If you do want to use the one I supplied > you'll need to take the s off the name to make it match your current POM. I changed that so the pom matches the jar name, makes the Ant file simpler. > -Original Message- > From: Mark Collin [mailto:m...@ardescosolutions.com] > Sent: 19 January 2012 09:09 > To: dev@jmeter.apache.org > Subject: RE: Publishing to Maven Central > > OK I have tried using the 2.6-SNAPSHOT at > https://repository.apache.org/content/repositories/snapshots/ and I get the > following dependency issues: > > [INFO] > > [ERROR] BUILD ERROR > [INFO] > > [INFO] Failed to resolve artifact. > > Missing: > -- > 1) org.bouncycastle:bcmail-jdk15:jar:$(bcmail.version} > > Try downloading the file manually from the project website. > > Then, install it using the command: > mvn install:install-file -DgroupId=org.bouncycastle > -DartifactId=bcmail-jdk15 -Dversion=$(bcmail.version} -Dpackaging=jar > -Dfile=/path/to/file > > Alternatively, if you host your own repository you can deploy the file > there: > mvn deploy:deploy-file -DgroupId=org.bouncycastle > -DartifactId=bcmail-jdk15 -Dversion=$(bcmail.version} -Dpackaging=jar > -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] > > Path to dependency: > 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT > 2) org.apache.jmeter:ApacheJMeter_core:jar:2.6-SNAPSHOT > 3) org.bouncycastle:bcmail-jdk15:jar:$(bcmail.version} > > 2) maven-plugins:maven-cobertura-plugin:plugin:1.3 > > Try downloading the file manually from the project website. > > Then, install it using the command: > mvn install:install-file -DgroupId=maven-plugins > -DartifactId=maven-cobertura-plugin -Dversion=1.3 -Dpackaging=plugin > -Dfile=/path/to/file > > Alternatively, if you host your own repository you can deploy the file > there: > mvn deploy:deploy-file -DgroupId=maven-plugins > -DartifactId=maven-cobertura-plugin -Dversion=1.3 -Dpackaging=plugin > -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] > > Path to dependency: > 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT > 2) org.apache.jmeter:ApacheJMeter_core:jar:2.6-SNAPSHOT > 3) org.jdom:jdom:jar:1.1.2 > 4) jaxen:jaxen:jar:1.1.3 > 5) maven-plugins:maven-cobertura-plugin:plugin:1.3 > > 3) maven-plugins:maven-findbugs-plugin:plugin:1.3.1 > > Try downloading the file manually from the project website. > > Then, install it using the command: > mvn install:install-file -DgroupId=maven-plugins > -DartifactId=maven-findbugs-plugin -Dversion=1.3.1 -Dpackaging=plugin > -Dfile=/path/to/file > > Alternatively, if you host your own repository you can deploy the file > there: > mvn deploy:deploy-file -DgroupId=maven-plugins > -DartifactId=maven-findbugs-plugin -Dversion=1.3.1 -Dpackaging=plugin > -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] > > Path to dependency: > 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT > 2) org.apache.jmeter:ApacheJMeter_core:jar:2.6-SNAPSHOT > 3) org.jdom:jdom:jar:1.1.2 > 4) jaxen:jaxen:jar:1.1.3 > 5) maven-plugins:maven-findbugs-plugin:plugin:1.3.1 > > 4) org.apache.jmeter:ApacheJMeter_mail:jar:2.6-SNAPSHOT > > Try downloading the file manually from the project website. > > Then, install it using the command: > mvn install:install-file -DgroupId=org.apache.jmeter > -DartifactId=ApacheJMeter_mail -Dversion=2.6-SNAPSHOT -Dpackaging=jar > -Dfile=/path/to/file > > Alternatively, if you host your own repository you can deploy the file > there: > mvn deploy:deploy-file -DgroupId=org.apache.jmeter > -DartifactId=ApacheJMeter_mail -Dversion=2.6-SNAPSHOT -Dpackaging=jar > -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] > > Path to dependency: > 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT > 2) org.apache.jmeter:ApacheJMeter_mail:jar:2.6-SNAPSHOT > > -- > 4 required artifacts are missing. > > for artifact: > org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT > > from the specified remote repositories: > central (http://repo1.maven.org/maven2), > Java maven repo > (https://repository.apache.org/content/repositories/snapshots/), > M
RE: Publishing to Maven Central
Just tried the latest snapshot and everything looks good now. :) Is the plan to push this up to the maven central repo when 2.6 final is released? -Original Message- From: sebb [mailto:seb...@gmail.com] Sent: 19 January 2012 10:59 To: dev@jmeter.apache.org Subject: Re: Publishing to Maven Central On 19 January 2012 09:13, Mark Collin wrote: > Oh this has highlighted another difference between the implementation > I supplied and your one, I have a POM named ApacheJMeter_reports and > you have one named ApacheJMeter_report. If you do want to use the one > I supplied you'll need to take the s off the name to make it match your current POM. I changed that so the pom matches the jar name, makes the Ant file simpler. > -Original Message- > From: Mark Collin [mailto:m...@ardescosolutions.com] > Sent: 19 January 2012 09:09 > To: dev@jmeter.apache.org > Subject: RE: Publishing to Maven Central > > OK I have tried using the 2.6-SNAPSHOT at > https://repository.apache.org/content/repositories/snapshots/ and I > get the following dependency issues: > > [INFO] > -- > -- > [ERROR] BUILD ERROR > [INFO] > -- > -- > [INFO] Failed to resolve artifact. > > Missing: > -- > 1) org.bouncycastle:bcmail-jdk15:jar:$(bcmail.version} > > Try downloading the file manually from the project website. > > Then, install it using the command: > mvn install:install-file -DgroupId=org.bouncycastle > -DartifactId=bcmail-jdk15 -Dversion=$(bcmail.version} -Dpackaging=jar > -Dfile=/path/to/file > > Alternatively, if you host your own repository you can deploy the > file > there: > mvn deploy:deploy-file -DgroupId=org.bouncycastle > -DartifactId=bcmail-jdk15 -Dversion=$(bcmail.version} -Dpackaging=jar > -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] > > Path to dependency: > 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT > 2) org.apache.jmeter:ApacheJMeter_core:jar:2.6-SNAPSHOT > 3) org.bouncycastle:bcmail-jdk15:jar:$(bcmail.version} > > 2) maven-plugins:maven-cobertura-plugin:plugin:1.3 > > Try downloading the file manually from the project website. > > Then, install it using the command: > mvn install:install-file -DgroupId=maven-plugins > -DartifactId=maven-cobertura-plugin -Dversion=1.3 -Dpackaging=plugin > -Dfile=/path/to/file > > Alternatively, if you host your own repository you can deploy the > file > there: > mvn deploy:deploy-file -DgroupId=maven-plugins > -DartifactId=maven-cobertura-plugin -Dversion=1.3 -Dpackaging=plugin > -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] > > Path to dependency: > 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT > 2) org.apache.jmeter:ApacheJMeter_core:jar:2.6-SNAPSHOT > 3) org.jdom:jdom:jar:1.1.2 > 4) jaxen:jaxen:jar:1.1.3 > 5) maven-plugins:maven-cobertura-plugin:plugin:1.3 > > 3) maven-plugins:maven-findbugs-plugin:plugin:1.3.1 > > Try downloading the file manually from the project website. > > Then, install it using the command: > mvn install:install-file -DgroupId=maven-plugins > -DartifactId=maven-findbugs-plugin -Dversion=1.3.1 -Dpackaging=plugin > -Dfile=/path/to/file > > Alternatively, if you host your own repository you can deploy the > file > there: > mvn deploy:deploy-file -DgroupId=maven-plugins > -DartifactId=maven-findbugs-plugin -Dversion=1.3.1 -Dpackaging=plugin > -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] > > Path to dependency: > 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT > 2) org.apache.jmeter:ApacheJMeter_core:jar:2.6-SNAPSHOT > 3) org.jdom:jdom:jar:1.1.2 > 4) jaxen:jaxen:jar:1.1.3 > 5) maven-plugins:maven-findbugs-plugin:plugin:1.3.1 > > 4) org.apache.jmeter:ApacheJMeter_mail:jar:2.6-SNAPSHOT > > Try downloading the file manually from the project website. > > Then, install it using the command: > mvn install:install-file -DgroupId=org.apache.jmeter > -DartifactId=ApacheJMeter_mail -Dversion=2.6-SNAPSHOT -Dpackaging=jar > -Dfile=/path/to/file > > Alternatively, if you host your own repository you can deploy the > file > there: > mvn deploy:deploy-file -DgroupId=org.apache.jmeter > -DartifactId=ApacheJMeter_mail -Dversion=2.6-SNAPSHOT -Dpackaging=jar > -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] > > Path to dependency: > 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT > 2) org.apache.jmeter:ApacheJMeter_mail:
Re: Publishing to Maven Central
On 19 January 2012 15:04, Mark Collin wrote: > Just tried the latest snapshot and everything looks good now. :) OK, thanks. > Is the plan to push this up to the maven central repo when 2.6 final is > released? Yes, that was the plan. > > -Original Message- > From: sebb [mailto:seb...@gmail.com] > Sent: 19 January 2012 10:59 > To: dev@jmeter.apache.org > Subject: Re: Publishing to Maven Central > > On 19 January 2012 09:13, Mark Collin wrote: >> Oh this has highlighted another difference between the implementation >> I supplied and your one, I have a POM named ApacheJMeter_reports and >> you have one named ApacheJMeter_report. If you do want to use the one >> I supplied you'll need to take the s off the name to make it match your > current POM. > > I changed that so the pom matches the jar name, makes the Ant file simpler. > >> -Original Message- >> From: Mark Collin [mailto:m...@ardescosolutions.com] >> Sent: 19 January 2012 09:09 >> To: dev@jmeter.apache.org >> Subject: RE: Publishing to Maven Central >> >> OK I have tried using the 2.6-SNAPSHOT at >> https://repository.apache.org/content/repositories/snapshots/ and I >> get the following dependency issues: >> >> [INFO] >> -- >> -- >> [ERROR] BUILD ERROR >> [INFO] >> -- >> -- >> [INFO] Failed to resolve artifact. >> >> Missing: >> -- >> 1) org.bouncycastle:bcmail-jdk15:jar:$(bcmail.version} >> >> Try downloading the file manually from the project website. >> >> Then, install it using the command: >> mvn install:install-file -DgroupId=org.bouncycastle >> -DartifactId=bcmail-jdk15 -Dversion=$(bcmail.version} -Dpackaging=jar >> -Dfile=/path/to/file >> >> Alternatively, if you host your own repository you can deploy the >> file >> there: >> mvn deploy:deploy-file -DgroupId=org.bouncycastle >> -DartifactId=bcmail-jdk15 -Dversion=$(bcmail.version} -Dpackaging=jar >> -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] >> >> Path to dependency: >> 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT >> 2) org.apache.jmeter:ApacheJMeter_core:jar:2.6-SNAPSHOT >> 3) org.bouncycastle:bcmail-jdk15:jar:$(bcmail.version} >> >> 2) maven-plugins:maven-cobertura-plugin:plugin:1.3 >> >> Try downloading the file manually from the project website. >> >> Then, install it using the command: >> mvn install:install-file -DgroupId=maven-plugins >> -DartifactId=maven-cobertura-plugin -Dversion=1.3 -Dpackaging=plugin >> -Dfile=/path/to/file >> >> Alternatively, if you host your own repository you can deploy the >> file >> there: >> mvn deploy:deploy-file -DgroupId=maven-plugins >> -DartifactId=maven-cobertura-plugin -Dversion=1.3 -Dpackaging=plugin >> -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] >> >> Path to dependency: >> 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT >> 2) org.apache.jmeter:ApacheJMeter_core:jar:2.6-SNAPSHOT >> 3) org.jdom:jdom:jar:1.1.2 >> 4) jaxen:jaxen:jar:1.1.3 >> 5) maven-plugins:maven-cobertura-plugin:plugin:1.3 >> >> 3) maven-plugins:maven-findbugs-plugin:plugin:1.3.1 >> >> Try downloading the file manually from the project website. >> >> Then, install it using the command: >> mvn install:install-file -DgroupId=maven-plugins >> -DartifactId=maven-findbugs-plugin -Dversion=1.3.1 -Dpackaging=plugin >> -Dfile=/path/to/file >> >> Alternatively, if you host your own repository you can deploy the >> file >> there: >> mvn deploy:deploy-file -DgroupId=maven-plugins >> -DartifactId=maven-findbugs-plugin -Dversion=1.3.1 -Dpackaging=plugin >> -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] >> >> Path to dependency: >> 1) org.apache.jmeter:maven-jmeter-plugin:maven-plugin:SNAPSHOT >> 2) org.apache.jmeter:ApacheJMeter_core:jar:2.6-SNAPSHOT >> 3) org.jdom:jdom:jar:1.1.2 >> 4) jaxen:jaxen:jar:1.1.3 >> 5) maven-plugins:maven-findbugs-plugin:plugin:1.3.1 >> >> 4) org.apache.jmeter:ApacheJMeter_mail:jar:2.6-SNAPSHOT >> >> Try downloading the file manually from the project website. >> >> Then, install it using the command: >> mvn install:install-file -DgroupId=org.apache.jmeter >> -DartifactId=Apa