Projects
Mega:24.03
ruby
_service:tar_scm:rubygems.con
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:rubygems.con of Package ruby
#!/usr/bin/ruby require 'rubygems/package' module RubyGemsReq module Helpers # Keep only '!=' requirements. def self.conflicts(requirements) conflicts = requirements.select {|r| r.first == '!='} end # Converts Gem::Requirement into array of requirements strings compatible # with RPM .spec file. def self.requirement_versions_to_rpm(requirement) self.conflicts(requirement.requirements).map do |op, version| version == Gem::Version.new(0) ? "" : "= #{version}" end end end # Report conflicting gem dependencies including their version. def self.gem_depenencies(specification) specification.runtime_dependencies.each do |dependency| conflict_strings = Helpers::requirement_versions_to_rpm(dependency.requirement).map do |requirement| requirement_string = "rubygem(#{dependency.name}) #{requirement}" end if conflict_strings.length > 0 conflict_string = conflict_strings.join(' with ') conflict_string.prepend('(').concat(')') if conflict_strings.length > 1 puts conflict_string end end end # Reports all conflicts specified by all provided .gemspec files. def self.conflicts while filename = gets filename.strip! begin specification = Gem::Specification.load filename gem_depenencies(specification) rescue => e # Ignore all errors. end end end end if __FILE__ == $0 RubyGemsReq::conflicts end
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2