5.9 and Maven Repo

8 views
Skip to first unread message

Haw-Bin Chai

unread,
Jun 4, 2009, 5:22:06 PM6/4/09
to testng...@googlegroups.com
Hi all,

5.9 is still not available from the Apache Maven repository - any idea when it will be deployed there?


Cheers,
Haw-Bin

Cédric Beust ♔

unread,
Jun 4, 2009, 5:34:29 PM6/4/09
to testng...@googlegroups.com
Hi Haw-Bin,

My bad, I dropped the ball.

I went through the older discussions we had on the topic but I couldn't find the exact procedure to ask the Maven people to add http://testng.org/maven into repo1.

What's the procedure?

--
Cédric

Stevo Slavić

unread,
Jun 4, 2009, 7:53:29 PM6/4/09
to testng...@googlegroups.com
Hello Cédric,

Procedure is described here.

Regards,
Stevo.

2009/6/4 Cédric Beust ♔ <cbe...@google.com>

Cédric Beust ♔

unread,
Jun 10, 2009, 8:57:58 PM6/10/09
to testng...@googlegroups.com
On Thu, Jun 4, 2009 at 4:53 PM, Stevo Slavić <ssl...@gmail.com> wrote:
Hello Cédric,

Procedure is described here.

That's a lot of work for something that sounds so simple, I thought somebody mentioned that all I needed to do was send an email to a list and ask them to copy the current repo (http://testng.org/maven) into repo1...  Did I imagine this?

--
Cédric


Russel Winder

unread,
Jun 11, 2009, 3:27:49 AM6/11/09
to testng...@googlegroups.com
Yes and no I'm afraid. Much of it is one-off, not per release.

My experience from running a project at Codehaus is that once you have
set up to do the deploy to the Codehaus central repository everything
runs very smoothly, but doing that initial set up is a bit of a pain,
but a one off one. The position for TestNG is that there will be an
extra one-off step of getting coordination with Maven Central.

Taking Gant as a example: I do not use Maven, the build uses Gant
itself(*) (with an Ant bootstrap), all Maven interaction activity is
handled by the Maven Ant task (currently 2.0.10), the jar for which has
to be in the project (all other dependencies are then handled via the
usual Maven dependency system). The task presents "install" and
"deploy" targets which basically do all the work of installing to the
local repository and deploying to the remote repository respectively.

So Step 1 is to make a Maven structure repository (at
http://repository.beust.com, say). Actually you probably need to set up
a main repository and a snapshots repository
(http://snapshot-repository.beust.com, say) so that snapshots can be
handled as well as releases. Step 2 is to amend the TestNG Ant build to
make use of the Maven Ant task to deploy to those repositories --
releases go to the main repository, snapshots go to the snapshots
repository (this is handled automatically by having -SNAPSHOTS appended
to the version number). There is then a Step 3 but by now everyone can
use TestNG within the Maven and Ivy dependency handling by adding this
repository to their search list. Step 3 is to get the release
repository on the automatic integration list -- this will be more
bureaucratic.

TestNG is sufficiently high-profile and important that it would be
unseemly for the Maven people to refuse a properly presented request for
automatic integration of the TestNG release repository with
repo1.maven.org.
>
An off-the-wall alternative is to switch TestNG to being a Codehaus
project and then you get all the repository infrastructure for free.
You still have to do Step 2 above but the analogue of Step 1 is already
done and there is no need for Step 3.

For Gant, I just do "gant deployMaven" and 10 mins later it is all done
with 3 different versions built and uploaded, ready for people to use.

Using Gradle for the build system makes things just as easy. I am
assuming that switching TestNG to be a Maven built project is not an
option, but then that is no problem, the Maven Ant task suffices for use
with Ant, Gant or Gradle. There does have to be a POM though. Gradle
generates then automatically. With Ant and Gant you need to have a
pom.xml.in that you stream edit for version numbers before doing the
install or deploy. A one-off set up and then it Just Works (tm).


(*) Gant using Gant for the build is like TestNG using TestNG for its
unit tests, necessary :-)

--
Russel.
=============================================================================
Dr Russel Winder Partner
xmpp: rus...@russel.org.uk
Concertant LLP t: +44 20 7585 2200, +44 20 7193 9203
41 Buckmaster Road, f: +44 8700 516 084 voip: sip:russel...@ekiga.net
London SW11 1EN, UK m: +44 7770 465 077 skype: russel_winder

signature.asc

Galder Zamarreno

unread,
Jun 30, 2009, 7:11:40 AM6/30/09
to testng-users
testng 5.9 has been uploaded to the jboss maven2 repo in
http://repository.jboss.org/maven2/

On Jun 11, 9:27 am, Russel Winder <russel.win...@concertant.com>
wrote:
> On Wed, 2009-06-10 at 17:57 -0700, Cédric Beust ♔ wrote:
>
> > On Thu, Jun 4, 2009 at 4:53 PM, Stevo Slavić <ssla...@gmail.com>
> > wrote:
> >         Hello Cédric,
>
> >         Procedure is described here.
>
> > That's a lot of work for something that sounds so simple, I thought
> > somebody mentioned that all I needed to do was send an email to a list
> > and ask them to copy the current repo (http://testng.org/maven) into
> > repo1...  Did I imagine this?
>
> Yes and no I'm afraid.  Much of it is one-off, not per release.
>
> My experience from running a project at Codehaus is that once you have
> set up to do the deploy to the Codehaus central repository everything
> runs very smoothly, but doing that initial set up is a bit of a pain,
> but a one off one.  The position for TestNG is that there will be an
> extra one-off step of getting coordination with Maven Central.
>
> Taking Gant as a example:  I do not use Maven, the build uses Gant
> itself(*) (with an Ant bootstrap), all Maven interaction activity is
> handled by the Maven Ant task (currently 2.0.10), the jar for which has
> to be in the project (all other dependencies are then handled via the
> usual Maven dependency system).  The task presents "install" and
> "deploy" targets which basically do all the work of installing to the
> local repository and deploying to the remote repository respectively.
>
> So Step 1 is to make a Maven structure repository (athttp://repository.beust.com, say).  Actually you probably need to set up
> 41 Buckmaster Road,   f: +44 8700 516 084   voip: sip:russel.win...@ekiga.net
> London SW11 1EN, UK   m: +44 7770 465 077   skype: russel_winder
>
>  signature.asc
> < 1KViewDownload

Cédric Beust ♔

unread,
Jun 30, 2009, 9:40:46 AM6/30/09
to testng...@googlegroups.com
That's good to know, thanks Galder!

--
Cedric
--
Cédric


Reply all
Reply to author
Forward
0 new messages