rake_terraform 0.33.0 → 0.34.0.pre.1

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: e9a2ecd0ef5a64212110598dec1836b440ab913853d3e18042721fceb54d43cc
4
- data.tar.gz: f2cca76f4131b47e6c16feba6881b0add67697dd11da492917e9214c3e0259ef
3
+ metadata.gz: 0c25ba63bc782a8dd95ad482a42b3a523e6703e387aafd29765d037be9452755
4
+ data.tar.gz: db7934c9f74eeee6a04162cc6640545b460e1f079f9d9de7042e1ab28118ce86
5
5
  SHA512:
6
- metadata.gz: 957eddae9ca0028fe0b9acfa82044dccf34292433f6094d18fcaee2eedc09eb0121ef3ebbb47c802c2175ef5810941a79ed87decc0cf146e657c7beec30612ce
7
- data.tar.gz: 3aa37887b46635a24ff9a0bb907fbc015f148c9b93142ef014b3a8b22f771afb17acceff8606542e047b0683a28a97db1e7a3a98373dc6602c3c990fd092c5d5
6
+ metadata.gz: 477970e38bffedfa3c71155b74ea521aeeea009a451aa880e30057f61aef9aeab8094778ebd543a190750c9862744dfdddc31135859a3890531569e4571ac900
7
+ data.tar.gz: 18bdc924c3c14a1f952d18174bbaa2795615c788846741c0ec8b74d3279f0125e5b4dd1c9a46793b7e057aebb00555c7bf42f70fa07103e8655d72cbb42b2f37
data/.circleci/config.yml CHANGED
@@ -3,14 +3,14 @@ jobs:
3
3
  test:
4
4
  working_directory: ~/rake-terraform
5
5
  docker:
6
- - image: ruby:2.4.7
6
+ - image: ruby:2.6.0
7
7
  steps:
8
8
  - checkout
9
9
  - run: ./scripts/ci/steps/test.sh
10
10
  prerelease:
11
11
  working_directory: ~/rake-terraform
12
12
  docker:
13
- - image: ruby:2.4.7
13
+ - image: ruby:2.6.0
14
14
  steps:
15
15
  - checkout
16
16
  - run: ./scripts/ci/common/install-git-crypt.sh
@@ -21,7 +21,7 @@ jobs:
21
21
  release:
22
22
  working_directory: ~/rake-terraform
23
23
  docker:
24
- - image: ruby:2.4.7
24
+ - image: ruby:2.6.0
25
25
  steps:
26
26
  - checkout
27
27
  - run: ./scripts/ci/common/install-git-crypt.sh
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.4.7
1
+ 2.6.0
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_terraform (0.33.0)
4
+ rake_terraform (0.34.0.pre.1)
5
5
  colored2 (~> 3.1)
6
- rake_dependencies (~> 0.23)
6
+ rake_dependencies (~> 1.6)
7
7
  ruby-terraform (~> 0.46)
8
8
 
9
9
  GEM
@@ -30,10 +30,14 @@ GEM
30
30
  minitest (5.12.2)
31
31
  open4 (1.3.4)
32
32
  rake (13.0.0)
33
- rake_dependencies (0.23.0)
33
+ rake_dependencies (1.6.0)
34
34
  hamster (~> 3.0)
35
- minitar (~> 0.7)
36
- rubyzip (>= 1.2.2)
35
+ minitar (~> 0.9)
36
+ rake_factory (~> 0.11)
37
+ rubyzip (~> 2.0)
38
+ rake_factory (0.11.0)
39
+ activesupport (~> 5.2)
40
+ rake (~> 13.0)
37
41
  rspec (3.9.0)
38
42
  rspec-core (~> 3.9.0)
39
43
  rspec-expectations (~> 3.9.0)
@@ -47,7 +51,7 @@ GEM
47
51
  diff-lcs (>= 1.2.0, < 2.0)
48
52
  rspec-support (~> 3.9.0)
49
53
  rspec-support (3.9.0)
50
- ruby-terraform (0.46.0)
54
+ ruby-terraform (0.48.0)
51
55
  lino (~> 1.1)
52
56
  rubyzip (2.0.0)
53
57
  thread_safe (0.3.6)
@@ -67,4 +71,4 @@ DEPENDENCIES
67
71
  rspec (~> 3.9)
68
72
 
69
73
  BUNDLED WITH
70
- 2.0.2
74
+ 2.1.4
@@ -1,3 +1,3 @@
1
1
  module RakeTerraform
2
- VERSION = "0.33.0"
2
+ VERSION = "0.34.0.pre.1"
3
3
  end
@@ -14,116 +14,129 @@ module RakeTerraform
14
14
 
15
15
  def self.define_installation_tasks(opts = {})
16
16
  logger = opts[:logger] ||
17
- Logger.new(STDERR, level: Logger.const_get(ENV['RKTF_LOG'] || 'WARN'))
17
+ Logger.new(STDERR, level: Logger.const_get(ENV['TF_LOG'] || 'WARN'))
18
18
 
