omnibus 5.4.0 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -3
  3. data/CHANGELOG.md +21 -0
  4. data/Gemfile +8 -5
  5. data/README.md +3 -1
  6. data/Rakefile +20 -13
  7. data/appveyor.yml +4 -3
  8. data/bin/omnibus +3 -3
  9. data/features/commands/manifest.feature +19 -5
  10. data/features/step_definitions/generator_steps.rb +5 -6
  11. data/features/support/env.rb +4 -4
  12. data/lib/omnibus/build_version.rb +14 -14
  13. data/lib/omnibus/build_version_dsl.rb +3 -3
  14. data/lib/omnibus/builder.rb +50 -61
  15. data/lib/omnibus/changelog.rb +2 -2
  16. data/lib/omnibus/changelog_printer.rb +4 -4
  17. data/lib/omnibus/cleaner.rb +4 -4
  18. data/lib/omnibus/cli/base.rb +15 -15
  19. data/lib/omnibus/cli/cache.rb +13 -13
  20. data/lib/omnibus/cli/changelog.rb +8 -9
  21. data/lib/omnibus/cli/publish.rb +12 -13
  22. data/lib/omnibus/cli.rb +26 -27
  23. data/lib/omnibus/compressor.rb +6 -6
  24. data/lib/omnibus/compressors/base.rb +7 -2
  25. data/lib/omnibus/compressors/dmg.rb +12 -12
  26. data/lib/omnibus/compressors/null.rb +1 -1
  27. data/lib/omnibus/compressors/tgz.rb +8 -8
  28. data/lib/omnibus/config.rb +37 -26
  29. data/lib/omnibus/core_extensions/open_uri.rb +3 -3
  30. data/lib/omnibus/core_extensions.rb +1 -1
  31. data/lib/omnibus/digestable.rb +5 -4
  32. data/lib/omnibus/download_helpers.rb +7 -6
  33. data/lib/omnibus/exceptions.rb +29 -13
  34. data/lib/omnibus/fetcher.rb +0 -1
  35. data/lib/omnibus/fetchers/git_fetcher.rb +7 -7
  36. data/lib/omnibus/fetchers/net_fetcher.rb +19 -19
  37. data/lib/omnibus/fetchers/path_fetcher.rb +1 -1
  38. data/lib/omnibus/file_syncer.rb +3 -3
  39. data/lib/omnibus/generator.rb +60 -47
  40. data/lib/omnibus/git_cache.rb +33 -22
  41. data/lib/omnibus/git_repository.rb +5 -5
  42. data/lib/omnibus/health_check.rb +122 -119
  43. data/lib/omnibus/instrumentation.rb +1 -1
  44. data/lib/omnibus/licensing.rb +348 -60
  45. data/lib/omnibus/logger.rb +12 -9
  46. data/lib/omnibus/logging.rb +1 -1
  47. data/lib/omnibus/manifest.rb +4 -4
  48. data/lib/omnibus/manifest_diff.rb +6 -7
  49. data/lib/omnibus/manifest_entry.rb +1 -1
  50. data/lib/omnibus/metadata.rb +36 -36
  51. data/lib/omnibus/ohai.rb +6 -7
  52. data/lib/omnibus/package.rb +1 -1
  53. data/lib/omnibus/packager.rb +37 -28
  54. data/lib/omnibus/packagers/appx.rb +86 -0
  55. data/lib/omnibus/packagers/base.rb +21 -18
  56. data/lib/omnibus/packagers/bff.rb +22 -24
  57. data/lib/omnibus/packagers/deb.rb +20 -20
  58. data/lib/omnibus/packagers/ips.rb +18 -17
  59. data/lib/omnibus/packagers/makeself.rb +7 -7
  60. data/lib/omnibus/packagers/msi.rb +38 -193
  61. data/lib/omnibus/packagers/pkg.rb +16 -16
  62. data/lib/omnibus/packagers/rpm.rb +53 -54
  63. data/lib/omnibus/packagers/solaris.rb +14 -14
  64. data/lib/omnibus/packagers/windows_base.rb +192 -0
  65. data/lib/omnibus/project.rb +45 -43
  66. data/lib/omnibus/publisher.rb +3 -3
  67. data/lib/omnibus/publishers/artifactory_publisher.rb +39 -39
  68. data/lib/omnibus/publishers/s3_publisher.rb +7 -7
  69. data/lib/omnibus/reports.rb +10 -10
  70. data/lib/omnibus/s3_cache.rb +7 -7
  71. data/lib/omnibus/s3_helpers.rb +8 -7
  72. data/lib/omnibus/semantic_version.rb +1 -1
  73. data/lib/omnibus/software.rb +131 -81
  74. data/lib/omnibus/sugarable.rb +10 -10
  75. data/lib/omnibus/templating.rb +5 -5
  76. data/lib/omnibus/thread_pool.rb +1 -1
  77. data/lib/omnibus/util.rb +5 -5
  78. data/lib/omnibus/version.rb +1 -1
  79. data/lib/omnibus.rb +65 -65
  80. data/omnibus.gemspec +34 -32
  81. data/resources/appx/AppxManifest.xml.erb +18 -0
  82. data/resources/appx/assets/clear.png +0 -0
  83. data/spec/fixtures/licensing/license_scout/snoopy/ruby_bundler-bundler-audit-0.5.0-COPYING.txt +674 -0
  84. data/spec/fixtures/licensing/license_scout/snoopy/ruby_bundler-inifile-3.0.0-README.md +215 -0
  85. data/spec/fixtures/licensing/license_scout/snoopy/snoopy-dependency-licenses.json +24 -0
  86. data/spec/fixtures/licensing/license_scout/zlib/ruby_bundler-inifile-3.0.0-README.md +215 -0
  87. data/spec/fixtures/licensing/license_scout/zlib/ruby_bundler-mime-types-3.1-Licence.rdoc +25 -0
  88. data/spec/fixtures/licensing/license_scout/zlib/ruby_bundler-mini_portile2-2.1.0-LICENSE.txt +20 -0
  89. data/spec/fixtures/licensing/license_scout/zlib/zlib-dependency-licenses.json +32 -0
  90. data/spec/functional/builder_spec.rb +149 -150
  91. data/spec/functional/fetchers/git_fetcher_spec.rb +69 -71
  92. data/spec/functional/fetchers/net_fetcher_spec.rb +79 -79
  93. data/spec/functional/fetchers/path_fetcher_spec.rb +19 -20
  94. data/spec/functional/file_syncer_spec.rb +74 -74
  95. data/spec/functional/licensing_spec.rb +344 -35
  96. data/spec/functional/templating_spec.rb +17 -17
  97. data/spec/spec_helper.rb +20 -20
  98. data/spec/support/examples.rb +21 -15
  99. data/spec/support/file_helpers.rb +1 -1
  100. data/spec/support/git_helpers.rb +37 -37
  101. data/spec/support/matchers.rb +3 -3
  102. data/spec/support/ohai_helpers.rb +4 -4
  103. data/spec/support/path_helpers.rb +2 -2
  104. data/spec/support/shell_helpers.rb +2 -2
  105. data/spec/unit/build_version_dsl_spec.rb +5 -5
  106. data/spec/unit/build_version_spec.rb +63 -63
  107. data/spec/unit/builder_spec.rb +86 -70
  108. data/spec/unit/changelog_spec.rb +4 -4
  109. data/spec/unit/changelogprinter_spec.rb +130 -0
  110. data/spec/unit/cleanroom_spec.rb +11 -11
  111. data/spec/unit/compressor_spec.rb +16 -16
  112. data/spec/unit/compressors/base_spec.rb +6 -6
  113. data/spec/unit/compressors/dmg_spec.rb +76 -76
  114. data/spec/unit/compressors/null_spec.rb +4 -4
  115. data/spec/unit/compressors/tgz_spec.rb +20 -20
  116. data/spec/unit/config_spec.rb +44 -43
  117. data/spec/unit/digestable_spec.rb +13 -13
  118. data/spec/unit/fetcher_spec.rb +11 -12
  119. data/spec/unit/fetchers/git_fetcher_spec.rb +31 -31
  120. data/spec/unit/fetchers/net_fetcher_spec.rb +172 -173
  121. data/spec/unit/fetchers/path_fetcher_spec.rb +18 -18
  122. data/spec/unit/generator_spec.rb +38 -38
  123. data/spec/unit/git_cache_spec.rb +56 -54
  124. data/spec/unit/git_repository_spec.rb +2 -2
  125. data/spec/unit/health_check_spec.rb +40 -40
  126. data/spec/unit/library_spec.rb +35 -35
  127. data/spec/unit/manifest_diff_spec.rb +10 -11
  128. data/spec/unit/manifest_spec.rb +17 -17
  129. data/spec/unit/metadata_spec.rb +152 -152
  130. data/spec/unit/ohai_spec.rb +5 -5
  131. data/spec/unit/omnibus_spec.rb +31 -31
  132. data/spec/unit/package_spec.rb +20 -20
  133. data/spec/unit/packager_spec.rb +48 -42
  134. data/spec/unit/packagers/appx_spec.rb +165 -0
  135. data/spec/unit/packagers/base_spec.rb +34 -34
  136. data/spec/unit/packagers/bff_spec.rb +60 -60
  137. data/spec/unit/packagers/deb_spec.rb +71 -71
  138. data/spec/unit/packagers/ips_spec.rb +45 -45
  139. data/spec/unit/packagers/makeself_spec.rb +22 -22
  140. data/spec/unit/packagers/msi_spec.rb +141 -147
  141. data/spec/unit/packagers/pkg_spec.rb +59 -60
  142. data/spec/unit/packagers/rpm_spec.rb +125 -126
  143. data/spec/unit/packagers/solaris_spec.rb +52 -52
  144. data/spec/unit/project_spec.rb +137 -135
  145. data/spec/unit/publisher_spec.rb +70 -70
  146. data/spec/unit/publishers/artifactory_publisher_spec.rb +85 -85
  147. data/spec/unit/publishers/s3_publisher_spec.rb +36 -36
  148. data/spec/unit/s3_cacher_spec.rb +34 -34
  149. data/spec/unit/s3_helpers_spec.rb +6 -6
  150. data/spec/unit/semantic_version_spec.rb +2 -2
  151. data/spec/unit/software_spec.rb +346 -384
  152. data/spec/unit/sugarable_spec.rb +10 -10
  153. data/spec/unit/util_spec.rb +60 -60
  154. metadata +54 -6
  155. data/.rubocop.yml +0 -48
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 407d08f9b06a939ef258ff8c14f27b12afb74234
4
- data.tar.gz: 84d25b4c5c73eede7828af010d99273771f2d547
3
+ metadata.gz: df89be1587ea0dd7f53b9d049fd0b98e59303696
4
+ data.tar.gz: 3dbf3e7857bfd275f4d35e04d1b2522259a82f01
5
5
  SHA512:
