users@jersey.java.net

Re: spring-integration tested and described

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Thu, 24 Apr 2008 09:46:02 +0200

On Apr 23, 2008, at 8:59 PM, Martin Grotzke wrote:
>> would that result in an infinite regress of building?
> AFAICS the mvn install does not invoke a dist, but only jar (during
> mvn
> compile). Am I missing s.th.?
>

No, i think i am *very* confused.... so you mean modify the ant dist
to invoke maven which invokes the other ant clean/build/compile etc
tasks.


>>
>> In terms of Hudson execution it would be more efficient to work
>> from the
>> pre-built snapshot or jersey distribution and execute a pom.xml that
>> performs just installation.
> This is what the maven/pom.xml (of jersey) is doing right now,
> isn't it?
>

Hmm... yes if you are using a pre-built snapshot then there is
nothing else to do except install (if stuff is not already installed).


>>
>> It may make sense to include maven stuff in the Jersey zip
>> distribution,
>> for example:
>>
>> jersey-0.8-ea/
>> maven/
>> pom.xml
> Sounds good!
>
>>
>> and executing mvn install on the jersey-0.8-ea/maven/pom.xml would
>> install jersey and 311 snapshots from the jar files in the lib
>> directory.
> In which lib directory?

   jersey-0.8-ea/
     lib/
       jersey.jar
       jsr311-api.jar


> mvn install should install the artifact of subject in the maven
> repository.
>
>> That provides a convenient mechanism for others to locally
>> install as well for the spring-based hudson building and testing
>> tasks.
> I'm somehow confused. What do you mean with spring-based hudson
> building?
>

I mean a Hudson task to build jersey-spring and test it.


>>
>>
>>>> That way we could configure the spring Hudson task to depend on the
>>>> jersey Hudson task. The former will obtain the built
>>>> distribution from
>>>> the latter, run mvn on say "install-pom.xml" to install the jars.
>>>>
>>>> Would that work? or am i complicating matters?
>>> I think simply invoking mvn install from ant dist should do the
>>> trick,
>>> in combination with the post-build hook of hudson.
>>>
>>>>
>>>>> I just had a look at the build.xml and found the target
>>>>> "push-to-maven-prepare" - what is this and has it anything to
>>>>> do with
>>>>> the things we are talking about?
>>>>>
>>>> Only if we want to push nightly builds to maven. There is a little
>>>> java.net tool that listens to SVN commits to that location and then
>>>> pushes updates to the java.net repo.
>>> Ok, publishing must also be done for jersey-spring...
>>>
>>
>> Yes.
>
> I don't know much about the current setup of jersey builds in hudson,
> but to me it seems to be a little bit complex - I simply don't
> understand the whole process.

Welcome to the world of "ant" :-)


> Perhaps this could be simplified a little
> bit, to have more simplicity and maintainability with the cost of
> efficiency.
>

The ant "dist" task does the following:

- compiles jersey classes into a jar

- runs find bugs

- cleans, compiles and cleans the examples

- generates Jersey javadoc

- creates a distribution zip file
     - with a lib directory containing all jars
     - with an examples directory suitably modified so as to have the
correct dependencies
     - javadoc for 311 and Jersey

- creates a snapshot zip file of the workspace

The Hudson Jersey task executes ant dist and then pushes the
distribution and snapshot zips to java.net.

The Hudson Jersey junit task obtains the latest snapshot zip (from
the Jersey Hudson task) and executes the "hudson-unit-tests" task,
which builds the test code and runs the tests.


> Having said this - don't take my comments regarding how to
> integrate the
> build of jersey-spring into the build of jersey itself too serious, I
> might make wrong assumptions about what is happening right now :)

Your input is very helpful. My problem is i don't know enough about
maven, so at the moment i could be described as dangerous in this
respect! namely i know enough to shoot myself in the foot :-)

You are right we do need to tidy all this up. I think the right
solution is to transfer over to maven, but it would be nice to do
this in smaller steps if we can. I was hoping the first step could be
to do what is required to get the jersey-spring build/testing to use
locally installed artifacts produced from the jersey install.

Paul.