rake-dependencies 0.8.0 → 0.9.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
  SHA1:
3
- metadata.gz: 4f626b07e672a7a37d578e700dd49591f9589a2f
4
- data.tar.gz: a1ee04a749b0aa087c5f5b62c3deb96f54aaa1db
3
+ metadata.gz: ef89ffd9e114564caddb65c554928ffe0ccbbbd2
4
+ data.tar.gz: d984290b6073c2085b46d609463508a3b1b1b39f
5
5
  SHA512:
6
- metadata.gz: b5b5e3dfdd5b2691d4a71bff0148ea68c8729daf5255935dbe9a436692e598536141339842e80a3afe105253d5d16ecbeb03e19b2925e1de345ddaf64396fb2f
7
- data.tar.gz: 7c998a21b2ec84dfc6efbf0a685e01ad616d29ddd06b391b2a4e9199d38881e3e06da7f0d707a9fb9e8ac43f107aa63a9825ee2a86bb0329a9dd5dacae4b59e1
6
+ metadata.gz: e33c74bbf280e38dadcb2184a71a8893f45e1bb279ab371f3d6d486cd8218932ba3ea644c1be457992b4273633699db85a1005e0426779b85414edf3568b6287
7
+ data.tar.gz: 15f131d42112ca7f911ce761185c038db9fc8f598e7887e3e77b2fcb4d9821e6fd0aa71d1371d9e0efdb4041496387ac2de8066c9c28a0b99ebe9ce0cd47d67e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake-dependencies (0.8.0)
4
+ rake-dependencies (0.9.0)
5
5
  hamster (~> 3.0)
6
6
  minitar (~> 0.6)
7
7
  rubyzip (~> 1.1)
@@ -1,4 +1,5 @@
1
1
  require_relative 'tasks/clean'
2
2
  require_relative 'tasks/download'
3
3
  require_relative 'tasks/extract'
4
- require_relative 'tasks/fetch'
4
+ require_relative 'tasks/fetch'
5
+ require_relative 'tasks/ensure'
@@ -0,0 +1,50 @@
1
+ require_relative '../tasklib'
2
+
3
+ module RakeDependencies
4
+ module Tasks
5
+ class Ensure < TaskLib
6
+ parameter :name, default: :ensure
7
+
8
+ parameter :dependency, required: true
9
+ parameter :version
10
+ parameter :path, required: true
11
+
12
+ parameter :binary_directory, default: 'bin'
13
+
14
+ parameter :needs_fetch, default: lambda { |_| true }
15
+
16
+ parameter :clean_task, default: :clean
17
+ parameter :download_task, default: :download
18
+ parameter :extract_task, default: :extract
19
+
20
+ def process_arguments args
21
+ super(args)
22
+ self.name = args[0] if args[0]
23
+ end
24
+
25
+ def define
26
+ clean = Rake::Task[scoped_task_name(clean_task)]
27
+ download = Rake::Task[scoped_task_name(download_task)]
28
+ extract = Rake::Task[scoped_task_name(extract_task)]
29
+
30
+ desc "Ensure #{dependency} present"
31
+ task name do
32
+ parameters = {
33
+ path: path,
34
+ version: version,
35
+ binary_directory: binary_directory
36
+ }
37
+ if needs_fetch.call(parameters)
38
+ [clean, download, extract].map(&:invoke)
39
+ end
40
+ end
41
+ end
42
+
43
+ private
44
+
45
+ def scoped_task_name(task_name)
46
+ Rake.application.current_scope.path_with_task_name(task_name)
47
+ end
48
+ end
49
+ end
50
+ end
@@ -1,3 +1,3 @@
1
1
  module RakeDependencies
2
- VERSION = "0.8.0"
2
+ VERSION = "0.9.0"
3
3
  end
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.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toby Clemson
@@ -176,6 +176,7 @@ files:
176
176
  - lib/rake_dependencies/tasks.rb
177
177
  - lib/rake_dependencies/tasks/clean.rb
178
178
  - lib/rake_dependencies/tasks/download.rb
179
+ - lib/rake_dependencies/tasks/ensure.rb
179
180
  - lib/rake_dependencies/tasks/extract.rb
180
181
  - lib/rake_dependencies/tasks/fetch.rb
181
182
  - lib/rake_dependencies/template.rb