rim 2.2.1 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d4c1b1ac9350cda5c632b3e3bd91c5ed165dc0a3
4
- data.tar.gz: 9e070410875bf0bd6b838e098b64e523b72cef28
3
+ metadata.gz: ba3a64044bed81c4ba9e3f046fe85623fc9633b1
4
+ data.tar.gz: 8e3b38db48ed26354d0c5b9c2faed5c76fec4de0
5
5
  SHA512:
6
- metadata.gz: 6795df6e403bbedc271a0227367d9eef159752597f7d294e597ef7db28ff80e09d9c2953021126513af8a369fdbc81dec6235ecd7b21b361ebb4b901602e2241
7
- data.tar.gz: 486bae4b40e581db2394e8793aa09c99fbf92f405c0bb64f8fe4968e784c7954a7a13ebadf45fb6df8967fb80bff07031813a846e6ef057ba4a166cfdb25ba0a
6
+ metadata.gz: e4f98cd6f7d5367d30fab3899d7aceef972dbe807f677b38a3711c15cd4b5035b70b1cfe3534f5365b2b1db1050f21d03850831bfe75d140e86c6af6d7867c4f
7
+ data.tar.gz: 13bdfc0af503ea6f00bc908bdcff856c5e95abf7f6f92d76cf8e936c5ab6c38340bc7b3f79ef1c8c473abf0001eb9dd18e297c8c305dfe951f07e5f3e41b3e96
data/Changelog CHANGED
@@ -1,5 +1,10 @@
1
+ 2.3.0
2
+ Complete rewrite of gem specific tasks to make them lazy.
3
+ New option Rim#regtest_files.
4
+ Include regtest files in gem.
5
+
1
6
  2.2.1
2
- Adding rim/check_version again with a fail message to avoid approve
7
+ Adding rim/check_version again with a fail message to approve
3
8
  backwards compatibility.
4
9
 
5
10
  2.2.0
data/Rakefile CHANGED
@@ -22,5 +22,4 @@ Rim.setup do
22
22
  Goal is to have a project managing that just works on many Ruby
23
23
  versions as possible and is easy to extend. Feel free to dislike it. ;)
24
24
  END
25
- development_dependencies << 'regtest'
26
25
  end
data/lib/rim/gem.rb CHANGED
@@ -40,69 +40,67 @@ Rim.defaults do
40
40
  requirements []
41
41
  end
42
42
 
43
- Rim.after_setup do
44
- klass = nil
45
- begin
46
- require 'rubygems/package_task'
47
- klass = Gem::PackageTask
48
- rescue LoadError
49
- require 'rake/gempackagetask'
50
- klass = Rake::GemPackageTask
51
- end
43
+ directory 'pkg'
44
+ CLOBBER << 'pkg'
52
45
 
53
- if klass
54
- task :gem do
55
- puts "Building #{name}-#{version}.gem"
56
- end
57
46
 
58
- spec = Gem::Specification.new do |s|
59
- s.authors = authors
60
- s.email = email
61
- s.platform = Gem::Platform::RUBY
62
- s.description = description
63
- s.license = license if license
64
- s.homepage = homepage
65
- s.name = name
66
- s.summary = summary
67
- s.version = version
68
- s.require_paths = require_paths
69
- s.files = gem_files
70
- s.required_ruby_version = ruby_version if ruby_version
71
- s.post_install_message = install_message
72
- s.requirements = Array(requirements)
73
- Array(dependencies).each do |dep|
74
- s.add_dependency *Array(dep)
75
- end
76
- Array(development_dependencies).each do |dep|
77
- s.add_development_dependency *Array(dep)
47
+ Rim.after_setup do
48
+
49
+ require 'rubygems/package'
50
+
51
+ gem_file = "pkg/#{name}-#{version}.gem"
52
+
53
+ desc "Build the gem file #{gem_file}"
54
+ task :gem => 'gem:build'
55
+
56
+ namespace :gem do
57
+
58
+ task :build => 'pkg' do
59
+ spec = Gem::Specification.new do |s|
60
+ s.authors = authors
61
+ s.email = email
62
+ s.platform = Gem::Platform::RUBY
63
+ s.description = description
64
+ s.license = license if license
65
+ s.homepage = homepage
66
+ s.name = name
67
+ s.summary = summary
68
+ s.version = version
69
+ s.require_paths = Array(require_paths)
70
+ s.files = Array(gem_files)
71
+ s.required_ruby_version = ruby_version if ruby_version
72
+ s.post_install_message = install_message
73
+ s.requirements = Array(requirements)
74
+ Array(dependencies).each do |dep|
75
+ s.add_dependency *Array(dep)
76
+ end
77
+ Array(development_dependencies).each do |dep|
78
+ s.add_development_dependency *Array(dep)
79
+ end
78
80
  end
81
+ Gem::Package.build spec
82
+ mv File.basename(gem_file), 'pkg'
79
83
  end
80
84
 
81
- task_object = klass.new(spec) do |pkg|
85
+ desc "Push the gem #{name} version #{version} to rubygems.org"
86
+ task :push => :gem do
87
+ sh "gem push #{gem_file}"
82
88
  end
83
89
 
