newgem 1.4.1 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +71 -64
- data/Manifest.txt +4 -13
- data/Rakefile +15 -47
- data/app_generators/newgem/newgem_generator.rb +2 -3
- data/app_generators/newgem/templates/History.txt +1 -1
- data/app_generators/newgem/templates/Rakefile +19 -22
- data/app_generators/newgem_simple/templates/Rakefile +7 -13
- data/features/install_cucumber.feature +5 -1
- data/features/install_website.feature +1 -1
- data/features/newgem_cli.feature +0 -12
- data/features/step_definitions/cli_steps.rb +0 -2
- data/features/step_definitions/common_steps.rb +0 -9
- data/features/step_definitions/rubygems_steps.rb +8 -0
- data/features/support/env.rb +7 -11
- data/lib/hoe/cucumberfeatures.rb +22 -0
- data/lib/hoe/manifest.rb +30 -0
- data/lib/hoe/newgem.rb +74 -0
- data/lib/hoe/website.rb +66 -0
- data/lib/newgem.rb +1 -3
- data/lib/newgem/tasks.rb +10 -2
- data/newgem_generators/install_website/install_website_generator.rb +0 -3
- data/rubygems_generators/executable/templates/bin/app.rb.erb +1 -1
- data/rubygems_generators/install_cucumber/templates/features/step_definitions/common_steps.rb +0 -9
- data/rubygems_generators/install_cucumber/templates/features/support/env.rb.erb +8 -0
- metadata +12 -24
- data/bundles/RubyGem.tmbundle/Snippets/History header trunk.tmSnippet +0 -18
- data/bundles/RubyGem.tmbundle/Snippets/History header.tmSnippet +0 -18
- data/bundles/RubyGem.tmbundle/Syntaxes/Rdoc.tmLanguage +0 -70
- data/bundles/RubyGem.tmbundle/info.plist +0 -16
- data/lib/hoe-patched.rb +0 -1029
- data/lib/newgem/support/tasks.rb +0 -10
- data/newgem_generators/install_website/templates/tasks/website.rake +0 -47
- data/patches/hoe/0001-readme-can-be-txt-or-rdoc.patch +0 -62
- data/tasks/bundles.rake +0 -12
- data/tasks/cucumber.rake +0 -9
- data/tasks/deployment.rake +0 -37
- data/tasks/environment.rake +0 -7
- data/tasks/website.rake +0 -47
data/lib/newgem/support/tasks.rb
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
require 'yaml'
|
2
|
-
|
3
|
-
def website_config
|
4
|
-
unless @website_config
|
5
|
-
begin
|
6
|
-
@website_config = YAML.load(File.read("config/website.yml"))
|
7
|
-
rescue
|
8
|
-
puts <<-EOS
|
9
|
-
To upload your website to a host, you need to configure
|
10
|
-
config/website.yml. See config/website.yml.sample for
|
11
|
-
an example.
|
12
|
-
EOS
|
13
|
-
exit
|
14
|
-
end
|
15
|
-
end
|
16
|
-
@website_config
|
17
|
-
end
|
18
|
-
|
19
|
-
desc 'Generate website files'
|
20
|
-
task :website_generate => :ruby_env do
|
21
|
-
(Dir['website/**/*.txt'] - Dir['website/version*.txt']).each do |txt|
|
22
|
-
sh %{ #{RUBY_APP} script/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} }
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
desc 'Upload website files to rubyforge'
|
27
|
-
task :website_upload do
|
28
|
-
local_dir = 'website'
|
29
|
-
host = website_config["host"]
|
30
|
-
host = host ? "#{host}:" : ""
|
31
|
-
remote_dir = website_config["remote_dir"]
|
32
|
-
sh %{rsync -aCv #{local_dir}/ #{host}#{remote_dir}}
|
33
|
-
end
|
34
|
-
|
35
|
-
remove_task :publish_docs # recreate hoe's rubyforge specific version
|
36
|
-
|
37
|
-
desc 'Publish RDoc to RubyForge.'
|
38
|
-
task :publish_docs => [:clean, :docs] do
|
39
|
-
local_dir = 'doc'
|
40
|
-
host = website_config["host"]
|
41
|
-
host = host ? "#{host}:" : ""
|
42
|
-
remote_dir = File.join(website_config["remote_dir"], "doc")
|
43
|
-
sh %{rsync -aCv #{local_dir}/ #{host}#{remote_dir}}
|
44
|
-
end
|
45
|
-
|
46
|
-
desc 'Generate and upload website files'
|
47
|
-
task :website => [:website_generate, :website_upload, :publish_docs]
|
@@ -1,62 +0,0 @@
|
|
1
|
-
diff --git a/lib/hoe.rb b/lib/hoe.rb
|
2
|
-
index 0e44dfa..1d39815 100644
|
3
|
-
--- a/lib/hoe.rb
|
4
|
-
+++ b/lib/hoe.rb
|
5
|
-
@@ -340,6 +340,10 @@ class Hoe
|
6
|
-
warn "** #{name} is missing or in the wrong format for auto-intuiting."
|
7
|
-
warn " run `sow blah` and look at its text files"
|
8
|
-
end
|
9
|
-
+
|
10
|
-
+ def readme_name
|
11
|
-
+ Dir['README*'].first || 'README.txt'
|
12
|
-
+ end
|
13
|
-
|
14
|
-
def initialize(name, version) # :nodoc:
|
15
|
-
self.name = name
|
16
|
-
@@ -357,7 +361,7 @@ class Hoe
|
17
|
-
self.multiruby_skip = []
|
18
|
-
self.need_tar = true
|
19
|
-
self.need_zip = false
|
20
|
-
- self.rdoc_pattern = /^(lib|bin|ext)|txt$/
|
21
|
-
+ self.rdoc_pattern = /^(lib|bin|ext)|txt|rdoc$/
|
22
|
-
self.remote_rdoc_dir = name
|
23
|
-
self.rsync_args = '-av --delete'
|
24
|
-
self.rubyforge_name = name.downcase
|
25
|
-
@@ -371,7 +375,7 @@ class Hoe
|
26
|
-
|
27
|
-
# Intuit values:
|
28
|
-
|
29
|
-
- readme = File.read("README.txt").split(/^(=+ .*)$/)[1..-1] rescue ''
|
30
|
-
+ readme = File.read(readme_name).split(/^(=+ .*)$/)[1..-1] rescue ''
|
31
|
-
unless readme.empty? then
|
32
|
-
sections = readme.map { |s|
|
33
|
-
s =~ /^=/ ? s.strip.downcase.chomp(':').split.last : s.strip
|
34
|
-
@@ -384,7 +388,7 @@ class Hoe
|
35
|
-
self.summary ||= summ
|
36
|
-
self.url ||= readme[1].gsub(/^\* /, '').split(/\n/).grep(/\S+/)
|
37
|
-
else
|
38
|
-
- missing 'README.txt'
|
39
|
-
+ missing readme_name
|
40
|
-
end
|
41
|
-
|
42
|
-
self.changes ||= begin
|
43
|
-
@@ -509,8 +513,8 @@ class Hoe
|
44
|
-
dirs = Dir['{lib,ext}']
|
45
|
-
s.require_paths = dirs unless dirs.empty?
|
46
|
-
|
47
|
-
- s.rdoc_options = ['--main', 'README.txt']
|
48
|
-
- s.extra_rdoc_files = s.files.grep(/txt$/)
|
49
|
-
+ s.rdoc_options = ['--main', readme_name]
|
50
|
-
+ s.extra_rdoc_files = s.files.grep(/(txt|rdoc)$/)
|
51
|
-
s.has_rdoc = true
|
52
|
-
|
53
|
-
s.post_install_message = post_install_message
|
54
|
-
@@ -619,7 +623,7 @@ class Hoe
|
55
|
-
# Doco
|
56
|
-
|
57
|
-
Rake::RDocTask.new(:docs) do |rd|
|
58
|
-
- rd.main = "README.txt"
|
59
|
-
+ rd.main = readme_name
|
60
|
-
rd.options << '-d' if RUBY_PLATFORM !~ /win32/ and `which dot` =~ /\/dot/ and not ENV['NODOT']
|
61
|
-
rd.rdoc_dir = 'doc'
|
62
|
-
files = spec.files.grep(rdoc_pattern)
|
data/tasks/bundles.rake
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
namespace :bundles do
|
2
|
-
|
3
|
-
desc 'Install TextMate bundles for RubyGems'
|
4
|
-
task :tm do
|
5
|
-
require 'tmpdir'
|
6
|
-
bundle = "RubyGem.tmbundle"
|
7
|
-
bundle_dir = File.join(File.dirname(__FILE__), 'bundles/', bundle)
|
8
|
-
`cp -R #{bundle_dir} #{Dir.tmpdir}`
|
9
|
-
`open "#{File.join(Dir.tmpdir, bundle)}"`
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
data/tasks/cucumber.rake
DELETED
data/tasks/deployment.rake
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
desc "Generate a #{$hoe.name}.gemspec file"
|
2
|
-
task :gemspec do
|
3
|
-
File.open("#{$hoe.name}.gemspec", "w") do |file|
|
4
|
-
file.puts $hoe.spec.to_ruby
|
5
|
-
end
|
6
|
-
end
|
7
|
-
|
8
|
-
task :release do
|
9
|
-
puts <<-EOS.gsub(/^ /,'')
|
10
|
-
Remember to create tag your release; eg for Git:
|
11
|
-
git tag REL-#{$hoe.version}
|
12
|
-
|
13
|
-
Announce your release on RubyForge News:
|
14
|
-
rake post_news
|
15
|
-
EOS
|
16
|
-
end
|
17
|
-
|
18
|
-
task :check_version do
|
19
|
-
unless ENV['VERSION']
|
20
|
-
puts 'Must pass a VERSION=x.y.z release version'
|
21
|
-
exit
|
22
|
-
end
|
23
|
-
unless ENV['VERSION'] == $hoe.version
|
24
|
-
puts "Please update your lib/#{$hoe.name}.rb to match the release version, currently #{$hoe.version}"
|
25
|
-
exit
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
|
30
|
-
task :install_gem_no_doc => [:clean, :package] do
|
31
|
-
sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri"
|
32
|
-
end
|
33
|
-
|
34
|
-
desc 'Recreate Manifest.txt to include ALL files'
|
35
|
-
task :manifest do
|
36
|
-
`rake check_manifest | patch -p0 > Manifest.txt`
|
37
|
-
end
|
data/tasks/environment.rake
DELETED
data/tasks/website.rake
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
require 'yaml'
|
2
|
-
|
3
|
-
def website_config
|
4
|
-
unless @website_config
|
5
|
-
begin
|
6
|
-
@website_config = YAML.load(File.read("config/website.yml"))
|
7
|
-
rescue
|
8
|
-
puts <<-EOS
|
9
|
-
To upload your website to a host, you need to configure
|
10
|
-
config/website.yml. See config/website.yml.sample for
|
11
|
-
an example.
|
12
|
-
EOS
|
13
|
-
exit
|
14
|
-
end
|
15
|
-
end
|
16
|
-
@website_config
|
17
|
-
end
|
18
|
-
|
19
|
-
desc 'Generate website files'
|
20
|
-
task :website_generate => :ruby_env do
|
21
|
-
(Dir['website/**/*.txt'] - Dir['website/version*.txt']).each do |txt|
|
22
|
-
sh %{ #{RUBY_APP} script/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} }
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
desc 'Upload website files to rubyforge'
|
27
|
-
task :website_upload do
|
28
|
-
local_dir = 'website'
|
29
|
-
host = website_config["host"]
|
30
|
-
host = host ? "#{host}:" : ""
|
31
|
-
remote_dir = website_config["remote_dir"]
|
32
|
-
sh %{rsync -aCv #{local_dir}/ #{host}#{remote_dir}}
|
33
|
-
end
|
34
|
-
|
35
|
-
remove_task :publish_docs # recreate hoe's rubyforge specific version
|
36
|
-
|
37
|
-
desc 'Publish RDoc to RubyForge.'
|
38
|
-
task :publish_docs => [:clean, :docs] do
|
39
|
-
local_dir = 'doc'
|
40
|
-
host = website_config["host"]
|
41
|
-
host = host ? "#{host}:" : ""
|
42
|
-
remote_dir = File.join(website_config["remote_dir"], "rdoc")
|
43
|
-
sh %{rsync -aCv #{local_dir}/ #{host}#{remote_dir}}
|
44
|
-
end
|
45
|
-
|
46
|
-
desc 'Generate and upload website files'
|
47
|
-
task :website => [:website_generate, :website_upload, :publish_docs]
|