Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

(#15464) Make contributing easy via bundle Gemfile

Without this patch the process of figuring out how to quickly set up a
development and testing environment for the Puppet _application_ (not a
gem library) is unnecessarily complicated.

This patch addresses the problem by providing a Bundler compatible
Gemfile that specifies all of the Gem dependencies for the Puppet 2.7
application.

Puppet contributors can now easily get a working development and testing
environment using this sequence of commands:

    $ git clone --branch 2.7.x git://github.com/puppetlabs/puppet.git
    $ cd puppet/
    $ bundle install # Install all required dependencies
    $ rspec

The .noexec.yaml file excludes the `rake` command so that the Gemfile
doesn't raise an exception if the `rubygems-bundler` Gem is installed
and automatically running `bundle exec` for us.

The Gemfile.lock contains the exact dependency versions.  This file is
included in the version control system because we're treating Puppet as
an application rather than a library.
  • Loading branch information...
commit 0b49eae183c97351713ff511fcb2cb744a6aa8b4 1 parent c2554de
Jeff McCune jeffmccune authored
Showing with 75 additions and 0 deletions.
  1. +4 −0 .noexec.yaml
  2. +14 −0 Gemfile
  3. +28 −0 Gemfile.lock
  4. +29 −0 facter.gemspec
4 .noexec.yaml
View
@@ -0,0 +1,4 @@
+---
+exclude:
+ - rake
+ - rspec
14 Gemfile
View
@@ -0,0 +1,14 @@
+source :rubygems
+
+gemspec
+
+group(:development, :test) do
+ gem "rspec", "~> 2.10.0", :require => false
+ gem "mocha", "~> 0.10.5", :require => false
+end
+
+if File.exists? "#{__FILE__}.local"
+ eval(File.read("#{__FILE__}.local"), binding)
+end
+
+# vim:filetype=ruby
28 Gemfile.lock
View
@@ -0,0 +1,28 @@
+PATH
+ remote: .
+ specs:
+ facter (1.6.11)
+
+GEM
+ remote: http://rubygems.org/
+ specs:
+ diff-lcs (1.1.3)
+ metaclass (0.0.1)
+ mocha (0.10.5)
+ metaclass (~> 0.0.1)
+ rspec (2.10.0)
+ rspec-core (~> 2.10.0)
+ rspec-expectations (~> 2.10.0)
+ rspec-mocks (~> 2.10.0)
+ rspec-core (2.10.1)
+ rspec-expectations (2.10.0)
+ diff-lcs (~> 1.1.3)
+ rspec-mocks (2.10.1)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ facter!
+ mocha (~> 0.10.5)
+ rspec (~> 2.10.0)
29 facter.gemspec
View
@@ -0,0 +1,29 @@
+# -*- encoding: utf-8 -*-
+
+Gem::Specification.new do |s|
+ s.name = "facter"
+ s.version = "1.6.11"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["Puppet Labs"]
+ s.date = "2012-08-08"
+ s.description = "You can prove anything with facts!"
+ s.email = "info@puppetlabs.com"
+ s.executables = ["facter"]
+ s.files = ["bin/facter"]
+ s.homepage = "http://puppetlabs.com"
+ s.rdoc_options = ["--title", "Facter - System Inventory Tool", "--main", "README", "--line-numbers"]
+ s.require_paths = ["lib"]
+ s.rubyforge_project = "facter"
+ s.rubygems_version = "1.8.24"
+ s.summary = "Facter, a system inventory tool"
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 3
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ else
+ end
+ else
+ end
+end
Please sign in to comment.
Something went wrong with that request. Please try again.