gemma 3.0.0 → 4.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 +15 -0
- data/README.rdoc +8 -10
- data/lib/gemma.rb +0 -1
- data/lib/gemma/rake_tasks.rb +3 -9
- data/lib/gemma/version.rb +1 -1
- data/template/base/.gitignore +3 -0
- data/template/base/gem_name.gemspec.erb +0 -2
- data/template/minitest/test/gem_name/gem_name_test.rb.erb +2 -2
- data/test/gemma/gem_from_template_test.rb +2 -2
- data/test/gemma/gemma_new_test.rb +3 -9
- data/test/gemma/gemma_test.rb +3 -14
- data/test/gemma/options_test.rb +3 -3
- metadata +66 -57
- data/lib/gemma/rake_tasks/run_tasks.rb +0 -64
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NTYwMGFlZTBkMzY3MzY4NDUyMDVkMTFhNmJlNDQ2ZGM4NGQ3MTUxOQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
NGU5NjIzNWQ3ZWFmYTY4OGEzMGQ0ODlhYTkwYjdhMzEyNWYwNWE5Mg==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MGFlMDc5ZWY5NGE0NTYzYzViNjFjMDhkMzIxZDlmOWJlYWY3NWUwZWY0NWE5
|
10
|
+
NGZkZmYyN2Q0NGRlOTJkZjBlMDYwYzBhYzNiZmFmYmVjMDVhOTc4MWVlZDI4
|
11
|
+
OTQxYjY5MDE1OTUxYjMxMmYxOWE1YTJhNWYyMGRmZWU2Yzc4MTM=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
YjQxYjE4ZGE2NmFkMjc1NzkwMThhZmFjYzgzNzM3ZGM3N2UxOTEzMWQ1YjY5
|
14
|
+
NjlhZGYzNzFmN2ZkZDY5YTYyMjBiMTMzOGEzNTY4ZWVhZjIwMGYyYzFlZjA1
|
15
|
+
MTkxMDZmN2NiYzg0ODAzZTNhZTc1NDQ5OWYyMzM1MDc4OWVmMGU=
|
data/README.rdoc
CHANGED
@@ -79,7 +79,6 @@ Run <tt>rake -T</tt> for a full list of tasks.
|
|
79
79
|
rake clobber # Remove any generated file.
|
80
80
|
rake clobber_rdoc # Remove RDoc HTML files
|
81
81
|
rake install # Build and install my_gem-0.0.1.gem into system gems
|
82
|
-
rake my_gem[args] # run my_gem
|
83
82
|
rake rdoc # Build RDoc HTML files
|
84
83
|
rake release # Create tag v0.0.1 and build and push my_gem-0.0.1.gem ...
|
85
84
|
rake rerdoc # Rebuild RDoc HTML files
|
@@ -94,14 +93,6 @@ You can customize the standard tasks by passing a block to +with_gemspec_file+:
|
|
94
93
|
|
95
94
|
See the gemma API docs for more information.
|
96
95
|
|
97
|
-
== REQUIREMENTS
|
98
|
-
|
99
|
-
Gemma has been tested on:
|
100
|
-
* ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux] and [x86_64-linux]
|
101
|
-
* ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux] and [x86_64-linux]
|
102
|
-
|
103
|
-
Gemma has not yet been tested on Windows or Mac OS X.
|
104
|
-
|
105
96
|
== INSTALLATION
|
106
97
|
|
107
98
|
On RVM:
|
@@ -137,6 +128,13 @@ On a system ruby:
|
|
137
128
|
|
138
129
|
== HISTORY
|
139
130
|
|
131
|
+
<em>4.0.0</em>
|
132
|
+
* updated dependencies
|
133
|
+
* removed RunTasks -- bundler handles this now
|
134
|
+
|
135
|
+
<em>3.0.0</em>
|
136
|
+
* updated dependencies
|
137
|
+
|
140
138
|
<em>2.2.0</em>
|
141
139
|
* updated dependencies; now using bundler 1.1
|
142
140
|
|
@@ -164,7 +162,7 @@ On a system ruby:
|
|
164
162
|
|
165
163
|
== LICENSE
|
166
164
|
|
167
|
-
Copyright (c) 2010 John Lees-Miller
|
165
|
+
Copyright (c) 2010-2014 John Lees-Miller
|
168
166
|
|
169
167
|
Permission is hereby granted, free of charge, to any person obtaining
|
170
168
|
a copy of this software and associated documentation files (the
|
data/lib/gemma.rb
CHANGED
@@ -8,7 +8,6 @@ require 'gemma/rake_tasks'
|
|
8
8
|
# Load default Rakefile plugins:
|
9
9
|
require 'gemma/rake_tasks/plugin'
|
10
10
|
require 'gemma/rake_tasks/rdoc_tasks'
|
11
|
-
require 'gemma/rake_tasks/run_tasks'
|
12
11
|
require 'gemma/rake_tasks/yard_tasks'
|
13
12
|
require 'gemma/rake_tasks/minitest_tasks'
|
14
13
|
require 'gemma/rake_tasks/gem_tasks'
|
data/lib/gemma/rake_tasks.rb
CHANGED
@@ -56,7 +56,7 @@ module Gemma
|
|
56
56
|
@plugins.values.each do |plugin|
|
57
57
|
begin
|
58
58
|
plugin.create_rake_tasks
|
59
|
-
rescue
|
59
|
+
rescue
|
60
60
|
warn "plugin #{plugin.class} failed: #{$!}"
|
61
61
|
end
|
62
62
|
end
|
@@ -75,7 +75,7 @@ module Gemma
|
|
75
75
|
#
|
76
76
|
# @return [Gem::Specification] not nil; you should not modify this object
|
77
77
|
# (make the changes in the gemspec file instead).
|
78
|
-
#
|
78
|
+
#
|
79
79
|
attr_reader :gemspec
|
80
80
|
|
81
81
|
#
|
@@ -84,15 +84,10 @@ module Gemma
|
|
84
84
|
attr_reader :plugins
|
85
85
|
|
86
86
|
#
|
87
|
-
# @return [RDocTasks]
|
87
|
+
# @return [RDocTasks]
|
88
88
|
#
|
89
89
|
def rdoc; @plugins[:rdoc] end
|
90
90
|
|
91
|
-
#
|
92
|
-
# @return [RunTasks]
|
93
|
-
#
|
94
|
-
def run; @plugins[:run] end
|
95
|
-
|
96
91
|
#
|
97
92
|
# @return [MinitestTasks]
|
98
93
|
#
|
@@ -112,7 +107,6 @@ module Gemma
|
|
112
107
|
|
113
108
|
def create_default_plugins
|
114
109
|
@plugins[:rdoc] = Gemma::RakeTasks::RDocTasks.new(gemspec)
|
115
|
-
@plugins[:run] = Gemma::RakeTasks::RunTasks.new(gemspec)
|
116
110
|
@plugins[:test] = Gemma::RakeTasks::MinitestTasks.new(gemspec)
|
117
111
|
@plugins[:yard] = Gemma::RakeTasks::YardTasks.new(gemspec)
|
118
112
|
@plugins[:gem] = Gemma::RakeTasks::GemTasks.new(gemspec,gemspec_file_name)
|
data/lib/gemma/version.rb
CHANGED
data/template/base/.gitignore
CHANGED
@@ -14,8 +14,6 @@ Gem::Specification.new do |s|
|
|
14
14
|
s.summary = %q{TODO write short gem summary}
|
15
15
|
s.description = %q{TODO write longer gem description}
|
16
16
|
|
17
|
-
s.rubyforge_project = '<%= gem_name %>'
|
18
|
-
|
19
17
|
#s.add_runtime_dependency '...', '~> x.y.z'
|
20
18
|
s.add_development_dependency 'gemma', '~> <%= Gemma::VERSION %>'
|
21
19
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'gemma/test_helper'
|
2
2
|
require 'tmpdir'
|
3
3
|
|
4
|
-
class Gemma::GemFromTemplateTest < Test
|
4
|
+
class Gemma::GemFromTemplateTest < MiniTest::Test
|
5
5
|
def setup
|
6
6
|
@tmp = Dir.mktmpdir('gemma')
|
7
7
|
@old_pwd = Dir.pwd
|
@@ -20,7 +20,7 @@ class Gemma::GemFromTemplateTest < Test::Unit::TestCase
|
|
20
20
|
gt = Gemma::GemFromTemplate.new
|
21
21
|
gt.gem_name = "my_new_gem"
|
22
22
|
assert gt.good_gem_name?
|
23
|
-
|
23
|
+
|
24
24
|
assert_equal "MyNewGem", gt.module_name
|
25
25
|
gt.module_name = "Foo" # override default
|
26
26
|
assert_equal "Foo", gt.module_name
|
@@ -6,7 +6,7 @@ require 'open4'
|
|
6
6
|
# Run the 'gemma new' command and then run some basic commands to make sure that
|
7
7
|
# things worked out.
|
8
8
|
#
|
9
|
-
class Gemma::GemmaNewTest < Test
|
9
|
+
class Gemma::GemmaNewTest < MiniTest::Test
|
10
10
|
#
|
11
11
|
# Run a command in a bundler-free environment and capture both stdout and
|
12
12
|
# stderror output.
|
@@ -66,7 +66,7 @@ class Gemma::GemmaNewTest < Test::Unit::TestCase
|
|
66
66
|
end
|
67
67
|
|
68
68
|
# run bundler on the test gem; it should find the same gems that we're using
|
69
|
-
# in the gemma bundle
|
69
|
+
# in the gemma bundle
|
70
70
|
status, output = run_cmd('bundle', 'install', '--local')
|
71
71
|
raise "bundle failed:\n#{output}" unless status.exitstatus == 0
|
72
72
|
|
@@ -90,20 +90,14 @@ class Gemma::GemmaNewTest < Test::Unit::TestCase
|
|
90
90
|
status, output = run_cmd('rake -T')
|
91
91
|
assert_equal 0, status.exitstatus
|
92
92
|
assert_match /rake test/, output
|
93
|
-
assert_match /rake test_gem/, output
|
94
93
|
assert_match /rake rdoc/, output
|
95
94
|
assert_match /rake yard/, output
|
96
95
|
|
97
96
|
# run the tests; they should fail initially
|
98
97
|
status, output = run_cmd('rake')
|
99
|
-
|
98
|
+
assert status.exitstatus != 0
|
100
99
|
assert_match /TODO write tests/, output
|
101
100
|
|
102
|
-
# run the executable; it should also fail
|
103
|
-
status, output = run_cmd('rake test_gem')
|
104
|
-
assert_not_equal 0, status.exitstatus
|
105
|
-
assert_match /TODO write program code/, output
|
106
|
-
|
107
101
|
# generate rdoc output
|
108
102
|
status, output = run_cmd('rake rdoc')
|
109
103
|
assert_equal 0, status.exitstatus
|
data/test/gemma/gemma_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'gemma/test_helper'
|
2
2
|
require 'set'
|
3
3
|
|
4
|
-
class Gemma::GemmaTest < Test
|
4
|
+
class Gemma::GemmaTest < MiniTest::Test
|
5
5
|
# Can load empty spec.
|
6
6
|
def test_empty_spec
|
7
7
|
s = Gem::Specification.new
|
@@ -27,24 +27,13 @@ class Gemma::GemmaTest < Test::Unit::TestCase
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
-
def test_run_tasks
|
31
|
-
s = Gem::Specification.new
|
32
|
-
s.files = %w(lib/a.rb)
|
33
|
-
s.executables = %w(a b)
|
34
|
-
s.test_files = %w(test/test_a.rb)
|
35
|
-
|
36
|
-
Gemma::RakeTasks.new(s) do |g|
|
37
|
-
assert_equal %w(a b).to_set, g.run.program_names.to_set
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
30
|
def test_yard_tasks
|
42
31
|
s = Gem::Specification.new
|
43
32
|
s.files = %w(lib/a.rb)
|
44
33
|
s.test_files = %w(test/test_a.rb)
|
45
34
|
s.rdoc_options = ['--main', 'README.rdoc']
|
46
35
|
s.extra_rdoc_files = ['README.rdoc']
|
47
|
-
|
36
|
+
|
48
37
|
# Just one option.
|
49
38
|
# A file should not be passed as an extra file if it's the --main file.
|
50
39
|
# Test files should not be documented.
|
@@ -168,7 +157,7 @@ class Gemma::GemmaTest < Test::Unit::TestCase
|
|
168
157
|
def test_plugin_abstract
|
169
158
|
s = Gem::Specification.new
|
170
159
|
plugin = Gemma::RakeTasks::Plugin.new(s)
|
171
|
-
|
160
|
+
assert_raises(NotImplementedError) {
|
172
161
|
plugin.create_rake_tasks # abstract method
|
173
162
|
}
|
174
163
|
end
|
data/test/gemma/options_test.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
require 'gemma/test_helper'
|
2
2
|
|
3
|
-
class OptionsTest < Test
|
3
|
+
class OptionsTest < MiniTest::Test
|
4
4
|
include Gemma
|
5
5
|
|
6
|
-
def test_empty
|
6
|
+
def test_empty
|
7
7
|
# empty input
|
8
8
|
assert_equal Options::ExtractResult.new(nil, []),
|
9
9
|
Options.extract(%w(--a), [])
|
@@ -42,7 +42,7 @@ class OptionsTest < Test::Unit::TestCase
|
|
42
42
|
def test_terminator_2
|
43
43
|
input = %w(foo --a av -- --b bv)
|
44
44
|
|
45
|
-
# should not be able to find options after the -- terminator
|
45
|
+
# should not be able to find options after the -- terminator
|
46
46
|
assert_equal Options::ExtractResult.new('av', %w(foo -- --b bv)),
|
47
47
|
Options.extract(%w(--a), input)
|
48
48
|
assert_equal Options::ExtractResult.new(nil, input),
|
metadata
CHANGED
@@ -1,82 +1,99 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemma
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
prerelease:
|
4
|
+
version: 4.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- John Lees-Miller
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-03-29 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: highline
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.6.
|
19
|
+
version: 1.6.21
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.6.21
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: rake
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- -
|
31
|
+
- - ! '>='
|
31
32
|
- !ruby/object:Gem::Version
|
32
|
-
version: 10.
|
33
|
+
version: 10.1.1
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 10.1.1
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: rdoc
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
|
-
- -
|
45
|
+
- - ! '>='
|
42
46
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
47
|
+
version: 4.1.1
|
44
48
|
type: :runtime
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 4.1.1
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
56
|
name: yard
|
49
|
-
requirement:
|
50
|
-
none: false
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
51
58
|
requirements:
|
52
|
-
- -
|
59
|
+
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.8.
|
61
|
+
version: 0.8.7
|
55
62
|
type: :runtime
|
56
63
|
prerelease: false
|
57
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.8.7
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
70
|
name: minitest
|
60
|
-
requirement:
|
61
|
-
none: false
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
62
72
|
requirements:
|
63
|
-
- -
|
73
|
+
- - ! '>='
|
64
74
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
75
|
+
version: 5.3.1
|
66
76
|
type: :runtime
|
67
77
|
prerelease: false
|
68
|
-
version_requirements:
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ! '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 5.3.1
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: open4
|
71
|
-
requirement:
|
72
|
-
none: false
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
73
86
|
requirements:
|
74
87
|
- - ~>
|
75
88
|
- !ruby/object:Gem::Version
|
76
89
|
version: 1.3.0
|
77
90
|
type: :development
|
78
91
|
prerelease: false
|
79
|
-
version_requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.3.0
|
80
97
|
description: ! 'Gemma is a gem development helper like hoe and jeweler, but it keeps
|
81
98
|
the gemspec
|
82
99
|
|
@@ -96,71 +113,63 @@ extra_rdoc_files:
|
|
96
113
|
- README.rdoc
|
97
114
|
- bin/gemma
|
98
115
|
files:
|
116
|
+
- README.rdoc
|
117
|
+
- bin/gemma
|
99
118
|
- lib/gemma.rb
|
100
119
|
- lib/gemma/conventions.rb
|
101
|
-
- lib/gemma/version.rb
|
102
|
-
- lib/gemma/rake_tasks.rb
|
103
|
-
- lib/gemma/options.rb
|
104
120
|
- lib/gemma/gem_from_template.rb
|
105
|
-
- lib/gemma/
|
106
|
-
- lib/gemma/rake_tasks
|
107
|
-
- lib/gemma/rake_tasks/yard_tasks.rb
|
108
|
-
- lib/gemma/rake_tasks/minitest_tasks.rb
|
121
|
+
- lib/gemma/options.rb
|
122
|
+
- lib/gemma/rake_tasks.rb
|
109
123
|
- lib/gemma/rake_tasks/gem_tasks.rb
|
124
|
+
- lib/gemma/rake_tasks/minitest_tasks.rb
|
110
125
|
- lib/gemma/rake_tasks/plugin.rb
|
126
|
+
- lib/gemma/rake_tasks/rdoc_tasks.rb
|
127
|
+
- lib/gemma/rake_tasks/yard_tasks.rb
|
111
128
|
- lib/gemma/utility.rb
|
129
|
+
- lib/gemma/version.rb
|
112
130
|
- template/base/.gitignore
|
113
131
|
- template/base/Gemfile
|
114
|
-
- template/base/lib/gem_name.rb.erb
|
115
|
-
- template/base/lib/gem_name/version.rb.erb
|
116
|
-
- template/base/gem_name.gemspec.erb
|
117
132
|
- template/base/README.rdoc.erb
|
118
133
|
- template/base/Rakefile.rb.erb
|
119
|
-
- template/
|
134
|
+
- template/base/gem_name.gemspec.erb
|
135
|
+
- template/base/lib/gem_name.rb.erb
|
136
|
+
- template/base/lib/gem_name/version.rb.erb
|
120
137
|
- template/executable/bin/gem_name.erb
|
121
|
-
-
|
122
|
-
- bin/gemma
|
138
|
+
- template/minitest/test/gem_name/gem_name_test.rb.erb
|
123
139
|
- test/gemma/gem_from_template_test.rb
|
140
|
+
- test/gemma/gemma_new_test.rb
|
124
141
|
- test/gemma/gemma_test.rb
|
125
142
|
- test/gemma/options_test.rb
|
126
|
-
- test/gemma/gemma_new_test.rb
|
127
143
|
homepage: http://github.com/jdleesmiller/gemma
|
128
144
|
licenses: []
|
145
|
+
metadata: {}
|
129
146
|
post_install_message:
|
130
147
|
rdoc_options:
|
131
148
|
- --main
|
132
149
|
- README.rdoc
|
133
150
|
- --title
|
134
|
-
- gemma-
|
151
|
+
- gemma-4.0.0 Documentation
|
135
152
|
require_paths:
|
136
153
|
- lib
|
137
154
|
required_ruby_version: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
155
|
requirements:
|
140
156
|
- - ! '>='
|
141
157
|
- !ruby/object:Gem::Version
|
142
158
|
version: '0'
|
143
|
-
segments:
|
144
|
-
- 0
|
145
|
-
hash: 184091151
|
146
159
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
|
-
none: false
|
148
160
|
requirements:
|
149
161
|
- - ! '>='
|
150
162
|
- !ruby/object:Gem::Version
|
151
163
|
version: '0'
|
152
|
-
segments:
|
153
|
-
- 0
|
154
|
-
hash: 184091151
|
155
164
|
requirements: []
|
156
165
|
rubyforge_project:
|
157
|
-
rubygems_version:
|
166
|
+
rubygems_version: 2.2.0
|
158
167
|
signing_key:
|
159
|
-
specification_version:
|
168
|
+
specification_version: 4
|
160
169
|
summary: A gem development tool that plays well with bundler.
|
161
170
|
test_files:
|
162
171
|
- test/gemma/gem_from_template_test.rb
|
172
|
+
- test/gemma/gemma_new_test.rb
|
163
173
|
- test/gemma/gemma_test.rb
|
164
174
|
- test/gemma/options_test.rb
|
165
|
-
- test/gemma/gemma_new_test.rb
|
166
175
|
has_rdoc:
|
@@ -1,64 +0,0 @@
|
|
1
|
-
module Gemma
|
2
|
-
class RakeTasks
|
3
|
-
#
|
4
|
-
# Run an executable script in the bin folder.
|
5
|
-
#
|
6
|
-
# There is one task per entry in the gemspec's +executables+ list. The
|
7
|
-
# executable is run with <tt>Kernel.exec</tt>. The result is equivalent to
|
8
|
-
# running <tt>bundler exec ...</tt>.
|
9
|
-
#
|
10
|
-
# To pass arguments to the script, you have to pass them as arguments to
|
11
|
-
# the rake task. The syntax for quoting the arguments will depend on your
|
12
|
-
# shell, but on bash looks like:
|
13
|
-
#
|
14
|
-
# rake my_prog['foo --bar=baz --bat=hi']
|
15
|
-
#
|
16
|
-
class RunTasks < Plugin
|
17
|
-
#
|
18
|
-
# @param [Gem::Specification] gemspec
|
19
|
-
#
|
20
|
-
def initialize gemspec
|
21
|
-
super(gemspec)
|
22
|
-
|
23
|
-
# Defaults.
|
24
|
-
@task_prefix = ''
|
25
|
-
@program_names = gemspec.executables.dup
|
26
|
-
end
|
27
|
-
|
28
|
-
#
|
29
|
-
# The task names are formed by prepending this string onto each program
|
30
|
-
# name; defaults to the empty string.
|
31
|
-
#
|
32
|
-
# @return [String]
|
33
|
-
#
|
34
|
-
attr_accessor :task_prefix
|
35
|
-
|
36
|
-
#
|
37
|
-
# Names of the executable (file in the bin directory) to run; by default,
|
38
|
-
# contains the +executables+ from the gemspec.
|
39
|
-
#
|
40
|
-
# @return [Array<String>] may be empty
|
41
|
-
#
|
42
|
-
attr_accessor :program_names
|
43
|
-
|
44
|
-
#
|
45
|
-
# Internal method; see {Plugin#create_rake_tasks}.
|
46
|
-
#
|
47
|
-
# @return [nil]
|
48
|
-
#
|
49
|
-
# @private
|
50
|
-
#
|
51
|
-
def create_rake_tasks
|
52
|
-
program_names.each do |program_name|
|
53
|
-
desc "run #{program_name}"
|
54
|
-
task((task_prefix + program_name), :args) do |t, args|
|
55
|
-
program_args = Shellwords.shellsplit(args[:args] || '')
|
56
|
-
Kernel.exec(program_name, *program_args)
|
57
|
-
end
|
58
|
-
end
|
59
|
-
nil
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|