albacore 2.0.0.rc.9 → 2.0.0.rc.10
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.
- data/lib/albacore/application.rb +1 -0
- data/lib/albacore/ext/teamcity.rb +3 -1
- data/lib/albacore/package_repo.rb +1 -0
- data/lib/albacore/paths.rb +57 -56
- data/lib/albacore/rake_overrides.rb +2 -2
- data/lib/albacore/task_types/test_runner.rb +2 -0
- data/lib/albacore/version.rb +1 -1
- data/spec/package_repo_spec.rb +1 -1
- data/spec/package_spec.rb +1 -1
- data/spec/paths_spec.rb +2 -2
- data/spec/project_spec.rb +1 -0
- metadata +4 -4
data/lib/albacore/application.rb
CHANGED
@@ -31,7 +31,9 @@ module Albacore
|
|
31
31
|
end
|
32
32
|
Albacore.subscribe :build_version do |version|
|
33
33
|
# tell teamcity our decision
|
34
|
-
::Albacore.puts "##teamcity[buildNumber '#{version.build_number}']"
|
34
|
+
::Albacore.puts "##teamcity[buildNumber '#{version.build_number}']" # available as 'build.number' in TC
|
35
|
+
::Albacore.puts "##teamcity[setParameter name='build.version' value='#{version.build_version}']"
|
36
|
+
::Albacore.puts "##teamcity[setParameter name='build.version.formal' value='#{version.formal_version}']"
|
35
37
|
end
|
36
38
|
Albacore.subscribe :progress do |p|
|
37
39
|
# tell teamcity of our progress
|
data/lib/albacore/paths.rb
CHANGED
@@ -1,12 +1,63 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
|
3
3
|
require 'rake'
|
4
|
+
require 'pathname'
|
5
|
+
|
4
6
|
require 'albacore/albacore_module'
|
5
7
|
require 'albacore/logging'
|
6
|
-
require 'pathname'
|
7
8
|
|
8
9
|
# module methods for handling paths
|
9
|
-
module
|
10
|
+
module Paths
|
11
|
+
extend self
|
12
|
+
|
13
|
+
# returns the operating system separator character as a string
|
14
|
+
def separator
|
15
|
+
::Albacore.windows? ? '\\' : '/'
|
16
|
+
end
|
17
|
+
|
18
|
+
# normalize the slashes of the path to what the operating system prefers
|
19
|
+
def normalise_slashes path
|
20
|
+
return path unless path.respond_to? :gsub
|
21
|
+
raise ArgumentError, "path is nil" if path.nil?
|
22
|
+
::Rake::Win32.windows? ? path.gsub('/', '\\') : path.gsub('\\', '/')
|
23
|
+
end
|
24
|
+
|
25
|
+
# make a single string-command from a given executable string, by quoting each parameter
|
26
|
+
# individually. You can also use Albacore::CrossPlatformCmd#system given an array
|
27
|
+
# of 'stringly' things.
|
28
|
+
def make_command executable, parameters
|
29
|
+
raise ArgumentError, "executable is nil" if executable.nil?
|
30
|
+
params = parameters.collect{|p| '"' + p + '"'}.join ' '
|
31
|
+
exe = normalise_slashes executable
|
32
|
+
%Q{"#{exe}" #{params}}
|
33
|
+
end
|
34
|
+
|
35
|
+
# normalise slashes in an executable/parameters combo
|
36
|
+
def normalise executable, parameters
|
37
|
+
raise ArgumentError, "executable is nil" if executable.nil?
|
38
|
+
parameters = parameters.collect{ |p| (p === String) ? p : p.to_s }
|
39
|
+
exe = normalise_slashes executable
|
40
|
+
["#{exe}", parameters]
|
41
|
+
end
|
42
|
+
|
43
|
+
# join an Enumerable of paths by normalising slashes on each of the segments, then
|
44
|
+
# joining them
|
45
|
+
def join *paths
|
46
|
+
raise ArgumentError, 'no paths given' if paths.nil?
|
47
|
+
|
48
|
+
joined = paths[1..-1].inject(PathnameWrap.new(normalise_slashes(paths[0]))) do |s, t|
|
49
|
+
s + normalise_slashes(t)
|
50
|
+
end
|
51
|
+
|
52
|
+
PathnameWrap.new joined
|
53
|
+
end
|
54
|
+
|
55
|
+
# join an Enumerable of paths by normalising slashes on each of the segments, then
|
56
|
+
# joining them, returning a string
|
57
|
+
def join_str *paths
|
58
|
+
join(*paths).to_s
|
59
|
+
end
|
60
|
+
|
10
61
|
class PathnameWrap
|
11
62
|
include ::Albacore::Logging
|
12
63
|
|
@@ -36,7 +87,7 @@ module Albacore::Paths
|
|
36
87
|
end
|
37
88
|
|
38
89
|
def to_s
|
39
|
-
Paths.normalise_slashes p
|
90
|
+
::Albacore::Paths.normalise_slashes p
|
40
91
|
end
|
41
92
|
|
42
93
|
def ==(o)
|
@@ -55,59 +106,9 @@ module Albacore::Paths
|
|
55
106
|
to_s.gsub /\\/, '/'
|
56
107
|
end
|
57
108
|
end
|
58
|
-
|
59
|
-
class << self
|
60
|
-
|
61
|
-
# returns the operating system separator character as a string
|
62
|
-
def separator
|
63
|
-
::Albacore.windows? ? '\\' : '/'
|
64
|
-
end
|
65
|
-
|
66
|
-
# normalize the slashes of the path to what the operating system prefers
|
67
|
-
def normalise_slashes path
|
68
|
-
return path unless path.respond_to? :gsub
|
69
|
-
raise ArgumentError, "path is nil" if path.nil?
|
70
|
-
::Rake::Win32.windows? ? path.gsub('/', '\\') : path.gsub('\\', '/')
|
71
|
-
end
|
72
|
-
|
73
|
-
# make a single string-command from a given executable string, by quoting each parameter
|
74
|
-
# individually. You can also use Albacore::CrossPlatformCmd#system given an array
|
75
|
-
# of 'stringly' things.
|
76
|
-
def make_command executable, parameters
|
77
|
-
raise ArgumentError, "executable is nil" if executable.nil?
|
78
|
-
params = parameters.collect{|p| '"' + p + '"'}.join ' '
|
79
|
-
exe = normalise_slashes executable
|
80
|
-
%Q{"#{exe}" #{params}}
|
81
|
-
end
|
82
|
-
|
83
|
-
# normalise slashes in an executable/parameters combo
|
84
|
-
def normalise executable, parameters
|
85
|
-
raise ArgumentError, "executable is nil" if executable.nil?
|
86
|
-
parameters = parameters.collect{ |p| (p === String) ? p : p.to_s }
|
87
|
-
exe = normalise_slashes executable
|
88
|
-
["#{exe}", parameters]
|
89
|
-
end
|
90
|
-
|
91
|
-
# join an Enumerable of paths by normalising slashes on each of the segments, then
|
92
|
-
# joining them
|
93
|
-
def join *paths
|
94
|
-
raise ArgumentError, 'no paths given' if paths.nil?
|
95
|
-
|
96
|
-
joined = paths[1..-1].inject(PathnameWrap.new(normalise_slashes(paths[0]))) do |s, t|
|
97
|
-
s + normalise_slashes(t)
|
98
|
-
end
|
99
|
-
|
100
|
-
PathnameWrap.new joined
|
101
|
-
end
|
102
|
-
|
103
|
-
# join an Enumerable of paths by normalising slashes on each of the segments, then
|
104
|
-
# joining them, returning a string
|
105
|
-
def join_str *paths
|
106
|
-
join(*paths).to_s
|
107
|
-
end
|
108
|
-
end
|
109
109
|
end
|
110
110
|
|
111
111
|
# Paths should be accessible if you require this file
|
112
|
-
|
113
|
-
|
112
|
+
module Albacore::Paths
|
113
|
+
self.extend ::Paths
|
114
|
+
end
|
@@ -7,14 +7,14 @@ module ::Rake
|
|
7
7
|
|
8
8
|
# get the original dir that rake was called from as a string
|
9
9
|
def albacore_original_dir *args
|
10
|
-
::
|
10
|
+
::Paths::PathnameWrap.new(old_original_dir(*args)).to_s
|
11
11
|
end
|
12
12
|
|
13
13
|
alias_method :original_dir, :albacore_original_dir
|
14
14
|
|
15
15
|
# get the original dir that rake was called from a Pathname
|
16
16
|
def original_dir_path
|
17
|
-
::
|
17
|
+
::Paths::PathnameWrap.new(old_original_dir())
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -87,6 +87,8 @@ module Albacore
|
|
87
87
|
end
|
88
88
|
def handle_directory dll, exe, &block
|
89
89
|
if @opts.get(:copy_local)
|
90
|
+
# TODO: #mktmpdir is not always reliable; consider contributing a patch to ruby?
|
91
|
+
# Fails sometimes with "directory already exists"
|
90
92
|
Dir.mktmpdir 'alba-test' do |dir|
|
91
93
|
sut, runners = Paths.join(dir, 'sut').to_s, Paths.join(dir, 'runners').to_s
|
92
94
|
[sut, runners].each { |d| FileUtils.mkdir_p d }
|
data/lib/albacore/version.rb
CHANGED
data/spec/package_repo_spec.rb
CHANGED
data/spec/package_spec.rb
CHANGED
data/spec/paths_spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'albacore/paths'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe Paths.method(:join), 'when joining path segments' do
|
4
4
|
let :s do
|
5
5
|
Paths.separator
|
6
6
|
end
|
@@ -81,7 +81,7 @@ describe ::Albacore::Paths.method(:join), 'when joining path segments' do
|
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
-
describe
|
84
|
+
describe Paths.method(:join_str), 'when joining path segments' do
|
85
85
|
let :s do
|
86
86
|
Paths.separator
|
87
87
|
end
|
data/spec/project_spec.rb
CHANGED
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.0.rc.
|
4
|
+
version: 2.0.0.rc.10
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-
|
13
|
+
date: 2014-04-02 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
@@ -317,7 +317,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
317
317
|
version: '0'
|
318
318
|
segments:
|
319
319
|
- 0
|
320
|
-
hash:
|
320
|
+
hash: 996579621817901824
|
321
321
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
322
322
|
none: false
|
323
323
|
requirements:
|
@@ -326,7 +326,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
326
326
|
version: 1.3.1
|
327
327
|
requirements: []
|
328
328
|
rubyforge_project: albacore
|
329
|
-
rubygems_version: 1.8.23
|
329
|
+
rubygems_version: 1.8.23.2
|
330
330
|
signing_key:
|
331
331
|
specification_version: 3
|
332
332
|
summary: Dolphin-safe and awesome Mono and .Net Rake-tasks
|