6
- metadata.gz: fecc2417ce2c9137d12a2675e52105e9f2b263e8953a1f264582c15204614fd8de7cb62792c9e6d9b46a18b69ce707973f275ce46490703eabbea4ee7c0e5b0f
7
- data.tar.gz: b7d07fb926de84af9f2bb56b526bca9594a634c0b20a92e4b88d5daf206f595035ddf06bbe138c61b5a361f44b071bfb867f0ac2ce57dfee1336585cbf6b11fb
6
+ metadata.gz: 73d9cf647ab0734f4e13797ae98f7baff5d1f03011bcd826c291cab03f8fd4c7448fc8328d903211a675b1b023034b84d84a2bd85f304c901e9cc47b6f88fcba
7
+ data.tar.gz: 895ab544f10c0cd284965c21c586c30b439ba679f1898b14d1f72671d91c21de43eca176141cdb681f9e8c18de8b93ea9b4e7d62eeb316fa4175fb0f50bbefbf
data/.travis.yml CHANGED
@@ -1,8 +1,7 @@
1
1
  sudo: false
2
2
  rvm:
3
- - 2.0.0
4
- - 2.1
5
- - 2.2
3
+ - 2.1.9
4
+ - 2.2.5
6
5
  bundler_args: "--jobs 7 --without docs local"
