diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2017-06-13 08:48:33 -0500 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2017-06-13 08:48:33 -0500 |
commit | 3c552274695aae4439ce0a6d83dd36c8179089cf (patch) | |
tree | c999cd5116f480f525026bb672cdac5587146724 /lib | |
parent | 85992a5d4a25712c7367f889e9f3589928449673 (diff) | |
download | bundler-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.rb | 2 | ||||
-rw-r--r-- | lib/bundler/build_metadata.rb | 36 | ||||
-rw-r--r-- | lib/bundler/cli.rb | 2 | ||||
-rw-r--r-- | lib/bundler/env.rb | 1 | ||||
-rw-r--r-- | lib/bundler/generated/build_metadata.rb | 9 |
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 |