Rakefile in newgem-0.8.1 vs Rakefile in newgem-0.9.0
- old
+ new
@@ -16,31 +16,64 @@
GEM_NAME = "newgem" # what ppl will type to install your gem
RUBYFORGE_PROJECT = "newgem"
HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
REV = nil #File.read(".svn/entries")[/committed-rev="(\d+)"/, 1] rescue nil
-VERSION = ENV['VERSION'] || (Newgem::VERSION::STRING + (REV ? ".#{REV}" : ""))
-CLEAN.include ['**/.*.sw?', '*.gem', '.config']
+VERS = ENV['VERSION'] || (Newgem::VERSION::STRING + (REV ? ".#{REV}" : ""))
+CLEAN.include ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store']
RDOC_OPTS = ['--quiet', '--title', "newgem documentation",
"--opname", "index.html",
"--line-numbers",
"--main", "README",
"--inline-source"]
# Generate all the Rake tasks
# Run 'rake -T' to see list of generated tasks (from gem root directory)
-hoe = Hoe.new(GEM_NAME, VERSION) do |p|
+hoe = Hoe.new(GEM_NAME, VERS) do |p|
p.author = AUTHOR
p.description = DESCRIPTION
p.email = EMAIL
p.summary = DESCRIPTION
p.url = HOMEPATH
p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
p.test_globs = ["test/**/test*.rb"]
p.clean_globs = CLEAN #An array of file patterns to delete on clean.
# == Optional
- #p.changes - A description of the release's latest changes.
- p.extra_deps = ['hoe'] #An array of rubygem dependencies.
+ p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
+ p.extra_deps = [
+ ['hoe', '>=1.2.0'],
+ ['RedCloth','>=3.0.4'],
+ ['syntax','>=1.0.0']
+ ]
#p.spec_extras - A hash of extra values to set in the gemspec.
end
+desc 'Generate website files'
+task :website_generate => :load_consts do
+ (Dir['website/**/*.txt'] - Dir['website/version*.txt']).each do |txt|
+ sh %{ ruby scripts/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} }
+ end
+ sh %{ ruby scripts/txt2js website/version.txt > website/version.js }
+ sh %{ ruby scripts/txt2js website/version-raw.txt > website/version-raw.js }
+end
+
+desc 'Upload website files to rubyforge'
+task :website_upload do
+ config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
+ host = "#{config["username"]}@rubyforge.org"
+ remote_dir = "/var/www/gforge-projects/#{RUBYFORGE_PROJECT}/"
+ local_dir = 'website'
+ sh %{rsync -av #{local_dir}/ #{host}:#{remote_dir}}
+end
+
+desc 'Generate and upload website files'
+task :website => [:website_generate, :website_upload]
+
+task :load_consts do
+ ENV['AUTHOR'] = AUTHOR
+ ENV['EMAIL'] = EMAIL
+ ENV['DESCRIPTION'] = DESCRIPTION
+ ENV['GEM_NAME'] = GEM_NAME
+ ENV['RUBYFORGE_PROJECT'] = RUBYFORGE_PROJECT
+ ENV['HOMEPATH'] = HOMEPATH
+end
\ No newline at end of file