right_develop 2.1.1 → 2.1.2

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/README.rdoc CHANGED
@@ -20,10 +20,13 @@ You can override various aspects of the CI harness' behavior by passing a block
20
20
  tweaks various instance variables of the resulting Rake task:
21
21
 
22
22
  RightDevelop::CI::RakeTask.new do |task|
23
- task.ci_namespace = :my_happy_ci
24
- task.rspec_pattern = "spec/important/**/*_spec.rb" # only run the important specs for CI
25
- task.output_path = "ci_results" # use ci_results as the base dir for all output files
26
- task.rspec_output = "happy_specs.xml" # write to ci_results/rspec/happy_specs.xml
23
+ task.ci_namespace = :my_happy_ci
24
+ task.rspec_name = :important # run as my_happy_ci:important
25
+ task.rspec_desc = "important specs with CI output" # or use cucumber_{name,desc} for Cucumber
26
+ task.rspec_pattern = "spec/important/**/*_spec.rb" # only run the important specs for CI
27
+ task.rspec_opts = ["-t", "important"] # alternatively, only run tasks tagged as important
28
+ task.output_path = "ci_results" # use ci_results as the base dir for all output files
29
+ task.rspec_output = "happy_specs.xml" # write to ci_results/rspec/happy_specs.xml
27
30
  end
28
31
 
29
32
  ==== Keeping the CI Harness Out of Production
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.1.1
1
+ 2.1.2
@@ -74,6 +74,34 @@ module RightDevelop::CI
74
74
  # Default 'measurement'
75
75
  attr_accessor :output_path
76
76
 
77
+ # The name for the RSpec task.
78
+ #
79
+ # Default :spec
80
+ attr_accessor :rspec_name
81
+
82
+ # The description for the RSpec task.
83
+ #
84
+ # Default "Run RSpec examples"
85
+ attr_accessor :rspec_desc
86
+
87
+ # An array of additional options for the RSpec task.
88
+ #
89
+ # Default: []
90
+ #
91
+ # Use like:
92
+ # rspec_opts = ["-t", "~slow_specs"]
93
+ attr_accessor :rspec_opts
94
+
95
+ # The name for the Cucumber task.
96
+ #
97
+ # Default :cucumber
98
+ attr_accessor :cucumber_name
99
+
100
+ # The description for the Cucumber task.
101
+ #
102
+ # Default "Run Cucumber examples"
103
+ attr_accessor :cucumber_desc
104
+
77
105
  def initialize(*args)
78
106
  @ci_namespace = args.shift || :ci
79
107
 
@@ -81,6 +109,11 @@ module RightDevelop::CI
81
109
 
82
110
  @output_path ||= 'measurement'
83
111
  @rspec_output ||= 'rspec.xml'
112
+ @rspec_name ||= :spec
113
+ @rspec_desc ||= "Run RSpec examples"
114
+ @cucumber_name ||= :cucumber
115
+ @cucumber_desc ||= "Run Cucumber examples"
116
+ @rspec_opts ||= []
84
117
 
85
118
  namespace @ci_namespace do
86
119
  task :prep do
@@ -90,22 +123,26 @@ module RightDevelop::CI
90
123
  end
91
124
 
92
125
  if defined?(::RSpec::Core::RakeTask)
126
+ default_opts = ['-r', 'right_develop/ci',
127
+ '-f', JavaSpecFormatter.name,
128
+ '-o', File.join(@output_path, 'rspec', @rspec_output)]
129
+
93
130
  # RSpec 2
94
- desc "Run RSpec examples"
95
- RSpec::Core::RakeTask.new(:spec => :prep) do |t|
96
- t.rspec_opts = ['-r', 'right_develop/ci',
97
- '-f', JavaSpecFormatter.name,
98
- '-o', File.join(@output_path, 'rspec', @rspec_output)]
131
+ desc @rspec_desc
132
+ RSpec::Core::RakeTask.new(@rspec_name => :prep) do |t|
133
+ t.rspec_opts = default_opts + @rspec_opts
99
134
  unless self.rspec_pattern.nil?
100
135
  t.pattern = self.rspec_pattern
101
136
  end
102
137
  end
103
138
  elsif defined?(::Spec::Rake::SpecTask)
