rake_fly 2.2.0.pre.8 → 2.7.0

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: 4ef9b72eb45183697e29cc9a7c4628411bb975ebd6b1032366f4003ddbb7ee2c
4
- data.tar.gz: 4c94f6c41ed35ebcd1d6e69f862564a9138baffeef23a5fd0e1193dce93e7612
3
+ metadata.gz: 11b46a83ff18b265f3e93328dcad066e661daddd96b19fe769a6da2e9c2f80d5
4
+ data.tar.gz: b89329d05fb394540580dea1e045ba67f2ba93e4ab000349836c971807fbd3e7
5
5
  SHA512:
6
- metadata.gz: ae305edef270ab6407e8174c82ecc639bd7f7427c802771d728041fd2a129faae9e557fdcbbfeffbe61c20e0df90837c1b939118991b5acdc8ca6573956b3bf3
7
- data.tar.gz: 998a5987e1c31301bd7fdf01ee6cf358f38688769e1d9275a89c82ec301b08a21d658dbfe278cc88dad858d2c7a7dd057899fa382efdb76860d2d144c3190978
6
+ metadata.gz: 17816cda5555536287dec820cedcfa65d6c7e1f09266e69c76ce4b2a79e93c3636fe34329ffa281b8187e707b40975ab514a4a1b280ccd64fec40ec244963613
7
+ data.tar.gz: fcf2ec04e08713d27d6eebd66dfb63a040c38799742c64362e8add96f1635ade35a6c19a0255c2d6f6eb5f2768c8774304385270fc39870b10b6b23fd27efdb3
@@ -1,17 +1,17 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_fly (2.2.0.pre.8)
4
+ rake_fly (2.7.0)
5
5
  concourse.rb (>= 0.4)
6
6
  rake_dependencies (~> 2, < 3)
7
7
  rake_factory (>= 0.29, < 1)
8
- ruby_fly (>= 0.31)
8
+ ruby_fly (>= 0.35)
9
9
  semantic (~> 1.6.1)
10
10
 
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
- activesupport (6.1.0)
14
+ activesupport (6.1.1)
15
15
  concurrent-ruby (~> 1.0, >= 1.0.2)
16
16
  i18n (>= 1.6, < 2)
17
17
  minitest (>= 5.1)
@@ -24,9 +24,9 @@ GEM
24
24
  dry-schema (~> 0.5)
25
25
  excon (~> 0.72)
26
26
  semantic (~> 1.5)
27
- concurrent-ruby (1.1.7)
27
+ concurrent-ruby (1.1.8)
28
28
  diff-lcs (1.4.4)
29
- docile (1.3.4)
29
+ docile (1.3.5)
30
30
  dry-configurable (0.12.0)
31
31
  concurrent-ruby (~> 1.0)
32
32
  dry-core (~> 0.5, >= 0.5.0)
@@ -49,11 +49,10 @@ GEM
49
49
  dry-initializer (~> 3.0)
50
50
  dry-logic (~> 1.0)
51
51
  dry-types (~> 1.0)
52
- dry-types (1.4.0)
52
+ dry-types (1.5.0)
53
53
  concurrent-ruby (~> 1.0)
54
54
  dry-container (~> 0.3)
55
- dry-core (~> 0.4, >= 0.4.4)
56
- dry-equalizer (~> 0.3)
55
+ dry-core (~> 0.5, >= 0.5)
57
56
  dry-inflector (~> 0.1, >= 0.1.2)
58
57
  dry-logic (~> 1.0, >= 1.0.2)
59
58
  excon (0.78.1)
@@ -64,8 +63,8 @@ GEM
64
63
  faraday-net_http (~> 1.0)
65
64
  multipart-post (>= 1.2, < 3)
66
65
  ruby2_keywords
67
- faraday-net_http (1.0.0)
68
- gem-release (2.2.0)
66
+ faraday-net_http (1.0.1)
67
+ gem-release (2.2.1)
69
68
  hamster (3.0.0)
70
69
  concurrent-ruby (~> 1.0)
71
70
  i18n (1.8.7)
@@ -75,7 +74,7 @@ GEM
75
74
  hamster (~> 3.0)
76
75
  open4 (~> 1.3)
77
76
  minitar (0.9)
78
- minitest (5.14.2)
77
+ minitest (5.14.3)
79
78
  multipart-post (2.1.1)
