newgem 0.10.0 → 0.10.1
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/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:
|