I’ve developed a small gem ecosystem and certain features will result in them depending on each other.
Does RubyGems support circular dependencies? In other words, is it safe to push gems with these specifications?
Gem::Specification.new 'essentials' do |gem|
gem.add_development_dependency 'development_tools'
end
Gem::Specification.new 'development_tools' do |gem|
gem.add_runtime_dependency 'essentials'
end
Do not have circular runtime dependencies.
It should be OK, if weird, for one gem to have a development dependency on another gem which has a runtime dependency on the first.
Nevertheless, I would not recommend it. I would recommend ensuring that your dependencies graph is completely empty of cycles.