rim 1.9.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Changelog +11 -2
- data/README.rdoc +1 -1
- data/Rakefile +4 -0
- data/lib/rim/aspell.rb +17 -4
- data/lib/rim/check_version.rb +5 -4
- data/lib/rim/gem.rb +28 -20
- data/lib/rim/git.rb +5 -5
- data/lib/rim/regtest.rb +2 -0
- data/lib/rim/release.rb +4 -3
- data/lib/rim/test.rb +7 -0
- data/lib/rim.rb +13 -2
- data/test/test_helper_methods.rb +30 -8
- metadata +19 -5
- data/lib/rim/install.rb +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e36d2436b1aa607d1c650ad7ccc4307cd6d7863
|
4
|
+
data.tar.gz: 3e50060fb3e55f52fa12d75b59b71f9ee8a0f57e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3744ff51d7fcd3e4233d41b0b2d89d9418607cb7d1778d6952e085111bb5c7cdcb7058dfbba3f0c449843bf342b79b53b492e127bac02f941cd16f88cb8d0cad
|
7
|
+
data.tar.gz: accf9d5582c9dc6b7ba3baa97ed0d3748fdad8384427e0f3a99cc554e7a0d8009501b9f74d3a3d1cafea54c49d70e476973face9d0415dbe481dae50d7045642
|
data/Changelog
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
2.0.0
|
2
|
+
Using gem standard to describe versions in dependencies,
|
3
|
+
this breaks backwards compatibility.
|
4
|
+
New rake tasks aspell:check and regtest.
|
5
|
+
Restructuring internals using
|
6
|
+
Rim#feature_loaded? instead of require to describe
|
7
|
+
dependencies between modules.
|
8
|
+
Optimizing some internals.
|
9
|
+
|
1
10
|
1.9.0
|
2
11
|
New Rake task aspell.
|
3
12
|
Fix typos and improve some internals.
|
@@ -14,14 +23,14 @@ New option license for gem tasks.
|
|
14
23
|
1.7.0
|
15
24
|
Remove option git_remotes for git_push_commands.
|
16
25
|
This brings a much more flexible way to do things
|
17
|
-
in git:push.
|
26
|
+
in git:push. Please update your ~/.rimrc if
|
18
27
|
necessary.
|
19
28
|
Adding support for local .rimrc files. Now ~/.rimrc
|
20
29
|
is first loaded if it exists and then .rimrc is
|
21
30
|
loaded if it exists.
|
22
31
|
|
23
32
|
1.6.2
|
24
|
-
Make git tasks
|
33
|
+
Make git tasks independent from current
|
25
34
|
locale and push tags.
|
26
35
|
|
27
36
|
1.6.1
|
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -4,7 +4,10 @@ require 'rim/aspell'
|
|
4
4
|
require 'rim/check_version'
|
5
5
|
require 'rim/gem'
|
6
6
|
require 'rim/git'
|
7
|
+
require 'rim/info'
|
7
8
|
require 'rim/rdoc'
|
9
|
+
require 'rim/regtest'
|
10
|
+
require 'rim/release'
|
8
11
|
require 'rim/test'
|
9
12
|
|
10
13
|
Rim.setup do
|
@@ -19,4 +22,5 @@ Rim.setup do
|
|
19
22
|
Goal is to have a project managing that just works on many Ruby
|
20
23
|
versions as possible and is easy to extend. Feel free to dislike it. ;)
|
21
24
|
END
|
25
|
+
development_dependencies << 'regtest'
|
22
26
|
end
|
data/lib/rim/aspell.rb
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
# -- encoding: utf-8 --
|
2
|
-
require 'rim/release'
|
3
|
-
|
4
2
|
class Rim
|
5
|
-
# Files to check via aspell (default: /^README/i)
|
3
|
+
# Files to check via aspell (default: /^README/i, /^Changelog/i)
|
6
4
|
attr_accessor :aspell_files
|
7
5
|
|
8
6
|
# Language for aspell (default: 'en')
|
@@ -10,7 +8,7 @@ class Rim
|
|
10
8
|
end
|
11
9
|
|
12
10
|
Rim.defaults do
|
13
|
-
aspell_files filelist(/^README/i)
|
11
|
+
aspell_files filelist(/^README/i, /^Changelog/i)
|
14
12
|
aspell_lang 'en'
|
15
13
|
end
|
16
14
|
|
@@ -21,4 +19,19 @@ Rim.after_setup do
|
|
21
19
|
sh "aspell -c -x -l #{aspell_lang} #{fn}"
|
22
20
|
end
|
23
21
|
end
|
22
|
+
namespace :aspell do
|
23
|
+
desc 'Test if there are no spellcheck errors'
|
24
|
+
task :check do
|
25
|
+
error_files = []
|
26
|
+
aspell_files.each do |fn|
|
27
|
+
unless `aspell list -l #{aspell_lang} < #{fn}`.empty?
|
28
|
+
error_files << fn
|
29
|
+
end
|
30
|
+
end
|
31
|
+
fail "There are spelling errors in #{error_files.join(', ')}" unless error_files.empty?
|
32
|
+
end
|
33
|
+
end
|
34
|
+
if feature_loaded? 'rim/release'
|
35
|
+
task :release => 'aspell:check'
|
36
|
+
end
|
24
37
|
end
|
data/lib/rim/check_version.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
# -- encoding: utf-8 --
|
2
|
-
require 'rim/release'
|
3
2
|
Rim.after_setup do
|
4
3
|
changelog = filelist(/^Changelog/i).first
|
5
4
|
desc "Check version in #{changelog} with Rim#version."
|
@@ -9,11 +8,13 @@ Rim.after_setup do
|
|
9
8
|
end
|
10
9
|
if line =~ /^(\d+\.\d+(?:\.\d+)+)/
|
11
10
|
if $1 != version
|
12
|
-
|
11
|
+
fail "Version error (#{changelog}: #$1, setup: #{version})"
|
13
12
|
end
|
14
13
|
else
|
15
|
-
|
14
|
+
fail "No version information in #{changelog}"
|
16
15
|
end
|
17
16
|
end
|
18
|
-
|
17
|
+
if feature_loaded? 'rim/release'
|
18
|
+
task :release => :check_version
|
19
|
+
end
|
19
20
|
end
|
data/lib/rim/gem.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
# -- encoding: utf-8 --
|
2
|
-
require 'rim/install'
|
3
|
-
require 'rim/release'
|
4
2
|
class Rim
|
5
3
|
# Project / gem description
|
6
4
|
attr_accessor :description
|
@@ -20,7 +18,10 @@ class Rim
|
|
20
18
|
# Files included in the gem (default: <code>/^README/i, /^Changelog/i, /^COPYING/i, /^LICENSE/i, /^Rakefile/i, 'bin/*', 'lib/**/*', 'test/**/*'</code>)
|
21
19
|
attr_accessor :gem_files
|
22
20
|
|
23
|
-
# Dependencies
|
21
|
+
# Dependencies of the gem
|
22
|
+
attr_accessor :dependencies
|
23
|
+
|
24
|
+
# Dependencies for development (default: <code>[%W(rim ~>#{Rim::VERSION.split(/\./)[0..1].join('.')})]</code>)
|
24
25
|
attr_accessor :development_dependencies
|
25
26
|
|
26
27
|
# Required Ruby version
|
@@ -35,7 +36,7 @@ end
|
|
35
36
|
|
36
37
|
Rim.defaults do
|
37
38
|
gem_files filelist(/^README/i, /^Changelog/i, /^COPYING/i, /^LICENSE/i, /^Rakefile/i, 'bin/*', 'lib/**/*', 'test/**/*')
|
38
|
-
development_dependencies [
|
39
|
+
development_dependencies [%W(rim ~>#{Rim::VERSION.split(/\./)[0..1].join('.')})]
|
39
40
|
requirements []
|
40
41
|
end
|
41
42
|
|
@@ -53,6 +54,7 @@ Rim.after_setup do
|
|
53
54
|
task :gem do
|
54
55
|
puts "Building #{name}-#{version}.gem"
|
55
56
|
end
|
57
|
+
|
56
58
|
spec = Gem::Specification.new do |s|
|
57
59
|
s.authors = authors
|
58
60
|
s.email = email
|
@@ -68,33 +70,39 @@ Rim.after_setup do
|
|
68
70
|
s.required_ruby_version = ruby_version if ruby_version
|
69
71
|
s.post_install_message = install_message
|
70
72
|
s.requirements = Array(requirements)
|
71
|
-
Array(
|
72
|
-
|
73
|
-
|
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)
|
74
78
|
end
|
75
79
|
end
|
76
80
|
|
77
81
|
task_object = klass.new(spec) do |pkg|
|
78
82
|
end
|
79
83
|
|
84
|
+
gem_filename = format('%s/%s.gem', task_object.package_dir, task_object.name)
|
85
|
+
|
80
86
|
namespace :gem do
|
81
|
-
gem_filename = format('%s/%s.gem', task_object.package_dir, task_object.name)
|
82
87
|
desc 'Push the gem to rubygems.org'
|
83
|
-
task :push =>
|
88
|
+
task :push => :gem do
|
84
89
|
sh "gem push #{gem_filename}"
|
85
90
|
end
|
86
|
-
desc "Install #{gem_filename}"
|
87
|
-
task :install => :gem do
|
88
|
-
sh "gem install #{gem_filename}"
|
89
|
-
end
|
90
|
-
desc "Uninstall gem #{name} version #{version}"
|
91
|
-
task :uninstall do
|
92
|
-
sh "gem uninstall --version #{version} #{name}"
|
93
|
-
end
|
94
91
|
end
|
95
|
-
|
96
|
-
|
97
|
-
task :
|
92
|
+
|
93
|
+
desc "Install #{gem_filename}"
|
94
|
+
task :install => :gem do
|
95
|
+
sh "gem install #{gem_filename}"
|
96
|
+
end
|
97
|
+
|
98
|
+
desc "Uninstall gem #{name} version #{version}"
|
99
|
+
task :uninstall do
|
100
|
+
sh "gem uninstall --version #{version} #{name}"
|
101
|
+
end
|
102
|
+
|
103
|
+
if feature_loaded? 'rim/release'
|
104
|
+
task :release => :gem
|
105
|
+
end
|
98
106
|
end
|
99
107
|
|
100
108
|
end
|
data/lib/rim/git.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
# -- encoding: utf-8 --
|
2
|
-
require 'rim/release'
|
3
|
-
|
4
2
|
class Rim
|
5
3
|
# Git push commands (default: <tt>['--tags origin master']</tt>)
|
6
4
|
attr_accessor :git_push_commands
|
@@ -23,7 +21,7 @@ Rim.after_setup do
|
|
23
21
|
task :check do
|
24
22
|
res = `git status --porcelain`
|
25
23
|
unless res.empty?
|
26
|
-
|
24
|
+
fail 'Git tree is not clean'
|
27
25
|
end
|
28
26
|
end
|
29
27
|
desc 'Push master to git remotes'
|
@@ -33,8 +31,10 @@ Rim.after_setup do
|
|
33
31
|
end
|
34
32
|
end
|
35
33
|
end
|
36
|
-
|
37
|
-
|
34
|
+
if feature_loaded? 'rim/release'
|
35
|
+
task :release => 'git:check' do
|
36
|
+
invoke 'git:tag'
|
37
|
+
end
|
38
38
|
end
|
39
39
|
end
|
40
40
|
end
|
data/lib/rim/regtest.rb
ADDED
data/lib/rim/release.rb
CHANGED
data/lib/rim/test.rb
CHANGED
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 = '
|
12
|
+
VERSION = '2.0.0'
|
13
13
|
|
14
14
|
begin
|
15
15
|
require 'rake/dsl_definition'
|
@@ -72,6 +72,17 @@ class Rim
|
|
72
72
|
res
|
73
73
|
end
|
74
74
|
|
75
|
+
# Helper method to check if a module is already required
|
76
|
+
# Example: feature_loaded?('rim/release')
|
77
|
+
def feature_loaded? name
|
78
|
+
! $LOADED_FEATURES.grep(%r(/#{name}\.rb$)).empty?
|
79
|
+
end
|
80
|
+
|
81
|
+
# Helper method to prepend dependencies of tasks
|
82
|
+
def prepend_dep dep, t
|
83
|
+
task(t).prerequisites.unshift(dep)
|
84
|
+
end
|
85
|
+
|
75
86
|
private
|
76
87
|
|
77
88
|
def self.attr_accessor attr
|
@@ -92,4 +103,4 @@ class Rim
|
|
92
103
|
end
|
93
104
|
|
94
105
|
require 'rim/core'
|
95
|
-
require 'rim/rimrc'
|
106
|
+
require 'rim/rimrc' unless ENV['SELFTEST']
|
data/test/test_helper_methods.rb
CHANGED
@@ -8,19 +8,41 @@ class TestHelperMethods < Test::Unit::TestCase
|
|
8
8
|
attr_accessor :some_new_attr
|
9
9
|
end
|
10
10
|
|
11
|
+
def setup
|
12
|
+
@rim = Rim.instance
|
13
|
+
end
|
14
|
+
|
11
15
|
def test_attr_accessor
|
12
|
-
rim
|
13
|
-
|
14
|
-
rim.some_new_attr
|
15
|
-
|
16
|
-
rim.some_new_attr
|
17
|
-
assert_equal :advanced_setter, rim.some_new_attr
|
16
|
+
assert_nil @rim.some_new_attr, 'New attribute must be nil.'
|
17
|
+
@rim.some_new_attr = :standard_setter
|
18
|
+
assert_equal :standard_setter, @rim.some_new_attr
|
19
|
+
@rim.some_new_attr :advanced_setter
|
20
|
+
assert_equal :advanced_setter, @rim.some_new_attr
|
18
21
|
end
|
19
22
|
|
20
23
|
def test_filelist
|
21
|
-
|
22
|
-
fl = rim.filelist(/^rakefile/i, 'lib')
|
24
|
+
fl = @rim.filelist(/^rakefile/i, 'lib')
|
23
25
|
assert_equal %w(Rakefile lib), fl.to_a
|
24
26
|
end
|
25
27
|
|
28
|
+
def test_feature_loaded
|
29
|
+
assert_equal false, @rim.feature_loaded?('et/http')
|
30
|
+
assert_equal false, @rim.feature_loaded?('net/htt')
|
31
|
+
assert_equal false, @rim.feature_loaded?('net/http')
|
32
|
+
require 'net/http'
|
33
|
+
assert_equal false, @rim.feature_loaded?('et/http')
|
34
|
+
assert_equal false, @rim.feature_loaded?('net/htt')
|
35
|
+
assert_equal true, @rim.feature_loaded?('net/http')
|
36
|
+
end
|
37
|
+
|
38
|
+
require 'rake'
|
39
|
+
require 'rake/dsl_definition'
|
40
|
+
include Rake::DSL
|
41
|
+
|
42
|
+
def test_prepend_dep
|
43
|
+
t = task :a => :b
|
44
|
+
@rim.prepend_dep :c, :a
|
45
|
+
assert_equal [:c, :b], task(:a).prerequisites.map {|e| e.to_sym}
|
46
|
+
end
|
47
|
+
|
26
48
|
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:
|
4
|
+
version: 2.0.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-02-
|
11
|
+
date: 2014-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rim
|
@@ -16,14 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.0'
|
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: '
|
26
|
+
version: '2.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: regtest
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
description: |
|
28
42
|
Goal is to have a project managing that just works on many Ruby
|
29
43
|
versions as possible and is easy to extend. Feel free to dislike it. ;)
|
@@ -43,10 +57,10 @@ files:
|
|
43
57
|
- lib/rim/gem.rb
|
44
58
|
- lib/rim/git.rb
|
45
59
|
- lib/rim/info.rb
|
46
|
-
- lib/rim/install.rb
|
47
60
|
- lib/rim/irb.rb
|
48
61
|
- lib/rim/pry.rb
|
49
62
|
- lib/rim/rdoc.rb
|
63
|
+
- lib/rim/regtest.rb
|
50
64
|
- lib/rim/release.rb
|
51
65
|
- lib/rim/rimrc.rb
|
52
66
|
- lib/rim/ripl.rb
|