rake-dependencies 0.3.0 → 0.4.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 +4 -4
- data/Gemfile.lock +1 -12
- data/lib/rake_dependencies/exceptions.rb +4 -0
- data/lib/rake_dependencies/tasklib.rb +98 -0
- data/lib/rake_dependencies/tasks/clean.rb +6 -7
- data/lib/rake_dependencies/tasks/download.rb +11 -11
- data/lib/rake_dependencies/version.rb +1 -1
- data/rake_dependencies.gemspec +0 -1
- metadata +3 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1af33ae845b043ed3ed1f9dbf190d8bd05593de
|
4
|
+
data.tar.gz: efe3a4d0ca603ea54370cfb3085a6cb928014d4b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a72ff1dcc89a61cd4b0531cb2e00d8d236b7aca038273a5a1cbfae3714cb45a92fb6b28f8c06402a7b3467d13873fe674ec2176537e2dcdd366c264543c71401
|
7
|
+
data.tar.gz: 154e4193a9521571993d935b31d1be7491c4274321a696942cfc90c0c5eba8752abf2ef8b765995500d65f94152173ffbb3590383953240be468f18cfeb399fc
|
data/Gemfile.lock
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rake-dependencies (0.
|
4
|
+
rake-dependencies (0.4.0)
|
5
5
|
hamster (~> 3.0)
|
6
|
-
mattock (~> 0.10)
|
7
6
|
|
8
7
|
GEM
|
9
8
|
remote: https://rubygems.org/
|
@@ -14,8 +13,6 @@ GEM
|
|
14
13
|
minitest (~> 5.1)
|
15
14
|
thread_safe (~> 0.3, >= 0.3.4)
|
16
15
|
tzinfo (~> 1.1)
|
17
|
-
calibrate (0.0.1)
|
18
|
-
caliph (0.3.1)
|
19
16
|
concurrent-ruby (1.0.2)
|
20
17
|
diff-lcs (1.3)
|
21
18
|
fakefs (0.10.2)
|
@@ -24,12 +21,6 @@ GEM
|
|
24
21
|
concurrent-ruby (~> 1.0)
|
25
22
|
i18n (0.8.0)
|
26
23
|
json (1.8.6)
|
27
|
-
mattock (0.10.1)
|
28
|
-
calibrate (~> 0.0.1)
|
29
|
-
caliph (~> 0.3)
|
30
|
-
rake (~> 10.0)
|
31
|
-
tilt (> 0)
|
32
|
-
valise (~> 1.1)
|
33
24
|
minitest (5.10.1)
|
34
25
|
rake (10.5.0)
|
35
26
|
rspec (3.5.0)
|
@@ -46,10 +37,8 @@ GEM
|
|
46
37
|
rspec-support (~> 3.5.0)
|
47
38
|
rspec-support (3.5.0)
|
48
39
|
thread_safe (0.3.5)
|
49
|
-
tilt (2.0.6)
|
50
40
|
tzinfo (1.2.2)
|
51
41
|
thread_safe (~> 0.1)
|
52
|
-
valise (1.2.1)
|
53
42
|
|
54
43
|
PLATFORMS
|
55
44
|
ruby
|
@@ -0,0 +1,98 @@
|
|
1
|
+
require 'rake/tasklib'
|
2
|
+
require_relative 'exceptions'
|
3
|
+
|
4
|
+
module RakeDependencies
|
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) if @default
|
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
|
@@ -1,14 +1,13 @@
|
|
1
|
-
|
1
|
+
require_relative '../tasklib'
|
2
2
|
|
3
3
|
module RakeDependencies
|
4
4
|
module Tasks
|
5
|
-
class Clean <
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
class Clean < TaskLib
|
6
|
+
parameter :name, :default => :clean
|
7
|
+
parameter :path, :required => true
|
8
|
+
parameter :dependency, :required => true
|
9
9
|
|
10
|
-
def
|
11
|
-
super(args)
|
10
|
+
def process_arguments(args)
|
12
11
|
self.name = args[0] if args[0]
|
13
12
|
end
|
14
13
|
|
@@ -1,22 +1,22 @@
|
|
1
|
-
require 'mattock'
|
2
1
|
require 'open-uri'
|
2
|
+
require_relative '../tasklib'
|
3
3
|
require_relative '../template'
|
4
4
|
|
5
5
|
module RakeDependencies
|
6
6
|
module Tasks
|
7
|
-
class Download <
|
7
|
+
class Download < TaskLib
|
8
8
|
extend FileUtils
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
10
|
+
parameter :name, default: :download
|
11
|
+
parameter :type, default: :zip
|
12
|
+
parameter :directory, default: 'dist'
|
13
|
+
parameter :path, required: true
|
14
|
+
parameter :dependency, required: true
|
15
|
+
parameter :version, required: true
|
16
|
+
parameter :uri_template, required: true
|
17
|
+
parameter :file_name_template, required: true
|
18
18
|
|
19
|
-
def
|
19
|
+
def process_arguments(args)
|
20
20
|
super(args)
|
21
21
|
self.name = args[0] if args[0]
|
22
22
|
end
|
data/rake_dependencies.gemspec
CHANGED
@@ -25,7 +25,6 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.required_ruby_version = '>= 2.0'
|
26
26
|
|
27
27
|
spec.add_dependency 'hamster', '~> 3.0'
|
28
|
-
spec.add_dependency 'mattock', '~> 0.10'
|
29
28
|
|
30
29
|
spec.add_development_dependency 'bundler', '~> 1.14'
|
31
30
|
spec.add_development_dependency 'rake', '~> 10.0'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-dependencies
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Toby Clemson
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '3.0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: mattock
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ~>
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0.10'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ~>
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0.10'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: bundler
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,6 +128,8 @@ files:
|
|
142
128
|
- bin/console
|
143
129
|
- bin/setup
|
144
130
|
- lib/rake_dependencies.rb
|
131
|
+
- lib/rake_dependencies/exceptions.rb
|
132
|
+
- lib/rake_dependencies/tasklib.rb
|
145
133
|
- lib/rake_dependencies/tasks.rb
|
146
134
|
- lib/rake_dependencies/tasks/clean.rb
|
147
135
|
- lib/rake_dependencies/tasks/download.rb
|