albacore 2.0.15 → 2.0.16
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/albacore/cross_platform_cmd.rb +2 -1
- data/lib/albacore/task_types/nugets_pack.rb +5 -3
- data/lib/albacore/version.rb +1 -1
- data/spec/nugets_pack_spec.rb +32 -0
- data/spec/support/sh_interceptor.rb +2 -1
- 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: 560c9fa28236e37df5b2efdf8085cfe7bcd068fd
|
4
|
+
data.tar.gz: 8fd54f812d717c6a0037d5793f2206619f94bb08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba75ed679a1dbb9312b2a47f868495c477886bf454589cf93ec678f2f11028f8edb67a6d2191aa6839f61f2592fdb34b55a4b6a552099b98553928d360d4ad91
|
7
|
+
data.tar.gz: 62c2660a8ee8cfb735bc8a078f528a476c7bd937d8b4f4217ced87631637ccf2b19c579d4f05346e4b0f5257673f8f35ff0d29b8f6b9887f4dbbad90bbdccd9e
|
@@ -107,7 +107,8 @@ module Albacore
|
|
107
107
|
debug 'waiting for process completion'
|
108
108
|
_, status = Process.wait2 @pid
|
109
109
|
|
110
|
-
|
110
|
+
ret_str = inmem.string.encode 'utf-8', invalid: :replace, undef: :replace, replace: ''
|
111
|
+
return block.call(status.success? && ret_str, status, ret_str)
|
111
112
|
end
|
112
113
|
end
|
113
114
|
|
@@ -1,6 +1,8 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
1
3
|
require 'rake'
|
2
4
|
require 'nokogiri'
|
3
|
-
require 'fileutils'
|
5
|
+
require 'fileutils'
|
4
6
|
require 'albacore'
|
5
7
|
require 'albacore/paths'
|
6
8
|
require 'albacore/cmd_config'
|
@@ -70,11 +72,11 @@ module Albacore
|
|
70
72
|
# regexpes the package path from the output
|
71
73
|
def get_nuget_path_of
|
72
74
|
out = yield
|
73
|
-
out.match /Successfully created package '([:\s\
|
75
|
+
out.match /Successfully created package '([:\s\p{Word}\\\/\d\.\-]+\.symbols\.nupkg)'./iu if out.respond_to? :match
|
74
76
|
trace "Got symbols return value: '#{out}', matched: '#{$1}'" if $1
|
75
77
|
return $1 if $1
|
76
78
|
|
77
|
-
out.match /Successfully created package '([:\s\
|
79
|
+
out.match /Successfully created package '([:\s\p{Word}\\\/\d\.\-]+\.nupkg)'./iu if out.respond_to? :match
|
78
80
|
trace "Got NOT-symbols return value: '#{out}', matched: '#{$1}'"
|
79
81
|
|
80
82
|
unless $1
|
data/lib/albacore/version.rb
CHANGED
data/spec/nugets_pack_spec.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
require 'shared_contexts'
|
3
5
|
require 'support/sh_interceptor'
|
@@ -153,6 +155,13 @@ Successfully created package '/home/xyz/Shared/build/pkg/MyNuget.Package.1.0.0-a
|
|
153
155
|
EXAMPLE_OUTPUT
|
154
156
|
end
|
155
157
|
|
158
|
+
let :sample5 do
|
159
|
+
<<EXAMPLE_OUTPUT
|
160
|
+
Attempting to build package from 'Fröken.nuspec'.
|
161
|
+
Successfully created package '/home/xyz/Shared/build/pkg/Fröken.1.0.0-alpha.nupkg'.
|
162
|
+
EXAMPLE_OUTPUT
|
163
|
+
end
|
164
|
+
|
156
165
|
it "should match sample1 with last nupkg mentioned" do
|
157
166
|
match = subject.send(:get_nuget_path_of) { sample1 }
|
158
167
|
match.should eq('Y:\\Shared\\build\\pkg\\MyNuget.Package.1.0.0.symbols.nupkg')
|
@@ -172,6 +181,11 @@ EXAMPLE_OUTPUT
|
|
172
181
|
match = subject.send(:get_nuget_path_of) { sample4 }
|
173
182
|
match.should eq('/home/xyz/Shared/build/pkg/MyNuget.Package.1.0.0-alpha.nupkg')
|
174
183
|
end
|
184
|
+
|
185
|
+
it 'should match sample5 despite non-ASCII' do
|
186
|
+
match = subject.send(:get_nuget_path_of) { sample5 }
|
187
|
+
match.should eq('/home/xyz/Shared/build/pkg/Fröken.1.0.0-alpha.nupkg')
|
188
|
+
end
|
175
189
|
end
|
176
190
|
|
177
191
|
# testing nuspec task
|
@@ -282,3 +296,21 @@ describe ProjectTask, "creating nuget from proj file" do
|
|
282
296
|
end
|
283
297
|
end
|
284
298
|
end
|
299
|
+
|
300
|
+
describe 'encoding functions' do
|
301
|
+
it 'should throw InvalidByteSequenceError by default' do
|
302
|
+
# http://www.ruby-doc.org/core-2.1.3/String.html#method-i-encode
|
303
|
+
begin
|
304
|
+
# it's "valid US-ASCII" from the POV of #encode unless
|
305
|
+
# #force_encoding is used
|
306
|
+
[0xef].pack('C*').force_encoding('US-ASCII').encode 'utf-8'
|
307
|
+
fail 'should throw invalid byte sequence error, because it\'s NOT US-ASCII'
|
308
|
+
rescue Encoding::InvalidByteSequenceError
|
309
|
+
# yep
|
310
|
+
end
|
311
|
+
end
|
312
|
+
it 'should be replaceable' do
|
313
|
+
subj = [0xef].pack('C*').encode 'utf-8', undef: :replace, invalid: :replace, replace: ''
|
314
|
+
expect(subj).to eq ''
|
315
|
+
end
|
316
|
+
end
|
@@ -51,7 +51,8 @@ module ShInterceptor
|
|
51
51
|
@executable = args[0] || ''
|
52
52
|
@parameters = args[1..-1].flatten || []
|
53
53
|
@system_calls = system_calls + 1
|
54
|
-
add_invocation(OpenStruct.new({ :executable => @executable, :parameters => @parameters, :options => @options}))
|
54
|
+
add_invocation(OpenStruct.new({ :executable => @executable, :parameters => @parameters, :options => @options }))
|
55
|
+
"".force_encoding 'utf-8' # expecting string output in utf-8 (hopefully)
|
55
56
|
end
|
56
57
|
|
57
58
|
# gets the invocations given to #system, with readers:
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: albacore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Henrik Feldt
|
@@ -381,7 +381,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
381
381
|
version: '0'
|
382
382
|
requirements: []
|
383
383
|
rubyforge_project: albacore
|
384
|
-
rubygems_version: 2.
|
384
|
+
rubygems_version: 2.2.2
|
385
385
|
signing_key:
|
386
386
|
specification_version: 4
|
387
387
|
summary: Dolphin-safe and awesome Mono and .Net Rake-tasks
|