19
19
  namespace = opts[:namespace] || :terraform
20
20
  version = opts[:version] || '0.10.3'
21
21
  path = opts[:path] || File.join(Dir.pwd, 'vendor', 'terraform')
22
22
  providers = opts[:providers] || []
23
23
 
24
- RubyTerraform.configure do |c|
25
- c.binary = File.join(path, 'bin', 'terraform')
26
- end
27
- RakeDependencies::Tasks::All.new do |t|
28
- t.namespace = namespace
29
- t.dependency = 'terraform'
30
- t.version = version
31
- t.path = path
32
- t.type = :zip
24
+ command_task_set_opts = {
25
+ namespace: namespace,
26
+ dependency: 'terraform',
27
+ version: version,
28
+ path: path,
29
+ type: :zip,
33
30
 
34
- t.os_ids = {mac: 'darwin', linux: 'linux'}
31
+ os_ids: {mac: 'darwin', linux: 'linux'},
35
32
 
36
- t.uri_template =
37
- 'https://releases.hashicorp.com/terraform/<%= @version %>/' +
38
- 'terraform_<%= @version %>_<%= @os_id %>_amd64<%= @ext %>'
39
- t.file_name_template =
40
- 'terraform_<%= @version %>_<%= @os_id %>_amd64<%= @ext %>'
33
+ uri_template:
34
+ 'https://releases.hashicorp.com/terraform/<%= @version %>/' +
35
+ 'terraform_<%= @version %>_<%= @os_id %>_amd64<%= @ext %>',
36
+ file_name_template:
37
+ 'terraform_<%= @version %>_<%= @os_id %>_amd64<%= @ext %>',
41
38
 
42
- t.needs_fetch = lambda do |parameters|
43
- terraform_binary = File.join(
44
- parameters[:path],
45
- parameters[:binary_directory],
46
- 'terraform')
47
- version_string = StringIO.new
39
+ needs_fetch: lambda { |params|
40
+ terraform_binary = File.join(
41
+ params.path, params.binary_directory, 'terraform')
42
+ version_string = StringIO.new
48
43
 
49
- logger.info("Terraform binary should be at: #{terraform_binary}")
44
+ logger.info("Terraform binary should be at: #{terraform_binary}")
50
45
 
51
- if File.exist?(terraform_binary)
52
- command_line = Lino::CommandLineBuilder.for_command(terraform_binary)
53
- .with_flag('-version')
54
- .build
46
+ if File.exist?(terraform_binary)
47
+ command_line = Lino::CommandLineBuilder
48
+ .for_command(terraform_binary)
49
+ .with_flag('-version')
50
+ .build
55
51
 
56
- logger.info(
57
- 'Fetching terraform version information using command: ' +
58
- "#{command_line}")
52
+ logger.info(
53
+ 'Fetching terraform version information using command: ' +
54
+ "#{command_line}")
59
55
 
60
- command_line.execute(stdout: version_string)
56
+ command_line.execute(stdout: version_string)
61
57
 
62
- logger.info(
63
- "Terraform version information is: \n#{version_string.string}")
58
+ logger.info(
59
+ "Terraform version information is: \n#{version_string.string}")
64
60
 
65
- version_line = version_string.string.lines.first
66
- version_is_correct = version_line =~ /#{version}/
61
+ version_line = version_string.string.lines.first
62
+ version_is_correct = version_line =~ /#{version}/
67
63
 
68
- logger.debug(
69
- "Version: '#{version}' is in version line: '#{version_line}'?: " +
70
- "#{version_is_correct}")
64
+ logger.debug(
65
+ "Version: '#{version}' is in version line: " +
66
+ "'#{version_line}'?: #{version_is_correct}")
71
67
 
72
- return !version_is_correct
73
- end
68
+ return !version_is_correct
69
+ end
74
70
 
75
- return true
76
- end
71
+ return true
72
+ }
73
+ }
74
+
75
+ RubyTerraform.configure do |c|
76
+ c.binary = File.join(path, 'bin', 'terraform')
77
77
  end
78
- providers.each do |provider|
78
+
79
+ command_task_set = RakeDependencies::TaskSets::All
80
+ .define(command_task_set_opts)
81
+
82
+ provider_task_sets = providers.map do |provider|
79
83
  dependency = "terraform-provider-#{provider[:name]}"
