summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2017-06-13 08:48:33 -0500
committerSamuel Giddins <segiddins@segiddins.me>2017-06-13 08:48:33 -0500
commit3c552274695aae4439ce0a6d83dd36c8179089cf (patch)
treec999cd5116f480f525026bb672cdac5587146724 /lib
parent85992a5d4a25712c7367f889e9f3589928449673 (diff)
downloadbundler-seg-version-build-metadata.tar.gz
Avoid git shenanigans with the build metadata fileseg-version-build-metadata
Diffstat (limited to 'lib')
-rw-r--r--lib/bundler.rb2
-rw-r--r--lib/bundler/build_metadata.rb36
-rw-r--r--lib/bundler/cli.rb2
-rw-r--r--lib/bundler/env.rb1
-rw-r--r--lib/bundler/generated/build_metadata.rb9
5 files changed, 39 insertions, 11 deletions
diff --git a/lib/bundler.rb b/lib/bundler.rb
index 6828455684..9ef9e13a67 100644
--- a/lib/bundler.rb
+++ b/lib/bundler.rb
@@ -13,7 +13,7 @@ require "bundler/rubygems_integration"
require "bundler/version"
require "bundler/constants"
require "bundler/current_ruby"
-require "bundler/generated/build_metadata"
+require "bundler/build_metadata"
module Bundler
environment_preserver = EnvironmentPreserver.new(ENV, %w[PATH GEM_PATH])
diff --git a/lib/bundler/build_metadata.rb b/lib/bundler/build_metadata.rb
new file mode 100644
index 0000000000..54436f982d
--- /dev/null
+++ b/lib/bundler/build_metadata.rb
@@ -0,0 +1,36 @@
+# frozen_string_literal: true
+
+module Bundler
+ # Represents metadata from when the Bundler gem was built.
+ module BuildMetadata
+ # begin ivars
+ @release = false
+ # end ivars
+
+ # A hash representation of the build metadata.
+ def self.to_h
+ {
+ "Built At" => built_at,
+ "Git SHA" => git_commit_sha,
+ "Released Version" => release?,
+ }
+ end
+
+ # A string representing the date the bundler gem was built.
+ def self.built_at
+ @built_at ||= Time.now.utc.strftime("%Y-%m-%d").freeze
+ end
+
+ # The SHA for the git commit the bundler gem was built from.
+ def self.git_commit_sha
+ @git_commit_sha ||= Dir.chdir(File.expand_path("..", __FILE__)) do
+ `git rev-parse --short HEAD`.strip.freeze
+ end
+ end
+
+ # Whether this is an official release build of Bundler.
+ def self.release?
+ @release
+ end
+ end
+end
diff --git a/lib/bundler/cli.rb b/lib/bundler/cli.rb
index f09cfb95cd..d237901369 100644
--- a/lib/bundler/cli.rb
+++ b/lib/bundler/cli.rb
@@ -394,7 +394,7 @@ module Bundler
desc "version", "Prints the bundler's version information"
def version
if ARGV.include?("version")
- build_info = " (#{BUILD_METADATA[:built_at]} commit #{BUILD_METADATA[:git_sha]})"
+ build_info = " (#{BuildMetadata.built_at} commit #{BuildMetadata.git_commit_sha})"
end
Bundler.ui.info "Bundler version #{Bundler::VERSION}#{build_info}"
end
diff --git a/lib/bundler/env.rb b/lib/bundler/env.rb
index 325b96fbfa..333173ac27 100644
--- a/lib/bundler/env.rb
+++ b/lib/bundler/env.rb
@@ -14,6 +14,7 @@ module Bundler
out = String.new
append_formatted_table("Environment", environment, out)
+ append_formatted_table("Bundler Build Metadata", BuildMetadata.to_h, out)
unless Bundler.settings.all.empty?
out << "\n## Bundler settings\n\n```\n"
diff --git a/lib/bundler/generated/build_metadata.rb b/lib/bundler/generated/build_metadata.rb
deleted file mode 100644
index 1f7bbda390..0000000000
--- a/lib/bundler/generated/build_metadata.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-module Bundler
- BUILD_METADATA = {
- :built_at => Time.now.strftime("%Y-%m-%d").freeze,
- :git_sha => Dir.chdir(File.expand_path("..", __FILE__)) { `git rev-parse --short HEAD`.strip }.freeze,
- :release => false,
- }.freeze
-end