rim 1.9.0 → 2.0.0
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.
- 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
|