You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@buildr.apache.org by Vesa Vilhonen <ve...@cs.helsinki.fi> on 2008/06/05 14:38:23 UTC

Why there are strict versions in depencies?

Hello,

I just installed buildr 1.3.1 with rubygem tool on os x and were  
wondering buildr's depencies. Why is there strict versions required?  
It caused troubles when I used buildr and some module loaded before  
loaded newer version of the rubyforge than buildr's gem specification  
allows. I got around the problem by modifying specification to let  
rubyforge versions newer than 0.4.5 and didn't notice any problems.

- Vesa Vilhonen


s.add_dependency(%q<rjb>, [">= 1.1.0", "<= 1.1.2"])
s.add_dependency(%q<rake>, ["= 0.8.1"])
s.add_dependency(%q<builder>, ["= 2.1.2"])
s.add_dependency(%q<net-ssh>, ["= 2.0.1"])
s.add_dependency(%q<net-sftp>, ["= 2.0.0"])
s.add_dependency(%q<rubyzip>, ["= 0.9.1"])
s.add_dependency(%q<highline>, ["= 1.4.0"])
s.add_dependency(%q<Antwrap>, ["= 0.7.0"])
s.add_dependency(%q<rspec>, ["= 1.1.3"])
s.add_dependency(%q<xml-simple>, ["= 1.0.11"])
s.add_dependency(%q<archive-tar-minitar>, ["= 0.5.2"])
s.add_dependency(%q<rubyforge>, [">= 0.4.5"]) <- worked better like this


Re: Why there are strict versions in depencies?

Posted by Assaf Arkin <ar...@intalio.com>.
On Thu, Jun 5, 2008 at 5:38 AM, Vesa Vilhonen
<ve...@cs.helsinki.fi> wrote:
> Hello,
>
> I just installed buildr 1.3.1 with rubygem tool on os x and were wondering
> buildr's depencies. Why is there strict versions required? It caused
> troubles when I used buildr and some module loaded before loaded newer
> version of the rubyforge than buildr's gem specification allows. I got
> around the problem by modifying specification to let rubyforge versions
> newer than 0.4.5 and didn't notice any problems.

Just fixed in version 1.3.1.1, so a gem update would resolve that.

Reason for the strict version requirement is to prevent Buildr from
breaking when a new version is released for any of its dependencies.
For example, if you were to use one of the features that rely on the
rubyforge dependency, it would only work with 0.4.5 and break with
1.0.0 due to a change in their API.

So to make sure we don't have to make a release each time one of the
dependencies releases a new version that we're not compatible with, we
fix to a particular version.

Assaf

>
> - Vesa Vilhonen
>
>
> s.add_dependency(%q<rjb>, [">= 1.1.0", "<= 1.1.2"])
> s.add_dependency(%q<rake>, ["= 0.8.1"])
> s.add_dependency(%q<builder>, ["= 2.1.2"])
> s.add_dependency(%q<net-ssh>, ["= 2.0.1"])
> s.add_dependency(%q<net-sftp>, ["= 2.0.0"])
> s.add_dependency(%q<rubyzip>, ["= 0.9.1"])
> s.add_dependency(%q<highline>, ["= 1.4.0"])
> s.add_dependency(%q<Antwrap>, ["= 0.7.0"])
> s.add_dependency(%q<rspec>, ["= 1.1.3"])
> s.add_dependency(%q<xml-simple>, ["= 1.0.11"])
> s.add_dependency(%q<archive-tar-minitar>, ["= 0.5.2"])
> s.add_dependency(%q<rubyforge>, [">= 0.4.5"]) <- worked better like this