You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Phil Harvey <ph...@philharveyonline.com> on 2013/07/31 15:01:59 UTC

Moving Qpid Java build from Ant to Maven

Due to a number of recent Qpid changes, I believe that now is a good time
to re-examine the question of moving the Qpid Java build system from Ant to
Maven.  I'm aware this has been debated before, but this was mainly before
I joined the project so please forgive me if I'm retreading old ground.

The changes that have brought this into the foreground are:

- Rob's recent refactoring of protocol-specific and store-specific code to
make it more module-based.
- Robbie and I have started working on the new AMQP 1.0 JMS client and have
adopted Maven from the outset.
- Proton's Java implementation uses Maven.

The experience of these changes suggests to me that we should replace
Qpid's Ant-based build system with a Maven-based one.  Whilst Maven is not
perfect, I believe that it is:

- functionally superior to our current custom system,
- well-understood by most developers,
- capable of easily meeting most non-standard requirements.

In order to understand the magnitude of this task I've started a wiki page
listing the tasks we'd need to do.  It is not complete but is hopefully a
useful start:
https://cwiki.apache.org/confluence/display/qpid/Java+Build+System

I'd like to hear people's view on this proposal.

Phil

Re: Moving Qpid Java build from Ant to Maven

Posted by Robbie Gemmell <ro...@gmail.com>.
Anyone paying attention might notice that I just committed a bunch of
changes to the Java tree which ended with addition of an initial set of
poms for a maven build.

I have been pottering away on it in my spare time for some time, and while
there is still significant work to do it is finally at the point it can
build all the modules and run the unit tests and system tests. As a result,
I spent the evening tidying it up and reducing the outstanding number of
local commits I had made and just pushed it out. I'll be looking to improve
it further, and when its in better overall shape I'll be sure to mention it
on the user list.

Robbie

On 31 July 2013 15:14, Rob Godfrey <ro...@gmail.com> wrote:

> I think most people know I'm not the world's biggest maven fan - quite the
> opposite... however the ant build system we currently have is bespoke,
> unweildy and makes it difficult for us to integrate into existing
> infrastructure such as the Apache Sonar instance [1].
>
> Therefore (and not without some degree of regret) I agree that now is
> probably the time to look at moving to a maven based build, especially as a
> pre-requisite to the sort of modularisation of the project that we talked
> about previously [2]
>
> -- Rob
>
> [1] https://analysis.apache.org/
> [2]
>
> http://mail-archives.apache.org/mod_mbox/qpid-users/201304.mbox/%3CCANVjZ_SqXFxcdR=DaknErN2S0TFc7zW5GXeZw8nZzi3FX4iPpQ@mail.gmail.com%3E
>
>
> On 31 July 2013 15:01, Phil Harvey <ph...@philharveyonline.com> wrote:
>
> > Due to a number of recent Qpid changes, I believe that now is a good time
> > to re-examine the question of moving the Qpid Java build system from Ant
> to
> > Maven.  I'm aware this has been debated before, but this was mainly
> before
> > I joined the project so please forgive me if I'm retreading old ground.
> >
> > The changes that have brought this into the foreground are:
> >
> > - Rob's recent refactoring of protocol-specific and store-specific code
> to
> > make it more module-based.
> > - Robbie and I have started working on the new AMQP 1.0 JMS client and
> have
> > adopted Maven from the outset.
> > - Proton's Java implementation uses Maven.
> >
> > The experience of these changes suggests to me that we should replace
> > Qpid's Ant-based build system with a Maven-based one.  Whilst Maven is
> not
> > perfect, I believe that it is:
> >
> > - functionally superior to our current custom system,
> > - well-understood by most developers,
> > - capable of easily meeting most non-standard requirements.
> >
> > In order to understand the magnitude of this task I've started a wiki
> page
> > listing the tasks we'd need to do.  It is not complete but is hopefully a
> > useful start:
> > https://cwiki.apache.org/confluence/display/qpid/Java+Build+System
> >
> > I'd like to hear people's view on this proposal.
> >
> > Phil
> >
>

Re: Moving Qpid Java build from Ant to Maven

Posted by Rob Godfrey <ro...@gmail.com>.
I think most people know I'm not the world's biggest maven fan - quite the
opposite... however the ant build system we currently have is bespoke,
unweildy and makes it difficult for us to integrate into existing
infrastructure such as the Apache Sonar instance [1].

Therefore (and not without some degree of regret) I agree that now is
probably the time to look at moving to a maven based build, especially as a
pre-requisite to the sort of modularisation of the project that we talked
about previously [2]

-- Rob

[1] https://analysis.apache.org/
[2]
http://mail-archives.apache.org/mod_mbox/qpid-users/201304.mbox/%3CCANVjZ_SqXFxcdR=DaknErN2S0TFc7zW5GXeZw8nZzi3FX4iPpQ@mail.gmail.com%3E


On 31 July 2013 15:01, Phil Harvey <ph...@philharveyonline.com> wrote:

> Due to a number of recent Qpid changes, I believe that now is a good time
> to re-examine the question of moving the Qpid Java build system from Ant to
> Maven.  I'm aware this has been debated before, but this was mainly before
> I joined the project so please forgive me if I'm retreading old ground.
>
> The changes that have brought this into the foreground are:
>
> - Rob's recent refactoring of protocol-specific and store-specific code to
> make it more module-based.
> - Robbie and I have started working on the new AMQP 1.0 JMS client and have
> adopted Maven from the outset.
> - Proton's Java implementation uses Maven.
>
> The experience of these changes suggests to me that we should replace
> Qpid's Ant-based build system with a Maven-based one.  Whilst Maven is not
> perfect, I believe that it is:
>
> - functionally superior to our current custom system,
> - well-understood by most developers,
> - capable of easily meeting most non-standard requirements.
>
> In order to understand the magnitude of this task I've started a wiki page
> listing the tasks we'd need to do.  It is not complete but is hopefully a
> useful start:
> https://cwiki.apache.org/confluence/display/qpid/Java+Build+System
>
> I'd like to hear people's view on this proposal.
>
> Phil
>