139
+ default_opts = ['-r', 'right_develop/ci',
140
+ '-f', JavaSpecFormatter.name + ":" + File.join(@output_path, 'rspec', @rspec_output)]
141
+
104
142
  # RSpec 1
105
- Spec::Rake::SpecTask.new(:spec => :prep) do |t|
106
- desc "Run RSpec Examples"
107
- t.spec_opts = ['-r', 'right_develop/ci',
108
- '-f', JavaSpecFormatter.name + ":" + File.join(@output_path, 'rspec', @rspec_output)]
143
+ Spec::Rake::SpecTask.new(@rspec_name => :prep) do |t|
144
+ desc @rspec_desc
145
+ t.spec_opts = default_opts + @rspec_opts
109
146
  unless self.rspec_pattern.nil?
110
147
  t.spec_files = FileList[self.rspec_pattern]
111
148
  end
@@ -114,8 +151,7 @@ module RightDevelop::CI
114
151
  raise LoadError, "Cannot define CI rake task: unsupported RSpec version"
115
152
  end
116
153
 
117
- desc "Run Cucumber features"
118
- Cucumber::Rake::Task.new do |t|
154
+ Cucumber::Rake::Task.new(@cucumber_name, @cucumber_desc) do |t|
119
155
  t.cucumber_opts = ['--no-color',
120
156
  '--format', JavaCucumberFormatter.name,
121
157
  '--out', File.join(@output_path, 'cucumber')]
@@ -6,6 +6,14 @@ module RightDevelop::CI
6
6
  # in Java class names.
7
7
  JAVA_CLASS_NAME = /[A-Za-z0-9_]/
8
8
 
9
+ # The dot character gets special treatment: even if we XML-escape it, Jenkins will assume
10
+ # that it functions as a package separator. So, we'll replace it with an equivalent Unicode
11
+ # character. Hooray homographic character attacks!
12
+ JAVA_PACKAGE_SEPARATOR = '.'
13
+
14
+ # Replacement codepoint that looks a bit like a period
15
+ JAVE_PACKAGE_SEPARATOR_HOMOGLYPH = '·'
16
+
9
17
  # Make a string suitable for parsing by Jenkins JUnit display plugin by escaping any non-valid
10
18
  # Java class name characters as an XML entity. This prevents Jenkins from interpreting "hi1.2"
11
19
  # as a package-and-class name.
@@ -18,6 +26,8 @@ module RightDevelop::CI
18
26
  name.each_char do |chr|
19
27
  if chr =~ JAVA_CLASS_NAME
20
28
  result << chr
29
+ elsif chr == JAVA_PACKAGE_SEPARATOR
30
+ result << JAVE_PACKAGE_SEPARATOR_HOMOGLYPH
21
31
  else
22
32
  chr = chr.unpack('U')[0].to_s(16)
23
33
  result << "&#x#{chr};"
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{right_develop}
8
- s.version = "2.1.1"
8
+ s.version = "2.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Tony Spataro"]
12
- s.date = %q{2014-01-21}
12
+ s.date = %q{2014-03-24}
13
13
  s.default_executable = %q{right_develop}
14
14
  s.description = %q{A toolkit of development tools created by RightScale.}
15
15
  s.email = %q{support@rightscale.com}
@@ -19,7 +19,6 @@ Gem::Specification.new do |s|
19
19
  "README.rdoc"
20
20
  ]
21
21
  s.files = [
22
- ".ruby-version",
23
22
  "CHANGELOG.rdoc",
24
23
  "LICENSE",
25
24
  "README.rdoc",
@@ -53,42 +52,43 @@ Gem::Specification.new do |s|
53
52
  s.homepage = %q{https://github.com/rightscale/right_develop}
54
53
  s.licenses = ["MIT"]
55
54
  s.require_paths = ["lib"]
56
- s.rubygems_version = %q{1.6.2}
55
+ s.rubygems_version = %q{1.3.7}
57
56
  s.summary = %q{Reusable dev & test code.}
58
57
 
59
58
  if s.respond_to? :specification_version then
59
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
60
60
  s.specification_version = 3
61
61
 
62
62
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
63
- s.add_runtime_dependency(%q<rake>, ["< 0.10", ">= 0.8.7"])
63
+ s.add_runtime_dependency(%q<rake>, [">= 0.8.7", "< 0.10"])
64
64
  s.add_runtime_dependency(%q<right_support>, ["~> 2.0"])
65
65
  s.add_runtime_dependency(%q<builder>, ["~> 3.0"])
66
- s.add_runtime_dependency(%q<rspec>, ["< 3.0", ">= 1.3"])
67
- s.add_runtime_dependency(%q<cucumber>, ["< 1.3.3", "~> 1.0"])
68
- s.add_runtime_dependency(%q<trollop>, ["< 3.0", ">= 1.0"])
66
+ s.add_runtime_dependency(%q<rspec>, [">= 1.3", "< 3.0"])
67
+ s.add_runtime_dependency(%q<cucumber>, ["~> 1.0", "< 1.3.3"])
68
+ s.add_runtime_dependency(%q<trollop>, [">= 1.0", "< 3.0"])
69
69
  s.add_runtime_dependency(%q<right_git>, ["~> 0.1.0"])
70
70
  s.add_runtime_dependency(%q<right_aws>, [">= 2.1.0"])
71
71
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
72
72
  s.add_development_dependency(%q<rdoc>, [">= 2.4.2"])
73
73
  else
74
- s.add_dependency(%q<rake>, ["< 0.10", ">= 0.8.7"])
74
+ s.add_dependency(%q<rake>, [">= 0.8.7", "< 0.10"])
75
75
  s.add_dependency(%q<right_support>, ["~> 2.0"])
76
76
  s.add_dependency(%q<builder>, ["~> 3.0"])
77
- s.add_dependency(%q<rspec>, ["< 3.0", ">= 1.3"])
78
- s.add_dependency(%q<cucumber>, ["< 1.3.3", "~> 1.0"])
79
- s.add_dependency(%q<trollop>, ["< 3.0", ">= 1.0"])
77
+ s.add_dependency(%q<rspec>, [">= 1.3", "< 3.0"])
78
+ s.add_dependency(%q<cucumber>, ["~> 1.0", "< 1.3.3"])
79
+ s.add_dependency(%q<trollop>, [">= 1.0", "< 3.0"])
80
80
  s.add_dependency(%q<right_git>, ["~> 0.1.0"])
81
81
  s.add_dependency(%q<right_aws>, [">= 2.1.0"])
82
82
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
83
83
  s.add_dependency(%q<rdoc>, [">= 2.4.2"])
84
84
  end
85
85
  else
86
- s.add_dependency(%q<rake>, ["< 0.10", ">= 0.8.7"])
86
+ s.add_dependency(%q<rake>, [">= 0.8.7", "< 0.10"])
87
87
  s.add_dependency(%q<right_support>, ["~> 2.0"])
88
88
  s.add_dependency(%q<builder>, ["~> 3.0"])
89
- s.add_dependency(%q<rspec>, ["< 3.0", ">= 1.3"])
90
- s.add_dependency(%q<cucumber>, ["< 1.3.3", "~> 1.0"])
91
- s.add_dependency(%q<trollop>, ["< 3.0", ">= 1.0"])
89
+ s.add_dependency(%q<rspec>, [">= 1.3", "< 3.0"])
90
+ s.add_dependency(%q<cucumber>, ["~> 1.0", "< 1.3.3"])
91
+ s.add_dependency(%q<trollop>, [">= 1.0", "< 3.0"])
92
92
  s.add_dependency(%q<right_git>, ["~> 0.1.0"])
93
93
  s.add_dependency(%q<right_aws>, [">= 2.1.0"])
94
94
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
data/right_develop.rconf CHANGED
@@ -1,8 +1,14 @@
1
1
  ruby do
2
- version 'ruby-1.8.7-p371'
3
- rubygems '1.8.25' # jeweler gem is sensitive to rubygems version
4
- gemset 'right_develop'
2
+ # this is a lie! this gem must be compatible with 1.8.7, 1.9.x and 2.x.
3
+ # we're specifying the least common denominator here, as the bulk of our
4
+ # code is still tied to Ruby 1.8.
5
+ version 'ree-1.8.7-2012.02'
6
+ # jeweler gem is sensitive to rubygems version; moreover, RubyGems > 1.3 sometimes generates
7
+ # gem indexes that are not readable by 1.3 ... once again, take the least common denominator
8
+ # approach.
9
+ rubygems '1.3.7'
5
10
  end
11
+
6
12
  bundler do
7
13
  version '1.3.5'
8
14
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: right_develop
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
5
- prerelease:
4
+ hash: 15
5
+ prerelease: false
6
6
  segments:
7
7
  - 2
8
8
  - 1
9
- - 1
10
- version: 2.1.1
9
+ - 2
10
+ version: 2.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Tony Spataro
@@ -15,21 +15,13 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2014-02-13 00:00:00 -08:00
18
+ date: 2014-03-24 00:00:00 -07:00
19
19
  default_executable: right_develop
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- type: :runtime
23
22
  version_requirements: &id001 !ruby/object:Gem::Requirement
24
23
  none: false
25
24
  requirements:
26
- - - <
27
- - !ruby/object:Gem::Version
28
- hash: 31
29
- segments:
30
- - 0
31
- - 10
32
- version: "0.10"
33
25
  - - ">="
34
26
  - !ruby/object:Gem::Version
35
27
  hash: 49
@@ -38,11 +30,18 @@ dependencies:
38
30
  - 8
39
31
  - 7
40
32
  version: 0.8.7
41
- prerelease: false
42
- requirement: *id001
33
+ - - <
34
+ - !ruby/object:Gem::Version
35
+ hash: 31
36
+ segments:
37
+ - 0
38
+ - 10
39
+ version: "0.10"
43
40
  name: rake
44
- - !ruby/object:Gem::Dependency
41
+ requirement: *id001
42
+ prerelease: false
45
43
  type: :runtime
44
+ - !ruby/object:Gem::Dependency
46
45
  version_requirements: &id002 !ruby/object:Gem::Requirement
47
46
  none: false
48
47
  requirements:
@@ -53,11 +52,11 @@ dependencies:
53
52
  - 2
54
53
  - 0
55
54
  version: "2.0"
56
- prerelease: false
57
- requirement: *id002
58
55
  name: right_support
59
- - !ruby/object:Gem::Dependency
56
+ requirement: *id002
57
+ prerelease: false
60
58
  type: :runtime
59
+ - !ruby/object:Gem::Dependency
61
60
  version_requirements: &id003 !ruby/object:Gem::Requirement
62
61
  none: false
63
62
  requirements:
@@ -68,21 +67,14 @@ dependencies:
68
67
  - 3
69
68
  - 0
70
69
  version: "3.0"
71
- prerelease: false
72
- requirement: *id003
73
70
  name: builder
74
- - !ruby/object:Gem::Dependency
71
+ requirement: *id003
72
+ prerelease: false
75
73
  type: :runtime
74
+ - !ruby/object:Gem::Dependency
76
75
  version_requirements: &id004 !ruby/object:Gem::Requirement
77
76
  none: false
78
77
  requirements:
79
- - - <
80
- - !ruby/object:Gem::Version
81
- hash: 7
82
- segments:
83
- - 3
84
- - 0
85
- version: "3.0"
86
78
  - - ">="
87
79
  - !ruby/object:Gem::Version
88
80
  hash: 9
@@ -90,14 +82,28 @@ dependencies:
90
82
  - 1
91
83
  - 3
92
84
  version: "1.3"
93
- prerelease: false
94
- requirement: *id004
85
+ - - <
86
+ - !ruby/object:Gem::Version
87
+ hash: 7
88
+ segments:
89
+ - 3
90
+ - 0
91
+ version: "3.0"
95
92
  name: rspec
96
- - !ruby/object:Gem::Dependency
93
+ requirement: *id004
94
+ prerelease: false
97
95
  type: :runtime
96
+ - !ruby/object:Gem::Dependency
98
97
  version_requirements: &id005 !ruby/object:Gem::Requirement
99
98
  none: false
100
99
  requirements:
100
+ - - ~>
101
+ - !ruby/object:Gem::Version
102
+ hash: 15
103
+ segments:
104
+ - 1
105
+ - 0
106
+ version: "1.0"
101
107
  - - <
102
108
  - !ruby/object:Gem::Version
103
109
  hash: 29
@@ -106,21 +112,21 @@ dependencies:
106
112
  - 3
107
113
  - 3
108
114
  version: 1.3.3
109
- - - ~>
115
+ name: cucumber
116
+ requirement: *id005
117
+ prerelease: false
118
+ type: :runtime
119
+ - !ruby/object:Gem::Dependency
120
+ version_requirements: &id006 !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ">="
110
124
  - !ruby/object:Gem::Version
111
125
  hash: 15
112
126
  segments:
113
127
  - 1
114
128
  - 0
115
129
  version: "1.0"
116
- prerelease: false
117
- requirement: *id005
118
- name: cucumber
119
- - !ruby/object:Gem::Dependency
120
- type: :runtime
121
- version_requirements: &id006 !ruby/object:Gem::Requirement
122
- none: false
123
- requirements:
124
130
  - - <
125
131
  - !ruby/object:Gem::Version
126
132
  hash: 7
@@ -128,18 +134,11 @@ dependencies:
128
134
  - 3
129
135
  - 0
130
136
  version: "3.0"
131
- - - ">="
132
- - !ruby/object:Gem::Version
133
- hash: 15
134
- segments:
135
- - 1
136
- - 0
137
- version: "1.0"
138
- prerelease: false
139
- requirement: *id006
140
137
  name: trollop
141
- - !ruby/object:Gem::Dependency
138
+ requirement: *id006
139
+ prerelease: false
142
140
  type: :runtime
141
+ - !ruby/object:Gem::Dependency
143
142
  version_requirements: &id007 !ruby/object:Gem::Requirement
144
143
  none: false
145
144
  requirements:
@@ -151,11 +150,11 @@ dependencies:
151
150
  - 1
152
151
  - 0
153
152
  version: 0.1.0
154
- prerelease: false
155
- requirement: *id007
156
153
  name: right_git
157
- - !ruby/object:Gem::Dependency
154
+ requirement: *id007
155
+ prerelease: false
158
156
  type: :runtime
157
+ - !ruby/object:Gem::Dependency
159
158
  version_requirements: &id008 !ruby/object:Gem::Requirement
160
159
  none: false
161
160
  requirements:
@@ -167,11 +166,11 @@ dependencies:
167
166
  - 1
168
167
  - 0
169
168
  version: 2.1.0
170
- prerelease: false
171
- requirement: *id008
172
169
  name: right_aws
170
+ requirement: *id008
171
+ prerelease: false
172
+ type: :runtime
173
173
  - !ruby/object:Gem::Dependency
174
- type: :development
175
174
  version_requirements: &id009 !ruby/object:Gem::Requirement
176
175
  none: false
177
176
  requirements:
@@ -183,11 +182,11 @@ dependencies:
183
182
  - 8
184
183
  - 3
185
184
  version: 1.8.3
186
- prerelease: false
187
- requirement: *id009
188
185
  name: jeweler
189
- - !ruby/object:Gem::Dependency
186
+ requirement: *id009
187
+ prerelease: false
190
188
  type: :development
189
+ - !ruby/object:Gem::Dependency
191
190
  version_requirements: &id010 !ruby/object:Gem::Requirement
192
191
  none: false
193
192
  requirements:
@@ -199,9 +198,10 @@ dependencies:
199
198
  - 4
200
199
  - 2
201
200
  version: 2.4.2
202
- prerelease: false
203
- requirement: *id010
204
201
  name: rdoc
202
+ requirement: *id010
203
+ prerelease: false
204
+ type: :development
205
205
  description: A toolkit of development tools created by RightScale.
206
206
  email: support@rightscale.com
207
207
  executables:
@@ -212,7 +212,6 @@ extra_rdoc_files:
212
212
  - LICENSE
213
213
  - README.rdoc
214
214
  files:
215
- - .ruby-version
216
215
  - CHANGELOG.rdoc
217
216
  - LICENSE
218
217
  - README.rdoc
@@ -272,7 +271,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
272
271
  requirements: []
273
272
 
274
273
  rubyforge_project:
275
- rubygems_version: 1.6.2
274
+ rubygems_version: 1.3.7
276
275
  signing_key:
277
276
  specification_version: 3
278
277
  summary: Reusable dev & test code.
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 1.8.7-p371