Versions and dependency management

Skip to first unread message


Jan 8, 2010, 10:54:34 AM1/8/10
to HORN Development
A couple questions. Sorry if this has already been covered.

How does version number detection work. Is it based on the the boo
file name or is it required that authors fill in the metadata?

package.version = "<version number>"

I see a lot of project descriptors that have no version information
but have a boo filename with a <name>-<version number>.boo
conventional filename.

Also, how does HornGet know how to copy dependencies into the library
directories of projects? Do you just copy them to the root of the
library directory or do you look for existing copies and replace

Kevin Miller

Paul Cowan

Jan 8, 2010, 11:01:11 AM1/8/10
>> package.version = "<version number>"

That is simply metadata we use to display on the website.  

The file name is how horn picks a different version.  For example nhibernate 2.1 has a file named

If you are using horn from the command line you would supply the following:

horn -install:horn -version:2.1

If you are referencing a different version from the dependencies section of a descriptor then you would reference nhibernate 2.1 like this:

    depend "nhibernate" >> "2.1" >> "NHibernate"

Also, how does HornGet know how to copy dependencies into the library directories of projects?

Every descriptor has the following 

    shared_library "Lib"

This is tells horn where to begin it's search relative to the working directory.  It will then iterate around this directory hive (which may only be 1 directory) and replace any instances of the dependency files.

Thanks for the SM descriptors, I will merge them tonight or tomorrow.


Paul Cowan

Cutting-Edge Solutions (Scotland)

2010/1/8 KevM <>
You received this message because you are subscribed to the Google Groups "HORN Development" group.
To post to this group, send email to
To unsubscribe from this group, send email to
For more options, visit this group at

Reply all
Reply to author
0 new messages