edwardila
(Edward Skalibog)
21 Settembre 2021, 4:39pm
1
Ciao, team di Discourse,
vorrei proporvi una soluzione interessante per il Gemfile nella directory dei plugin e per l’aggiunta di gemme esterne, se necessarie.
# Carica i Gemfile dei plugin
Dir.glob File.expand_path("../plugins/*/{Gemfile}", __FILE__) do |file|
eval_gemfile file
end
Se aggiungiamo questo al Gemfile principale, potremo caricare i Gemfile dai plugin.
Discutiamo di questa soluzione.
P.S. Documentazione DSL per eval_gemfile => https://apidock.com/ruby/v2_6_3/Bundler/Dsl/eval_gemfile
2 Mi Piace
Falco
(Falco)
21 Settembre 2021, 4:48pm
2
È interessante! Al momento, i plugin possono richiedere gemme elencando l’intero albero delle dipendenze ricorsive nel file plugin.rb, ad esempio:
2 Mi Piace
edwardila
(Edward Skalibog)
21 Settembre 2021, 4:53pm
3
Grazie, è proprio quello che stavo cercando.
Ma penso che la mia decisione sia più chiara e comprensibile per me.
Motivi (IMO):
Lasciamo plugin.rb più pulito
Gemfile è più comprensibile per gli sviluppatori Rails.
1 Mi Piace
sam
(Sam Saffron)
28 Settembre 2021, 6:39am
4
Purtroppo questo significa che il file di lock diventerà un bersaglio mobile, e noi lo includiamo nel controllo del codice sorgente.
I file Gem sono utili, ma finché non potremo inviare file di lock delta, questo tipo di soluzione non funzionerà.