You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Robbie Gemmell <ro...@gmail.com> on 2014/05/02 14:40:49 UTC

[Proposal] move to the new Maven build exclusively for the 0.30 release

As many of you are aware, we have been working on new Maven builds for the
Java components...

Short version:

I would like us to begin using the new Maven builds for the Java components
exclusively, removing the old build system from trunk and updating the
version in the 0.28 release to signal that it will be removed in 0.30.

Additional detail:

The Maven build is now able to do all of the core build and test
functionality the old build system does, plus some things it cant. While
there are no doubt still some finishing touches we can perform to improve
usability further, I think these would be best achieved through actual use
and evolution by everyone.

I have been merging the changes from trunk such that the 0.28 release is
going to ship with a near-parity preview of the current trunk Maven build
for the main Java tree, simply requiring an explicit flag to enable it. I
am keen to avoid further overlap of having multiple builds systems. In
particular I think there is reduced need for such overlap as there was for
say for the C++ build systems in the past, because unlike that situation
the source code and its build process are typically not part of a users
primary interaction with the Java components; this will mainly only affect
the people developing Qpid.

There are some instructions on using the new Maven build here:
https://cwiki.apache.org/confluence/display/qpid/qpid+java+build+how+to

Robbie

Re: [Proposal] move to the new Maven build exclusively for the 0.30 release

Posted by Andrew MacBean <an...@gmail.com>.
No objection here, I think this is the right thing to do as a single build
system will obviously make things simpler.

The removal of the Ant build will mean we can enhance the Maven build more
easily and can also remove config added originally to keep in line with the
Ant build too (if we want).

-Andrew


On 12 May 2014 11:14, Justin Ross <jr...@apache.org> wrote:

> I'd like the next RC to be proposed-final.  If there are no objections to
> Robbie's change, I'd ask him to go ahead and add the message.
>
> Justin
>

Re: [Proposal] move to the new Maven build exclusively for the 0.30 release