7
6
  branches:
8
7
  only:
data/CHANGELOG.md CHANGED
@@ -1,6 +1,27 @@
1
1
  Omnibus CHANGELOG
2
2
  =================
3
3
 
4
+ v5.5.0 (August 16, 2016)
5
+ -----------------------
6
+ ### New Features
7
+ - Add build timings to the local output (#669)
8
+ - Add `appx` packager (#675, #676, #677)
9
+ - `fatal_licensing_warnings` configuration to fail the build when there are licensing problems (#678)
10
+ - Ensure consistent code style using Chefstyle \o/ (#681)
11
+ - Drop Ruby 2.0 support (#697)
12
+ - Remove fakeroot from RPM packager (#698)
13
+ - Support license collection with git cache (#700)
14
+ - Add `SERIAL_NUMBER` to omnibus code, which is used in git caching to invalidate caches when omnibus code changes require it to be invalidated (#704)
15
+ - Support license collection of transitive dependencies (via license_scout gem) (#705)
16
+ - Add `skip_transitive_dependency_licensing` dsl method to Software. Use this when the software does not use any dependency manager. (#705)
17
+
18
+ ### Bug Fixes
19
+ - Make license files readable inside the packages (#673)
20
+ - Prefer server marketing names on windows (#679)
21
+ - Instead of exe, use bat if present on windows (#684)
22
+ - Fix changelog generation with symbolized keys (#687)
23
+
24
+
4
25
  v5.4.0 (April 18, 2016)
5
26
  -----------------------
6
27
  ### New Features
data/Gemfile CHANGED
@@ -1,11 +1,14 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
  gemspec
3
3
 
4
4
  # Fork to allow for a recent version of multipart-post.
5
- gem 'pedump', git: 'https://github.com/ksubrama/pedump', branch: 'patch-1'
5
+ gem "pedump", git: "https://github.com/ksubrama/pedump", branch: "patch-1"
6
+
7
+ # Always use license_scout from master
8
+ gem "license_scout", github: "chef/license_scout"
6
9
 
7
10
  group :docs do
8
- gem 'yard', '~> 0.8'
9
- gem 'redcarpet', '~> 2.2.2'
10
- gem 'github-markup', '~> 0.7'
11
+ gem "yard", "~> 0.8"
12
+ gem "redcarpet", "~> 2.2.2"
13
+ gem "github-markup", "~> 0.7"
11
14
  end
data/README.md CHANGED
@@ -1,10 +1,12 @@
1
1
  ![Omnibus Icon](lib/omnibus/assets/README-logo.png) Omnibus
2
2
  ===========================================================
3
3
  [![Gem Version](http://img.shields.io/gem/v/omnibus.svg)][gem]
4
- [![Build Status](http://img.shields.io/travis/chef/omnibus.svg)][travis]
4
+ [![Travis Build Status](http://img.shields.io/travis/chef/omnibus.svg?label=Travis CI)][travis]
5
+ [![AppVeyor Build Status](http://img.shields.io/appveyor/ci/chef/omnibus.svg?label=AppVeyor)][appveyor]
5
6
 
6
7
  [gem]: https://rubygems.org/gems/omnibus
7
8
  [travis]: https://travis-ci.org/chef/omnibus
9
+ [appveyor]: https://ci.appveyor.com/project/chef/omnibus
8
10
 
9
11
  Easily create full-stack installers for your project across a variety of platforms.
10
12
 
data/Rakefile CHANGED
@@ -1,28 +1,35 @@
1
- require 'bundler/gem_tasks'
1
+ require "bundler/gem_tasks"
2
2
 
3
- require 'rspec/core/rake_task'
3
+ require "rspec/core/rake_task"
4
4
  [:unit, :functional].each do |type|
5
5
  RSpec::Core::RakeTask.new(type) do |t|
6
6
  t.pattern = "spec/#{type}/**/*_spec.rb"
7
7
  t.rspec_opts = [].tap do |a|
8
- a.push('--color')
9
- a.push('--format progress')
10
- end.join(' ')
8
+ a.push("--color")
9
+ a.push("--format progress")
10
+ end.join(" ")
11
11
  end
12
12
  end
13
13
 
14
- require 'cucumber/rake/task'
14
+ require "cucumber/rake/task"
15
15
  Cucumber::Rake::Task.new(:acceptance) do |t|
16
16
  t.cucumber_opts = [].tap do |a|
17
- a.push('--color')
18
- a.push('--format progress')
19
- a.push('--strict')
20
- end.join(' ')
17
+ a.push("--color")
18
+ a.push("--format progress")
19
+ a.push("--strict")
20
+ end.join(" ")
21
+ end
22
+
23
+ require "chefstyle"
24
+ require "rubocop/rake_task"
25
+ desc " Run ChefStyle"
26
+ RuboCop::RakeTask.new(:chefstyle) do |task|
27
+ task.options << "--display-cop-names"
21
28
  end
22
29
 
23
30
  namespace :travis do
24
- desc 'Run tests on Travis'
25
- task ci: %w(unit functional acceptance)
31
+ desc "Run tests on Travis"
32
+ task ci: %w{chefstyle unit functional acceptance}
26
33
  end
27
34
 
28
- task default: %w(travis:ci)
35
+ task default: %w{travis:ci}
data/appveyor.yml CHANGED
@@ -6,7 +6,8 @@ platform:
6
6
 
7
7
  environment:
8
8
  matrix:
9
- - ruby_version: "200"
9
+ - RUBY_VERSION: 22
10
+ - RUBY_VERSION: 21
10
11
 
11
12
  clone_folder: c:\projects\omnibus
12
13
  clone_depth: 1
@@ -16,13 +17,13 @@ branches:
16
17
  - master
17
18
 
18
19
  install:
19
- - SET PATH=C:\Ruby%ruby_version%\bin;C:\Ruby21%ruby_version:~3%\Devkit\mingw\bin;%PATH%
20
+ - SET PATH=C:\Ruby%RUBY_VERSION%\bin;C:\Ruby23-x64\DevKit\mingw\bin;%PATH%
20
21
  - echo %PATH%
21
22
  - ruby --version
22
23
  - gem --version
23
24
  - gem install bundler -v 1.10.6 --quiet --no-ri --no-rdoc
24
25
  - bundler --version
25
- - cp C:\Ruby21%ruby_version:~3%\Devkit\mingw\bin\bsdtar.exe C:\Ruby21%ruby_version:~3%\Devkit\mingw\bin\tar.exe
26
+ - cp C:\Ruby23-x64\DevKit\mingw\bin\bsdtar.exe C:\Ruby23-x64\DevKit\mingw\bin\tar.exe
26
27
  - appveyor DownloadFile http://curl.haxx.se/ca/cacert.pem -FileName C:\cacert.pem
27
28
  - set SSL_CERT_FILE=C:\cacert.pem
28
29
  - git config --global user.email "clouseau@chef.io"
data/bin/omnibus CHANGED
@@ -2,12 +2,12 @@
2
2
 
3
3
  # Trap interrupts to quit cleanly. See
4
4
  # https://twitter.com/mitchellh/status/283014103189053442
5
- Signal.trap('INT') { exit 1 }
5
+ Signal.trap("INT") { exit 1 }
6
6
 
7
- $:.push File.expand_path('../../lib', __FILE__)
7
+ $:.push File.expand_path("../../lib", __FILE__)
8
8
  $stdout.sync = true
9
9
 
10
- require 'omnibus/cli'
10
+ require "omnibus/cli"
11
11
 
12
12
  # Some platforms do not have a UTF-8 locale, so we need to enforce one
13
13
  # or else the cacert chain will break among other things
@@ -14,7 +14,10 @@ Feature: omnibus manifest
14
14
  Scenario: When the project has no software definitions
15
15
  When I run `omnibus manifest hamlet`
16
16
 
17
- Then it should pass with "[Project: hamlet] I | Building version manifest"
17
+ Then it should pass with "[Project: hamlet] I | "
18
+
19
+ And the output should match /^[Project: hamlet] I | \d\d\d\d-[0-1]\d-[0-3]\dT[0-2]\d:[0-6]\d:[0-6]\d(\+|\-)\d\d:\d\d | Building version manifest$/
20
+
18
21
  And the output should contain:
19
22
  """
20
23
  "software": {
@@ -35,7 +38,9 @@ Feature: omnibus manifest
35
38
 
36
39
  When I run `omnibus manifest hamlet`
37
40
 
38
- Then it should pass with "[Project: hamlet] I | Building version manifest"
41
+ Then it should pass with "[Project: hamlet] I | "
42
+
43
+ And the output should match /^[Project: hamlet] I | \d\d\d\d-[0-1]\d-[0-3]\dT[0-2]\d:[0-6]\d:[0-6]\d(\+|\-)\d\d:\d\d | Building version manifest$/
39
44
  And the output should contain:
40
45
  """
41
46
  "software": {
@@ -62,7 +67,10 @@ Feature: omnibus manifest
62
67
 
63
68
  When I run `omnibus manifest hamlet`
64
69
 
65
- Then it should pass with "[Project: hamlet] I | Building version manifest"
70
+ Then it should pass with "[Project: hamlet] I | "
71
+
72
+ And the output should match /^[Project: hamlet] I | \d\d\d\d-[0-1]\d-[0-3]\dT[0-2]\d:[0-6]\d:[0-6]\d(\+|\-)\d\d:\d\d | Building version manifest$/
73
+
66
74
  And the output should contain:
67
75
  """
68
76
  "software": {
@@ -90,7 +98,10 @@ Feature: omnibus manifest
90
98
 
91
99
  When I run `omnibus manifest hamlet --os=linux --platform_family=debian --platform=ubuntu --platform_version=14.04`
92
100
 
93
- Then it should pass with "[Project: hamlet] I | Building version manifest"
101
+ Then it should pass with "[Project: hamlet] I "
102
+
103
+ And the output should match /^[Project: hamlet] I | \d\d\d\d-[0-1]\d-[0-3]\dT[0-2]\d:[0-6]\d:[0-6]\d(\+|\-)\d\d:\d\d | Building version manifest$/
104
+
94
105
  And the output should contain:
95
106
  """
96
107
  "software": {
@@ -117,7 +128,10 @@ Feature: omnibus manifest
117
128
 
118
129
  When I run `omnibus manifest hamlet --os=windows --platform_family=windows --platform=windows --platform_version=2012r2`
119
130
 
120
- Then it should pass with "[Project: hamlet] I | Building version manifest"
131
+ Then it should pass with "[Project: hamlet] I | "
132
+
133
+ And the output should match /^[Project: hamlet] I | \d\d\d\d-[0-1]\d-[0-3]\dT[0-2]\d:[0-6]\d:[0-6]\d(\+|\-)\d\d:\d\d | Building version manifest$/
134
+
121
135
  And the output should contain:
122
136
  """
123
137
  "software": {
@@ -1,4 +1,4 @@
1
- require 'aruba/api'
1
+ require "aruba/api"
2
2
 
3
3
  Given(/^I have an omnibus project named "(.+)"$/) do |name|
4
4
  create_directory(name)
@@ -10,7 +10,7 @@ Given(/^I have an omnibus project named "(.+)"$/) do |name|
10
10
  # Single top level output dir
11
11
  create_directory("output")
12
12
 
13
- write_file("config/projects/#{name}.rb", <<-EOH.gsub(/^ {4}/, ''))
13
+ write_file("config/projects/#{name}.rb", <<-EOH.gsub(/^ {4}/, ""))
14
14
  name '#{name}'
15
15
  maintainer 'Mrs. Maintainer'
16
16
  homepage 'https://example.com'
@@ -27,7 +27,7 @@ Given(/^I have an omnibus project named "(.+)"$/) do |name|
27
27
  end
28
28
  EOH
29
29
 
30
- write_file('omnibus.rb', <<-EOH.gsub(/^ {4}/, ''))
30
+ write_file("omnibus.rb", <<-EOH.gsub(/^ {4}/, ""))
31
31
  # Build configuration
32
32
  append_timestamp false
33
33
  cache_dir '#{abs_path}/local/omnibus/cache'
@@ -40,12 +40,11 @@ Given(/^I have an omnibus project named "(.+)"$/) do |name|
40
40
  end
41
41
 
42
42
  Given(/^I debug$/) do
43
- require 'pry'
44
- binding.pry
43
+ require "pry"
45
44
  end
46
45
 
47
46
  Given(/^I have a platform mappings file named "(.+)"$/) do |name|
48
- write_file(name, <<-EOH.gsub(/^ {4}/, ''))
47
+ write_file(name, <<-EOH.gsub(/^ {4}/, ""))
49
48
  {
50
49
  "ubuntu-10.04": [
51
50
  "ubuntu-10.04",
@@ -1,8 +1,8 @@
1
- require 'aruba'
2
- require 'aruba/cucumber'
3
- require 'aruba/in_process'
1
+ require "aruba"
2
+ require "aruba/cucumber"
3
+ require "aruba/in_process"
4
4
 
5
- require 'omnibus/cli'
5
+ require "omnibus/cli"
6
6
 
7
7
  Aruba.configure do |config|
8
8
  config.command_launcher = :in_process
@@ -14,7 +14,7 @@
14
14
  # limitations under the License.
15
15
  #
16
16
 
17
- require 'time'
17
+ require "time"
18
18
 
19
19
  module Omnibus
20
20
  # Provides methods for generating Omnibus project build version
@@ -34,7 +34,7 @@ module Omnibus
34
34
  #
35
35
  # @see Omnibus::BuildVersion#semver
36
36
  # @see Time#strftime
37
- TIMESTAMP_FORMAT = '%Y%m%d%H%M%S'
37
+ TIMESTAMP_FORMAT = "%Y%m%d%H%M%S"
38
38
 
39
39
  class << self
40
40
  # @see (BuildVersion#git_describe)
@@ -92,8 +92,8 @@ module Omnibus
92
92
  if prerelease_version?
93
93
  # ensure all dashes are dots per precedence rules (#12) in Semver
94
94
  # 2.0.0-rc.1
95
- prerelease = prerelease_tag.gsub('-', '.')
96
- build_tag << '-' << prerelease
95
+ prerelease = prerelease_tag.tr("-", ".")
96
+ build_tag << "-" << prerelease
97
97
  end
98
98
 
99
99
  # BUILD VERSION
@@ -114,11 +114,11 @@ module Omnibus
114
114
  #
115
115
  # format: git.COMMITS_SINCE_TAG.GIT_SHA example: git.207.694b062
116
116
  unless commits_since_tag == 0
117
- build_version_items << ['git', commits_since_tag, git_sha_tag].join('.')
117
+ build_version_items << ["git", commits_since_tag, git_sha_tag].join(".")
118
118
  end
119
119
 
120
120
  unless build_version_items.empty?
121
- build_tag << '+' << build_version_items.join('.')
121
+ build_tag << "+" << build_version_items.join(".")
122
122
  end
123
123
 
124
124
  build_tag
@@ -129,13 +129,13 @@ module Omnibus
129
129
  # same build will share the same timestamp.
130
130
  def build_start_time
131
131
  @build_start_time ||= begin
132
- if ENV['BUILD_ID']
132
+ if ENV["BUILD_ID"]
133
133
  begin
134
- Time.strptime(ENV['BUILD_ID'], '%Y-%m-%d_%H-%M-%S')
134
+ Time.strptime(ENV["BUILD_ID"], "%Y-%m-%d_%H-%M-%S")
135
135
  rescue ArgumentError
136
- error_message = 'BUILD_ID environment variable '
137
- error_message << 'should be in YYYY-MM-DD_hh-mm-ss '
138
- error_message << 'format.'
136
+ error_message = "BUILD_ID environment variable "
137
+ error_message << "should be in YYYY-MM-DD_hh-mm-ss "
138
+ error_message << "format."
139
139
  raise ArgumentError, error_message
140
140
  end
141
141
  else
@@ -157,7 +157,7 @@ module Omnibus
157
157
  # @return [String]
158
158
  def git_describe
159
159
  @git_describe ||= begin
160
- cmd = shellout('git describe --tags', cwd: @path)
160
+ cmd = shellout("git describe --tags", cwd: @path)
161
161
 
162
162
  if cmd.exitstatus == 0
163
163
  cmd.stdout.chomp
@@ -166,7 +166,7 @@ module Omnibus
166
166
  "Could not extract version information from 'git describe'! " \
167
167
  "Setting version to 0.0.0."
168
168
  end
169
- '0.0.0'
169
+ "0.0.0"
170
170
  end
171
171
  end
172
172
  end
@@ -187,7 +187,7 @@ module Omnibus
187
187
  #
188
188
  # @return [String]
189
189
  def version_tag
190
- version_composition.join('.')
190
+ version_composition.join(".")
191
191
  end
192
192
 
193
193
  # Return a prerelease tag string (if it exists), as extracted from {#git_describe}.
@@ -14,7 +14,7 @@
14
14
  # limitations under the License.
15
15
  #
16
16
 
17
- require 'time'
17
+ require "time"
18
18
 
19
19
  module Omnibus
20
20
  class BuildVersionDSL
@@ -132,9 +132,9 @@ module Omnibus
132
132
  # @param [String] version
133
133
  # @return [Boolean]
134
134
  def has_timestamp?(version)
135
- _ver, build_info = version.split('+')
135
+ _ver, build_info = version.split("+")
136
136
  return false if build_info.nil?
137
- build_info.split('.').any? do |part|
137
+ build_info.split(".").any? do |part|
138
138
  begin
139
139
  Time.strptime(part, Omnibus::BuildVersion::TIMESTAMP_FORMAT)
140
140
  true