geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Dillon <ja...@planet57.com>
Subject More car-maven-plugin changes...
Date Wed, 01 Nov 2006 03:21:31 GMT
Well, I discovered that the car plugin was still caching old bits  
when car:install-modules was run.  And I dug into it much deeper than  
I wanted to and eventually ended up re-writing the installation of  
artifacts.

It should now try a heck of a lot harder to reinstall bits that have  
changed.  When installing modules, we check the sha1 of the configs,  
if they are the same, then we skip re-installing, but now we will  
continue to process the module's deps.

Deps are now checked if they need to be reinstalled, instead of just  
skipping.  If the source dep's file size has changed, or  the last  
modified time is greater than the target, we reinstall it.

Also now we are tracking all installed artifacts so we can easily  
skip ones we know that we have processed already, which speeds things  
up a itty bit.

And, I have added info logging when a dependency is installed, so now  
you can see what is really being installed.  Debug logging with `mvn - 
X` will show the bits that are skipped and when they are being  
reinstalled, blah, blah.  The side effect is that when a lot changes,  
then a lot of info logs are spit out for each dependency.... oh well.

I did a little bit of testing and it does appear that when something  
from modules/* changes (and nothing else) that only that one  
dependency will get copied into the Geronimo repository.... and  
similarly if just one configs/* changes, then just that one module  
will be re-installed.

  * * *

I think the one last thing might be that car:install-modules may need  
to use the Maven2RepositoryAdapter bits which I hacked into  
car:package to resolve SNAPSHOT artifacts directly using the Maven  
API... but I am not sure yet... and I'd rather not hack more of this  
in.  But if I refactor it into less of a hack I might.

Anyways... *please* give it a whirl.  I've pushed out the latest car- 
maven-plugin SNAPSHOT with all these fixes.

Next I guess we should try to make the car:package skip re-packaging  
unless something has really changed... but that is gonna be tricky,  
as we need to check the target/** and the effective pom.xml to see if  
anything has changed... ugh :-(

Then once we re-organize these modules into related groups it might  
be much easier to run small builds from specific trees, and then re- 
assembly to validate (ie. all activemq modules and configs all under  
one geronimo-activemq/* tree).

--jason

Mime
View raw message