newgem 0.10.0 → 0.10.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +63 -51
- data/Manifest.txt +2 -1
- data/{README → README.txt} +0 -0
- data/Rakefile +15 -2
- data/bin/newgem +23 -2
- data/lib/newgem/version.rb +1 -1
- data/templates/History.txt +3 -3
- data/templates/Manifest.txt +1 -0
- data/templates/Rakefile +15 -3
- data/templates/spec.opts +1 -0
- data/templates/spec.rb +8 -1
- data/website/index.html +2 -2
- data/website/rubyforge.html +1 -1
- data/website/version-raw.js +1 -1
- data/website/version.js +1 -1
- metadata +24 -10
data/History.txt
CHANGED
@@ -1,62 +1,74 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
1
|
+
== 0.10.1 2007-05-24
|
2
|
+
|
3
|
+
* 4 minor enhancements
|
4
|
+
* Fixed the generation of test files in the manifest
|
5
|
+
* Generated rakefile#deploy prompts user to do svn tag
|
6
|
+
* Renamed README -> README.txt to conform to new hoe change
|
7
|
+
* Changed History.txt markup (+++ => ==; + => *) [Thx Jeroen Janssen]
|
8
|
+
* 1 dependency update:
|
9
|
+
* Hoe 1.2.1
|
10
|
+
* Still being worked on:
|
11
|
+
* Gems using rspec include a #spec task to run all spec tests; currently tests aren't working.
|
12
|
+
|
13
|
+
== 0.10.0 2007-05-19
|
14
|
+
|
15
|
+
* 3 major enhancements
|
16
|
+
* can generate rspec default tests (or still test::unit tests) using --with-test=rspec [thx Robby Russell]
|
17
|
+
* fetches your full name and email from ~/.rubyforge/user-config.yml (add keys user_name and email)
|
18
|
+
* 2 minor enhancements
|
19
|
+
* Generated lib/#{gem_name}.rb includes an empty module
|
20
|
+
* Generated lib/#{gem_name}.rb does not include "require all", instead you do it manually for each included file
|
21
|
+
|
22
|
+
== 0.9.4 2007-05-18
|
23
|
+
|
24
|
+
* 5 minor enhancements
|
25
|
+
* Pass your full name into the generator to be inserted into License.txt, index.txt, Rakefile etc
|
26
|
+
* 'Licence' => 'License' (thx Peter Burns)
|
27
|
+
* Generates a blank index.html so that 'rake package' works straight away
|
28
|
+
* Includes :local_deploy which does tasks :website_generate and :install_gem
|
29
|
+
* License.txt generated * this gem has a License.txt file (MIT license)
|
30
|
+
|
31
|
+
== 0.9.3 20/4/2007
|
32
|
+
|
33
|
+
* 1 minor enhancement
|
34
|
+
* Added 'deploy' task that generates website AND release new gem
|
35
|
+
* 1 website fix
|
36
|
+
* Fixed download link
|
37
|
+
|
38
|
+
== 0.9.2 18/4/2007
|
39
|
+
|
40
|
+
* 1 minor improvement:
|
41
|
+
* Generated apps include a "require 'rubygems' line at the top"
|
42
|
+
* 1 website fix
|
43
|
+
* Notes that the index.txt file includes Dr Nic details, not their own.[FIXME!!]
|
44
|
+
|
45
|
+
== 0.9.1 16/4/2007
|
46
|
+
|
47
|
+
* 1 bugfix:
|
48
|
+
* I thoughtfully added an extra line (commented out) for sending the website to a subfolder... it caused grief at the 13th hour
|
49
|
+
|
50
|
+
== 0.9.0 12/4/2007
|
51
|
+
|
52
|
+
* 3 major enhancements:
|
53
|
+
* Includes a basic website template, with rake tasks for generation and upload to rubyforge
|
54
|
+
* Generates a History.txt file, and automatically uses it in Hoe task
|
55
|
+
* Generated applications include framework for supporting command line options
|
56
|
+
* 3 minor enhancements:
|
57
|
+
* Include History.txt in this gem
|
58
|
+
* test files ordered correctly in generated Manifest.txt
|
59
|
+
* no blank line in Manifest.txt if no bin apps
|
60
|
+
|
61
|
+
== 0.8.1
|
50
62
|
|
51
63
|
- Generated test file's class name now prefixed with Test, instead of suffixed
|
52
64
|
|
53
|
-
|
65
|
+
== 0.8.0
|
54
66
|
|
55
67
|
- Uses hoe itself - less hypocritical
|
56
68
|
- Generated test files use name 'test_<gemname>.rb' instead of '<gemname>_test.rb' to support
|
57
69
|
ZenTest's autotest expectations of naming. Manifest updated too.
|
58
70
|
|
59
|
-
|
71
|
+
== 0.7.1
|
60
72
|
|
61
73
|
- Installed gems now don't require 'hoe' (based on comments at http://blog.evanweaver.com/articles/2007/01/10/if-you-dont-want-to-hoe-echoe)
|
62
74
|
|
data/Manifest.txt
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
History.txt
|
2
2
|
License.txt
|
3
3
|
Manifest.txt
|
4
|
-
README
|
4
|
+
README.txt
|
5
5
|
Rakefile
|
6
6
|
Todo.txt
|
7
7
|
bin/newgem
|
@@ -19,6 +19,7 @@ templates/Rakefile
|
|
19
19
|
templates/app.rb
|
20
20
|
templates/scripts/txt2html
|
21
21
|
templates/setup.rb
|
22
|
+
templates/spec.opts
|
22
23
|
templates/spec.rb
|
23
24
|
templates/test.rb
|
24
25
|
templates/website/index.html
|
data/{README → README.txt}
RENAMED
File without changes
|
data/Rakefile
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'rake'
|
3
3
|
require 'rake/clean'
|
4
|
+
require 'rake/testtask'
|
4
5
|
require 'rake/packagetask'
|
5
6
|
require 'rake/gempackagetask'
|
6
7
|
require 'rake/rdoctask'
|
@@ -14,6 +15,8 @@ AUTHOR = "Dr Nic Williams"
|
|
14
15
|
EMAIL = "drnicwilliams@gmail.com"
|
15
16
|
DESCRIPTION = "Make your own gems at home"
|
16
17
|
GEM_NAME = "newgem" # what ppl will type to install your gem
|
18
|
+
config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
|
19
|
+
RUBYFORGE_USERNAME = config["username"]
|
17
20
|
RUBYFORGE_PROJECT = "newgem"
|
18
21
|
HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
|
19
22
|
DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
|
@@ -42,13 +45,17 @@ hoe = Hoe.new(GEM_NAME, VERS) do |p|
|
|
42
45
|
# == Optional
|
43
46
|
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
44
47
|
p.extra_deps = [
|
45
|
-
['hoe', '>=1.2.
|
48
|
+
['hoe', '>=1.2.1'],
|
46
49
|
['RedCloth','>=3.0.4'],
|
47
50
|
['syntax','>=1.0.0']
|
48
51
|
]
|
49
52
|
#p.spec_extras - A hash of extra values to set in the gemspec.
|
50
53
|
end
|
51
54
|
|
55
|
+
CHANGES = hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n")
|
56
|
+
PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "\#{RUBYFORGE_PROJECT}/\#{GEM_NAME}"
|
57
|
+
hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}/,''), 'rdoc')
|
58
|
+
|
52
59
|
desc 'Generate website files'
|
53
60
|
task :website_generate => :load_consts do
|
54
61
|
(Dir['website/**/*.txt'] - Dir['website/version*.txt']).each do |txt|
|
@@ -81,7 +88,13 @@ task :load_consts do
|
|
81
88
|
end
|
82
89
|
|
83
90
|
desc 'Release the website and new gem version'
|
84
|
-
task :deploy => [:check_version, :website, :release]
|
91
|
+
task :deploy => [:check_version, :website, :publish_docs, :release] do
|
92
|
+
puts "Remember to create SVN tag:"
|
93
|
+
puts "svn copy svn+ssh://#{RUBYFORGE_USERNAME}@rubyforge.org/var/svn/#{PATH}/trunk " +
|
94
|
+
"svn+ssh://#{RUBYFORGE_USERNAME}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
|
95
|
+
puts "Suggested comment:"
|
96
|
+
puts "Tagging release #{CHANGES}"
|
97
|
+
end
|
85
98
|
|
86
99
|
desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
|
87
100
|
task :local_deploy => [:website_generate, :install_gem]
|
data/bin/newgem
CHANGED
@@ -167,10 +167,20 @@ if test_framework == 'rspec'
|
|
167
167
|
test_template = 'spec.rb'
|
168
168
|
unit_test = test + "/" + project_name + "_spec.rb"
|
169
169
|
test_file_prefix = 'spec/NAME_spec'
|
170
|
+
spec_opts = 'spec.opts'
|
170
171
|
unit_test_template = <<-eos
|
171
172
|
require 'spec'
|
172
|
-
require File.dirname(__FILE__) + '/../lib/#{project_name}'
|
173
173
|
eos
|
174
|
+
requirements = <<-eos
|
175
|
+
require 'spec/rake/spectest'
|
176
|
+
eos
|
177
|
+
test_task = <<-eos
|
178
|
+
desc "Run the specs under spec/models"
|
179
|
+
Spec::Rake::SpecTask.new do |t|
|
180
|
+
t.spec_opts = ['--options', "spec/spec.opts"]
|
181
|
+
t.spec_files = FileList['spec/*_spec.rb']
|
182
|
+
end
|
183
|
+
eos
|
174
184
|
else
|
175
185
|
test = project_name + "/test"
|
176
186
|
test_helper = test + "/test_helper.rb"
|
@@ -181,6 +191,8 @@ else
|
|
181
191
|
require 'test/unit'
|
182
192
|
require File.dirname(__FILE__) + '/../lib/#{project_name}'
|
183
193
|
eos
|
194
|
+
requirements = ''
|
195
|
+
test_task = ''
|
184
196
|
end
|
185
197
|
|
186
198
|
puts "creating: " + test
|
@@ -198,6 +210,15 @@ File.open(unit_test, 'w') do |file|
|
|
198
210
|
file << eval('"' + template.gsub(/"/, '\"') + '"')
|
199
211
|
end
|
200
212
|
|
213
|
+
if test_framework == 'rspec'
|
214
|
+
spec_opts_file = test + "/" + spec_opts
|
215
|
+
puts "creating: " + spec_opts_file
|
216
|
+
template = File.open(templates + spec_opts, 'r') { |f| f.readlines.join }
|
217
|
+
File.open(spec_opts_file, 'w') do |file|
|
218
|
+
file << eval('"' + template.gsub(/"/, '\""') + '"')
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
201
222
|
puts "creating: " + examples
|
202
223
|
Dir.mkdir examples
|
203
224
|
|
@@ -209,7 +230,7 @@ end
|
|
209
230
|
|
210
231
|
bin_names_list = bin_names_list.collect {|name| 'bin/' + name }.join("\n")
|
211
232
|
bin_names_list += "\n" if bin_names_list.size > 0
|
212
|
-
test_names_list = ['helper.rb',"#{project_name}.rb"].sort.collect {|name| test_file_prefix.gsub('NAME', name)
|
233
|
+
test_names_list = ['helper.rb',"#{project_name}.rb"].sort.collect {|name| test_file_prefix.gsub('NAME', name) }.join("\n")
|
213
234
|
|
214
235
|
template_files.each do |template_file|
|
215
236
|
puts "creating: " + project_name + '/' + template_file
|
data/lib/newgem/version.rb
CHANGED
data/templates/History.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
== #{version_str} #{Date.today}
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
* 1 major enhancement:
|
4
|
+
* Initial release
|
data/templates/Manifest.txt
CHANGED
data/templates/Rakefile
CHANGED
@@ -8,6 +8,7 @@ require 'rake/rdoctask'
|
|
8
8
|
require 'rake/contrib/rubyforgepublisher'
|
9
9
|
require 'fileutils'
|
10
10
|
require 'hoe'
|
11
|
+
#{requirements}
|
11
12
|
include FileUtils
|
12
13
|
require File.join(File.dirname(__FILE__), 'lib', '#{gem_name}', 'version')
|
13
14
|
|
@@ -15,6 +16,8 @@ AUTHOR = '#{author}' # can also be an array of Authors
|
|
15
16
|
EMAIL = "#{email}"
|
16
17
|
DESCRIPTION = "description of gem"
|
17
18
|
GEM_NAME = '#{gem_name}' # what ppl will type to install your gem
|
19
|
+
config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
|
20
|
+
RUBYFORGE_USERNAME = config["username"]
|
18
21
|
RUBYFORGE_PROJECT = '#{gem_name}' # The unix name for your project
|
19
22
|
HOMEPATH = "http://\#{RUBYFORGE_PROJECT}.rubyforge.org"
|
20
23
|
DOWNLOAD_PATH = "http://rubyforge.org/projects/\#{RUBYFORGE_PROJECT}"
|
@@ -53,6 +56,9 @@ hoe = Hoe.new(GEM_NAME, VERS) do |p|
|
|
53
56
|
#p.spec_extras = {} # A hash of extra values to set in the gemspec.
|
54
57
|
end
|
55
58
|
|
59
|
+
CHANGES = hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n")
|
60
|
+
PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "\#{RUBYFORGE_PROJECT}/\#{GEM_NAME}"
|
61
|
+
hoe.remote_rdoc_dir = File.join(PATH.gsub(/^\#{RUBYFORGE_PROJECT}/,''), 'rdoc')
|
56
62
|
|
57
63
|
desc 'Generate website files'
|
58
64
|
task :website_generate do
|
@@ -65,8 +71,7 @@ desc 'Upload website files to rubyforge'
|
|
65
71
|
task :website_upload do
|
66
72
|
config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
|
67
73
|
host = "\#{config["username"]}@rubyforge.org"
|
68
|
-
remote_dir = "/var/www/gforge-projects/\#{
|
69
|
-
# remote_dir = "/var/www/gforge-projects/\#{RUBYFORGE_PROJECT}/\#{GEM_NAME}"
|
74
|
+
remote_dir = "/var/www/gforge-projects/\#{PATH}/"
|
70
75
|
local_dir = 'website'
|
71
76
|
sh %{rsync -av \#{local_dir}/ \#{host}:\#{remote_dir}}
|
72
77
|
end
|
@@ -75,7 +80,13 @@ desc 'Generate and upload website files'
|
|
75
80
|
task :website => [:website_generate, :website_upload]
|
76
81
|
|
77
82
|
desc 'Release the website and new gem version'
|
78
|
-
task :deploy => [:check_version, :website, :release]
|
83
|
+
task :deploy => [:check_version, :website, :release] do
|
84
|
+
puts "Remember to create SVN tag:"
|
85
|
+
puts "svn copy svn+ssh://\#{RUBYFORGE_USERNAME}@rubyforge.org/var/svn/\#{PATH}/trunk " +
|
86
|
+
"svn+ssh://\#{RUBYFORGE_USERNAME}@rubyforge.org/var/svn/\#{PATH}/tags/REL-\#{VERS} "
|
87
|
+
puts "Suggested comment:"
|
88
|
+
puts "Tagging release \#{CHANGES}"
|
89
|
+
end
|
79
90
|
|
80
91
|
desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
|
81
92
|
task :local_deploy => [:website_generate, :install_gem]
|
@@ -91,3 +102,4 @@ task :check_version do
|
|
91
102
|
end
|
92
103
|
end
|
93
104
|
|
105
|
+
#{test_task}
|
data/templates/spec.opts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--colour
|
data/templates/spec.rb
CHANGED
@@ -1,4 +1,11 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/spec_helper.rb'
|
2
2
|
|
3
3
|
# Time to add your specs!
|
4
|
-
# http://rspec.rubyforge.org/
|
4
|
+
# http://rspec.rubyforge.org/
|
5
|
+
context "Place your specs here" do
|
6
|
+
|
7
|
+
specify "find this spec in spec directory" do
|
8
|
+
violate "Be sure to write your specs"
|
9
|
+
end
|
10
|
+
|
11
|
+
end
|
data/website/index.html
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
<h1>New Gem Generator</h1>
|
34
34
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/newgem"; return false'>
|
35
35
|
Get Version
|
36
|
-
<a href="http://rubyforge.org/projects/newgem" class="numbers">0.10.
|
36
|
+
<a href="http://rubyforge.org/projects/newgem" class="numbers">0.10.1</a>
|
37
37
|
</div>
|
38
38
|
<h1>→ ‘newgem’</h1>
|
39
39
|
|
@@ -290,7 +290,7 @@ other stories and things.</p>
|
|
290
290
|
|
291
291
|
<p>Comments are welcome. Send an email to <a href="mailto:drnicwilliams@gmail.com">Dr Nic Williams</a>.</p>
|
292
292
|
<p class="coda">
|
293
|
-
<a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>,
|
293
|
+
<a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>, 20th May 2007<br>
|
294
294
|
Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
|
295
295
|
</p>
|
296
296
|
</div>
|
data/website/rubyforge.html
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
<h1>New Gem Generator</h1>
|
34
34
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/newgem"; return false'>
|
35
35
|
Get Version
|
36
|
-
<a href="http://rubyforge.org/projects/newgem" class="numbers">0.10.
|
36
|
+
<a href="http://rubyforge.org/projects/newgem" class="numbers">0.10.1</a>
|
37
37
|
</div>
|
38
38
|
<h1>→ using ‘rubyforge’</h1>
|
39
39
|
|
data/website/version-raw.js
CHANGED
data/website/version.js
CHANGED
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.
|
2
|
+
rubygems_version: 0.9.4
|
3
3
|
specification_version: 1
|
4
4
|
name: newgem
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.10.
|
7
|
-
date: 2007-05-
|
6
|
+
version: 0.10.1
|
7
|
+
date: 2007-05-24 00:00:00 +02:00
|
8
8
|
summary: Make your own gems at home
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -32,7 +32,7 @@ files:
|
|
32
32
|
- History.txt
|
33
33
|
- License.txt
|
34
34
|
- Manifest.txt
|
35
|
-
- README
|
35
|
+
- README.txt
|
36
36
|
- Rakefile
|
37
37
|
- Todo.txt
|
38
38
|
- bin/newgem
|
@@ -50,6 +50,7 @@ files:
|
|
50
50
|
- templates/app.rb
|
51
51
|
- templates/scripts/txt2html
|
52
52
|
- templates/setup.rb
|
53
|
+
- templates/spec.opts
|
53
54
|
- templates/spec.rb
|
54
55
|
- templates/test.rb
|
55
56
|
- templates/website/index.html
|
@@ -74,10 +75,23 @@ files:
|
|
74
75
|
test_files:
|
75
76
|
- test/test_helper.rb
|
76
77
|
- test/test_newgem.rb
|
77
|
-
rdoc_options:
|
78
|
-
|
79
|
-
|
80
|
-
|
78
|
+
rdoc_options:
|
79
|
+
- --main
|
80
|
+
- README.txt
|
81
|
+
extra_rdoc_files:
|
82
|
+
- History.txt
|
83
|
+
- License.txt
|
84
|
+
- Manifest.txt
|
85
|
+
- README.txt
|
86
|
+
- Todo.txt
|
87
|
+
- templates/History.txt
|
88
|
+
- templates/License.txt
|
89
|
+
- templates/Manifest.txt
|
90
|
+
- templates/website/index.txt
|
91
|
+
- website/index.txt
|
92
|
+
- website/rubyforge.txt
|
93
|
+
- website/version-raw.txt
|
94
|
+
- website/version.txt
|
81
95
|
executables:
|
82
96
|
- newgem
|
83
97
|
extensions: []
|
@@ -92,7 +106,7 @@ dependencies:
|
|
92
106
|
requirements:
|
93
107
|
- - ">="
|
94
108
|
- !ruby/object:Gem::Version
|
95
|
-
version: 1.2.
|
109
|
+
version: 1.2.1
|
96
110
|
version:
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: RedCloth
|
@@ -119,5 +133,5 @@ dependencies:
|
|
119
133
|
requirements:
|
120
134
|
- - ">="
|
121
135
|
- !ruby/object:Gem::Version
|
122
|
-
version: 1.2.
|
136
|
+
version: 1.2.1
|
123
137
|
version:
|