80
79
  octokit (4.20.0)
81
80
  faraday (>= 0.9)
@@ -122,8 +121,8 @@ GEM
122
121
  diff-lcs (>= 1.2.0, < 2.0)
123
122
  rspec-support (~> 3.10.0)
124
123
  rspec-support (3.10.1)
125
- ruby2_keywords (0.0.2)
126
- ruby_fly (0.31.0)
124
+ ruby2_keywords (0.0.4)
125
+ ruby_fly (0.35.0)
127
126
  lino (>= 1.5)
128
127
  ruby_gpg2 (0.8.0)
129
128
  lino (>= 1.5)
@@ -132,7 +131,7 @@ GEM
132
131
  addressable (>= 2.3.5)
133
132
  faraday (> 0.8, < 2.0)
134
133
  semantic (1.6.1)
135
- simplecov (0.21.1)
134
+ simplecov (0.21.2)
136
135
  docile (~> 1.1)
137
136
  simplecov-html (~> 0.11)
138
137
  simplecov_json_formatter (~> 0.1)
@@ -165,4 +164,4 @@ DEPENDENCIES
165
164
  simplecov (~> 0.16)
166
165
 
167
166
  BUNDLED WITH
168
- 2.2.4
167
+ 2.2.7
@@ -47,12 +47,16 @@ module RakeFly
47
47
  RakeDependencies::TaskSets::All.define(task_set_opts)
48
48
  end
49
49
 
50
+ def self.define_authentication_tasks(opts = {}, &block)
51
+ RakeFly::TaskSets::Authentication.define(opts, &block)
52
+ end
53
+
50
54
  def self.define_pipeline_tasks(opts = {}, &block)
51
55
  RakeFly::TaskSets::Pipeline.define(opts, &block)
52
56
  end
53
57
 
54
- def self.define_authentication_tasks(opts = {}, &block)
55
- RakeFly::TaskSets::Authentication.define(opts, &block)
58
+ def self.define_project_tasks(opts = {}, &block)
59
+ RakeFly::TaskSets::Project.define(opts, &block)
56
60
  end
57
61
 
58
62
  private
@@ -1,2 +1,3 @@
1
- require_relative 'task_sets/pipeline'
2
1
  require_relative 'task_sets/authentication'
2
+ require_relative 'task_sets/pipeline'
3
+ require_relative 'task_sets/project'
@@ -28,6 +28,7 @@ module RakeFly
28
28
  parameter :set_task_name, default: :set
29
29
  parameter :unpause_task_name, default: :unpause
30
30
  parameter :push_task_name, default: :push
31
+ parameter :destroy_task_name, default: :destroy
31
32
 
32
33
  parameter :fly_ensure_task_name, default: :'fly:ensure'
33
34
 
@@ -47,6 +48,10 @@ module RakeFly
47
48
  name: RakeFactory::DynamicValue.new { |ts|
48
49
  ts.push_task_name
49
50
  }
51
+ task Tasks::Pipeline::Destroy,
52
+ name: RakeFactory::DynamicValue.new { |ts|
53
+ ts.destroy_task_name
54
+ }
50
55
  end
51
56
  end
52
57
  end
