omnibus 8.1.15 → 8.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af309d0053f4ea4f740cbf3268c4e4d0087e014ab9abfaca3899c279b41a7a88
4
- data.tar.gz: f7c125f7f25811d2b74a7aa03b7065594e4b887f520ff7432e7409b7855ab898
3
+ metadata.gz: af0b9ab4b9d9903d007df7fe7ef6400f29c440f6de01c3c76f2fb18690f04001
4
+ data.tar.gz: aa35f665517e110e781329b7e97ea9ff154633fb25c80d274bae96d4f46a6bde
5
5
  SHA512:
6
- metadata.gz: 1227ee4ad5223279042ed600811c2348f10d78abe08859b27a4552a4dd81bdd554842b007ed43ee7aa79403cc9512117733a5db50b9f16dd104d0033a63ef45b
7
- data.tar.gz: 8683b174eeb40459b16bf337c7d1e0421b9642172e34e4a61d93348296d45b0fcf9d1272971ac43cdfeee4eb899659c8856ffc2fc0cbc84138b57f481e231107
6
+ metadata.gz: f8a052707df85029b1a29c3b55a24abd7f81d9b288707bc98512c1bc185c1f309c753d72e792dc68e814c67ccc06f059cddf1b16c593f913de68cfb356d8a903
7
+ data.tar.gz: 46626cb42cca8480b546bd4281b853bc2c5a51063350109cff57a2f51c766963be06737af5ff26f0610c9ac9b9d2cf53ba5ae6da5df5077901569baf2bd00bfb
data/README.md CHANGED
@@ -194,6 +194,7 @@ DSL Method | Description
194
194
  `patch` | Apply a patch from disk
195
195
  `workers` | The maximum number of builders
196
196
  `windows_safe_path` | Format the path to be safe for shelling out on Windows
197
+ `go` | Execute the code as the embedded Go
197
198
  `ruby` | Execute the code as the embedded Ruby
198
199
  `gem` | Execute the code as the embedded Rubygems
199
200
  `bundle` | Execute the code as the embedded Bundler
@@ -1,5 +1,5 @@
1
1
  #
2
- # Copyright 2012-2019, Chef Software Inc.
2
+ # Copyright:: Copyright (c) Chef Software Inc.
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -82,7 +82,7 @@ module Omnibus
82
82
  warn_for_shell_commands(command)
83
83
 
84
84
  build_commands << BuildCommand.new("Execute: `#{command}'") do
85
- shellout!(command, options)
85
+ shellout!(command, **options)
86
86
  end
87
87
  end
88
88
  expose :command
@@ -248,7 +248,7 @@ module Omnibus
248
248
  patches << patch_path
249
249
  options[:in_msys_bash] = true
250
250
  build_commands << BuildCommand.new("Apply patch `#{source}'") do
251
- shellout!(patch_cmd, options)
251
+ shellout!(patch_cmd, **options)
252
252
  end
253
253
  end
254
254
  expose :patch
@@ -296,6 +296,41 @@ module Omnibus
296
296
  # @!endgroup
297
297
  # --------------------------------------------------
298
298
 
299
+ #
300
+ # @!group Go DSL methods
301
+ #
302
+ # The following DSL methods are available from within build blocks and
303
+ # expose Go DSL methods.
304
+ # --------------------------------------------------
305
+
306
+ #
307
+ # Execute the given Go command or script against the embedded Go.
308
+ #
309
+ # @example
310
+ # go 'build -o hello'
311
+ #
312
+ # @param (see #command)
313
+ # @return (see #command)
314
+ #
315
+ def go(command, options = {})
316
+ build_commands << BuildCommand.new("go `#{command}'") do
317
+ bin = windows? ? windows_safe_path("#{install_dir}/embedded/go/bin/go") : embedded_bin("go")
318
+
319
+ # Check if we are building a go binary and then check if we are on
320
+ # Red Hat or CentOS so we build the binary properly with a build-id
321
+ if command.start_with?("build", " build") && rhel?
322
+ command << " -ldflags=-linkmode=external"
323
+ end
324
+
325
+ shellout!("#{bin} #{command}", options)
326
+ end
327
+ end
328
+ expose :go
329
+
330
+ #
331
+ # @!endgroup
332
+ # --------------------------------------------------
333
+
299
334
  #
300
335
  # @!group Ruby DSL methods
301
336
  #
@@ -315,7 +350,7 @@ module Omnibus
315
350
  def ruby(command, options = {})
316
351
  build_commands << BuildCommand.new("ruby `#{command}'") do
317
352
  bin = embedded_bin("ruby")
