rake_terraform 0.33.0 → 0.34.0.pre.1

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.
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.