@@ -0,0 +1,134 @@
1
+ require 'rake_factory'
2
+
3
+ require_relative '../tasks/authentication/login'
4
+ require_relative '../tasks/authentication/ensure'
5
+ require_relative '../tasks/pipeline/get'
6
+ require_relative '../tasks/pipeline/set'
7
+ require_relative '../tasks/pipeline/unpause'
8
+ require_relative '../tasks/pipeline/push'
9
+
10
+ module RakeFly
11
+ module TaskSets
12
+ class Project < RakeFactory::TaskSet
13
+ prepend RakeFactory::Namespaceable
14
+
15
+ parameter :argument_names, default: []
16
+
17
+ parameter :concourse_url, required: true
18
+ parameter :team, default: 'main'
19
+ parameter :username
20
+ parameter :password
21
+
22
+ parameter :pipeline, required: true
23
+ parameter :config, required: true
24
+
25
+ parameter :vars
26
+ parameter :var_files
27
+ parameter :non_interactive
28
+
29
+ parameter :target,
30
+ default: RakeFactory::DynamicValue.new { |t| t.team }
31
+
32
+ parameter :home_directory,
33
+ default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
34
+
35
+ parameter :authentication_namespace, default: :authentication
36
+ parameter :authentication_login_task_name, default: :login
37
+ parameter :authentication_ensure_task_name, default: :ensure
38
+
39
+ parameter :pipeline_namespace, default: :pipeline
40
+ parameter :pipeline_get_task_name, default: :get
41
+ parameter :pipeline_set_task_name, default: :set
42
+ parameter :pipeline_unpause_task_name, default: :unpause
43
+ parameter :pipeline_push_task_name, default: :push
44
+ parameter :pipeline_destroy_task_name, default: :destroy
45
+
46
+ parameter :fly_ensure_task_name, default: :'fly:ensure'
47
+
48
+ task Tasks::Authentication::Login,
49
+ name: RakeFactory::DynamicValue.new { |ts|
50
+ ts.authentication_login_task_name
51
+ }
52
+ task Tasks::Authentication::Ensure,
53
+ name: RakeFactory::DynamicValue.new { |ts|
54
+ ts.authentication_ensure_task_name
55
+ },
56
+ login_task_name: RakeFactory::DynamicValue.new { |ts|
57
+ ts.authentication_login_task_name
58
+ }
59
+
60
+ task Tasks::Pipeline::Get,
61
+ name: RakeFactory::DynamicValue.new { |ts|
62
+ ts.pipeline_get_task_name
63
+ },
64
+ authentication_ensure_task_name: RakeFactory::DynamicValue.new { |ts|
65
+ (ts.authentication_namespace.to_s + ":" +
66
+ ts.authentication_ensure_task_name.to_s)
67
+ .to_sym
68
+ }
69
+ task Tasks::Pipeline::Set,
70
+ name: RakeFactory::DynamicValue.new { |ts|
71
+ ts.pipeline_set_task_name
72
+ },
73
+ authentication_ensure_task_name: RakeFactory::DynamicValue.new { |ts|
74
+ (ts.authentication_namespace.to_s + ":" +
75
+ ts.authentication_ensure_task_name.to_s)
76
+ .to_sym
77
+ }
78
+ task Tasks::Pipeline::Unpause,
79
+ name: RakeFactory::DynamicValue.new { |ts|
80
+ ts.pipeline_unpause_task_name
81
+ },
82
+ authentication_ensure_task_name: RakeFactory::DynamicValue.new { |ts|
83
+ (ts.authentication_namespace.to_s + ":" +
84
+ ts.authentication_ensure_task_name.to_s)
85
+ .to_sym
86
+ }
87
+ task Tasks::Pipeline::Push,
88
+ name: RakeFactory::DynamicValue.new { |ts|
89
+ ts.pipeline_push_task_name
90
+ },
91
+ get_task_name: RakeFactory::DynamicValue.new { |ts|
92
+ ts.pipeline_get_task_name
93
+ },
94
+ set_task_name: RakeFactory::DynamicValue.new { |ts|
95
+ ts.pipeline_set_task_name
96
+ },
97
+ unpause_task_name: RakeFactory::DynamicValue.new { |ts|
98
+ ts.pipeline_unpause_task_name
99
+ }
100
+ task Tasks::Pipeline::Destroy,
101
+ name: RakeFactory::DynamicValue.new { |ts|
102
+ ts.pipeline_destroy_task_name
103
+ },
104
+ authentication_ensure_task_name: RakeFactory::DynamicValue.new { |ts|
105
+ (ts.authentication_namespace.to_s + ":" +
106
+ ts.authentication_ensure_task_name.to_s)
107
+ .to_sym
108
+ }
109
+
110
+ def define_on(application)
111
+ around_define(application) do
112
+ self.class.tasks.each do |task_definition|
113
+ task_class = task_definition.klass.to_s
114
+ ns = case task_class
115
+ when /Pipeline/
116
+ pipeline_namespace
117
+ when /Authentication/
118
+ authentication_namespace
119
+ else
120
+ raise StandardError.new(
121
+ "Unexpected task definition: #{task_class}.")
122
+ end
123
+
124
+ application.in_namespace(ns) do
125
+ task_definition
126
+ .for_task_set(self)
127
+ .define_on(application)
128
+ end
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
134
+ end
@@ -4,3 +4,4 @@ require_relative 'tasks/pipeline/get'
4
4
  require_relative 'tasks/pipeline/set'
5
5
  require_relative 'tasks/pipeline/unpause'
6
6
  require_relative 'tasks/pipeline/push'
7
+ require_relative 'tasks/pipeline/destroy'
@@ -21,6 +21,8 @@ module RakeFly
21
21
  parameter :home_directory,
22
22
  default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
23
23
 
24
+ parameter :login_task_name, :default => :login
25
+
24
26
  parameter :fly_ensure_task_name, :default => :'fly:ensure'
25
27
 
26
28
  action do |t, args|
@@ -34,7 +36,7 @@ module RakeFly
34
36
  puts "Already logged in. Continuing..."
35
37
  else
36
38
  puts "Not logged in. Logging in..."
37
- t.application[:login, t.scope].invoke(*args)
39
+ t.application[t.login_task_name, t.scope].invoke(*args)
38
40
  end
39
41
  end
40
42
  end
@@ -0,0 +1,46 @@
1
+ require 'ruby_fly'
2
+ require 'rake_factory'
3
+
4
+ module RakeFly
5
+ module Tasks
6
+ module Pipeline
7
+ class Destroy < RakeFactory::Task
8
+ default_name :destroy
9
+ default_prerequisites RakeFactory::DynamicValue.new { |t|
10
+ [t.fly_ensure_task_name, t.authentication_ensure_task_name]
11
+ }
12
+ default_description RakeFactory::DynamicValue.new { |t|
13
+ pipeline = t.pipeline || '<derived>'
14
+ target = t.target || '<derived>'
15
+
16
+ "Destroy pipeline #{pipeline} for target #{target}"
17
+ }
18
+
19
+ parameter :target, :required => true
20
+ parameter :team
21
+ parameter :pipeline, :required => true
22
+
23
+ parameter :non_interactive
24
+
25
+ parameter :home_directory,
26
+ default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
27
+
28
+ parameter :fly_ensure_task_name, :default => :'fly:ensure'
29
+ parameter :authentication_ensure_task_name,
30
+ :default => :'authentication:ensure'
31
+
32
+ action do |t|
33
+ puts "Destroying pipeline #{t.pipeline} for target #{t.target}..."
34
+ RubyFly.destroy_pipeline(
35
+ target: t.target,
36
+ team: t.team,
37
+ pipeline: t.pipeline,
38
+ non_interactive: t.non_interactive,
39
+ environment: {
40
+ "HOME" => t.home_directory
41
+ })
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -1,3 +1,3 @@
1
1
  module RakeFly
2
- VERSION = '2.2.0.pre.8'
2
+ VERSION = '2.7.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_fly
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0.pre.8
4
+ version: 2.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toby Clemson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-05 00:00:00.000000000 Z
11
+ date: 2021-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake_dependencies
@@ -56,14 +56,14 @@ dependencies:
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: '0.31'
59
+ version: '0.35'
60
60
  type: :runtime
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - ">="
65
65
  - !ruby/object:Gem::Version
66
- version: '0.31'
66
+ version: '0.35'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: concourse.rb
69
69
  requirement: !ruby/object:Gem::Requirement
@@ -309,9 +309,11 @@ files:
309
309
  - lib/rake_fly/task_sets.rb
310
310
  - lib/rake_fly/task_sets/authentication.rb
311
311
  - lib/rake_fly/task_sets/pipeline.rb
312
+ - lib/rake_fly/task_sets/project.rb
312
313
  - lib/rake_fly/tasks.rb
313
314
  - lib/rake_fly/tasks/authentication/ensure.rb
314
315
  - lib/rake_fly/tasks/authentication/login.rb
316
+ - lib/rake_fly/tasks/pipeline/destroy.rb
315
317
  - lib/rake_fly/tasks/pipeline/get.rb
316
318
  - lib/rake_fly/tasks/pipeline/push.rb
317
319
  - lib/rake_fly/tasks/pipeline/set.rb
@@ -332,9 +334,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
332
334
  version: '2.6'
333
335
  required_rubygems_version: !ruby/object:Gem::Requirement
334
336
  requirements:
335
- - - ">"
337
+ - - ">="
336
338
  - !ruby/object:Gem::Version
337
- version: 1.3.1
339
+ version: '0'
338
340
  requirements: []
339
341
  rubygems_version: 3.0.1
340
342
  signing_key: