Jamie - I have a similar issue.

Using your project structure names to illustrate - I am using a jar:deploy-snapshot goal for the common and component1 projects. In the POM file for the component1 and server projects I define the dependencies for common and component1 with a version of SNAPSHOT.

This could help solve your first question.


-----Original Message-----
From: Jamie Bisotti [mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>]
Sent: Thursday, June 30, 2005 2:23 PM
To: Maven Users List
Subject: Maven, CruiseControl, multiple projects & Best Practices

Assuming the following project layout:

sandbox/
 trunk/
    common/
       project.xml
       project.properties
    component1/
       project.xml
       project.properties
    server/
       project.xml
       project.properties

where:
 - 'common' is a small collection of utility classes used by several
projects
 - 'component1' depends on 'common'
 - 'server' depends on 'common' and 'component1'
 - They truly are separate pieces of code; 'common' will hardly ever
change; 'component1' will change occasionally, but not often; but
'server' will change quite a bit.

How, I think, I want CC to work:
1. There is a CC project, defined in my config.xml, which monitors the
'common' code and continuously builds it.
2. There is a CC project, defined in my config.xml, which monitors the
'component1' code and continuously builds it; this CC project also
watches the 'common' CC project and builds when it changes.
3. There is a CC project, defined in my config.xml, which monitors the
'server' code and continuously builds it; this CC project also watches
the 'common' and 'component1' CC projects and builds when they change.
4. I don't want to treat it as one big project (i.e. have CC monitor
'trunk') because building 'common' and 'component1' everytime would just
waste cycles needlessly.

Questions:
1. By default, the following goals get called: scm:update|clean
test|site:deploy.  That works fine for 'common', but the other two
fail because they can't find common-1.0.jar.  I know I can use
'jar:install' in place of 'test'; is that what others are doing?
2. I'd also like to have an aggregated site build.  I'm thinking about
setting up a separeate CC 'site' project, which will watch 'common',
'component1' & 'server'.  When it detects one of those has changed, it
will do a multiproject:site-deploy from 'trunk' (so, I will probably
leave the 'site:deploy' goal out of the other CC projects).  Will that
work?  Is there a better way?

Thanks in advance for any ideas/suggestions.
--
Jamie Bisotti


--
Paul M. Roberts
Sr Applcns Dvlpmt Consltnt/Mgr United Behavioral Health


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

Reply via email to