gemma 1.0.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.
- data/README.rdoc +73 -94
- data/bin/gemma +1 -1
- data/lib/gemma.rb +4 -2
- data/lib/gemma/conventions.rb +21 -26
- data/lib/gemma/gem_from_template.rb +4 -10
- data/lib/gemma/options.rb +8 -4
- data/lib/gemma/rake_tasks.rb +11 -10
- data/lib/gemma/rake_tasks/gem_tasks.rb +38 -0
- data/lib/gemma/rake_tasks/{test_unit_tasks.rb → minitest_tasks.rb} +11 -7
- data/lib/gemma/rake_tasks/plugin.rb +2 -0
- data/lib/gemma/rake_tasks/rdoc_tasks.rb +4 -26
- data/lib/gemma/rake_tasks/run_tasks.rb +7 -16
- data/lib/gemma/rake_tasks/yard_tasks.rb +2 -1
- data/lib/gemma/version.rb +4 -1
- data/template/base/Gemfile +3 -0
- data/template/base/Rakefile.rb.erb +4 -7
- data/template/base/gem_name.gemspec.erb +5 -6
- data/template/base/lib/gem_name/version.rb.erb +4 -1
- data/template/executable/bin/gem_name.erb +1 -1
- data/template/{test_unit/test/test_gem_name.rb.erb → minitest/test/gem_name/gem_name_test.rb.erb} +2 -2
- data/test/gemma/gem_from_template_test.rb +64 -0
- data/test/gemma/gemma_new_test.rb +121 -0
- data/test/{test_gemma.rb → gemma/gemma_test.rb} +10 -23
- data/test/{test_options.rb → gemma/options_test.rb} +2 -4
- metadata +131 -80
- data/lib/gemma/rake_tasks/rcov_tasks.rb +0 -85
@@ -1,9 +1,7 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require "gemma"
|
4
|
-
require "set"
|
1
|
+
require 'gemma/test_helper'
|
2
|
+
require 'set'
|
5
3
|
|
6
|
-
class
|
4
|
+
class Gemma::GemmaTest < Test::Unit::TestCase
|
7
5
|
# Can load empty spec.
|
8
6
|
def test_empty_spec
|
9
7
|
s = Gem::Specification.new
|
@@ -119,32 +117,21 @@ class TestGemma < Test::Unit::TestCase
|
|
119
117
|
s = Gem::Specification.new
|
120
118
|
s.files = %w(lib/a.rb lib/b.rb)
|
121
119
|
s.test_files = %w(test/test_a.rb test/test_b.rb)
|
122
|
-
s.require_paths << '
|
120
|
+
s.require_paths << 'foo'
|
121
|
+
|
122
|
+
# annoyance: if we ran this test with rake TEST=... then the environmental
|
123
|
+
# variable will affect the outcome below; clear it
|
124
|
+
ENV.delete('TEST')
|
123
125
|
|
124
126
|
Gemma::RakeTasks.new(s) do |g|
|
125
127
|
g.test.with_test_task do |tt|
|
126
|
-
assert_equal %w(lib
|
128
|
+
assert_equal %w(lib foo test).to_set, tt.libs.to_set
|
127
129
|
assert_equal %w(test/test_a.rb test/test_b.rb).to_set,
|
128
130
|
tt.file_list.to_a.to_set
|
129
131
|
end
|
130
132
|
end
|
131
133
|
end
|
132
134
|
|
133
|
-
def test_rcov_tasks
|
134
|
-
s = Gem::Specification.new
|
135
|
-
s.files = %w(lib/a.rb lib/b.rb)
|
136
|
-
s.test_files = %w(test/test_a.rb test/test_b.rb)
|
137
|
-
s.require_paths << 'ext'
|
138
|
-
|
139
|
-
Gemma::RakeTasks.new(s) do |g|
|
140
|
-
g.rcov.with_rcov_task do |rcov|
|
141
|
-
assert_equal %w(lib ext).to_set, rcov.libs.to_set
|
142
|
-
assert_equal %w(test/test_a.rb test/test_b.rb).to_set,
|
143
|
-
rcov.file_list.to_a.to_set
|
144
|
-
end
|
145
|
-
end
|
146
|
-
end
|
147
|
-
|
148
135
|
def test_conventions_good_gem_name
|
149
136
|
assert Gemma::Conventions.good_gem_name?("my_gem_name")
|
150
137
|
assert Gemma::Conventions.good_gem_name?("my-gem-name")
|
@@ -172,7 +159,7 @@ class TestGemma < Test::Unit::TestCase
|
|
172
159
|
# Exercise usage message for bin/gemma.
|
173
160
|
#
|
174
161
|
def test_print_usage
|
175
|
-
gemma_file = File.join(File.dirname(__FILE__), '..', 'bin', 'gemma')
|
162
|
+
gemma_file = File.join(File.dirname(__FILE__), '..', '..', 'bin', 'gemma')
|
176
163
|
io = StringIO.new
|
177
164
|
Gemma::Utility.print_usage_from_file_comment gemma_file, '#', io
|
178
165
|
assert io.string =~ /gemma/
|
metadata
CHANGED
@@ -1,125 +1,176 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemma
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 0
|
10
|
-
version: 1.0.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.0
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- John Lees-Miller
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
12
|
+
date: 2011-09-05 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: bundler
|
16
|
+
requirement: &84340330 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 1.0.18
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *84340330
|
25
|
+
- !ruby/object:Gem::Dependency
|
22
26
|
name: highline
|
27
|
+
requirement: &84339980 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ~>
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.6.2
|
33
|
+
type: :runtime
|
23
34
|
prerelease: false
|
24
|
-
|
35
|
+
version_requirements: *84339980
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rake
|
38
|
+
requirement: &84339640 !ruby/object:Gem::Requirement
|
25
39
|
none: false
|
26
|
-
requirements:
|
27
|
-
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 13
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 6
|
33
|
-
- 1
|
34
|
-
version: 1.6.1
|
40
|
+
requirements:
|
35
41
|
- - ~>
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
|
38
|
-
segments:
|
39
|
-
- 1
|
40
|
-
- 6
|
41
|
-
version: "1.6"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.9.2
|
42
44
|
type: :runtime
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *84339640
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rdoc
|
49
|
+
requirement: &84339340 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 3.9.4
|
55
|
+
type: :runtime
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *84339340
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: yard
|
60
|
+
requirement: &84338900 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ~>
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 0.7.2
|
66
|
+
type: :runtime
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *84338900
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: minitest
|
71
|
+
requirement: &84338550 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ~>
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 2.5.1
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *84338550
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: open4
|
82
|
+
requirement: &84338230 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ~>
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 1.1.0
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *84338230
|
91
|
+
description: ! 'Gemma is a gem development helper like hoe and jeweler, but it keeps
|
92
|
+
the gemspec
|
93
|
+
|
94
|
+
in a gemspec file, instead of in a Rakefile. This helps your gem to play nicely
|
50
95
|
|
51
|
-
|
96
|
+
with commands like gem and bundle, and it allows gemma to provide rake tasks
|
97
|
+
|
98
|
+
with sensible defaults for many common gem development tasks.
|
99
|
+
|
100
|
+
'
|
101
|
+
email:
|
52
102
|
- jdleesmiller@gmail.com
|
53
|
-
executables:
|
103
|
+
executables:
|
54
104
|
- gemma
|
55
105
|
extensions: []
|
56
|
-
|
57
|
-
extra_rdoc_files:
|
106
|
+
extra_rdoc_files:
|
58
107
|
- README.rdoc
|
59
108
|
- bin/gemma
|
60
|
-
files:
|
109
|
+
files:
|
61
110
|
- lib/gemma.rb
|
62
|
-
- lib/gemma/
|
63
|
-
- lib/gemma/gem_from_template.rb
|
111
|
+
- lib/gemma/version.rb
|
64
112
|
- lib/gemma/conventions.rb
|
65
|
-
- lib/gemma/rake_tasks
|
113
|
+
- lib/gemma/rake_tasks.rb
|
114
|
+
- lib/gemma/utility.rb
|
115
|
+
- lib/gemma/gem_from_template.rb
|
66
116
|
- lib/gemma/rake_tasks/rdoc_tasks.rb
|
67
|
-
- lib/gemma/rake_tasks/
|
68
|
-
- lib/gemma/rake_tasks/
|
117
|
+
- lib/gemma/rake_tasks/gem_tasks.rb
|
118
|
+
- lib/gemma/rake_tasks/minitest_tasks.rb
|
69
119
|
- lib/gemma/rake_tasks/yard_tasks.rb
|
120
|
+
- lib/gemma/rake_tasks/run_tasks.rb
|
70
121
|
- lib/gemma/rake_tasks/plugin.rb
|
71
|
-
- lib/gemma/
|
72
|
-
- lib/gemma/rake_tasks.rb
|
73
|
-
- lib/gemma/utility.rb
|
122
|
+
- lib/gemma/options.rb
|
74
123
|
- template/base/.gitignore
|
75
124
|
- template/base/Rakefile.rb.erb
|
76
125
|
- template/base/README.rdoc.erb
|
77
|
-
- template/base/
|
126
|
+
- template/base/Gemfile
|
78
127
|
- template/base/lib/gem_name.rb.erb
|
79
128
|
- template/base/lib/gem_name/version.rb.erb
|
129
|
+
- template/base/gem_name.gemspec.erb
|
130
|
+
- template/minitest/test/gem_name/gem_name_test.rb.erb
|
80
131
|
- template/executable/bin/gem_name.erb
|
81
|
-
- template/test_unit/test/test_gem_name.rb.erb
|
82
132
|
- README.rdoc
|
83
133
|
- bin/gemma
|
84
|
-
- test/
|
85
|
-
- test/
|
86
|
-
|
134
|
+
- test/gemma/options_test.rb
|
135
|
+
- test/gemma/gem_from_template_test.rb
|
136
|
+
- test/gemma/gemma_new_test.rb
|
137
|
+
- test/gemma/gemma_test.rb
|
87
138
|
homepage: http://github.com/jdleesmiller/gemma
|
88
139
|
licenses: []
|
89
|
-
|
90
140
|
post_install_message:
|
91
|
-
rdoc_options:
|
141
|
+
rdoc_options:
|
92
142
|
- --main
|
93
143
|
- README.rdoc
|
94
144
|
- --title
|
95
|
-
- gemma-
|
96
|
-
require_paths:
|
145
|
+
- gemma-2.0.0 Documentation
|
146
|
+
require_paths:
|
97
147
|
- lib
|
98
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
148
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
99
149
|
none: false
|
100
|
-
requirements:
|
101
|
-
- -
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
|
104
|
-
segments:
|
150
|
+
requirements:
|
151
|
+
- - ! '>='
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
154
|
+
segments:
|
105
155
|
- 0
|
106
|
-
|
107
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
156
|
+
hash: -636449327
|
157
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
158
|
none: false
|
109
|
-
requirements:
|
110
|
-
- -
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
|
113
|
-
segments:
|
159
|
+
requirements:
|
160
|
+
- - ! '>='
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: '0'
|
163
|
+
segments:
|
114
164
|
- 0
|
115
|
-
|
165
|
+
hash: -636449327
|
116
166
|
requirements: []
|
117
|
-
|
118
167
|
rubyforge_project:
|
119
|
-
rubygems_version: 1.
|
168
|
+
rubygems_version: 1.8.10
|
120
169
|
signing_key:
|
121
170
|
specification_version: 3
|
122
|
-
summary:
|
123
|
-
test_files:
|
124
|
-
- test/
|
125
|
-
- test/
|
171
|
+
summary: A gem development tool that plays well with bundler.
|
172
|
+
test_files:
|
173
|
+
- test/gemma/options_test.rb
|
174
|
+
- test/gemma/gem_from_template_test.rb
|
175
|
+
- test/gemma/gemma_new_test.rb
|
176
|
+
- test/gemma/gemma_test.rb
|
@@ -1,85 +0,0 @@
|
|
1
|
-
module Gemma
|
2
|
-
class RakeTasks
|
3
|
-
#
|
4
|
-
# Create tasks to run test coverage using the built-in `rcov` tool. By
|
5
|
-
# default, the `test_files` given in the gemspec are used to measure
|
6
|
-
# coverage.
|
7
|
-
#
|
8
|
-
# This plugin is based on the `Rcov::RcovTask` that comes bundled with rcov.
|
9
|
-
# If you need an option that isn't exposed by the plugin, you can modify the
|
10
|
-
# `RcovTask` object directly in a block passed to {#with_rcov_task}.
|
11
|
-
#
|
12
|
-
class RcovTasks < Plugin
|
13
|
-
#
|
14
|
-
# @param [Gem::Specification] gemspec
|
15
|
-
#
|
16
|
-
def initialize gemspec
|
17
|
-
super(gemspec)
|
18
|
-
|
19
|
-
# Defaults.
|
20
|
-
@task_name = :rcov
|
21
|
-
@output = 'rcov'
|
22
|
-
@files = gemspec.test_files.dup
|
23
|
-
@with_rcov_task = nil
|
24
|
-
end
|
25
|
-
|
26
|
-
#
|
27
|
-
# Name of rake task; defaults to rcov.
|
28
|
-
#
|
29
|
-
# @return [Symbol]
|
30
|
-
#
|
31
|
-
attr_accessor :task_name
|
32
|
-
|
33
|
-
#
|
34
|
-
# Output directory for the XHTML report; defaults to rcov.
|
35
|
-
#
|
36
|
-
# @return [String]
|
37
|
-
#
|
38
|
-
attr_accessor :output
|
39
|
-
|
40
|
-
#
|
41
|
-
# The files to test; defaults to the +test_files+ from the gemspec.
|
42
|
-
#
|
43
|
-
# @return [Array<String>]
|
44
|
-
#
|
45
|
-
attr_accessor :files
|
46
|
-
|
47
|
-
#
|
48
|
-
# Customize the rcov task.
|
49
|
-
#
|
50
|
-
# @yield [rcov] called after the defaults are set but before the rcov task
|
51
|
-
# is generated
|
52
|
-
#
|
53
|
-
# @yieldparam [Rcov::RcovTask] rcov
|
54
|
-
#
|
55
|
-
# @return [nil]
|
56
|
-
#
|
57
|
-
def with_rcov_task &block
|
58
|
-
@with_rcov_task = block
|
59
|
-
nil
|
60
|
-
end
|
61
|
-
|
62
|
-
#
|
63
|
-
# Internal method; see {Plugin#create_rake_tasks}.
|
64
|
-
#
|
65
|
-
# @return [nil]
|
66
|
-
#
|
67
|
-
# @private
|
68
|
-
#
|
69
|
-
def create_rake_tasks
|
70
|
-
require 'rcov/rcovtask'
|
71
|
-
Rcov::RcovTask.new(self.task_name) do |rcov|
|
72
|
-
rcov.libs = gemspec.require_paths
|
73
|
-
rcov.test_files = self.files
|
74
|
-
rcov.warning = true
|
75
|
-
rcov.rcov_opts << "-x ^/"
|
76
|
-
rcov.output_dir = self.output
|
77
|
-
@with_rcov_task.call(rcov) if @with_rcov_task
|
78
|
-
end
|
79
|
-
nil
|
80
|
-
rescue LoadError
|
81
|
-
# Assume rcov is not installed.
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|