318
- shellout!("#{bin} #{command}", options)
353
+ shellout!("#{bin} #{command}", **options)
319
354
  end
320
355
  end
321
356
  expose :ruby
@@ -332,7 +367,7 @@ module Omnibus
332
367
  def gem(command, options = {})
333
368
  build_commands << BuildCommand.new("gem `#{command}'") do
334
369
  bin = embedded_bin("gem")
335
- shellout!("#{bin} #{command}", options)
370
+ shellout!("#{bin} #{command}", **options)
336
371
  end
337
372
  end
338
373
  expose :gem
@@ -352,7 +387,7 @@ module Omnibus
352
387
  def bundle(command, options = {})
353
388
  build_commands << BuildCommand.new("bundle `#{command}'") do
354
389
  bin = embedded_bin("bundle")
355
- shellout!("#{bin} #{command}", options)
390
+ shellout!("#{bin} #{command}", **options)
356
391
  end
357
392
  end
358
393
  expose :bundle
@@ -430,7 +465,7 @@ module Omnibus
430
465
  def rake(command, options = {})
431
466
  build_commands << BuildCommand.new("rake `#{command}'") do
432
467
  bin = embedded_bin("rake")
433
- shellout!("#{bin} #{command}", options)
468
+ shellout!("#{bin} #{command}", **options)
434
469
  end
435
470
  end
436
471
  expose :rake
@@ -688,7 +723,7 @@ module Omnibus
688
723
  build_commands << BuildCommand.new(command) do
689
724
  Dir.chdir(software.project_dir) do
690
725
  if options.delete(:unchecked)
691
- FileUtils.ln_s(source, destination, options)
726
+ FileUtils.ln_s(source, destination, **options)
692
727
  else
693
728
  files = FileSyncer.glob(source)
694
729
  if files.empty?
@@ -716,7 +751,7 @@ module Omnibus
716
751
  def sync(source, destination, options = {})
717
752
  build_commands << BuildCommand.new("sync `#{source}' to `#{destination}'") do
718
753
  Dir.chdir(software.project_dir) do
719
- FileSyncer.sync(source, destination, options)
754
+ FileSyncer.sync(source, destination, **options)
720
755
  end
721
756
  end
722
757
  end
@@ -873,7 +908,7 @@ module Omnibus
873
908
  options[:live_stream] ||= log.live_stream(:debug)
874
909
 
875
910
  # Use Util's shellout
876
- super(command_string, options)
911
+ super(command_string, **options)
877
912
  end
878
913
 
879
914
  #
@@ -15,5 +15,5 @@
15
15
  #
16
16
 
17
17
  module Omnibus
18
- VERSION = "8.1.15".freeze
18
+ VERSION = "8.2.2".freeze
19
19
  end
data/omnibus.gemspec CHANGED
@@ -35,7 +35,7 @@ Gem::Specification.new do |gem|
35
35
  gem.add_dependency "pedump"
36
36
 
37
37
  gem.add_development_dependency "artifactory", "~> 3.0"
38
- gem.add_development_dependency "aruba", "~> 1.1"
38
+ gem.add_development_dependency "aruba", "~> 2.0"
39
39
  gem.add_development_dependency "chefstyle", "= 1.7.5"
40
40
  gem.add_development_dependency "fauxhai-ng", ">= 7.5"
41
41
  gem.add_development_dependency "rspec", "~> 3.0"
@@ -39,6 +39,12 @@ module Omnibus
39
39
  end
40
40
  end
41
41
 
42
+ describe "#go" do
43
+ it "is a DSL method" do
44
+ expect(subject).to have_exposed_method(:go)
45
+ end
46
+ end
47
+
42
48
  describe "#ruby" do
43
49
  it "is a DSL method" do
44
50
  expect(subject).to have_exposed_method(:ruby)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omnibus
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.1.15
4
+ version: 8.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-29 00:00:00.000000000 Z
11
+ date: 2021-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-s3
@@ -222,14 +222,14 @@ dependencies:
222
222
  requirements:
223
223
  - - "~>"
224
224
  - !ruby/object:Gem::Version
225
- version: '1.1'
225
+ version: '2.0'
226
226
  type: :development
227
227
  prerelease: false
228
228
  version_requirements: !ruby/object:Gem::Requirement
229
229
  requirements:
230
230
  - - "~>"
231
231
  - !ruby/object:Gem::Version
232
- version: '1.1'
232
+ version: '2.0'
233
233
  - !ruby/object:Gem::Dependency
234
234
  name: chefstyle
235
235
  requirement: !ruby/object:Gem::Requirement