Je souhaite vous proposer une solution intéressante pour le fichier Gemfile dans le répertoire des plugins, afin d’ajouter des gems externes si nécessaire :
# Charger les Gemfiles des plugins
Dir.glob File.expand_path("../plugins/*/{Gemfile}", __FILE__) do |file|
eval_gemfile file
end
Si nous ajoutons ceci au Gemfile principal, nous pourrons charger les Gemfiles des plugins.
C’est intéressant ! Pour le moment, les plugins peuvent exiger des gems en listant l’arbre complet des dépendances récursives dans le fichier plugin.rb, par exemple :
Merci, c’est exactement ce que je recherchais.
Cependant, je pense que ma décision est plus claire et plus compréhensible pour moi.
Raisons (à mon avis) :
Nous laissons plugin.rb plus propre.
Gemfile est plus compréhensible pour les développeurs Rails.
Malheureusement, cela signifie que le fichier de verrouillage deviendra une cible mouvante, et nous le livrons dans le contrôle de source.
Les fichiers Gem sont intéressants, mais tant que nous ne pourrons pas livrer des fichiers de verrouillage delta, ce type de solution ne fonctionnera pas.