rake-funnel 0.1.0.pre → 0.2.0.pre
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/lib/rake/funnel/integration/teamcity/nunit_plugin.rb +3 -7
- data/lib/rake/funnel/support/binary_version_reader.rb +32 -0
- data/lib/rake/funnel/support/copier.rb +27 -0
- data/lib/rake/funnel/support/msbuild/build_tool.rb +13 -17
- data/lib/rake/funnel/support/{side_by_side_specs/remover.rb → specs_remover.rb} +2 -2
- data/lib/rake/funnel/support/zipper.rb +49 -0
- data/lib/rake/funnel/tasks/assembly_version.rb +17 -11
- data/lib/rake/funnel/tasks/bin_path.rb +17 -10
- data/lib/rake/funnel/tasks/copy.rb +13 -30
- data/lib/rake/funnel/tasks/environments.rb +36 -23
- data/lib/rake/funnel/tasks/msbuild.rb +21 -21
- data/lib/rake/funnel/tasks/msdeploy.rb +17 -24
- data/lib/rake/funnel/tasks/nunit.rb +17 -17
- data/lib/rake/funnel/tasks/paket.rb +15 -9
- data/lib/rake/funnel/tasks/quick_template.rb +14 -12
- data/lib/rake/funnel/tasks/side_by_side_specs.rb +16 -10
- data/lib/rake/funnel/tasks/timing.rb +16 -9
- data/lib/rake/funnel/tasks/zip.rb +14 -48
- data/lib/rake/funnel/version.rb +1 -1
- data/spec/rake/funnel/integration/teamcity/nunit_plugin_spec.rb +16 -18
- data/spec/rake/funnel/support/binary_version_reader_spec.rb +29 -0
- data/spec/rake/funnel/support/copier_spec.rb +58 -0
- data/spec/rake/funnel/support/{side_by_side_specs/example → specs_remover}/FooCode.cs +0 -0
- data/spec/rake/funnel/support/{side_by_side_specs/example → specs_remover}/FooSpecs.cs +0 -0
- data/spec/rake/funnel/support/{side_by_side_specs/example → specs_remover}/Sample.csproj +0 -0
- data/spec/rake/funnel/support/{side_by_side_specs/example → specs_remover}/Specs.cs +0 -0
- data/spec/rake/funnel/support/{side_by_side_specs/example → specs_remover}/subdir/BarCode.cs +0 -0
- data/spec/rake/funnel/support/{side_by_side_specs/example → specs_remover}/subdir/BarSpecs.cs +0 -0
- data/spec/rake/funnel/support/{side_by_side_specs/remover_spec.rb → specs_remover_spec.rb} +2 -2
- data/spec/rake/funnel/support/zipper_spec.rb +77 -0
- data/spec/rake/funnel/tasks/assembly_version_spec.rb +10 -19
- data/spec/rake/funnel/tasks/bin_path_spec.rb +19 -7
- data/spec/rake/funnel/tasks/copy_spec.rb +18 -73
- data/spec/rake/funnel/tasks/environments_spec.rb +59 -105
- data/spec/rake/funnel/tasks/msbuild_spec.rb +30 -30
- data/spec/rake/funnel/tasks/msdeploy_spec.rb +0 -23
- data/spec/rake/funnel/tasks/nunit_spec.rb +11 -13
- data/spec/rake/funnel/tasks/paket_spec.rb +3 -45
- data/spec/rake/funnel/tasks/quick_template_spec.rb +0 -27
- data/spec/rake/funnel/tasks/side_by_side_specs_spec.rb +3 -4
- data/spec/rake/funnel/tasks/zip_spec.rb +21 -101
- metadata +26 -17
@@ -1,11 +1,8 @@
|
|
1
|
-
require 'tmpdir'
|
2
|
-
|
3
1
|
include Rake
|
4
2
|
include Rake::Funnel::Support
|
5
3
|
|
6
4
|
describe Rake::Funnel::Tasks::Zip do
|
7
5
|
before {
|
8
|
-
CLEAN.clear
|
9
6
|
Task.clear
|
10
7
|
}
|
11
8
|
|
@@ -14,117 +11,40 @@ describe Rake::Funnel::Tasks::Zip do
|
|
14
11
|
its(:source) { should eq([]) }
|
15
12
|
its(:target) { should be_nil }
|
16
13
|
its(:zip_root) { should be_nil }
|
17
|
-
|
18
|
-
it 'should not add the target file to the files to be cleaned' do
|
19
|
-
expect(CLEAN).to be_empty
|
20
|
-
end
|
21
|
-
|
22
|
-
describe 'overriding defaults' do
|
23
|
-
subject {
|
24
|
-
described_class.new do |t|
|
25
|
-
t.target = 'something.zip'
|
26
|
-
end
|
27
|
-
}
|
28
|
-
|
29
|
-
it 'should add the target file to the files to be cleaned' do
|
30
|
-
expect(CLEAN).to include(subject.target)
|
31
|
-
end
|
32
|
-
end
|
33
14
|
end
|
34
15
|
|
35
16
|
describe 'execution' do
|
36
17
|
let(:source) { %w(bin/1 bin/2 bin/3/4) }
|
37
|
-
let(:
|
38
|
-
|
18
|
+
let(:finder) { instance_double(Finder).as_null_object }
|
19
|
+
|
20
|
+
before {
|
21
|
+
allow(finder).to receive(:all_or_default).and_return(source)
|
22
|
+
allow(Finder).to receive(:new).and_return(finder)
|
23
|
+
}
|
24
|
+
|
25
|
+
before {
|
26
|
+
allow(Zipper).to receive(:zip)
|
27
|
+
allow(Rake).to receive(:rake_output_message)
|
28
|
+
}
|
39
29
|
|
40
|
-
subject
|
30
|
+
subject {
|
41
31
|
described_class.new do |t|
|
42
32
|
t.source = source
|
43
|
-
t.target =
|
44
|
-
t.zip_root =
|
33
|
+
t.target = 'some path/file.zip'
|
34
|
+
t.zip_root = 'zip root'
|
45
35
|
end
|
46
36
|
}
|
47
37
|
|
48
|
-
|
49
|
-
|
50
|
-
|
38
|
+
before {
|
39
|
+
Task[subject.name].invoke
|
40
|
+
}
|
51
41
|
|
52
|
-
|
53
|
-
|
54
|
-
end
|
55
|
-
end
|
42
|
+
it 'should delegate to Zipper' do
|
43
|
+
expect(Zipper).to have_received(:zip).with(subject.source, subject.target, subject.zip_root)
|
56
44
|
end
|
57
45
|
|
58
|
-
|
59
|
-
|
60
|
-
let(:zip) { double(::Zip::File).as_null_object }
|
61
|
-
let(:mtime) { Time.new(2015, 3, 9) }
|
62
|
-
let(:zip_entry) { double(::Zip::Entry).as_null_object }
|
63
|
-
|
64
|
-
before {
|
65
|
-
allow(finder).to receive(:all_or_default).and_return(source)
|
66
|
-
allow(Finder).to receive(:new).and_return(finder)
|
67
|
-
allow(RakeFileUtils).to receive(:mkdir_p)
|
68
|
-
allow(Rake).to receive(:rake_output_message)
|
69
|
-
allow(::Zip::File).to receive(:open).with(target, ::Zip::File::CREATE).and_yield(zip)
|
70
|
-
}
|
71
|
-
|
72
|
-
before {
|
73
|
-
allow(zip).to receive(:add).and_return(zip_entry)
|
74
|
-
allow(File).to receive(:mtime).and_return(mtime)
|
75
|
-
}
|
76
|
-
|
77
|
-
before {
|
78
|
-
Task[subject.name].invoke
|
79
|
-
}
|
80
|
-
|
81
|
-
it 'should create the target directory' do
|
82
|
-
expect(RakeFileUtils).to have_received(:mkdir_p).with(File.dirname(target))
|
83
|
-
end
|
84
|
-
|
85
|
-
it 'should allow unicode names' do
|
86
|
-
expect(::Zip.unicode_names).to eq(true)
|
87
|
-
end
|
88
|
-
|
89
|
-
it 'should use best compression' do
|
90
|
-
expect(::Zip.default_compression).to eq(Zlib::BEST_COMPRESSION)
|
91
|
-
end
|
92
|
-
|
93
|
-
it 'should report the created zip file' do
|
94
|
-
expect(Rake).to have_received(:rake_output_message).with("Created #{target}")
|
95
|
-
end
|
96
|
-
|
97
|
-
[nil, '', 'some path/inside the zip file'].each do |root|
|
98
|
-
context "with '#{root || 'nil'}' zip root" do
|
99
|
-
let(:zip_root) { root }
|
100
|
-
|
101
|
-
def build_args
|
102
|
-
common_path = finder.all_or_default.common_path
|
103
|
-
|
104
|
-
finder.all_or_default.map do |file|
|
105
|
-
zip_path = file.sub(%r|^#{Regexp.escape(common_path)}/|, '')
|
106
|
-
zip_path = File.join(zip_root, zip_path) unless zip_root.nil? || zip_root.empty?
|
107
|
-
|
108
|
-
[
|
109
|
-
zip_path,
|
110
|
-
file
|
111
|
-
]
|
112
|
-
end
|
113
|
-
end
|
114
|
-
|
115
|
-
it 'should put files below a common path in the zip root' do
|
116
|
-
files = build_args
|
117
|
-
|
118
|
-
files.each do |file_args|
|
119
|
-
expect(zip).to have_received(:add).with(*file_args)
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
it 'should explicitly set the file mtime to work around https://github.com/rubyzip/rubyzip/issues/176' do
|
124
|
-
expect(zip_entry).to have_received(:time=).with(mtime).exactly(build_args.length).times
|
125
|
-
end
|
126
|
-
end
|
127
|
-
end
|
46
|
+
it 'should report the created zip file' do
|
47
|
+
expect(Rake).to have_received(:rake_output_message).with("Created #{subject.target}")
|
128
48
|
end
|
129
49
|
end
|
130
50
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-funnel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Groß
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -107,6 +107,8 @@ files:
|
|
107
107
|
- lib/rake/funnel/support/assembly_version/languages/fs
|
108
108
|
- lib/rake/funnel/support/assembly_version/languages/vb
|
109
109
|
- lib/rake/funnel/support/assembly_version_writer.rb
|
110
|
+
- lib/rake/funnel/support/binary_version_reader.rb
|
111
|
+
- lib/rake/funnel/support/copier.rb
|
110
112
|
- lib/rake/funnel/support/environments.rb
|
111
113
|
- lib/rake/funnel/support/environments/loader.rb
|
112
114
|
- lib/rake/funnel/support/internal/finder.rb
|
@@ -119,13 +121,14 @@ files:
|
|
119
121
|
- lib/rake/funnel/support/msdeploy/registry_patch.rb
|
120
122
|
- lib/rake/funnel/support/patch.rb
|
121
123
|
- lib/rake/funnel/support/side_by_side_specs.rb
|
122
|
-
- lib/rake/funnel/support/
|
124
|
+
- lib/rake/funnel/support/specs_remover.rb
|
123
125
|
- lib/rake/funnel/support/template_engine.rb
|
124
126
|
- lib/rake/funnel/support/timing.rb
|
125
127
|
- lib/rake/funnel/support/timing/report.rb
|
126
128
|
- lib/rake/funnel/support/timing/statistics.rb
|
127
129
|
- lib/rake/funnel/support/version_info.rb
|
128
130
|
- lib/rake/funnel/support/which.rb
|
131
|
+
- lib/rake/funnel/support/zipper.rb
|
129
132
|
- lib/rake/funnel/tasks/assembly_version.rb
|
130
133
|
- lib/rake/funnel/tasks/bin_path.rb
|
131
134
|
- lib/rake/funnel/tasks/copy.rb
|
@@ -158,6 +161,8 @@ files:
|
|
158
161
|
- spec/rake/funnel/support/argument_mapper/styles/styles_spec.rb
|
159
162
|
- spec/rake/funnel/support/assembly_version/from_version_files_spec.rb
|
160
163
|
- spec/rake/funnel/support/assembly_version_writer_spec.rb
|
164
|
+
- spec/rake/funnel/support/binary_version_reader_spec.rb
|
165
|
+
- spec/rake/funnel/support/copier_spec.rb
|
161
166
|
- spec/rake/funnel/support/environments/loader_spec.rb
|
162
167
|
- spec/rake/funnel/support/internal/finder_spec.rb
|
163
168
|
- spec/rake/funnel/support/internal/instantiate_symbol_spec.rb
|
@@ -166,17 +171,18 @@ files:
|
|
166
171
|
- spec/rake/funnel/support/msbuild/build_tool_spec.rb
|
167
172
|
- spec/rake/funnel/support/msdeploy/registry_patch_spec.rb
|
168
173
|
- spec/rake/funnel/support/patch_spec.rb
|
169
|
-
- spec/rake/funnel/support/
|
170
|
-
- spec/rake/funnel/support/
|
171
|
-
- spec/rake/funnel/support/
|
172
|
-
- spec/rake/funnel/support/
|
173
|
-
- spec/rake/funnel/support/
|
174
|
-
- spec/rake/funnel/support/
|
175
|
-
- spec/rake/funnel/support/
|
174
|
+
- spec/rake/funnel/support/specs_remover/FooCode.cs
|
175
|
+
- spec/rake/funnel/support/specs_remover/FooSpecs.cs
|
176
|
+
- spec/rake/funnel/support/specs_remover/Sample.csproj
|
177
|
+
- spec/rake/funnel/support/specs_remover/Specs.cs
|
178
|
+
- spec/rake/funnel/support/specs_remover/subdir/BarCode.cs
|
179
|
+
- spec/rake/funnel/support/specs_remover/subdir/BarSpecs.cs
|
180
|
+
- spec/rake/funnel/support/specs_remover_spec.rb
|
176
181
|
- spec/rake/funnel/support/template_engine_spec.rb
|
177
182
|
- spec/rake/funnel/support/timing/report_spec.rb
|
178
183
|
- spec/rake/funnel/support/version_info_spec.rb
|
179
184
|
- spec/rake/funnel/support/which_spec.rb
|
185
|
+
- spec/rake/funnel/support/zipper_spec.rb
|
180
186
|
- spec/rake/funnel/tasks/assembly_version_spec.rb
|
181
187
|
- spec/rake/funnel/tasks/bin_path_spec.rb
|
182
188
|
- spec/rake/funnel/tasks/copy_spec.rb
|
@@ -233,6 +239,8 @@ test_files:
|
|
233
239
|
- spec/rake/funnel/support/argument_mapper/styles/styles_spec.rb
|
234
240
|
- spec/rake/funnel/support/assembly_version/from_version_files_spec.rb
|
235
241
|
- spec/rake/funnel/support/assembly_version_writer_spec.rb
|
242
|
+
- spec/rake/funnel/support/binary_version_reader_spec.rb
|
243
|
+
- spec/rake/funnel/support/copier_spec.rb
|
236
244
|
- spec/rake/funnel/support/environments/loader_spec.rb
|
237
245
|
- spec/rake/funnel/support/internal/finder_spec.rb
|
238
246
|
- spec/rake/funnel/support/internal/instantiate_symbol_spec.rb
|
@@ -241,17 +249,18 @@ test_files:
|
|
241
249
|
- spec/rake/funnel/support/msbuild/build_tool_spec.rb
|
242
250
|
- spec/rake/funnel/support/msdeploy/registry_patch_spec.rb
|
243
251
|
- spec/rake/funnel/support/patch_spec.rb
|
244
|
-
- spec/rake/funnel/support/
|
245
|
-
- spec/rake/funnel/support/
|
246
|
-
- spec/rake/funnel/support/
|
247
|
-
- spec/rake/funnel/support/
|
248
|
-
- spec/rake/funnel/support/
|
249
|
-
- spec/rake/funnel/support/
|
250
|
-
- spec/rake/funnel/support/
|
252
|
+
- spec/rake/funnel/support/specs_remover/FooCode.cs
|
253
|
+
- spec/rake/funnel/support/specs_remover/FooSpecs.cs
|
254
|
+
- spec/rake/funnel/support/specs_remover/Sample.csproj
|
255
|
+
- spec/rake/funnel/support/specs_remover/Specs.cs
|
256
|
+
- spec/rake/funnel/support/specs_remover/subdir/BarCode.cs
|
257
|
+
- spec/rake/funnel/support/specs_remover/subdir/BarSpecs.cs
|
258
|
+
- spec/rake/funnel/support/specs_remover_spec.rb
|
251
259
|
- spec/rake/funnel/support/template_engine_spec.rb
|
252
260
|
- spec/rake/funnel/support/timing/report_spec.rb
|
253
261
|
- spec/rake/funnel/support/version_info_spec.rb
|
254
262
|
- spec/rake/funnel/support/which_spec.rb
|
263
|
+
- spec/rake/funnel/support/zipper_spec.rb
|
255
264
|
- spec/rake/funnel/tasks/assembly_version_spec.rb
|
256
265
|
- spec/rake/funnel/tasks/bin_path_spec.rb
|
257
266
|
- spec/rake/funnel/tasks/copy_spec.rb
|