Posted by Robbie Gemmell <ro...@gmail.com>.
On 12 May 2014 12:55, "Robbie Gemmell" <ro...@gmail.com> wrote:
>
> I had been intending to prod people on this once the mail server backlog
is fully cleared, in case anyone commented during the outage. New mails
seem to be coming through immediately, but the old messages are still only
trickling in somewhat out of order (I'm still waiting on several arriving).
>
> If I don't see any objections by tomorrow morning (in the UK) I will
commit the notice change then.
>

Now committed: http://svn.apache.org/r1594179

> On the initial proposal itself, if there isn't an agreement to the
contrary towards the end of the week then I will proceed with actually
removing the old build system.
>
> Robbie
>
> On 12 May 2014 11:14, "Justin Ross" <jr...@apache.org> wrote:
>>
>> I'd like the next RC to be proposed-final.  If there are no objections to
>> Robbie's change, I'd ask him to go ahead and add the message.
>>
>> Justin

Re: [Proposal] move to the new Maven build exclusively for the 0.30 release

Posted by Robbie Gemmell <ro...@gmail.com>.
I had been intending to prod people on this once the mail server backlog is
fully cleared, in case anyone commented during the outage. New mails seem
to be coming through immediately, but the old messages are still only
trickling in somewhat out of order (I'm still waiting on several arriving).

If I don't see any objections by tomorrow morning (in the UK) I will commit
the notice change then.

On the initial proposal itself, if there isn't an agreement to the contrary
towards the end of the week then I will proceed with actually removing the
old build system.

Robbie
On 12 May 2014 11:14, "Justin Ross" <jr...@apache.org> wrote:

> I'd like the next RC to be proposed-final.  If there are no objections to
> Robbie's change, I'd ask him to go ahead and add the message.
>
> Justin
>

Re: [Proposal] move to the new Maven build exclusively for the 0.30 release

Posted by Justin Ross <jr...@apache.org>.
I'd like the next RC to be proposed-final.  If there are no objections to
Robbie's change, I'd ask him to go ahead and add the message.

Justin

Re: [Proposal] move to the new Maven build exclusively for the 0.30 release

Posted by Rob Godfrey <ro...@gmail.com>.
On 2 May 2014 14:40, Robbie Gemmell <ro...@gmail.com> wrote:

> As many of you are aware, we have been working on new Maven builds for the
> Java components...
>
> Short version:
>
> I would like us to begin using the new Maven builds for the Java components
> exclusively, removing the old build system from trunk and updating the
> version in the 0.28 release to signal that it will be removed in 0.30.
>
>
Agreed - now that the maven build does everything that the ant build does,
I think we should take the plunge and move as soon as possible. Keeping two
build systems up to date in parallel is an unnecessary overhead for
everybody, and though I'm not the world's biggest fan of maven I think it's
best we switch over and focus on a single build tool going forward.

-- Rob


> Additional detail:
>
> The Maven build is now able to do all of the core build and test
> functionality the old build system does, plus some things it cant. While
> there are no doubt still some finishing touches we can perform to improve
> usability further, I think these would be best achieved through actual use
> and evolution by everyone.
>
> I have been merging the changes from trunk such that the 0.28 release is
> going to ship with a near-parity preview of the current trunk Maven build
> for the main Java tree, simply requiring an explicit flag to enable it. I
> am keen to avoid further overlap of having multiple builds systems. In
> particular I think there is reduced need for such overlap as there was for
> say for the C++ build systems in the past, because unlike that situation
> the source code and its build process are typically not part of a users
> primary interaction with the Java components; this will mainly only affect
> the people developing Qpid.
>
> There are some instructions on using the new Maven build here:
> https://cwiki.apache.org/confluence/display/qpid/qpid+java+build+how+to
>
> Robbie
>

Re: [Proposal] move to the new Maven build exclusively for the 0.30 release

Posted by Robbie Gemmell <ro...@gmail.com>.
Bump, and adding suggested diff for including a notice in the existing
build such that we could put it in 0.28 to indicate the transition. This
would print out the message at the end of the build and test targets when
run from the java directory.

Robbie

diff --git qpid/java/build.xml qpid/java/build.xml
index 97ae967..567de04 100644
--- qpid/java/build.xml
+++ qpid/java/build.xml
@@ -104,6 +104,16 @@
       <available file="${build.failed}"/>
     </condition>

+    <echo>
+    -----------------------    NOTE    ---------------------------
+    The Java components are transitioning to using a Maven based
+    build process, this build process will be removed in the 0.30
+    release. A preview of the new Maven build is available
+    alongside this one, simply requiring -Denable=true be specified
+    in any Maven commands used.
+    ---------------------------------------------------------------
+    </echo>
+
     <fail if="failed" message="TEST SUITE FAILED"/>

   </target>
@@ -172,6 +182,15 @@
   <target name="build" depends="retrieve-dependencies" description="build
the project">
     <iterate target="build"/>
     <antcall target="manifest"/>
+    <echo>
+    -----------------------    NOTE    ---------------------------
+    The Java components are transitioning to using a Maven based
+    build process, this build process will be removed in the 0.30
+    release. A preview of the new Maven build is available
+    alongside this one, simply requiring -Denable=true be specified
+    in any Maven commands used.
+    ---------------------------------------------------------------
+    </echo>
   </target>

   <target name="prepare">



On 2 May 2014 13:40, Robbie Gemmell <ro...@gmail.com> wrote:

> As many of you are aware, we have been working on new Maven builds for the
> Java components...
>
> Short version:
>
> I would like us to begin using the new Maven builds for the Java
> components exclusively, removing the old build system from trunk and
> updating the version in the 0.28 release to signal that it will be removed
> in 0.30.
>
> Additional detail:
>
> The Maven build is now able to do all of the core build and test
> functionality the old build system does, plus some things it cant. While
> there are no doubt still some finishing touches we can perform to improve
> usability further, I think these would be best achieved through actual use
> and evolution by everyone.
>
> I have been merging the changes from trunk such that the 0.28 release is
> going to ship with a near-parity preview of the current trunk Maven build
> for the main Java tree, simply requiring an explicit flag to enable it. I
> am keen to avoid further overlap of having multiple builds systems. In
> particular I think there is reduced need for such overlap as there was for
> say for the C++ build systems in the past, because unlike that situation
> the source code and its build process are typically not part of a users
> primary interaction with the Java components; this will mainly only affect
> the people developing Qpid.
>
> There are some instructions on using the new Maven build here:
> https://cwiki.apache.org/confluence/display/qpid/qpid+java+build+how+to
>
> Robbie
>