84
+ provider_task_set_opts = {
85
+ namespace: provider[:name],
86
+ dependency: dependency,
87
+ version: provider[:version],
88
+ path: provider[:path] || File.join('vendor', dependency),
89
+ type: :tar_gz,
80
90
 
81
- Rake.application.in_namespace namespace do
82
- Rake.application.in_namespace :providers do
83
- RakeDependencies::Tasks::All.new do |t|
84
- t.namespace = provider[:name]
85
- t.dependency = dependency
86
- t.version = provider[:version]
87
- t.path = provider[:path] || File.join('vendor', dependency)
88
- t.type = :tar_gz
91
+ os_ids: {mac: 'darwin', linux: 'linux'},
89
92
 
90
- t.os_ids = {mac: 'darwin', linux: 'linux'}
93
+ uri_template:
94
+ "https://github.com/#{provider[:repository]}/releases/" +
95
+ "download/<%= @version %>/" +
96
+ "#{dependency}_v<%= @version %>_<%= @os_id %>" +
97
+ "_amd64<%= @ext %>",
98
+ file_name_template:
99
+ "#{dependency}_v<%= @version %>_<%= @os_id %>_amd64<%= @ext %>",
91
100
 
92
- t.uri_template =
93
- "https://github.com/#{provider[:repository]}/releases/" +
94
- "download/<%= @version %>/" +
95
- "#{dependency}_v<%= @version %>_<%= @os_id %>" +
96
- "_amd64<%= @ext %>"
97
- t.file_name_template =
98
- "#{dependency}_v<%= @version %>_<%= @os_id %>_amd64<%= @ext %>"
101
+ source_binary_name_template: dependency,
102
+ target_binary_name_template: "#{dependency}_v<%= @version %>",
99
103
 
100
- t.source_binary_name_template = dependency
101
- t.target_binary_name_template = "#{dependency}_v<%= @version %>"
104
+ installation_directory: "#{ENV['HOME']}/.terraform.d/plugins",
102
105
 
103
- t.installation_directory = "#{ENV['HOME']}/.terraform.d/plugins"
106
+ needs_fetch: lambda { |params|
107
+ provider_binary = File.join(
108
+ params.path,
109
+ params.binary_directory,
110
+ "#{dependency}_v#{params.version}")
104
111
 
105
- t.needs_fetch = lambda do |parameters|
106
- provider_binary = File.join(
107
- parameters[:path],
108
- parameters[:binary_directory],
109
- "#{dependency}_v#{parameters[:version]}")
112
+ logger.info(
113
+ "Terraform provider binary for: #{provider.name} " +
114
+ "should be at: #{provider_binary}")
110
115
 
111
- logger.info(
112
- "Terraform provider binary for: #{provider[:name]} " +
113
- "should be at: #{provider_binary}")
116
+ binary_exists = File.exists?(provider_binary)
114
117
 
115
- binary_exists = File.exists?(provider_binary)
118
+ logger.debug("Provider file exists?: #{binary_exists}")
116
119
 
117
- logger.debug("Provider file exists?: #{binary_exists}")
120
+ !binary_exists
121
+ }
122
+ }
118
123
 
119
- !binary_exists
120
- end
121
- end
124
+ provider_task_set = RakeDependencies::TaskSets::All.new(
125
+ provider_task_set_opts)
126
+
127
+ Rake.application.in_namespace namespace do
128
+ Rake.application.in_namespace :providers do
129
+ provider_task_set.define_on(Rake.application)
122
130
  end
123
131
  end
132
+
133
+ provider_task_set
124
134
  end
135
+
125
136
  Rake::Task["#{namespace}:ensure"]
126
- .enhance(providers.map {|provider|
127
- "#{namespace}:providers:#{provider[:name]}:ensure"})
137
+ .enhance(providers.map { |provider|
138
+ "#{namespace}:providers:#{provider[:name]}:ensure" })
139
+
140
+ return command_task_set, provider_task_sets
128
141
  end
129
142
  end
@@ -21,9 +21,9 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ['lib']
23
23
 
24
- spec.required_ruby_version = '>= 2.4.7'
24
+ spec.required_ruby_version = '>= 2.6'
25
25
 
26
- spec.add_dependency 'rake_dependencies', '~> 0.23'
26
+ spec.add_dependency 'rake_dependencies', '~> 1.6'
27
27
  spec.add_dependency 'ruby-terraform', '~> 0.46'
28
28
  spec.add_dependency 'colored2', '~> 3.1'
29
29
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_terraform
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.33.0
4
+ version: 0.34.0.pre.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toby Clemson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-12-10 00:00:00.000000000 Z
11
+ date: 2020-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake_dependencies
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.23'
19
+ version: '1.6'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.23'
26
+ version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: ruby-terraform
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -202,14 +202,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
202
202
  requirements:
203
203
  - - ">="
204
204
  - !ruby/object:Gem::Version
205
- version: 2.4.7
205
+ version: '2.6'
206
206
  required_rubygems_version: !ruby/object:Gem::Requirement
207
207
  requirements:
208
- - - ">="
208
+ - - ">"
209
209
  - !ruby/object:Gem::Version
210
- version: '0'
210
+ version: 1.3.1
211
211
  requirements: []
212
- rubygems_version: 3.0.3
212
+ rubygems_version: 3.0.1
213
213
  signing_key:
214
214
  specification_version: 4
215
215
  summary: Rake tasks for running terraform.