Спецификация Gem в Rakefile против .gemspec - PullRequest
4 голосов
/ 02 ноября 2009

Я создаю новый гем ruby, используя NetBeans в качестве своей IDE. Исходная структура проекта содержит Rakefile со спецификацией gem и другими задачами rake.

Мой вопрос: в чем разница между размещением спецификации гема в Rakefile и размещением ее в файле .gemspec? Есть ли передовая практика, где объявлять спецификацию? Должен ли каждый драгоценный камень также содержать файл gemspec или достаточно всего в Rakefile?

1 Ответ

5 голосов
/ 02 ноября 2009

Наличие задачи в вашем Rakefile для создания драгоценного камня для вас подходит в большинстве случаев. Однако я предпочитаю иметь файл gemspec в корне проекта, потому что большинство людей ожидают, что эти настройки будут там, а не похоронены в Rakefile.

Что касается различий, Rakefile собирается запустить команду gem build в своем встроенном gemspec с задачей rake. то есть. rake gem: build или, используя gemspec, вы запускаете команду gem build .gemspec

Например, Jeweler, помощник для создания и управления проектами Rubygem с помощью Github, сохраняет базовую спецификацию в Rakefile, а затем создает файл gemspec, который содержит настройки из .gitignore, а также общие настройки по умолчанию для генерации rdoc и т. Д. 1005 *

...