Yet another multiple projects question, I know. I've seen (conflicting) answers to subsets of my goals but nothing that covers it all. I'm new to eclipse and don't know the dirty details of hg.
Given a common library jar, two apps and some common ant scripts...
I would set this up
/top/
build-common/
lib1/
app1/
app2/
I've read that eclipse doesn't do sub-projects so I think this would be 4 eclipse projects and "top" is nothing to eclipse.
I've read how to use ant for the eclipse builds including the auto build.
- Is it good practice for the 3 java projects to reference ../build-common/{scripts} in their build.xmls? (when that's a different eclipse project)
- Should app1 and app2 reference ../lib1/target/lib.jar? How?
- If ant is doing the eclipse builds, do I still maintain .classpath (via whatever gui that was)?
- I assume that eclipse users would not expect auto-build to propagate projects. Correct?
I'm unclear if having 4 eclipse projects forces 4 mercurial projects. IF the mercurialeclipse plugin supports it, I could make it one hg project ("top"). But I'm not sure of the pros and cons. Team->Commit might affect other eclipse projects -- would that be seem wrong to an eclipse user?
- So, 4 or 1 hg projects?
Pre-eclipse, I would typically have a top level build.xml that builds the sub projects. Even if it's not needed for the eclipse builds, I want to support a full command-line build.
- Where would a top level build.xml go?
Also, I suspect there are some nuances between having your code actually under the workspace/ directory or not. Can anyone explain what this means for my layout?
Thanks very much!
tlc