rake_fly 0.21.0 → 1.0.0.pre.pre.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: 607c6f16308a96e99e3bcd191146af82b9d3c3c96dac552e38a648f340dc2e54
4
- data.tar.gz: 698b2a8de45242cdd170b19e583e352540b9ea890b7362f9db318c71b012be27
3
+ metadata.gz: faf04c5965bfc819720056b0d78d928340210998739c1b9e634a08c312df08bd
4
+ data.tar.gz: 5c5e39400167ea92303ee7aac693fa5dbfbfa8827039123a751fe99437b78e42
5
5
  SHA512:
6
- metadata.gz: 76c11de35b72973059b8581f491073a62bb7b0d073a8c548a927a02926fb52ba163bfccd198f381a65693938e33a7f47026f305f3f2da515ba0d303e1bc3ab2a
7
- data.tar.gz: 168b2d4e0e081a1564c7a3bd038939b2ce783accbc75706ee5c6be737b2624bc8a935bf17e1c6b57c2d83d6d5266068041d2592e5b069a5dd94060b2338e3d1c
6
+ metadata.gz: 435a7c9170cf11ebc6528fc9b781b16dbb0a8b8e05e63778439d0ce6796c61ef8cd76d83b68f2361053793ebc581d43af62dc6c29fab0719abeb4946b2e8a472
7
+ data.tar.gz: ce868f657e0ab3c24de87010ae86f74d0a7ac998414af47f5602d31c9873755efd9b8a7e9febe497d2508f0b2a7cbb0eb27a6c2275cf9fb6caad2f68aa5f94c0
data/.circleci/config.yml CHANGED
@@ -3,14 +3,14 @@ jobs:
3
3
  test:
4
4
  working_directory: ~/rake-fly
5
5
  docker:
6
- - image: ruby:2.3.8
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-fly
12
12
  docker:
13
- - image: ruby:2.3.8
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-fly
23
23
  docker:
24
- - image: ruby:2.3.8
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.3.8
1
+ 2.6.0
data/Gemfile.lock CHANGED
@@ -1,64 +1,68 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_fly (0.21.0)
5
- rake_dependencies (~> 0.19)
6
- ruby_fly (~> 0.5)
4
+ rake_fly (1.0.0.pre.pre.2)
5
+ rake_dependencies (~> 1.4)
6
+ ruby_fly (~> 0.11)
7
7
  semantic (~> 1.6.1)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (5.2.1)
12
+ activesupport (5.2.4.1)
13
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
14
  i18n (>= 0.7, < 2)
15
15
  minitest (~> 5.1)
16
16
  tzinfo (~> 1.1)
17
- concurrent-ruby (1.1.3)
17
+ concurrent-ruby (1.1.5)
18
18
  diff-lcs (1.3)
19
- docile (1.3.1)
20
- fakefs (0.18.0)
21
- gem-release (2.0.1)
19
+ docile (1.3.2)
20
+ fakefs (0.20.1)
21
+ gem-release (2.1.1)
22
22
  hamster (3.0.0)
23
23
  concurrent-ruby (~> 1.0)
24
- i18n (1.1.1)
24
+ i18n (1.8.2)
25
25
  concurrent-ruby (~> 1.0)
26
- json (2.1.0)
26
+ json (2.3.0)
27
27
  lino (1.1.0)
28
28
  hamster (~> 3.0)
29
29
  open4 (~> 1.3)
30
- minitar (0.8)
31
- minitest (5.11.3)
30
+ minitar (0.9)
31
+ minitest (5.14.0)
32
32
  open4 (1.3.4)
33
- rake (12.3.1)
34
- rake_dependencies (0.23.0)
33
+ rake (13.0.1)
34
+ rake_dependencies (1.4.0)
35
35
  hamster (~> 3.0)
