Dependency system design ------------------------ - Two interfaces: Java object interface and ANT wrapper - If possible, use no external libraries to avoid bootstrapping problems (can't use depends to download depends for depends): + make use of built-in Java XML parsing services + make use of built-in Java logging services + will have to "depend" on ant - Object interface available via the following classes: public class Dependency { public String getLibraryName (); public File getLocalJar (); public boolean isUpToDate (); public void bringUpToDate (); } public class DependencyParser { public List parseDependencies ( File definition, File repository); } public class LibraryDescriptor { }