Why gem built with hoe depends on hoe?

Hi,

I find hoe a cool tool to build and release gems. But I find that
the gem built with hoe get a dependency to hoe automatically.
I think the user will only need to install hoe if he want to build
the gem manually. So adding this dependency automatically
is unreasonable, isn't it?

Or am I wrong? Is it that the gem built by hoe need hoe to run?
Thanks!

Hoe's gotta eat too!

···

On Feb 1, 2008, at 7:20 AM, pluskid wrote:

Hi,

I find hoe a cool tool to build and release gems. But I find that
the gem built with hoe get a dependency to hoe automatically.
I think the user will only need to install hoe if he want to build
the gem manually. So adding this dependency automatically
is unreasonable, isn't it?

Or am I wrong? Is it that the gem built by hoe need hoe to run?
Thanks!

The argument behind this is that you can "gem check -t gemname" to run
the unit tests for a gem.

If the user firing that command don't have 'hoe' installed, will fail
due a missing dependency.

There is no way to differentiate build, test and runtime environments
for RubyGems.

Is quite common things like this were asked (I have tracked a mail
from 2005 AFAIK).

Anyhow, Susan Potter just raised this issue [1].

She is using something interally that could, adapted to mainstream,
help everybody in the long run.

[1] http://rubyforge.org/pipermail/rubygems-developers/2008-February/003538.html

···

On 1 feb, 11:19, pluskid <plus...@gmail.com> wrote:

Hi,

I find hoe a cool tool to build and release gems. But I find that
the gem built with hoe get a dependency to hoe automatically.
I think the user will only need to install hoe if he want to build
the gem manually. So adding this dependency automatically
is unreasonable, isn't it?

Or am I wrong? Is it that the gem built by hoe need hoe to run?
Thanks!

--
Luis Lavena

You should look at Mr Bones. It does the same thing as hoe, but
without the viral dependency.

sudo gem install bones

<http://codeforpeople.rubyforge.org/bones&gt;

Blessings,
TwP

···

On Feb 1, 2008 6:20 AM, pluskid <pluskid@gmail.com> wrote:

Hi,

I find hoe a cool tool to build and release gems. But I find that
the gem built with hoe get a dependency to hoe automatically.
I think the user will only need to install hoe if he want to build
the gem manually. So adding this dependency automatically
is unreasonable, isn't it?

Or am I wrong? Is it that the gem built by hoe need hoe to run?
Thanks!

Wrong link:

[1] http://rubyforge.org/pipermail/rubygems-developers/2008-January/003522.html

···

On 1 feb, 14:09, Luis Lavena <luislav...@gmail.com> wrote:

[...]

Anyhow, Susan Potter just raised this issue [1].

She is using something interally that could, adapted to mainstream,
help everybody in the long run.

--
Luis Lavena

Yeah! I see. I think apt-get (of Debian) has done a great job
on this topic. It just install all runtime dependencies when you
run
  apt-get install something
And it provides an extra command to install the dev dependecies:
  apt-get build-dep something
I think RubyGems have no such features yet, isn't it? Maybe they
can think about similar things. So currently I should think the
definition of "dependency" be "dev dependency".

···

2008/2/2, Luis Lavena <luislavena@gmail.com>:

On 1 feb, 11:19, pluskid <plus...@gmail.com> wrote:
> Hi,
>
> I find hoe a cool tool to build and release gems. But I find that
> the gem built with hoe get a dependency to hoe automatically.
> I think the user will only need to install hoe if he want to build
> the gem manually. So adding this dependency automatically
> is unreasonable, isn't it?
>
> Or am I wrong? Is it that the gem built by hoe need hoe to run?
> Thanks!

The argument behind this is that you can "gem check -t gemname" to run
the unit tests for a gem.

If the user firing that command don't have 'hoe' installed, will fail
due a missing dependency.

There is no way to differentiate build, test and runtime environments
for RubyGems.

Is quite common things like this were asked (I have tracked a mail
from 2005 AFAIK).

Anyhow, Susan Potter just raised this issue [1].

She is using something interally that could, adapted to mainstream,
help everybody in the long run.

[1] http://rubyforge.org/pipermail/rubygems-developers/2008-February/003538.html
--
Luis Lavena

Yeah! It looks great! Even with integrate with rspec. Hmm. I'll
investigate it more. Thanks!

···

On Feb 2, 10:51 pm, Tim Pease <tim.pe...@gmail.com> wrote:

On Feb 1, 2008 6:20 AM, pluskid <plus...@gmail.com> wrote:

> Hi,

> I find hoe a cool tool to build and release gems. But I find that
> the gem built with hoe get a dependency to hoe automatically.
> I think the user will only need to install hoe if he want to build
> the gem manually. So adding this dependency automatically
> is unreasonable, isn't it?

> Or am I wrong? Is it that the gem built by hoe need hoe to run?
> Thanks!

You should look at Mr Bones. It does the same thing as hoe, but
without the viral dependency.

sudo gem install bones

<http://codeforpeople.rubyforge.org/bones&gt;

Blessings,
TwP

On a related note, I wanted to share my own methodology. I've got a
Monotone branch that I use as the basis of my projects, which includes
some starting directories, a Rakefile and a gemspec.rb. As I discover
variations and improvements, or adapt to updates of rubygems or rake,
I update the project and propagate them automatically out to all the
projects based on the branch. I've got a couple of tricks that I
yionked from hoe in there, and I expect I'll take a gander at Mr Bones
as well.

Advantages:
- No extra dependencies in the eventual gems.
- Improvements to the skeleton can be propagated to projects - without
destroying local tweaks for the projects
- I have my own control over how I use rake, rubygems, etc.

I suppose there's the disadvantage that it ties me to monotone. I
suspect (but am not sure) that a similar thing could be accomplished
with git, but probably not with subversion.

Judson

···

On Feb 2, 2008 6:51 AM, Tim Pease <tim.pease@gmail.com> wrote:

On Feb 1, 2008 6:20 AM, pluskid <pluskid@gmail.com> wrote:
You should look at Mr Bones. It does the same thing as hoe, but
without the viral dependency.

sudo gem install bones

--
Your subnet is currently 169.254.0.0/16. You are likely to be eaten by a grue.

I use newgem, which sits on top of hoe (and removes it from the
deplist). It's written by Dr. Nic and works really, really well.

I haven't tried Mr Bones. Perhaps I will on my next project...

--Jeremy

···

On Feb 3, 2008 9:49 AM, pluskid <pluskid@gmail.com> wrote:

On Feb 2, 10:51 pm, Tim Pease <tim.pe...@gmail.com> wrote:

> On Feb 1, 2008 6:20 AM, pluskid <plus...@gmail.com> wrote:
>
> > Hi,
>
> > I find hoe a cool tool to build and release gems. But I find that
> > the gem built with hoe get a dependency to hoe automatically.
> > I think the user will only need to install hoe if he want to build
> > the gem manually. So adding this dependency automatically
> > is unreasonable, isn't it?
>
> > Or am I wrong? Is it that the gem built by hoe need hoe to run?
> > Thanks!
>
> You should look at Mr Bones. It does the same thing as hoe, but
> without the viral dependency.
>
> sudo gem install bones
>
> <http://codeforpeople.rubyforge.org/bones&gt;
>
> Blessings,
> TwP
Yeah! It looks great! Even with integrate with rspec. Hmm. I'll
investigate it more. Thanks!

--
http://www.jeremymcanally.com/

My books:
Ruby in Practice

My free Ruby e-book

My blogs:

http://www.rubyinpractice.com/