84
- gem_filename = format('%s/%s.gem', task_object.package_dir, task_object.name)
85
-
86
- namespace :gem do
87
- desc 'Push the gem to rubygems.org'
88
- task :push => :gem do
89
- sh "gem push #{gem_filename}"
90
- end
91
- end
90
+ end
92
91
 
93
- desc "Install #{gem_filename}"
94
- task :install => :gem do
95
- sh "gem install #{gem_filename}"
96
- end
92
+ desc "Install version #{version}"
93
+ task :install => :gem do
94
+ sh "gem install #{gem_file}"
95
+ end
97
96
 
98
- desc "Uninstall gem #{name} version #{version}"
99
- task :uninstall do
100
- sh "gem uninstall --version #{version} #{name}"
101
- end
97
+ desc "Uninstall version #{version}"
98
+ task :uninstall do
99
+ sh "gem uninstall --version #{version} #{name}"
100
+ end
102
101
 
103
- if feature_loaded? 'rim/release'
104
- task :release => 'gem:push'
105
- end
102
+ if feature_loaded? 'rim/release'
103
+ task :release => 'gem:push'
106
104
  end
107
105
 
108
106
  end
data/lib/rim/regtest.rb CHANGED
@@ -1,2 +1,18 @@
1
1
  # -- encoding: utf-8 --
2
2
  require 'regtest/task'
3
+
4
+ class Rim
5
+ # Files to handle with regtest (default: <tt>REGTEST_FILES</tt>)
6
+ attr_accessor :regtest_files
7
+ end
8
+
9
+ Rim.defaults do
10
+ regtest_files ::REGTEST_FILES
11
+ end
12
+
13
+ Rim.after_setup do
14
+ if feature_loaded? 'rim/gem'
15
+ self.gem_files += ::REGTEST_FILES
16
+ development_dependencies << %w(regtest ~>0.4)
17
+ end
18
+ end
data/lib/rim.rb CHANGED
@@ -9,7 +9,7 @@ require 'singleton'
9
9
  # versions as possible and is easy to extend. Feel free to dislike it. ;)
10
10
  class Rim
11
11
 
12
- VERSION = '2.2.1'
12
+ VERSION = '2.3.0'
13
13
 
14
14
  begin
15
15
  require 'rake/dsl_definition'
@@ -0,0 +1,14 @@
1
+ # -- encoding: utf-8 --
2
+ require 'regtest'
3
+
4
+ `rake -T`.split(/\n/).map {|line| line.split(/#/).first.strip}.each do |cmd|
5
+ next if cmd =~ /(regtest)|(irb)|(pry)|(ripl)/
6
+ cmd.sub! /rake/, 'rake -n'
7
+ Regtest.sample cmd do
8
+ res = `#{cmd} 2>&1`
9
+ res.split(/\n/).grep(/Execute/)
10
+ end
11
+ end
12
+
13
+
14
+
@@ -0,0 +1,6 @@
1
+ # -- encoding: utf-8 --
2
+ require 'regtest'
3
+
4
+ Regtest.sample 'rake -P' do
5
+ `rake -P SELFTEST=true`
6
+ end
@@ -0,0 +1,35 @@
1
+ # -- encoding: utf-8 --
2
+ require 'regtest'
3
+ require 'fileutils'
4
+ require 'tmpdir'
5
+
6
+ RakefileHeader = <<-END
7
+ require 'rim'
8
+ END
9
+
10
+ RakefileFooter = <<-END
11
+
12
+ Rim.setup do
13
+ name 'xxx'
14
+ version '0.0.1'
15
+ end
16
+ END
17
+
18
+ lib_path = File.expand_path('lib')
19
+
20
+ Dir['lib/rim/*.rb'].each do |fn|
21
+ next if fn =~/rimrc/
22
+ Regtest.sample fn do
23
+ Dir.chdir(Dir.tmpdir) do
24
+ FileUtils.mkdir_p('test')
25
+ FileUtils.touch('test/test.rb')
26
+ File.open('Rakefile', 'w') do |f|
27
+ f.write RakefileHeader
28
+ mod = File.basename(fn, '.rb')
29
+ f.write "require 'rim/#{mod}'\n"
30
+ f.write RakefileFooter
31
+ end
32
+ `rake -I #{lib_path} -P -- SELFTEST=true`
33
+ end
34
+ end
35
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rim
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Friedrich
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-04 00:00:00.000000000 Z
11
+ date: 2014-03-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rim
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.2'
19
+ version: '2.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.2'
26
+ version: '2.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: regtest
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '0.4'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '0.4'
41
41
  description: |
42
42
  Goal is to have a project managing that just works on many Ruby
43
43
  versions as possible and is easy to extend. Feel free to dislike it. ;)
@@ -67,6 +67,9 @@ files:
67
67
  - lib/rim/test.rb
68
68
  - lib/rim/tire.rb
69
69
  - lib/rim/version.rb
70
+ - regtest/execution.rb
71
+ - regtest/global_deps.rb
72
+ - regtest/mod_deps.rb
70
73
  - test/test_helper_methods.rb
71
74
  homepage: http://gitorious.org/rim
72
75
  licenses: