Итак, вы создали рубиновую библиотеку.Каковы шаги, необходимые для создания и публикации собственного рубигема?
Как вы создаете и публикуете свой рубигем? И какие распространенные ошибки и gotchas существуют в создании и публикации рубигемов?
Итак, вы создали рубиновую библиотеку.Каковы шаги, необходимые для создания и публикации собственного рубигема?
Как вы создаете и публикуете свой рубигем? И какие распространенные ошибки и gotchas существуют в создании и публикации рубигемов?
Есть несколько инструментов, которые помогут вам создавать свои собственные драгоценные камни. hoe и newgem являются самыми известными и имеют много хороших качеств. Однако мотыга добавляет себя как зависимость от вашего драгоценного камня, а newgem стал очень крупным инструментом, который я нахожу громоздким, когда хочу быстро создать и развернуть драгоценный камень.
Мой любимый инструмент: Mr Bones by Tim Pease. Он легкий, функциональный и не добавляет зависимости к вашему проекту. Чтобы создать проект с ним, вы просто запустите bones <my_project_name>
в командной строке, и для вас создан скелет, в котором находится каталог lib
для вашего кода, каталог bin
для ваших инструментов и тестовый каталог. Конфигурация находится в Rakefile
, и это понятно и кратким. Вот конфигурация для проекта я сделал несколько месяцев назад:
load 'tasks/setup.rb'
ensure_in_path 'lib'
require 'friend-feed'
task :default => 'test'
PROJ.name = 'friend-feed'
PROJ.authors = 'Clinton R. Nixon'
PROJ.email = '[email protected]'
PROJ.url = 'friend-feed.rubyforge.org'
PROJ.rubyforge_name = 'friend-feed'
PROJ.dependencies = ['json']
PROJ.version = FriendFeed::VERSION
PROJ.exclude = %w(.git pkg)
Mr Bones имеет стандартный набор функций, можно было бы ожидать: вы можете использовать его, чтобы упаковать драгоценные камни и tarfiles вашей библиотеки, а также выпустите его на RubyForge и разместите там свою документацию. Его функцией убийцы, однако, является ее способность заморозить свой скелет в вашем домашнем каталоге. Когда вы запустите bones --freeze
, каталог с именем .mrbones
будет скопирован в ваш домашний каталог. Вы можете редактировать файлы там, чтобы создать скелет для ваших драгоценных камней, который работает так, как вы работаете, и с тех пор, когда вы запускаете кости для создания нового драгоценного камня, он будет использовать ваш персональный скелет драгоценного камня. Вы можете разморозить мистера Боунса, запустив bones --unfreeze
, и ваш скелет будет скопирован, и скелет по умолчанию будет использоваться снова.
(Примечание редакции: Я написал в блоге об этом несколько месяцев назад, и большая часть этого копируется из него.)
Я рекомендую github как место для начала, особенно для проектов с открытым исходным кодом.
И попробуйте поиск Google, а ... результат очень первый поиск для меня ...
Вы также можете оформить камень Hoe, который может автоматизировать процесс создания драгоценных камней.
См: http://nubyonrails.com/articles/tutorial-publishing-rubygems-with-hoe
Я на самом деле написал учебник по именно это, и я написал это, как я узнавал , Это больше сосредоточено на игре, которую я написал, чем на библиотеке. Кроме того, предполагается, что вы хотите построить камень с помощью граблей, а не по своему усмотрению:
мотыга больше не добавляет себя как зависимость от рубигемов 1.2. Его рейк-задачи сосредоточены на развертывании рубигема для рубинга. Если вы просто хотите служить драгоценному камню из github, я думаю, что для этого вам нужны новые инструменты для сбора урожая.
Включил ответ на этот вопрос, поскольку он гораздо более описателен, чем «попробуйте Google». – 2008-09-23 19:03:15