36
- minitar (~> 0.7)
37
- rubyzip (>= 1.2.2)
38
- rspec (3.8.0)
39
- rspec-core (~> 3.8.0)
40
- rspec-expectations (~> 3.8.0)
41
- rspec-mocks (~> 3.8.0)
42
- rspec-core (3.8.0)
43
- rspec-support (~> 3.8.0)
44
- rspec-expectations (3.8.2)
36
+ minitar (~> 0.9)
37
+ rake_factory (~> 0.8)
38
+ rubyzip (~> 2.0)
39
+ rake_factory (0.8.0)
40
+ activesupport (~> 5.2)
41
+ rake (~> 13.0)
42
+ rspec (3.9.0)
43
+ rspec-core (~> 3.9.0)
44
+ rspec-expectations (~> 3.9.0)
45
+ rspec-mocks (~> 3.9.0)
46
+ rspec-core (3.9.1)
47
+ rspec-support (~> 3.9.1)
48
+ rspec-expectations (3.9.0)
45
49
  diff-lcs (>= 1.2.0, < 2.0)
46
- rspec-support (~> 3.8.0)
47
- rspec-mocks (3.8.0)
50
+ rspec-support (~> 3.9.0)
51
+ rspec-mocks (3.9.1)
48
52
  diff-lcs (>= 1.2.0, < 2.0)
49
- rspec-support (~> 3.8.0)
50
- rspec-support (3.8.0)
51
- ruby_fly (0.9.0)
53
+ rspec-support (~> 3.9.0)
54
+ rspec-support (3.9.2)
55
+ ruby_fly (0.11.0)
52
56
  lino (~> 1.1)
53
- rubyzip (1.2.3)
57
+ rubyzip (2.0.0)
54
58
  semantic (1.6.1)
55
- simplecov (0.16.1)
59
+ simplecov (0.17.1)
56
60
  docile (~> 1.1)
57
61
  json (>= 1.8, < 3)
58
62
  simplecov-html (~> 0.10.0)
59
63
  simplecov-html (0.10.2)
60
64
  thread_safe (0.3.6)
61
- tzinfo (1.2.5)
65
+ tzinfo (1.2.6)
62
66
  thread_safe (~> 0.1)
63
67
 
64
68
  PLATFORMS
@@ -66,13 +70,13 @@ PLATFORMS
66
70
 
67
71
  DEPENDENCIES
68
72
  activesupport (~> 5.2)
69
- bundler (~> 2.0.2)
73
+ bundler (~> 2.1)
70
74
  fakefs (~> 0.18)
71
75
  gem-release (~> 2.0)
72
- rake (~> 12.3)
76
+ rake (~> 13.0)
73
77
  rake_fly!
74
78
  rspec (~> 3.8)
75
79
  simplecov (~> 0.16)
76
80
 
77
81
  BUNDLED WITH
78
- 2.0.2
82
+ 2.1.4
@@ -0,0 +1,32 @@
1
+ require 'rake_factory'
2
+
3
+ require_relative '../tasks/get_pipeline'
4
+ require_relative '../tasks/set_pipeline'
5
+ require_relative '../tasks/unpause_pipeline'
6
+
7
+ module RakeFly
8
+ module TaskSets
9
+ class Pipeline < RakeFactory::TaskSet
10
+ parameter :argument_names, default: []
11
+
12
+ parameter :target, :required => true
13
+ parameter :pipeline, :required => true
14
+ parameter :config, :required => true
15
+
16
+ parameter :vars
17
+ parameter :var_files
18
+ parameter :non_interactive
19
+
20
+ parameter :get_pipeline_task_name, :default => :get_pipeline
21
+ parameter :set_pipeline_task_name, :default => :set_pipeline
22
+ parameter :unpause_pipeline_task_name, :default => :unpause_pipeline
23
+ parameter :push_pipeline_task_name, :default => :push_pipeline
24
+
25
+ task Tasks::GetPipeline, name: ->(ts) { ts.get_pipeline_task_name }
26
+ task Tasks::SetPipeline, name: ->(ts) { ts.set_pipeline_task_name }
27
+ task Tasks::UnpausePipeline,
28
+ name: ->(ts) { ts.unpause_pipeline_task_name }
29
+ task Tasks::PushPipeline, name: ->(ts) { ts.push_pipeline_task_name }
30
+ end
31
+ end
32
+ end
@@ -0,0 +1 @@
1
+ require_relative 'task_sets/pipeline'
@@ -1,39 +1,28 @@
1
1
  require 'ruby_fly'
2
- require_relative '../tasklib'
2
+ require 'rake_factory'
3
3
 
4
4
  module RakeFly
5
5
  module Tasks
6
- class GetPipeline < TaskLib
7
- parameter :name, :default => :get_pipeline
8
- parameter :argument_names, :default => []
6
+ class GetPipeline < RakeFactory::Task
7
+ default_name :get_pipeline
8
+ default_prerequisites ->(t) { [t.ensure_task_name] }
9
+ default_description ->(t) do
10
+ pipeline = t.pipeline || '<derived>'
11
+ target = t.target || '<derived>'
9
12
 
10
- parameter :target, :required => true
11
- parameter :pipeline, :required => true
12
-
13
- parameter :ensure_task, :default => :'fly:ensure'
14
-
15
- def process_arguments(args)
16
- self.name = args[0] if args[0]
13
+ "Get pipeline #{pipeline} for target #{target}"
17
14
  end
18
15
 
19
- def define
20
- pipeline_name = pipeline.respond_to?(:call) ? "<derived>" : pipeline
21
- target_name = target.respond_to?(:call) ? "<derived>" : target
16
+ parameter :target, :required => true
17
+ parameter :pipeline, :required => true
22
18
 
23
- desc "Get pipeline #{pipeline_name} for target #{target_name}"
24
- task name, argument_names => [ensure_task] do |_, args|
25
- derived_target = target.respond_to?(:call) ?
26
- target.call(*[args].slice(0, target.arity)) :
27
- target
28
- derived_pipeline = pipeline.respond_to?(:call) ?
29
- pipeline.call(*[args].slice(0, pipeline.arity)) :
30
- pipeline
19
+ parameter :ensure_task_name, :default => :'fly:ensure'
31
20
 
32
- puts "Getting pipeline #{derived_pipeline} for target #{derived_target}..."
33
- RubyFly.get_pipeline(
34
- target: derived_target,
35
- pipeline: derived_pipeline)
36
- end
21
+ action do |t|
22
+ puts "Getting pipeline #{t.pipeline} for target #{t.target}..."
23
+ RubyFly.get_pipeline(
24
+ target: t.target,
25
+ pipeline: t.pipeline)
37
26
  end
38
27
  end
39
28
  end
@@ -1,73 +1,33 @@
1
-
2
1
  require 'ruby_fly'
3
- require_relative '../tasklib'
2
+ require 'rake_factory'
4
3
 
5
4
  module RakeFly
6
5
  module Tasks
7
- class PushPipeline < TaskLib
8
- parameter :name, :default => :push_pipeline
9
- parameter :argument_names, :default => []
6
+ class PushPipeline < RakeFactory::Task
7
+ default_name :push_pipeline
8
+ default_description ->(t) do
9
+ pipeline = t.pipeline || '<derived>'
10
+ target = t.target || '<derived>'
11
+
12
+ "Push pipeline #{pipeline} to target #{target}"
13
+ end
10
14
 
11
15
  parameter :target, :required => true
12
16
  parameter :pipeline, :required => true
13
- parameter :config, :required => true
14
-
15
- parameter :vars
16
- parameter :var_files
17
- parameter :non_interactive
18
17
 
19
18
  parameter :get_pipeline_task_name, :default => :get_pipeline
20
19
  parameter :set_pipeline_task_name, :default => :set_pipeline
21
20
  parameter :unpause_pipeline_task_name, :default => :unpause_pipeline
22
21
 
23
- def process_arguments(args)
24
- self.name = args[0] if args[0]
25
- end
26
-
27
- def define
28
- GetPipeline.new(get_pipeline_task_name) do |t|
29
- t.argument_names = argument_names
30
- t.target = target
31
- t.pipeline = pipeline
32
- end
33
- SetPipeline.new(set_pipeline_task_name) do |t|
34
- t.argument_names = argument_names
35
- t.target = target
36
- t.pipeline = pipeline
37
- t.config = config
38
- t.vars = vars
39
- t.var_files = var_files
40
- t.non_interactive = non_interactive
41
- end
42
- UnpausePipeline.new(unpause_pipeline_task_name) do |t|
43
- t.argument_names = argument_names
44
- t.target = target
45
- t.pipeline = pipeline
22
+ action do |t, args|
23
+ [
24
+ Rake::Task[t.scope.path_with_task_name(t.set_pipeline_task_name)],
25
+ Rake::Task[t.scope.path_with_task_name(t.get_pipeline_task_name)],
26
+ Rake::Task[t.scope.path_with_task_name(
27
+ t.unpause_pipeline_task_name)]
28
+ ].each do |task|
29
+ task.invoke(*args)
46
30
  end
47
-
48
- pipeline_name = pipeline.respond_to?(:call) ? "<derived>" : pipeline
49
- target_name = target.respond_to?(:call) ? "<derived>" : target
50
-
51
- scoped_set_pipeline_task_name = scoped_task_name(set_pipeline_task_name)
52
- scoped_get_pipeline_task_name = scoped_task_name(get_pipeline_task_name)
53
- scoped_unpause_pipeline_task_name = scoped_task_name(unpause_pipeline_task_name)
54
-
55
- desc "Push pipeline #{pipeline_name} to target #{target_name}"
56
- task name, argument_names do |_, args|
57
- [
58
- scoped_set_pipeline_task_name,
59
- scoped_get_pipeline_task_name,
60
- scoped_unpause_pipeline_task_name
61
- ].each do |task|
62
- Rake::Task[task].invoke(*args)
63
- end
64
- end
65
- end
66
-
67
- private
68
-
69
- def scoped_task_name(task_name)
70
- Rake.application.current_scope.path_with_task_name(task_name)
71
31
  end
72
32
  end
73
33
  end
@@ -1,11 +1,17 @@
1
1
  require 'ruby_fly'
2
- require_relative '../tasklib'
2
+ require 'rake_factory'
3
3
 
4
4
  module RakeFly
5
5
  module Tasks
6
- class SetPipeline < TaskLib
7
- parameter :name, :default => :set_pipeline
8
- parameter :argument_names, :default => []
6
+ class SetPipeline < RakeFactory::Task
7
+ default_name :set_pipeline
8
+ default_prerequisites ->(t) { [t.ensure_task_name] }
9
+ default_description ->(t) do
10
+ pipeline = t.pipeline || '<derived>'
11
+ target = t.target || '<derived>'
12
+
13
+ "Set pipeline #{pipeline} for target #{target}"
14
+ end
9
15
 
10
16
  parameter :target, :required => true
11
17
  parameter :pipeline, :required => true
@@ -15,44 +21,18 @@ module RakeFly
15
21
  parameter :var_files
16
22
  parameter :non_interactive
17
23
 
18
- parameter :ensure_task, :default => :'fly:ensure'
19
-
20
- def process_arguments(args)
21
- self.name = args[0] if args[0]
22
- end
23
-
24
- def define
25
- pipeline_name = pipeline.respond_to?(:call) ? "<derived>" : pipeline
26
- target_name = target.respond_to?(:call) ? "<derived>" : target
27
-
28
- desc "Set pipeline #{pipeline_name} for target #{target_name}"
29
- task name, argument_names => [ensure_task] do |_, args|
30
- derived_target = target.respond_to?(:call) ?
31
- target.call(*[args].slice(0, target.arity)) :
32
- target
33
- derived_pipeline = pipeline.respond_to?(:call) ?
34
- pipeline.call(*[args].slice(0, pipeline.arity)) :
35
- pipeline
36
- derived_config = config.respond_to?(:call) ?
37
- config.call(*[args].slice(0, config.arity)) :
38
- config
39
- derived_vars = vars.respond_to?(:call) ?
40
- vars.call(*[args].slice(0, vars.arity)) :
41
- vars
42
- derived_var_files = var_files.respond_to?(:call) ?
43
- var_files.call(*[args].slice(0, var_files.arity)) :
44
- var_files
45
-
46
- puts "Setting pipeline #{derived_pipeline} for target #{derived_target}..."
47
- RubyFly.set_pipeline(
48
- target: derived_target,
49
- pipeline: derived_pipeline,
50
- config: derived_config,
51
- vars: derived_vars,
52
- var_files: derived_var_files,
53
- non_interactive: non_interactive)
54
- end
24
+ parameter :ensure_task_name, :default => :'fly:ensure'
25
+
26
+ action do |t|
27
+ puts "Setting pipeline #{t.pipeline} for target #{t.target}..."
28
+ RubyFly.set_pipeline(
29
+ target: t.target,
30
+ pipeline: t.pipeline,
31
+ config: t.config,
32
+ vars: t.vars,
33
+ var_files: t.var_files,
34
+ non_interactive: t.non_interactive)
55
35
  end
56
36
  end
57
37
  end
58
- end
38
+ end
@@ -1,39 +1,28 @@
1
1
  require 'ruby_fly'
2
- require_relative '../tasklib'
2
+ require 'rake_factory'
3
3
 
4
4
  module RakeFly
5
5
  module Tasks
6
- class UnpausePipeline < TaskLib
7
- parameter :name, :default => :unpause_pipeline
8
- parameter :argument_names, :default => []
6
+ class UnpausePipeline < RakeFactory::Task
7
+ default_name :unpause_pipeline
8
+ default_prerequisites ->(t) { [t.ensure_task_name] }
9
+ default_description ->(t) do
10
+ pipeline = t.pipeline || '<derived>'
11
+ target = t.target || '<derived>'
9
12
 
10
- parameter :target, :required => true
11
- parameter :pipeline, :required => true
12
-
13
- parameter :ensure_task, :default => :'fly:ensure'
14
-
15
- def process_arguments(args)
16
- self.name = args[0] if args[0]
13
+ "Unpause pipeline #{pipeline} for target #{target}"
17
14
  end
18
15
 
19
- def define
20
- pipeline_name = pipeline.respond_to?(:call) ? "<derived>" : pipeline
21
- target_name = target.respond_to?(:call) ? "<derived>" : target
16
+ parameter :target, :required => true
17
+ parameter :pipeline, :required => true
22
18
 
23
- desc "Unpause pipeline #{pipeline_name} for target #{target_name}"
24
- task name, argument_names => [ensure_task] do |_, args|
25
- derived_target = target.respond_to?(:call) ?
26
- target.call(*[args].slice(0, target.arity)) :
27
- target
28
- derived_pipeline = pipeline.respond_to?(:call) ?
29
- pipeline.call(*[args].slice(0, pipeline.arity)) :
30
- pipeline
19
+ parameter :ensure_task_name, :default => :'fly:ensure'
31
20
 
32
- puts "Unpausing pipeline #{derived_pipeline} for target #{derived_target}..."
33
- RubyFly.unpause_pipeline(
34
- target: derived_target,
35
- pipeline: derived_pipeline)
36
- end
21
+ action do |t|
22
+ puts "Unpausing pipeline #{t.pipeline} for target #{t.target}..."
23
+ RubyFly.unpause_pipeline(
24
+ target: t.target,
25
+ pipeline: t.pipeline)
37
26
  end
38
27
  end
39
28
  end
@@ -1,3 +1,3 @@
1
1
  module RakeFly
2
- VERSION = '0.21.0'
2
+ VERSION = '1.0.0-pre.2'
3
3
  end
data/lib/rake_fly.rb CHANGED
@@ -2,43 +2,47 @@ require 'semantic'
2
2
  require 'rake_dependencies'
3
3
  require 'ruby_fly'
4
4
  require 'rake_fly/version'
5
- require 'rake_fly/tasklib'
6
5
  require 'rake_fly/tasks'
7
-
8
- BREAKING_VERSION = '5.0.0'
6
+ require 'rake_fly/task_sets'
9
7
 
10
8
  module RakeFly
11
9
  include RubyFly
12
10
 
11
+ ARTIFACT_FORMAT_CHANGE_VERSION = '5.0.0'
12
+
13
13
  def self.define_installation_tasks(opts = {})
14
14
  namespace = opts[:namespace] || :fly
15
15
  version = opts[:version] || '2.7.0'
16
16
  path = opts[:path] || File.join('vendor', 'fly')
17
17
 
18
+ type = self.type(version)
19
+ uri_template = self.uri_template(version)
20
+ file_name_template = self.file_name_template(version)
21
+ new_format = self.new_format?(version)
22
+
18
23
  RubyFly.configure do |c|
19
24
  c.binary = File.join(path, 'bin', 'fly')
20
25
  end
21
26
 
22
- RakeDependencies::Tasks::All.new do |t|
23
- t.namespace = namespace
24
- t.dependency = 'fly'
25
- t.version = version
26
- t.path = path
27
- t.type = self.type(version)
27
+ RakeDependencies::TaskSets::All.define do |ts|
28
+ ts.namespace = namespace
29
+ ts.dependency = 'fly'
30
+ ts.version = version
31
+ ts.path = path
32
+ ts.type = type
28
33
 
29
- t.os_ids = {mac: 'darwin', linux: 'linux'}
34
+ ts.os_ids = {mac: 'darwin', linux: 'linux'}
30
35
 
31
- t.uri_template = self.uri_template(version)
32
- t.file_name_template = self.file_name_template(version)
36
+ ts.uri_template = uri_template
37
+ ts.file_name_template = file_name_template
33
38
 
34
- unless self.new_format?(version)
35
- t.source_binary_name_template = "fly_<%= @os_id %>_amd64"
36
- t.target_binary_name_template = "fly"
39
+ unless new_format
40
+ ts.source_binary_name_template = "fly_<%= @os_id %>_amd64"
41
+ ts.target_binary_name_template = "fly"
37
42
  end
38
43
 
39
- t.needs_fetch = lambda do |parameters|
40
- fly_binary = File.join(
41
- parameters[:path], parameters[:binary_directory], 'fly')
44
+ ts.needs_fetch = lambda do |t|
45
+ fly_binary = File.join(t.path, t.binary_directory, 'fly')
42
46
 
43
47
  !(File.exist?(fly_binary) && RubyFly.version == version)
44
48
  end
@@ -48,8 +52,8 @@ module RakeFly
48
52
  private
49
53
 
50
54
  def self.new_format?(version)
51
- Semantic::Version.new(version) >=
52
- Semantic::Version.new(BREAKING_VERSION)
55
+ Semantic::Version.new(version) >=
56
+ Semantic::Version.new(ARTIFACT_FORMAT_CHANGE_VERSION)
53
57
  end
54
58
 
55
59
  def self.type(version)
data/rake_fly.gemspec CHANGED
@@ -23,14 +23,14 @@ Gem::Specification.new do |spec|
23
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
24
  spec.require_paths = ['lib']
25
25
 
26
- spec.required_ruby_version = '>= 2.3.8'
26
+ spec.required_ruby_version = '>= 2.6'
27
27
 
28
- spec.add_dependency 'rake_dependencies', '~> 0.19'
29
- spec.add_dependency 'ruby_fly', '~> 0.5'
28
+ spec.add_dependency 'rake_dependencies', '~> 1.4'
29
+ spec.add_dependency 'ruby_fly', '~> 0.11'
30
30
  spec.add_dependency 'semantic', '~> 1.6.1'
31
31
 
32
- spec.add_development_dependency 'bundler', '~> 2.0.2'
33
- spec.add_development_dependency 'rake', '~> 12.3'
32
+ spec.add_development_dependency 'bundler', '~> 2.1'
33
+ spec.add_development_dependency 'rake', '~> 13.0'
34
34
  spec.add_development_dependency 'rspec', '~> 3.8'
35
35
  spec.add_development_dependency 'gem-release', '~> 2.0'
36
36
  spec.add_development_dependency 'activesupport', '~> 5.2'
@@ -9,7 +9,12 @@ PROJECT_DIR="$( cd "$SCRIPT_DIR/../../.." && pwd )"
9
9
 
10
10
  cd "$PROJECT_DIR"
11
11
 
12
+ git status
13
+
12
14
  ./go version:bump[pre]
15
+
16
+ git status
17
+
13
18
  ./go release
14
19
 
15
20
  git status
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: 0.21.0
4
+ version: 1.0.0.pre.pre.2
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-08-05 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,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.19'
19
+ version: '1.4'
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.19'
26
+ version: '1.4'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: ruby_fly
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.5'
33
+ version: '0.11'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.5'
40
+ version: '0.11'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: semantic
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,28 +58,28 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 2.0.2
61
+ version: '2.1'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 2.0.2
68
+ version: '2.1'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '12.3'
75
+ version: '13.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '12.3'
82
+ version: '13.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -185,8 +185,8 @@ files:
185
185
  - config/secrets/rubygems/credentials
