rake_fly 2.2.0.pre.6 → 2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 34ce54381ac168787e48a8c3e2fd261a7826d8cc027f5778982ed43feceee8ce
4
- data.tar.gz: 987c91023498ced68e868ba41da28c4756397301c938cf4bcba8f3f3c2212e6e
3
+ metadata.gz: e6893b87eb6ab81350235a72ddd89ab4ac1a890c21904c253809a3df0c629f85
4
+ data.tar.gz: 05ae2c6b6f5f937d8df12302765aa2c030e4ac2f0bfe82d9fee7e3817dbc9ee1
5
5
  SHA512:
6
- metadata.gz: 3ba09e2e9455333d26fac4e09547808ff782dd1fc9d4009329e2e0299c21dee80c97f62dcf9463251a68c131d5ab6e7ad0b842ff4ac9c1f58207741456140c42
7
- data.tar.gz: 72c53e618a15d2bf85ddc1fb689bc05e5046b95cc5f42ebc5e3754bd86ccb823beb6465a6bf193848663e1293a4bed9c9eb69a9cbc0af8d1ff9c58771ac4b612
6
+ metadata.gz: 354764f4257ac965810e593a7f3851a682a8860863273a7298071cf418d661338a7c4ed79bd745411441bf9619e890c2840a8f05379d7eb1d53f4d0272879255
7
+ data.tar.gz: d8aa13685742a3392c5e661e2c16d73eb386aa7d455c929ab128fe7e3be97eeefbc7bbd635e74ee65902386b0f9ebcaef75d546762bfc51dc1d2776bbe791082
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_fly (2.2.0.pre.6)
4
+ rake_fly (2.5.0)
5
5
  concourse.rb (>= 0.4)
6
6
  rake_dependencies (~> 2, < 3)
7
7
  rake_factory (>= 0.29, < 1)
@@ -47,22 +47,18 @@ module RakeFly
47
47
  RakeDependencies::TaskSets::All.define(task_set_opts)
48
48
  end
49
49
 
50
- def self.define_pipeline_tasks(opts = {}, &block)
51
- task_names = opts[:task_names]
52
- if task_names
53
- opts[:get_pipeline_task_name] ||=
54
- task_names[:get_pipeline] if task_names[:get_pipeline]
55
- opts[:set_pipeline_task_name] ||=
56
- task_names[:set_pipeline] if task_names[:set_pipeline]
57
- opts[:unpause_pipeline_task_name] ||=
58
- task_names[:unpause_pipeline] if task_names[:unpause_pipeline]
59
- opts[:push_pipeline_task_name] ||=
60
- task_names[:push_pipeline] if task_names[:push_pipeline]
61
- end
50
+ def self.define_authentication_tasks(opts = {}, &block)
51
+ RakeFly::TaskSets::Authentication.define(opts, &block)
52
+ end
62
53
 
54
+ def self.define_pipeline_tasks(opts = {}, &block)
63
55
  RakeFly::TaskSets::Pipeline.define(opts, &block)
64
56
  end
65
57
 
58
+ def self.define_project_tasks(opts = {}, &block)
59
+ RakeFly::TaskSets::Project.define(opts, &block)
60
+ end
61
+
66
62
  private
67
63
 
68
64
  def self.new_format?(version)
@@ -1 +1,3 @@
1
+ require_relative 'task_sets/authentication'
1
2
  require_relative 'task_sets/pipeline'
3
+ require_relative 'task_sets/project'
@@ -0,0 +1,37 @@
1
+ require 'rake_factory'
2
+
3
+ require_relative '../tasks/authentication/login'
4
+ require_relative '../tasks/authentication/ensure'
5
+
6
+ module RakeFly
7
+ module TaskSets
8
+ class Authentication < RakeFactory::TaskSet
9
+ prepend RakeFactory::Namespaceable
10
+
11
+ parameter :argument_names, default: []
12
+
13
+ parameter :target, required: true
14
+ parameter :concourse_url, required: true
15
+ parameter :team, default: 'main'
16
+ parameter :username
17
+ parameter :password
18
+
19
+ parameter :home_directory,
20
+ default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
21
+
22
+ parameter :login_task_name, default: :login
23
+ parameter :ensure_task_name, default: :ensure
24
+
25
+ parameter :fly_ensure_task_name, default: :'fly:ensure'
26
+
27
+ task Tasks::Authentication::Login,
28
+ name: RakeFactory::DynamicValue.new { |ts|
29
+ ts.login_task_name
30
+ }
31
+ task Tasks::Authentication::Ensure,
32
+ name: RakeFactory::DynamicValue.new { |ts|
33
+ ts.ensure_task_name
34
+ }
35
+ end
36
+ end
37
+ end
@@ -8,12 +8,14 @@ require_relative '../tasks/pipeline/push'
8
8
  module RakeFly
9
9
  module TaskSets
10
10
  class Pipeline < RakeFactory::TaskSet
11
+ prepend RakeFactory::Namespaceable
12
+
11
13
  parameter :argument_names, default: []
12
14
 
