For a new project I want to use maven-2 and subversion.
The requirements are:
- The Project should be checkout as one subversion folder.
- Maven should build all modules using a super-pom
- It should be easy to create branches (one action)
- It should be usable with continous-integration (e.g hudson)
With this layout it seems possible with only one action to create a branch.
project/trunk/module-1
project/trunk/module-2
project/trunk/module-2.1
project/branches
project/tags
..
project/trunk/module-n
or should I prefer (and if so why) this layout?
I’m afraid I need to branch as many times as I have modules.
project/module-1/trunk
project/module-1/branches
project/module-1/tags
project/module-2/trunk
project/module-2.1/trunk
..
project/module-n/trunk
Which layout should I use?
We use the first option you mentioned and it works quite well if you have only one level of modules. We’ve found that if there are many levels of submodules (at one time we had 4 levels of submodules), maven starts to get confused and tries to add dependencies from one module into another module (this was using maven 2.2.0).
I don’t think the second option will tick the four requirements (specially to build the whole thing from the top-most parent pom).