JJAR Sandbox ------------ What can you do : 1) BUILD To build, you need ant installed ;) and just type 'ant' as the default target will build the jar. There are also a few other targets like 'javadoc'. Look in build.xml 2) USE Currently, I set up a repository on 207.138.188.222/jjar/ and put a few jars there so we can play. Will move to jakarta at some point. Wanted to wait to see what people thought. I am using this repository, so more stuff will be added. The repository definition is repository.xml and is located on the repository itself, of course, but in CVS under src/conf along with it's DTD The easiest way to play is to use the 'command line' tool : list all packages in the repository ----------------------------------- java -jar jjar.jar list list a single package --------------------- java -jar jjar.jar list -p Verify a jar (show package and version) ---------------------------------------- java -jar jjar.jar verify -j Verify the jars in the classpath -------------------------------- java -jar jjar.jar verify (note only 'JJAR'-marked jars will be listed) fetch a specific package/version and dependencies -------------------------------------------------- java -jar jjar.jar fetch -p [-v ] [-j ] w/o -j, will go to 'default name' w/o -v, will get 'default' version fetch a specific package/version only (no deps) -------------------------------------------------- java -jar jjar.jar fetch -nd -p [-v ] [-j ] -nd = 'no dependencies' w/o -j, will go to 'default name' w/o -v, will get 'default' version fetch only the dependencies of package -------------------------------------------------- java -jar jjar.jar fetch -od -p [-v ] -od = 'only dependencies' w/o -v, will get 'default' version fetch a specific package/version and deps, don't if they exist already ------------------------------------------------------------------------ java -jar jjar.jar fetch -nd -vi -p [-v ] [-j ] -vi = 'verify ignore' : if can verify exists, ignore that part -nd = 'no dependencies' w/o -j, will go to 'default name' w/o -v, will get 'default' version fetch (any above) and specify local directory ---------------------------------------------- java -jar jjar.jar fetch -d -p will add a -r to specify non-default repository next There are two included examples : - examples/boot-build : took the commons-collections tree and made a little script, boot.sh which uses the repository to get ant. It then uses ant to build the jar. - examples/ant-task : demonstrates how the [primitive] ant task works, getting jars and dependencies. 3) SOURCE Source is of course in src/java. I am doing a bit of refactoring - so lets talk about any changes so we don't screw each other up. The biggest is making more sense out of ClasspathUtil (some stuff in there has nothing to do with classpath) and taking stuff I learned in JJAR.java and making it reusable. enjoy - geir