rake-namespace_group 0.0.4 → 0.0.5
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/Rakefile +28 -0
- data/lib/rake/namespace_group/dsl.rb +13 -1
- data/lib/rake/namespace_group/version.rb +1 -1
- data/spec/rakefile_spec.rb +19 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f777559e586b26aef5d56ca9c6df3ae3460df8ef
|
4
|
+
data.tar.gz: f1989cf27baa1b42810dea610601dc6a48dc885d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb6181c732cd80219d952ec062419c62c14e025fce2bf0e9f00632d274bf43d79fc169b5185405a9856699e1f7a13159fbe0ee332a562d0e6e353c19a5347d4c
|
7
|
+
data.tar.gz: 10374d8f9743b7e497d1057072b146fe73418989c369c8521963af7f42d75e688ea9b017c8c91cd24022fcfae9bb10fb2e83fa4471d8d63ddae03ec918a9bf48
|
data/Rakefile
CHANGED
@@ -65,3 +65,31 @@ namespace_group :aggregate_failure, :keep_going => true do
|
|
65
65
|
raise "BAR NO PLAY EITHER"
|
66
66
|
end
|
67
67
|
end
|
68
|
+
|
69
|
+
namespace_group :exclude_single, :exclude => /^foo$/ do |ns|
|
70
|
+
task :foo do |task|
|
71
|
+
puts "Namespace 'exclude_single' task 'foo'"
|
72
|
+
end
|
73
|
+
|
74
|
+
task :bar do |task|
|
75
|
+
puts "Namespace 'exclude_single' task 'bar'"
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
namespace_group :exclude_multi, :exclude => [/^ignore/, /foo/ ] do
|
80
|
+
task :ignore_foo do |task|
|
81
|
+
puts "Namespace 'exclude_multi' task 'ignore_foo'"
|
82
|
+
end
|
83
|
+
|
84
|
+
task :ignore_bar do |task|
|
85
|
+
puts "Namespace 'exclude_multi' task 'ignore_bar'"
|
86
|
+
end
|
87
|
+
|
88
|
+
task :foo do |task|
|
89
|
+
puts "Namespace 'exclude_multi' task 'foo'"
|
90
|
+
end
|
91
|
+
|
92
|
+
task :bar do |task|
|
93
|
+
puts "Namespace 'exclude_multi' task 'bar'"
|
94
|
+
end
|
95
|
+
end
|
@@ -30,6 +30,7 @@ module Rake
|
|
30
30
|
options[:arguments] ||= []
|
31
31
|
options[:all] ||= false
|
32
32
|
options[:keep_going] ||= true
|
33
|
+
options[:exclude] ||= []
|
33
34
|
|
34
35
|
ns_name = options[:namespace] || name
|
35
36
|
ns = namespace(ns_name) do
|
@@ -46,7 +47,18 @@ module Rake
|
|
46
47
|
tasklist = Rake.application.tasks_in_scope(scope)
|
47
48
|
exception_list = GroupedError.new(ns_name)
|
48
49
|
tasklist.each do |task|
|
50
|
+
task_name = task.name.gsub(Regexp.new("^#{ns_name}:"), '')
|
49
51
|
if options[:all] or task.is_a?(Rake::GroupTask)
|
52
|
+
skip = false
|
53
|
+
[options[:exclude]].flatten.each do |excl|
|
54
|
+
if excl.is_a?(Regexp) and task_name =~ excl
|
55
|
+
skip = true
|
56
|
+
elsif excl.is_a?(String) and task_name == excl
|
57
|
+
skip = true
|
58
|
+
end
|
59
|
+
end
|
60
|
+
next if skip
|
61
|
+
|
50
62
|
begin
|
51
63
|
task.invoke(*args)
|
52
64
|
rescue Exception => ex
|
@@ -59,7 +71,7 @@ module Rake
|
|
59
71
|
end
|
60
72
|
if exception_list.has_exceptions?
|
61
73
|
raise exception_list
|
62
|
-
|
74
|
+
end
|
63
75
|
end
|
64
76
|
end
|
65
77
|
end
|
data/spec/rakefile_spec.rb
CHANGED
@@ -54,4 +54,23 @@ describe 'Rakefile' do
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
|
+
context "exclude_single" do
|
58
|
+
it 'should exclude jobs with a single regex' do
|
59
|
+
expect($stdout).to receive(:puts).with("Namespace 'exclude_single' task 'bar'")
|
60
|
+
expect($stdout).to_not receive(:puts).with("Namespace 'exclude_single' task 'foo'")
|
61
|
+
Rake::Task[:exclude_single].invoke
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
context "exclude_multi" do
|
66
|
+
it 'should exclude jobs with multiple regexes given' do
|
67
|
+
expect($stdout).to receive(:puts).with("Namespace 'exclude_multi' task 'bar'")
|
68
|
+
expect($stdout).to_not receive(:puts).with("Namespace 'exclude_multi' task 'foo'")
|
69
|
+
expect($stdout).to_not receive(:puts).with("Namespace 'exclude_multi' task 'ignore_bar'")
|
70
|
+
expect($stdout).to_not receive(:puts).with("Namespace 'exclude_multi' task 'ignore_foo'")
|
71
|
+
|
72
|
+
Rake::Task[:exclude_multi].invoke
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
57
76
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-namespace_group
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan Vansteenkiste
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|