Ivy and MyRobotLab

 

Ivy is a transitive dependency manager from our friends at Apache.  It will be incorporated into MRL to provide a repo and dependency tree which will allow Services in MRL to queried and loaded during runtime.  The correct dependencies for the OS and platform will be downloaded to the running MyRobotLab.  Appropriate licensce agreements wil be brought up, to give credit and display much like Eclipse plugins.

I have just begun the public repo at http://myrobotlab.org/repo .  Ivy comes with excellent documentation. 

This is an example of using Ivy as a standalone without Ant.

http://ant.apache.org/ivy/history/latest-milestone/standalone.html

Here is the initial example of an ivysettings.xml file for myrobotlab

 

<ivysettings>
   <settings defaultResolver="public"/>
   <include url="http://myrobotlab.org/repo/ivysettings-public.xml"/>
</ivysettings>
 
and a command line call which will download the jar into the .ivy2 cache
 
java -jar ivy.jar -settings ivysettings.xml -dependency org.op.httpenglish.chessboard chessboard 1.0
 
Very close with the following passed to "Main.main" of Ivy.jar....
java -jar ivy.jar -retrieve "libraries/[type]/[artifact]-[revision].[ext]"  -settings ivysettings.xml -dependency org.op.httpenglish.chessboard chessboard 1.0 -confs public
 
Just need to figure out the best way to maintain the dependencies - in the code? external file? other? and figure out the details of the type & confs
 
MRL is now capable of doing an update via the command line.
 
TODO :
move the repo over to myrobotlab.googlecode.com and begin building it there
os platform figured out
http://www.cooljeff.co.uk/2009/08/01/handling-native-dependencies-with-apache-ivy/
http://old.nabble.com/platform-specific-configurations-td13415468.html 
http://mail-archives.apache.org/mod_mbox/ant-ivy-user/201004.mbox/%3CDF10415433824F4CA25599F7743793800A55B70938@exchange2.interactivesys.com%3E
http://permalink.gmane.org/gmane.comp.apache.ivy.user/2191