Uploaded image for project: 'Puppet Agent'
  1. Puppet Agent
  2. PA-1077

Figure out how to consolidate gem dependency declarations

    XMLWordPrintable

Details

    • Task
    • Status: Accepted
    • Normal
    • Resolution: Unresolved
    • None
    • None
    • None
      • Figure out if we can consolidate gem dependency declarations across projects.
      • If we can, file tickets to do so.
      • In either case, define and document our process for updating gem dependencies across projects.
    • Platform OS
    • 5
    • Needs Assessment

    Description

      There are multiple locations for expressing gem dependencies (depending on workflow) and they all disagree with one another:

      Unfortunately the dependency definitions are not cleanly spelled out, which can lead to inconsistent gems installed depending on the environment above.

      Ideally the .gemspec is the source of truth, noting that a .gemspec should always declare runtime dependencies statically (i.e. it should not contain Ruby code which programmatically varies the gems based on platform, as this can make it difficult to inspect a gem through the interface at rubygems.org and cleanly understand dependency relationships - to handle that situation and ship only a single gem for all platforms for instance, gemspec.extensions = 'ext/mkrf_conf.rb' can be used - but that effort should be constrained to another ticket. Such an approach is defined at https://en.wikibooks.org/wiki/Ruby_Programming/RubyGems#How_to_install_different_versions_of_gems_depending_on_which_version_of_ruby_the_installee_is_using).

      This ticket should be about a best effort to make gem dependencies appear in only location, so that the above supported workflows consume the same sets of gems.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ethan Ethan Brown
              Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:

                Zendesk Support