Quali sono i passaggi necessari per creare e pubblicare un rubygem di tuo?
Domanda
Così hai creato una libreria ruby.
Come si fa a creare e pubblicare il tuo rubygem?E che cosa i trabocchetti e i trucchi ci sono di pertinenza creazione e pubblicazione di rubygems?
Soluzione
Ci sono diversi strumenti per aiutarvi a costruire il vostro gemme. hoe e newgem sono i più noti, e hanno un sacco di buone qualità.Tuttavia, zappa aggiunge come una dipendenza del gioiello, e newgem, è diventato un grande strumento, che trovo ingombrante, quando ho voglia di creare e distribuire un gioiello rapidamente.
Il mio strumento preferito è Mr Bones da Tim Pease.E ' leggero, ricco di funzioni, e non aggiungere dipendenze al progetto.Per creare un progetto con esso, basta eseguire bones <my_project_name>
sulla riga di comando, con scheletro è costruito per voi, con un lib
directory per il tuo codice, un bin
directory per i vostri strumenti, e un test di directory.La configurazione è un Rakefile
, ed è chiaro e conciso.Ecco la configurazione per un progetto che ho fatto un paio di mesi fa:
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 = 'crnixon@gmail.com'
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 è il set standard di funzioni che ci si aspetta:si può utilizzare per il pacchetto di gemme e tarfiles della libreria, così come il rilascio su RubyForge e la distribuzione della documentazione.La sua caratteristica killer, però, è la sua capacità di congelare il suo scheletro nella vostra home directory.Quando si esegue bones --freeze
, una cartella di nome .mrbones
è copiato nella vostra home directory.È possibile modificare il file per fare uno scheletro per le gemme che funziona il modo in cui si lavora, e da allora, quando si esegue ossa per creare una nuova gemma, userà il personale gemma scheletro.È possibile sbloccare il Signor Ossa eseguendo bones --unfreeze
e il tuo scheletro verrà eseguito il backup, e lo scheletro predefinito verrà utilizzato di nuovo.
(Nota della redazione:Ho scritto un post su questo blog alcuni mesi fa, e la maggior parte di questo è copiato da esso.)
Altri suggerimenti
Mi raccomando github come un punto di partenza, soprattutto per i progetti open source.
E provare una ricerca su google e...Primo risultato della ricerca per me...
Si potrebbe anche voler checkout la Zappa gemma, che è in grado di automatizzare la gemma processo di creazione.
Vedere: http://nubyonrails.com/articles/tutorial-publishing-rubygems-with-hoe
Ho scritto un tutorial proprio su questo, e l'ho scritto come mi è stato di apprendimento.È più concentrato sul gioco avevo scritto di una biblioteca.Inoltre, si presuppone che si desidera costruire la gemma via rastrello, piuttosto che sul proprio:
zappa non è più aggiunge come una dipendenza, come off rubygems 1.2.Il suo rastrello attività sono incentrate sulla distribuzione di rubygem a rubyforge.Se si desidera solo per servire la gemma da github penso che c'è qualche nuova zappa-esque task rake strumenti per aiutare.