13
- parameter :target, :required => true
15
+ parameter :target, required: true
14
16
  parameter :team
15
- parameter :pipeline, :required => true
16
- parameter :config, :required => true
17
+ parameter :pipeline, required: true
18
+ parameter :config, required: true
17
19
 
18
20
  parameter :vars
19
21
  parameter :var_files
@@ -22,10 +24,12 @@ module RakeFly
22
24
  parameter :home_directory,
23
25
  default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
24
26
 
25
- parameter :get_task_name, :default => :get
26
- parameter :set_task_name, :default => :set
27
- parameter :unpause_task_name, :default => :unpause
28
- parameter :push_task_name, :default => :push
27
+ parameter :get_task_name, default: :get
28
+ parameter :set_task_name, default: :set
29
+ parameter :unpause_task_name, default: :unpause
30
+ parameter :push_task_name, default: :push
31
+
32
+ parameter :fly_ensure_task_name, default: :'fly:ensure'
29
33
 
30
34
  task Tasks::Pipeline::Get,
31
35
  name: RakeFactory::DynamicValue.new { |ts|
@@ -0,0 +1,124 @@
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
+
45
+ parameter :fly_ensure_task_name, default: :'fly:ensure'
46
+
47
+ task Tasks::Authentication::Login,
48
+ name: RakeFactory::DynamicValue.new { |ts|
49
+ ts.authentication_login_task_name
50
+ }
51
+ task Tasks::Authentication::Ensure,
52
+ name: RakeFactory::DynamicValue.new { |ts|
53
+ ts.authentication_ensure_task_name
54
+ },
55
+ login_task_name: RakeFactory::DynamicValue.new { |ts|
56
+ ts.authentication_login_task_name
57
+ }
58
+
59
+ task Tasks::Pipeline::Get,
60
+ name: RakeFactory::DynamicValue.new { |ts|
61
+ ts.pipeline_get_task_name
62
+ },
63
+ authentication_ensure_task_name: RakeFactory::DynamicValue.new { |ts|
64
+ (ts.authentication_namespace.to_s + ":" +
65
+ ts.authentication_ensure_task_name.to_s)
66
+ .to_sym
67
+ }
68
+ task Tasks::Pipeline::Set,
69
+ name: RakeFactory::DynamicValue.new { |ts|
70
+ ts.pipeline_set_task_name
71
+ },
72
+ authentication_ensure_task_name: RakeFactory::DynamicValue.new { |ts|
73
+ (ts.authentication_namespace.to_s + ":" +
74
+ ts.authentication_ensure_task_name.to_s)
75
+ .to_sym
76
+ }
77
+ task Tasks::Pipeline::Unpause,
78
+ name: RakeFactory::DynamicValue.new { |ts|
79
+ ts.pipeline_unpause_task_name
80
+ },
81
+ authentication_ensure_task_name: RakeFactory::DynamicValue.new { |ts|
82
+ (ts.authentication_namespace.to_s + ":" +
83
+ ts.authentication_ensure_task_name.to_s)
84
+ .to_sym
85
+ }
86
+ task Tasks::Pipeline::Push,
87
+ name: RakeFactory::DynamicValue.new { |ts|
88
+ ts.pipeline_push_task_name
89
+ },
90
+ get_task_name: RakeFactory::DynamicValue.new { |ts|
91
+ ts.pipeline_get_task_name
92
+ },
93
+ set_task_name: RakeFactory::DynamicValue.new { |ts|
94
+ ts.pipeline_set_task_name
95
+ },
96
+ unpause_task_name: RakeFactory::DynamicValue.new { |ts|
97
+ ts.pipeline_unpause_task_name
98
+ }
99
+
100
+ def define_on(application)
101
+ around_define(application) do
102
+ self.class.tasks.each do |task_definition|
103
+ task_class = task_definition.klass.to_s
104
+ ns = case task_class
105
+ when /Pipeline/
106
+ pipeline_namespace
107
+ when /Authentication/
108
+ authentication_namespace
109
+ else
110
+ raise StandardError.new(
111
+ "Unexpected task definition: #{task_class}.")
112
+ end
113
+
114
+ application.in_namespace(ns) do
115
+ task_definition
116
+ .for_task_set(self)
117
+ .define_on(application)
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end
@@ -8,7 +8,7 @@ module RakeFly
8
8
  class Ensure < RakeFactory::Task
9
9
  default_name :ensure
10
10
  default_prerequisites RakeFactory::DynamicValue.new { |t|
11
- [t.ensure_task_name]
11
+ [t.fly_ensure_task_name]
12
12
  }
13
13
  default_description RakeFactory::DynamicValue.new { |t|
14
14
  target = t.target || '<derived>'
@@ -21,7 +21,9 @@ module RakeFly
21
21
  parameter :home_directory,
22
22
  default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
23
23
 
24
- parameter :ensure_task_name, :default => :'fly:ensure'
24
+ parameter :login_task_name, :default => :login
25
+
26
+ parameter :fly_ensure_task_name, :default => :'fly:ensure'
25
27
 
26
28
  action do |t, args|
27
29
  puts "Ensuring target #{t.target} is logged in..."
@@ -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
@@ -8,7 +8,7 @@ module RakeFly
8
8
  class Login < RakeFactory::Task
9
9
  class FlyBackend
10
10
  def resolve_prerequisites(task)
11
- [task.ensure_task_name]
11
+ [task.fly_ensure_task_name]
12
12
  end
13
13
 
14
14
  def execute(task)
@@ -68,7 +68,7 @@ module RakeFly
68
68
  parameter :home_directory,
69
69
  default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
70
70
 
71
- parameter :ensure_task_name, :default => :'fly:ensure'
71
+ parameter :fly_ensure_task_name, :default => :'fly:ensure'
72
72
 
73
73
  action do |t|
74
74
  puts "Logging in to #{t.concourse_url} as target #{t.target}..."
@@ -7,7 +7,7 @@ module RakeFly
7
7
  class Get < RakeFactory::Task
8
8
  default_name :get
9
9
  default_prerequisites RakeFactory::DynamicValue.new { |t|
10
- [t.ensure_task_name]
10
+ [t.fly_ensure_task_name, t.authentication_ensure_task_name]
11
11
  }
12
12
  default_description RakeFactory::DynamicValue.new { |t|
13
13
  pipeline = t.pipeline || '<derived>'
@@ -22,7 +22,9 @@ module RakeFly
22
22
  parameter :home_directory,
23
23
  default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
24
24
 
25
- parameter :ensure_task_name, :default => :'fly:ensure'
25
+ parameter :fly_ensure_task_name, :default => :'fly:ensure'
26
+ parameter :authentication_ensure_task_name,
27
+ :default => :'authentication:ensure'
26
28
 
27
29
  action do |t|
28
30
  puts "Getting pipeline #{t.pipeline} for target #{t.target}..."
@@ -7,7 +7,7 @@ module RakeFly
7
7
  class Set < RakeFactory::Task
8
8
  default_name :set
9
9
  default_prerequisites RakeFactory::DynamicValue.new { |t|
10
- [t.ensure_task_name]
10
+ [t.fly_ensure_task_name, t.authentication_ensure_task_name]
11
11
  }
12
12
  default_description RakeFactory::DynamicValue.new { |t|
13
13
  pipeline = t.pipeline || '<derived>'
@@ -28,7 +28,9 @@ module RakeFly
28
28
  parameter :home_directory,
29
29
  default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
30
30
 
31
- parameter :ensure_task_name, :default => :'fly:ensure'
31
+ parameter :fly_ensure_task_name, :default => :'fly:ensure'
32
+ parameter :authentication_ensure_task_name,
33
+ :default => :'authentication:ensure'
32
34
 
33
35
  action do |t|
34
36
  puts "Setting pipeline #{t.pipeline} for target #{t.target}..."
@@ -7,7 +7,7 @@ module RakeFly
7
7
  class Unpause < RakeFactory::Task
8
8
  default_name :unpause
9
9
  default_prerequisites RakeFactory::DynamicValue.new { |t|
10
- [t.ensure_task_name]
10
+ [t.fly_ensure_task_name, t.authentication_ensure_task_name]
11
11
  }
12
12
  default_description RakeFactory::DynamicValue.new { |t|
13
13
  pipeline = t.pipeline || '<derived>'
@@ -23,7 +23,9 @@ module RakeFly
23
23
  parameter :home_directory,
24
24
  default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
25
25
 
26
- parameter :ensure_task_name, :default => :'fly:ensure'
26
+ parameter :fly_ensure_task_name, :default => :'fly:ensure'
27
+ parameter :authentication_ensure_task_name,
28
+ :default => :'authentication:ensure'
27
29
 
28
30
  action do |t|
29
31
  puts "Unpausing pipeline #{t.pipeline} for target #{t.target}..."
@@ -1,3 +1,3 @@
1
1
  module RakeFly
2
- VERSION = '2.2.0.pre.6'
2
+ VERSION = '2.5.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.6
4
+ version: 2.5.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-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake_dependencies
@@ -307,7 +307,9 @@ files:
307
307
  - lib/rake_fly.rb
308
308
  - lib/rake_fly/kernel_extensions.rb
309
309
  - lib/rake_fly/task_sets.rb
310
+ - lib/rake_fly/task_sets/authentication.rb
310
311
  - lib/rake_fly/task_sets/pipeline.rb
312
+ - lib/rake_fly/task_sets/project.rb
311
313
  - lib/rake_fly/tasks.rb
312
314
  - lib/rake_fly/tasks/authentication/ensure.rb
313
315
  - lib/rake_fly/tasks/authentication/login.rb
@@ -331,9 +333,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
331
333
  version: '2.6'
332
334
  required_rubygems_version: !ruby/object:Gem::Requirement
333
335
  requirements:
334
- - - ">"
336
+ - - ">="
335
337
  - !ruby/object:Gem::Version
336
- version: 1.3.1
338
+ version: '0'
337
339
  requirements: []
338
340
  rubygems_version: 3.0.1
339
341
  signing_key: