math_ml 0.9 → 0.10

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  load "Rakefile.utirake"
2
2
 
3
- VER = "0.9"
3
+ VER = "0.10"
4
4
 
5
5
  UtiRake.setup do
6
6
  external("https://hg.hinet.mydns.jp", %w[eim_xml])
@@ -27,7 +27,10 @@ UtiRake.setup do
27
27
  end
28
28
 
29
29
  rcov_spec do |s|
30
- s.spec_files << FileList["symbols/**/*_spec.rb"]
30
+ s.ruby_opts = %w[-rubygems]
31
+ s.pattern ||= %w[spec/util.rb spec/*_spec.rb]
32
+ s.pattern = [s.pattern] unless s.pattern.is_a?(Array)
33
+ s.pattern << "symbols/**/*_spec.rb"
31
34
  end
32
35
 
33
36
  spec do |s|
@@ -37,10 +40,18 @@ UtiRake.setup do
37
40
  end
38
41
 
39
42
  namespace :spec do
40
- Spec::Rake::SpecTask.new(:symbols) do |s|
41
- s.spec_files = FileList["./symbols/**/*_spec.rb"]
42
- s.spec_opts << "-c"
43
- s.libs << "lib" << "external/lib"
43
+ RSpec::Core::RakeTask.new(:symbols) do |s|
44
+ s.pattern = "./symbols/**/*_spec.rb"
45
+ s.rspec_opts = %w[-c -I lib -I external/lib]
46
+ end
47
+ end
48
+
49
+ task :package do
50
+ name = "math_ml-#{VER}"
51
+ cp "external/eim_xml/lib/eim_xml.rb", "pkg/#{name}/lib/"
52
+ Dir.chdir "pkg" do
53
+ rm "#{name}.tar.gz"
54
+ sh "tar zcf #{name}.tar.gz #{name}/"
44
55
  end
45
56
  end
46
57
 
data/Rakefile.utirake CHANGED
@@ -6,7 +6,6 @@
6
6
  require "rake/clean"
7
7
  require "rake/testtask"
8
8
  require "rake/rdoctask"
9
- require "rake/gempackagetask"
10
9
  require "rake/contrib/rubyforgepublisher"
11
10
  require "rubygems/package_task"
12
11
 
@@ -23,12 +22,19 @@ class UtiRake
23
22
  def setup(opt={}, &proc)
24
23
  @opt = opt
25
24
  directory "external"
26
- CLOBBER << "external" << "coverage" << "coverage.spec" << "coverage.cuke" << "doc"
25
+ CLEAN << "coverage" << "coverage.spec" << "coverage.cuke" << "doc"
26
+ CLOBBER << "external"
27
27
 
28
28
  instance_eval(&proc) if proc
29
29
 
30
30
  if need_spec?
31
- require "spec/rake/spectask"
31
+ begin
32
+ @rspec2_flg = false
33
+ require "rspec/core/rake_task"
34
+ @rspec2_flg = true
35
+ rescue LoadError
36
+ require "spec/rake/spectask"
37
+ end
32
38
  define_spec_task
33
39
  end
34
40
 
@@ -44,6 +50,12 @@ class UtiRake
44
50
  define_alias_task if @alias_task
45
51
  end
46
52
 
53
+ def rspec2?; @rspec2_flg; end
54
+
55
+ def spec_task
56
+ rspec2? ? RSpec::Core::RakeTask : Spec::Rake::SpecTask
57
+ end
58
+
47
59
  def need_spec?
48
60
  File.directory?("spec")
49
61
  end
@@ -160,22 +172,21 @@ class UtiRake
160
172
  spec = Gem::Specification.new do |s|
161
173
  s.platform = Gem::Platform::RUBY
162
174
  s.files = FileList["Rakefile*", "lib/**/*", "spec/**/*"]
163
- s.version = ENV["VER"] || "0.0.0.noversion"
175
+ s.version = "0.0.0.noversion"
164
176
  gemspec_proc.call(s) if gemspec_proc
165
177
  end
166
178
 
167
179
  gem = Gem::PackageTask.new(spec) do |t|
168
180
  t.need_tar_gz = true
169
- t.need_zip = true
170
181
  package_proc.call(t) if package_proc
171
182
  end
172
183
 
173
- task "utirake:gem" do
184
+ task "utirake:copy_for_package" do
174
185
  mv "Rakefile.utirake", "Rakefile.utirake_#{$$}"
175
- symlink "external/utirake/utirake.rb", "Rakefile.utirake"
186
+ cp "external/utirake/utirake.rb", "Rakefile.utirake"
176
187
  end
177
188
 
178
- file "#{gem.package_dir}/#{gem.gem_spec.file_name}" => "utirake:gem"
189
+ file gem.package_dir_path => "utirake:copy_for_package"
179
190
 
180
191
  task :gem do
181
192
  rm "Rakefile.utirake"
@@ -197,8 +208,15 @@ class UtiRake
197
208
  end
198
209
 
199
210
  def set_spec_opts(spec)
200
- spec.spec_opts << "-c"
201
- spec.libs << "." << "./lib" << "./external/lib"
211
+ spec.verbose = false
212
+ if rspec2?
213
+ spec.rspec_opts ||= []
214
+ spec.rspec_opts << "-c"
215
+ spec.rspec_opts << "-I" << "." << "-I" << "./lib" << "-I" << "./external/lib"
216
+ else
217
+ spec.spec_opts << "-c"
218
+ spec.libs << "." << "./lib" << "./external/lib"
219
+ end
202
220
  end
203
221
 
204
222
  def define_spec_task
@@ -206,8 +224,12 @@ class UtiRake
206
224
  namespace :spec do
207
225
  spec_files.each do |f|
208
226
  desc ""
209
- Spec::Rake::SpecTask.new(:apart) do |s|
210
- s.spec_files = FileList[f]
227
+ spec_task.new(:apart) do |s|
228
+ if rspec2?
229
+ s.pattern = f
230
+ else
231
+ s.spec_files = FileList[f]
232
+ end
211
233
  set_spec_opts(s)
212
234
  spec_proc.call(s) if spec_proc
213
235
  end
@@ -215,27 +237,36 @@ class UtiRake
215
237
  task(:apart).comment = "Run all specs separately"
216
238
 
217
239
  desc "Run all specs in a lump"
218
- Spec::Rake::SpecTask.new(:lump) do |s|
219
- s.spec_files = spec_files
240
+ spec_task.new(:lump) do |s|
241
+ s.spec_files = spec_files unless rspec2?
220
242
  set_spec_opts(s)
221
243
  spec_proc.call(s) if spec_proc
222
244
  end
223
245
 
224
246
  desc "Run all specs to profile"
225
- Spec::Rake::SpecTask.new(:profile) do |s|
247
+ spec_task.new(:profile) do |s|
226
248
  set_spec_opts(s)
227
- s.spec_opts << "-f" << "profile"
249
+ if rspec2?
250
+ s.rspec_opts << "-p"
251
+ else
252
+ s.spec_opts << "-f" << "profile"
253
+ end
228
254
  end
229
255
 
230
- `grep -sRn '#[[:space:]]*here[[:space:]]*$' spec`.split(/\n/).map{|l|
256
+ `grep -sRn '#[[:space:]]*here\\([[:space:]]\\|$\\)' spec`.split(/\n/).map{|l|
231
257
  next nil unless l=~/\A(.*?):(\d+):/
232
258
  [$1, $2.to_i]
233
259
  }.compact.sort{|a, b| FILE_SORT.call(a[0], b[0])}.reverse.each do |file, line|
234
260
  desc ""
235
- Spec::Rake::SpecTask.new(:here) do |s|
236
- s.spec_files = [file]
261
+ spec_task.new(:here) do |s|
237
262
  set_spec_opts(s)
238
- s.spec_opts << "-l#{line}"
263
+ if rspec2?
264
+ s.pattern = file
265
+ s.rspec_opts << "-l#{line}"
266
+ else
267
+ s.spec_files = [file]
268
+ s.spec_opts << "-l#{line}"
269
+ end
239
270
  spec_proc.call(s) if spec_proc
240
271
  end
241
272
  end
@@ -273,6 +304,8 @@ class UtiRake
273
304
  end
274
305
 
275
306
  def rcov_opts(t, aggregation)
307
+ t.rcov_opts ||= []
308
+ t.rcov_opts << "-I" << "./spec:./lib:./external/lib"
276
309
  t.rcov_opts << "--exclude" << "gems\/,features\/,external\/"
277
310
  t.rcov_opts << "--aggregate" << "coverage.data" if aggregation
278
311
  t.rcov = true
@@ -280,12 +313,17 @@ class UtiRake
280
313
 
281
314
  def define_rcov_each_task(aggregation)
282
315
  if need_spec?
283
- Spec::Rake::SpecTask.new do |t|
284
- t.spec_files = spec_files
316
+ spec_task.new do |t|
317
+ t.verbose = false
285
318
  rcov_opts(t, aggregation)
286
- set_spec_opts(t)
319
+ if rspec2?
320
+ t.rcov_opts << "-o" << "coverage.spec" unless aggregation
321
+ else
322
+ set_spec_opts(t)
323
+ t.spec_files = spec_files
324
+ t.rcov_dir = "coverage.spec" unless aggregation
325
+ end
287
326
  rcov_spec_proc.call(t) if rcov_spec_proc
288
- t.rcov_dir = "coverage.spec" unless aggregation
289
327
  end
290
328
  else
291
329
  task "spec"