edwardila
(Edward Skalibog)
1
Olá, equipe do Discourse,
Gostaria de oferecer uma solução interessante para o Gemfile no diretório de plugins e para a adição de gems externas, caso sejam necessárias.
# Carrega os Gemfiles dos plugins
Dir.glob File.expand_path("../plugins/*/{Gemfile}", __FILE__) do |file|
eval_gemfile file
end
Se adicionarmos isso ao Gemfile principal, poderemos carregar os Gemfiles dos plugins.
Vamos discutir essa solução.
P.S. Documentação da DSL para eval_gemfile => https://apidock.com/ruby/v2_6_3/Bundler/Dsl/eval_gemfile
2 curtidas
Falco
(Falco)
2
Isso é interessante! No momento, os plugins podem exigir gems listando toda a árvore de dependências recursivas no arquivo plugin.rb, por exemplo:
2 curtidas
edwardila
(Edward Skalibog)
3
Obrigado, é isso que eu estava procurando.
Mas acho que minha decisão está mais clara e compreensível para mim.
Razões (na minha opinião):
- Deixamos o plugin.rb mais limpo
- O Gemfile é mais compreensível para desenvolvedores Rails.
1 curtida
sam
(Sam Saffron)
4
Infelizmente, isso significa que o arquivo de bloqueio se tornará um alvo em constante mudança, e nós o incluímos no controle de versão.
Os arquivos Gem são bons, mas até que possamos enviar arquivos de bloqueio delta, esse tipo de solução não funcionará.