The current build process works outside of the Eclipse IDE (the build is not dependent on the IDE and therefore it is easy for the IDE's configuration files to get out-of-sync with the actual state of the project). In addition, any developer can modify the configuration files that Eclipse uses since they are included in the Subversion repository.
The Eclipse IDE files should work for all developers working on the projects. This means that any modifications to the Eclipse configuration files (especially the .classpath file) should be made only when necessary and should keep all other developers in mind. With this information, the following items should not be used in a .classpath file that is going to be checked in to Subversion:
- Any entry which uses an absolute path (example: /code/lib/mylib.jar)
- Any entry which uses a relative path which resolves outside of the project (example: ../myproject/lib/foo.jar)
- Any entry which specifies a project that is not part of the same project (example: myotherproject)
Should it become necessary to modify the dependencies of the project, the developer should update the .classpath file appropriately as one of the steps. The following is a checklist of tasks whould should be completed when a dependency is added, changed, or removed from a project:
- Modify the ivy.xml file (by adding a new dependency, updating an existing dependency, or removing a dependency)
- Test the ivy.xml file (using the ant resolve task and checking the resulting libraries)
- Update the .classpath file by running ant create-dot-classpath which will update your Eclipse .classpath file with the latest jars.