Domanda

Come specificare le dipendenze gemma in modo che l'utente con solo ruby, rake e rubygem installati possa emettere un singolo comando rake per installare tutte le dipendenze richieste? È possibile utilizzare la stessa specifica di dipendenza quando si costruisce gem con GemBuildTask?

È stato utile?

Soluzione

In realtà è abbastanza facile impostare un'attività di rake che installa un mucchio di gemme:

task :install_gems do
  require "rubygems"
  require "rubygems/dependency_installer"

  installer = Gem::DependencyInstaller.new

  [["rack"], ["merb-core", "1.0.12"]].each do |args|
    installer.install(*args)
  end
end

Ovviamente, potresti estrarlo in un metodo e scrivere un modo più carino per specificare le tue dipendenze, ma questo dovrebbe funzionare alla grande.

Altri suggerimenti

Penso che attualmente dovresti scrivere un'attività di rake personalizzata che parla con la libreria Gem.

È possibile che rip , il (molto) nuovo bambino sul blocco, farà tutto più facile, ma è molto presto.

Ma qualcun altro potrebbe avere un modo migliore ...

Se la tua app è confezionata come gemma, potresti aggiungere le dipendenze a gemspec e rubygems tenterà di installarle quando installi la gemma.

Ci sono molti modi per ottenere una gemma da un codice rubino. Di recente ho iniziato a utilizzare gioielliere .

Con esso, puoi installare un progetto come gemma eseguendo rake install . Ci sono alcune istruzioni su come fare dipendenze dal suo wiki github.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top