186
186
  - go
187
187
  - lib/rake_fly.rb
188
- - lib/rake_fly/exceptions.rb
189
- - lib/rake_fly/tasklib.rb
188
+ - lib/rake_fly/task_sets.rb
189
+ - lib/rake_fly/task_sets/pipeline.rb
190
190
  - lib/rake_fly/tasks.rb
191
191
  - lib/rake_fly/tasks/get_pipeline.rb
192
192
  - lib/rake_fly/tasks/push_pipeline.rb
@@ -213,14 +213,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
213
213
  requirements:
214
214
  - - ">="
215
215
  - !ruby/object:Gem::Version
216
- version: 2.3.8
216
+ version: '2.6'
217
217
  required_rubygems_version: !ruby/object:Gem::Requirement
218
218
  requirements:
219
- - - ">="
219
+ - - ">"
220
220
  - !ruby/object:Gem::Version
221
- version: '0'
221
+ version: 1.3.1
222
222
  requirements: []
223
- rubygems_version: 3.0.3
223
+ rubygems_version: 3.0.1
224
224
  signing_key:
225
225
  specification_version: 4
226
226
  summary: Rake tasks for managing Concourse pipelines.
@@ -1,4 +0,0 @@
1
- module RakeFly
2
- class RequiredParameterUnset < ::StandardError
3
- end
4
- end
@@ -1,98 +0,0 @@
1
- require 'rake/tasklib'
2
- require_relative 'exceptions'
3
-
4
- module RakeFly
5
- class TaskLib < ::Rake::TaskLib
6
- class << self
7
- def parameter_definitions
8
- @parameter_definitions ||= {}
9
- end
10
-
11
- def parameter(name, options = {})
12
- parameter_definition = ParameterDefinition.new(
13
- name, options[:default], options[:required])
14
- name = parameter_definition.name
15
-
16
- attr_accessor(name)
17
-
18
- parameter_definitions[name] = parameter_definition
19
- end
20
-
21
- def setup_defaults_for(instance)
22
- parameter_definitions.values.each do |parameter_definition|
23
- parameter_definition.apply_default_to(instance)
24
- end
25
- end
26
-
27
- def check_required_for(instance)
28
- dissatisfied = parameter_definitions.values.reject do |definition|
29
- definition.satisfied_by?(instance)
30
- end
31
- unless dissatisfied.empty?
32
- names = dissatisfied.map(&:name)
33
- raise RequiredParameterUnset,
34
- "Required parameter#{names.length > 1 ? 's' : ''} #{names.join(',')} unset."
35
- end
36
- end
37
- end
38
-
39
- def initialize(*args, &block)
40
- setup_defaults
41
- process_arguments(args)
42
- process_block(block)
43
- check_required
44
- define
45
- end
46
-
47
- def setup_defaults
48
- self.class.setup_defaults_for(self)
49
- end
50
-
51
- def process_arguments(_)
52
- end
53
-
54
- def process_block(block)
55
- block.call(self) if block
56
- end
57
-
58
- def check_required
59
- self.class.check_required_for(self)
60
- end
61
-
62
- def define
63
- end
64
-
65
- private
66
-
67
- class ParameterDefinition
68
- attr_reader :name
69
-
70
- def initialize(name, default = nil, required = false)
71
- @name = name.to_sym
72
- @default = default
73
- @required = required
74
- end
75
-
76
- def writer_method
77
- "#{name}="
78
- end
79
-
80
- def reader_method
81
- name
82
- end
83
-
84
- def apply_default_to(instance)
85
- instance.__send__(writer_method, @default) unless @default.nil?
86
- end
87
-
88
- def dissatisfied_by?(instance)
89
- value = instance.__send__(reader_method)
90
- @required && value.nil?
91
- end
92
-
93
- def satisfied_by?(instance)
94
- !dissatisfied_by?(instance)
95
- end
96
- end
97
- end
98
- end