On 23 Sep 07, at 7:54 PM 23 Sep 07, Brett Porter wrote:


On 24/09/2007, at 12:38 PM, Jason van Zyl wrote:

- turned all the support artifacts into a little repository since we didn't actually need to build them (we were just using the poms).

They need to be installed, but I'm not sure what you mean you made them into "little repository".

I laid it out as an actual repository which can be installed. They actually need to be in the remote repo, since many of the tests nuke them locally first - however the old ones depended on things that weren't present remotely which was less than ideal - it all works from a clean repo without having to build the other modules first now.

It's still not ideal - but better. I dropped some notes into the text file for next steps.


The ones required in the remote repo are there now. There are very few that are required. The rest just need to be installed.


- made the integration-tests bundle up as a JAR (added this to the default build, but there is still a profile there to run the tests themselves)

Make the bundling not default, I don't want to wait for it to bundle all the tests every time if that's what it's doing.

the packaging step takes < 1 second (the copying of the resources, which was needed anyway, is what is time consuming).


- added a module to components to (optionally) run the integration tests against the version you just built (mvn clean install -Pstandard,run-its)

Just as long as it's in a profile and doesn't trigger by default.

nope.


- took some extra notes in ITProblems.txt

So I can now drop the integration testing module into the Continuum instance and have them run regularly for both branches.


I wouldn't consider this an ideal way to run the ITs. Why not just link up one project dependent on another, when one changes other runs? Making a big JAR and having to deploy them when they change seems rather onerous and time consuming.

IMO, it's much more convenient to run these from within the main maven build when you are changing things in Maven (and you can still run them from within the IT module when you are changing things in there). But whoever is running them can do it as they prefer.


I don't think so. For anyone to do this and make it workable when you change or add an IT you have to build and deploy that blob, otherwise anyone attempting to use it will get false results. We've still had no luck getting Continuum to do this as far as I know. It is way faster to have a simple dependency which triggers the build and hopefully they will be on various machines. The feedback cycle would be far faster.

Continuum is running these whenever any of the Maven modules change, or the ITs change, using the above set up (though it could just as easily be set up as you describe, this way uses less time in svn update).

And far more time over all as you have to pull down the entire IT bundle when two bytes change in the ITs, yes?

So you have these two projects sitting side by side and you must push that bundle to the local repository, then the m2 build pulls it back unpacks it and runs it. So for anyone adding ITs they probably won't use it.

When ITs don't change very often then I suppose it might be a benefit. But instead of having one source of truth where you run them in-situ when there is a discrepancy which is not unlikely if it's a snapshot then it will just cause more problems. If you want to do this I suggest releasing the ITs with a real version and we just say when one is added you can just release them. Because someone will try to deploy one, something will screw up and will just make for a bad user experience. Give it a whirl, it can't hurt but my bet is that it will be more hassle and ultimately be more inaccurate then just linking the projects.

Cheers,
Brett

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder and PMC Chair, Apache Maven
jason at sonatype dot com
----------------------------------------------------------




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to