We are doing something similar with what I call an assembly project.
I have the following structure:
assembly
- pom.xml
- projectA
- pom.xml
- projectB
- pom.xml
- projectC
- pom.xml
- projectX
- pom.xml
Where the assembly's pom.xml contains like:
<packaging>pom</packaging>
<modules>
<module>projectA</module>
<module>projectB</module>
<module>projectC</module>
<module>projectX</module>
</modules>
And dependencies between projects are set within each module (versions
may be in a parent pom)
Then, in my "assembly" project, I do
mvn install
Or, with multiple windows open, I would do a mvn install for projectA
and then switch to projectX and build it.
Hope this helps.
Patrick
On 07/01/14 12:49 AM, Barrie Treloar wrote:
On 7 January 2014 15:29, Mark Derricutt <[email protected]> wrote:
When the project is relatively new and the internally-developed dependency
"A" is no where near being mature, nearly every change being made to
"Project X" requires a corresponding change to A. At this point in the
development cycle (and for many months in the foreseeable future) I actually
/do/ need to rebuild A every time I build X.
What I've often done here is create a new workspace area that contains symlinks
( or git submodule checkouts ) of each of the modules I'm working on, and
having a simple pom.xml in the top level that sets up a reactor build, then
just build that.
There was also some talk about automating this step.
But its vapourware at the moment.
It would work by checking your current pom for any -SNAPSHOT
dependencies and then pulling out the source code for those and
sitting them in the parent directory.
And as you say the parent pom is just a helper that has a bunch of
modules to make building things easier - and you would never check
that pom into version control.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]