rabal 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +11 -3
- data/Rakefile +5 -72
- data/lib/rabal/application.rb +1 -5
- data/lib/rabal/directory_tree.rb +4 -4
- data/lib/rabal/file_tree.rb +4 -4
- data/lib/rabal/gemspec.rb +4 -3
- data/lib/rabal/plugin.rb +1 -0
- data/lib/rabal/plugin/foundation.rb +1 -1
- data/lib/rabal/plugin/website.rb +13 -0
- data/lib/rabal/version.rb +1 -1
- data/resources/trees/bin/rabal.project +5 -3
- data/resources/trees/core/Rakefile.erb +5 -58
- data/resources/trees/core/tasks/announce.rake.erb +57 -0
- data/resources/trees/core/tasks/distribution.rake.erb +32 -0
- data/resources/trees/core/tasks/documentation.rake.erb +25 -0
- data/resources/trees/core/tasks/setup.rb.erb +40 -0
- data/resources/trees/ext/tasks/{extension.rb.erb → extension.rake.erb} +0 -0
- data/resources/trees/rubyforge/tasks/rubyforge.rake.erb +43 -0
- data/resources/trees/spec/spec/spec_helper.rb.erb +1 -1
- data/resources/trees/spec/tasks/{rspec.rb.erb → rspec.rake.erb} +8 -4
- data/resources/trees/test/tasks/{testunit.rb.erb → testunit.rake.erb} +0 -0
- data/resources/trees/website/tasks/site.rake.erb +39 -0
- data/spec/bin_plugin_spec.rb +1 -1
- data/spec/core_plugin_spec.rb +1 -1
- data/spec/license_plugin_spec.rb +1 -1
- data/spec/plugin_tree_spec.rb +3 -3
- data/spec/spec_plugin_spec.rb +1 -1
- data/spec/test_plugin_spec.rb +1 -1
- metadata +80 -70
- data/resources/trees/rubyforge/tasks/rubyforge.rb.erb +0 -105
data/CHANGES
CHANGED
@@ -1,12 +1,20 @@
|
|
1
|
-
=
|
1
|
+
= Changelog
|
2
|
+
|
3
|
+
=== Version 0.2.0
|
4
|
+
|
5
|
+
* create conditional tasks based upon the availability of libraries (webby, heel, rubyforge)
|
6
|
+
* added in site plugin add associated tasks
|
7
|
+
* moved all rake tasks to .rake files
|
8
|
+
* added tasks to show website and rdoc if heel is installed
|
9
|
+
|
2
10
|
=== Version 0.1.0
|
3
11
|
|
4
12
|
* Support for building ruby C extensions
|
5
13
|
* Highline prompting for arguments missed on the commandline
|
6
14
|
* logfile and verbosity options works
|
7
15
|
* Refactored generated rakefile tasks into namespaces
|
8
|
-
|
9
|
-
|
16
|
+
* rubyforge support
|
17
|
+
* rspec and ruby unit templates
|
10
18
|
|
11
19
|
=== Version 0.0.1
|
12
20
|
|
data/Rakefile
CHANGED
@@ -1,79 +1,12 @@
|
|
1
|
+
# make sure our project's ./lib directory is added to the ruby search path
|
2
|
+
$: << File.join(File.dirname(__FILE__),"lib")
|
3
|
+
|
1
4
|
require 'rubygems'
|
2
5
|
require 'rake/gempackagetask'
|
3
6
|
require 'rake/clean'
|
4
7
|
require 'rake/rdoctask'
|
8
|
+
require 'rake/contrib/sshpublisher'
|
5
9
|
|
6
|
-
# since we have directories named 'core' remove that from CLEAN
|
7
|
-
CLEAN.exclude("**/core")
|
8
|
-
|
9
|
-
$: << File.join(File.dirname(__FILE__),"lib")
|
10
10
|
require 'rabal'
|
11
11
|
|
12
|
-
|
13
|
-
TASK_DIR = File.join(File.dirname(__FILE__),"tasks")
|
14
|
-
FileList[File.join(TASK_DIR,"*.rb")].each do |tasklib|
|
15
|
-
require "tasks/#{File.basename(tasklib)}"
|
16
|
-
end
|
17
|
-
|
18
|
-
task :default => 'test:default'
|
19
|
-
|
20
|
-
#-----------------------------------------------------------------------
|
21
|
-
# Documentation
|
22
|
-
#-----------------------------------------------------------------------
|
23
|
-
namespace :doc do |ns|
|
24
|
-
|
25
|
-
# generating documentation locally
|
26
|
-
Rake::RDocTask.new do |rdoc|
|
27
|
-
rdoc.rdoc_dir = Rabal::SPEC.local_rdoc_dir
|
28
|
-
rdoc.options = Rabal::SPEC.rdoc_options
|
29
|
-
rdoc.rdoc_files = Rabal::SPEC.rdoc_files
|
30
|
-
end
|
31
|
-
|
32
|
-
#desc "View the RDoc documentation locally"
|
33
|
-
task :view => :rdoc do
|
34
|
-
show_files Rabal::SPEC.local_rdoc_dir
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
#-----------------------------------------------------------------------
|
39
|
-
# Packaging and Distribution
|
40
|
-
#-----------------------------------------------------------------------
|
41
|
-
namespace :dist do
|
42
|
-
|
43
|
-
GEM_SPEC = eval(Rabal::SPEC.to_ruby)
|
44
|
-
|
45
|
-
Rake::GemPackageTask.new(GEM_SPEC) do |pkg|
|
46
|
-
pkg.need_tar = Rabal::SPEC.need_tar
|
47
|
-
pkg.need_zip = Rabal::SPEC.need_zip
|
48
|
-
end
|
49
|
-
|
50
|
-
desc "Install as a gem"
|
51
|
-
task :install => [:clobber_package, :package] do
|
52
|
-
sh "sudo gem install pkg/#{Rabal::SPEC.full_name}.gem"
|
53
|
-
end
|
54
|
-
|
55
|
-
# uninstall the gem and all executables
|
56
|
-
desc "Uninstall gem"
|
57
|
-
task :uninstall do
|
58
|
-
sh "sudo gem uninstall #{Rabal::SPEC.name} -x"
|
59
|
-
end
|
60
|
-
|
61
|
-
desc "dump gemspec"
|
62
|
-
task :gemspec do
|
63
|
-
puts Rabal::SPEC.to_ruby
|
64
|
-
end
|
65
|
-
|
66
|
-
desc "reinstall gem"
|
67
|
-
task :reinstall => [:install, :uninstall]
|
68
|
-
|
69
|
-
end
|
70
|
-
|
71
|
-
#-----------------------------------------------------------------------
|
72
|
-
# update the top level clobber task to depend on all possible sub-level
|
73
|
-
# tasks that have a name like ':clobber' in other namespaces
|
74
|
-
#-----------------------------------------------------------------------
|
75
|
-
Rake.application.tasks.each do |t|
|
76
|
-
if t.name =~ /:clobber/ then
|
77
|
-
task :clobber => [t.name]
|
78
|
-
end
|
79
|
-
end
|
12
|
+
load 'tasks/setup.rb'
|
data/lib/rabal/application.rb
CHANGED
@@ -122,10 +122,6 @@ module Rabal
|
|
122
122
|
|
123
123
|
}
|
124
124
|
|
125
|
-
option("version","V") {
|
126
|
-
description "Display the version number"
|
127
|
-
}
|
128
|
-
|
129
125
|
def run
|
130
126
|
Rabal.application.rabalize
|
131
127
|
end
|
@@ -241,7 +237,7 @@ module Rabal
|
|
241
237
|
Log.logger = main.params["logfile"].value
|
242
238
|
end
|
243
239
|
Log.logger.level = ::Logger::SEV_LABEL.index(main.params["verbosity"].value)
|
244
|
-
Log.
|
240
|
+
Log.debug "Logger initialized"
|
245
241
|
end
|
246
242
|
end
|
247
243
|
end
|
data/lib/rabal/directory_tree.rb
CHANGED
@@ -33,10 +33,10 @@ module Rabal
|
|
33
33
|
def before_action
|
34
34
|
@parent_dir = Dir.pwd
|
35
35
|
if not File.directory?(dir_name) then
|
36
|
-
info("creating
|
36
|
+
info("creating #{dir_name}")
|
37
37
|
Dir.mkdir(dir_name)
|
38
38
|
else
|
39
|
-
|
39
|
+
debug("skipping #{dir_name} - already exists")
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
@@ -44,7 +44,7 @@ module Rabal
|
|
44
44
|
# change into the directory
|
45
45
|
#
|
46
46
|
def action
|
47
|
-
|
47
|
+
debug("entering #{dir_name}")
|
48
48
|
Dir.chdir(dir_name)
|
49
49
|
end
|
50
50
|
|
@@ -52,7 +52,7 @@ module Rabal
|
|
52
52
|
# change back to the parent directory
|
53
53
|
#
|
54
54
|
def after_action
|
55
|
-
|
55
|
+
debug("leaving #{dir_name}")
|
56
56
|
Dir.chdir(parent_dir)
|
57
57
|
end
|
58
58
|
end
|
data/lib/rabal/file_tree.rb
CHANGED
@@ -23,7 +23,7 @@ module Rabal
|
|
23
23
|
|
24
24
|
# the contents of the file to write
|
25
25
|
attr_accessor :file_contents
|
26
|
-
|
26
|
+
|
27
27
|
class << self
|
28
28
|
|
29
29
|
#
|
@@ -64,7 +64,7 @@ module Rabal
|
|
64
64
|
# binding for erb if there is one
|
65
65
|
#
|
66
66
|
def before_action
|
67
|
-
|
67
|
+
debug("creating content for #{file_name}")
|
68
68
|
begin
|
69
69
|
@file_contents = ERB.new(template).result(binding)
|
70
70
|
rescue Exception => e
|
@@ -82,12 +82,12 @@ module Rabal
|
|
82
82
|
#
|
83
83
|
def action
|
84
84
|
if not File.file?(file_name) then
|
85
|
-
info("
|
85
|
+
info("creating #{file_name}")
|
86
86
|
File.open(file_name,"w+") do |f|
|
87
87
|
f.write(file_contents)
|
88
88
|
end
|
89
89
|
else
|
90
|
-
|
90
|
+
debug("skipping #{file_name} - already exists")
|
91
91
|
end
|
92
92
|
end
|
93
93
|
end
|
data/lib/rabal/gemspec.rb
CHANGED
@@ -34,15 +34,16 @@ module Rabal
|
|
34
34
|
spec.add_dependency("main", ">= 0.0.2")
|
35
35
|
spec.add_dependency("gem_plugin", ">= 0.2.1")
|
36
36
|
spec.add_dependency("highline", ">= 1.2.9")
|
37
|
+
spec.required_ruby_version = ">= 1.8.5"
|
37
38
|
|
38
39
|
spec.platform = Gem::Platform::RUBY
|
39
40
|
|
41
|
+
spec.remote_user = "jjh"
|
40
42
|
spec.local_rdoc_dir = "doc/rdoc"
|
41
|
-
spec.remote_rdoc_dir = "
|
43
|
+
spec.remote_rdoc_dir = ""
|
42
44
|
spec.local_coverage_dir = "doc/coverage"
|
43
|
-
spec.remote_coverage_dir= "#{spec.name}/coverage"
|
44
45
|
|
45
|
-
spec.remote_site_dir = "
|
46
|
+
spec.remote_site_dir = ""
|
46
47
|
|
47
48
|
end
|
48
49
|
end
|
data/lib/rabal/plugin.rb
CHANGED
@@ -91,7 +91,7 @@ module Rabal
|
|
91
91
|
# validate the parameters of the plugin in the simplest way
|
92
92
|
# possible. Make sure that each listend parameters is not
|
93
93
|
# null. This assumes that @parameters has a method for each
|
94
|
-
# parameter
|
94
|
+
# parameter name
|
95
95
|
#
|
96
96
|
def validate_parameters
|
97
97
|
self.class.parameters.each do |name,param_info|
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'rabal/plugin/foundation'
|
2
|
+
module Rabal
|
3
|
+
module Plugin
|
4
|
+
class Website < Rabal::Plugin::Base "/rabal/website"
|
5
|
+
description "Add a website for your application."
|
6
|
+
def initialize(options)
|
7
|
+
@parameters = OpenStruct.new(options)
|
8
|
+
validate_parameters
|
9
|
+
@tree = PluginTree.new({}, resource_by_name(my_main_tree_name))
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/lib/rabal/version.rb
CHANGED
@@ -2,9 +2,11 @@
|
|
2
2
|
|
3
3
|
begin
|
4
4
|
require '<%= project_name %>'
|
5
|
-
rescue LoadError
|
6
|
-
|
7
|
-
|
5
|
+
rescue LoadError
|
6
|
+
path = File.expand_path(File.join(File.dirname(__FILE__),"..","lib"))
|
7
|
+
raise if $:.include?(path)
|
8
|
+
$: << path
|
9
|
+
retry
|
8
10
|
end
|
9
11
|
|
10
12
|
puts "I am the killer app <%= project_name %> at version #{<%= project_name.camelize %>::VERSION}!"
|
@@ -1,67 +1,14 @@
|
|
1
|
+
# make sure our project's ./lib directory is added to the ruby search path
|
2
|
+
$: << File.join(File.dirname(__FILE__),"lib")
|
3
|
+
|
1
4
|
require 'rubygems'
|
2
5
|
require 'rake/gempackagetask'
|
3
6
|
require 'rake/clean'
|
4
7
|
require 'rake/rdoctask'
|
8
|
+
require 'rake/contrib/sshpublisher'
|
5
9
|
|
6
|
-
$: << File.join(File.dirname(__FILE__),"lib")
|
7
10
|
require '<%= project_name.underscore %>'
|
8
11
|
|
9
|
-
|
10
|
-
TASK_DIR = File.join(File.dirname(__FILE__),"tasks")
|
11
|
-
FileList[File.join(TASK_DIR,"*.rb")].each do |tasklib|
|
12
|
-
require "tasks/#{File.basename(tasklib)}"
|
13
|
-
end
|
14
|
-
|
15
|
-
task :default => "test:default"
|
16
|
-
|
17
|
-
#-----------------------------------------------------------------------
|
18
|
-
# Documentation
|
19
|
-
#-----------------------------------------------------------------------
|
20
|
-
namespace :doc do
|
21
|
-
|
22
|
-
# generating documentation locally
|
23
|
-
Rake::RDocTask.new do |rdoc|
|
24
|
-
rdoc.rdoc_dir = <%= project_name.camelize %>::SPEC.local_rdoc_dir
|
25
|
-
rdoc.options = <%= project_name.camelize %>::SPEC.rdoc_options
|
26
|
-
rdoc.rdoc_files = <%= project_name.camelize %>::SPEC.rdoc_files
|
27
|
-
end
|
28
|
-
|
29
|
-
desc "View the RDoc documentation locally"
|
30
|
-
task :view => :rdoc do
|
31
|
-
show_files <%= project_name.camelize %>::SPEC.local_rdoc_dir
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
35
|
-
|
36
|
-
#-----------------------------------------------------------------------
|
37
|
-
# Packaging and Distribution
|
38
|
-
#-----------------------------------------------------------------------
|
39
|
-
namespace :dist do
|
40
|
-
|
41
|
-
GEM_SPEC = eval(<%= project_name.camelize %>:::SPEC.to_ruby)
|
42
|
-
|
43
|
-
Rake::GemPackageTask.new(GEM_SPEC) do |pkg|
|
44
|
-
pkg.need_tar = <%= project_name.camelize %>::SPEC.need_tar
|
45
|
-
pkg.need_zip = <%= project_name.camelize %>::SPEC.need_zip
|
46
|
-
end
|
47
|
-
|
48
|
-
desc "Install as a gem"
|
49
|
-
task :install => [:clobber, :package] do
|
50
|
-
sh "sudo gem install pkg/#{<%= project_name.camelize %>::SPEC.full_name}.gem"
|
51
|
-
end
|
52
|
-
|
53
|
-
# uninstall the gem and all executables
|
54
|
-
desc "Uninstall gem"
|
55
|
-
task :uninstall do
|
56
|
-
sh "sudo gem uninstall #{<%= project_name.camelize %>::SPEC.name} -x"
|
57
|
-
end
|
58
|
-
|
59
|
-
desc "dump gemspec"
|
60
|
-
task :gemspec do
|
61
|
-
puts <%= project_name.camelize %>::SPEC.to_ruby
|
62
|
-
end
|
12
|
+
load 'tasks/setup.rb'
|
63
13
|
|
64
|
-
desc "reinstall gem"
|
65
|
-
task :reinstall => [:install, :uninstall]
|
66
14
|
|
67
|
-
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
#-----------------------------------------------------------------------
|
2
|
+
# Announcement tasks
|
3
|
+
# - create a basic email template that can be used to send email to
|
4
|
+
# rubytalk.
|
5
|
+
#-----------------------------------------------------------------------
|
6
|
+
def changes
|
7
|
+
change_file = File.expand_path(File.join(<%= project_name.camelize %>::ROOT_DIR,"CHANGES"))
|
8
|
+
sections = File.read(change_file).split(/^(?===)/)
|
9
|
+
end
|
10
|
+
|
11
|
+
def last_changeset
|
12
|
+
changes[1]
|
13
|
+
end
|
14
|
+
|
15
|
+
def announcement
|
16
|
+
urls = " #{<%= project_name.camelize %>::SPEC.homepage}"
|
17
|
+
subject = "#{<%= project_name.camelize %>::SPEC.name} #{<%= project_name.camelize %>::VERSION} Released"
|
18
|
+
title = "#{<%= project_name.camelize %>::SPEC.name} version #{<%= project_name.camelize %>::VERSION} has been released."
|
19
|
+
body = <<BODY
|
20
|
+
#{<%= project_name.camelize %>::SPEC.description.rstrip}
|
21
|
+
|
22
|
+
{{ Changelog for Version #{<%= project_name.camelize %>::VERSION} }}
|
23
|
+
|
24
|
+
#{last_changeset.rstrip}
|
25
|
+
|
26
|
+
BODY
|
27
|
+
|
28
|
+
return subject, title, body, urls
|
29
|
+
end
|
30
|
+
|
31
|
+
namespace :announce do
|
32
|
+
desc "create email for ruby-talk"
|
33
|
+
task :email do
|
34
|
+
subject, title, body, urls = announcement
|
35
|
+
|
36
|
+
File.open("email.txt", "w") do |mail|
|
37
|
+
mail.puts "From: #{<%= project_name.camelize %>::SPEC.author} <#{<%= project_name.camelize %>::SPEC.email}>"
|
38
|
+
mail.puts "To: ruby-talk@ruby-lang.org"
|
39
|
+
mail.puts "Date: #{Time.now.rfc2822}"
|
40
|
+
mail.puts "Subject: [ANN] #{subject}"
|
41
|
+
mail.puts
|
42
|
+
mail.puts title
|
43
|
+
mail.puts
|
44
|
+
mail.puts urls
|
45
|
+
mail.puts
|
46
|
+
mail.puts body
|
47
|
+
mail.puts
|
48
|
+
mail.puts urls
|
49
|
+
end
|
50
|
+
puts "Created the following as email.txt:"
|
51
|
+
puts "-" * 72
|
52
|
+
puts File.read("email.txt")
|
53
|
+
puts "-" * 72
|
54
|
+
end
|
55
|
+
|
56
|
+
CLOBBER << "email.txt"
|
57
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#-----------------------------------------------------------------------
|
2
|
+
# Distribution and Packaging
|
3
|
+
#-----------------------------------------------------------------------
|
4
|
+
namespace :dist do
|
5
|
+
|
6
|
+
GEM_SPEC = eval(<%= project_name.camelize %>::SPEC.to_ruby)
|
7
|
+
|
8
|
+
Rake::GemPackageTask.new(GEM_SPEC) do |pkg|
|
9
|
+
pkg.need_tar = <%= project_name.camelize %>::SPEC.need_tar
|
10
|
+
pkg.need_zip = <%= project_name.camelize %>::SPEC.need_zip
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Install as a gem"
|
14
|
+
task :install => [:clobber, :package] do
|
15
|
+
sh "sudo gem install pkg/#{<%= project_name.camelize %>::SPEC.full_name}.gem"
|
16
|
+
end
|
17
|
+
|
18
|
+
# uninstall the gem and all executables
|
19
|
+
desc "Uninstall gem"
|
20
|
+
task :uninstall do
|
21
|
+
sh "sudo gem uninstall #{<%= project_name.camelize %>::SPEC.name} -x"
|
22
|
+
end
|
23
|
+
|
24
|
+
desc "dump gemspec"
|
25
|
+
task :gemspec do
|
26
|
+
puts <%= project_name.camelize %>::SPEC.to_ruby
|
27
|
+
end
|
28
|
+
|
29
|
+
desc "reinstall gem"
|
30
|
+
task :reinstall => [:uninstall, :install]
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#-----------------------------------------------------------------------
|
2
|
+
# Documentation
|
3
|
+
#-----------------------------------------------------------------------
|
4
|
+
|
5
|
+
namespace :doc do
|
6
|
+
|
7
|
+
# generating documentation locally
|
8
|
+
Rake::RDocTask.new do |rdoc|
|
9
|
+
rdoc.rdoc_dir = <%= project_name.camelize %>::SPEC.local_rdoc_dir
|
10
|
+
rdoc.options = <%= project_name.camelize %>::SPEC.rdoc_options
|
11
|
+
rdoc.rdoc_files = <%= project_name.camelize %>::SPEC.rdoc_files
|
12
|
+
end
|
13
|
+
|
14
|
+
desc "Deploy the RDoc documentation to #{<%= project_name.camelize %>::SPEC.remote_rdoc_location}"
|
15
|
+
task :deploy => :rerdoc do
|
16
|
+
sh "rsync -zav --delete #{<%= project_name.camelize %>::SPEC.local_rdoc_dir}/ #{<%= project_name.camelize %>::SPEC.remote_rdoc_location}"
|
17
|
+
end
|
18
|
+
|
19
|
+
if HAVE_HEEL then
|
20
|
+
desc "View the RDoc documentation locally"
|
21
|
+
task :view => :rdoc do
|
22
|
+
sh "heel --root #{<%= project_name.camelize %>::SPEC.local_rdoc_dir}"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
#-----------------------------------------------------------------------
|
2
|
+
# Try to load the given _library_ using the built-in require, but do not
|
3
|
+
# raise a LoadError if unsuccessful. Returns +true+ if the _library_ was
|
4
|
+
# successfully loaded; returns +false+ otherwise.
|
5
|
+
#-----------------------------------------------------------------------
|
6
|
+
def try_require( lib )
|
7
|
+
require lib
|
8
|
+
true
|
9
|
+
rescue LoadError
|
10
|
+
false
|
11
|
+
end
|
12
|
+
|
13
|
+
#-----------------------------------------------------------------------
|
14
|
+
# setup global constants so the task libs can make decisions based upon
|
15
|
+
# the availability of other libraries.
|
16
|
+
# - heel is a mongrel based webserver used to serve up files locally
|
17
|
+
# - webby is a static site generation tool
|
18
|
+
# - rubyforge is self explanatory
|
19
|
+
#-----------------------------------------------------------------------
|
20
|
+
%w(heel webby rubyforge).each do |lib|
|
21
|
+
Object.instance_eval { const_set "HAVE_#{lib.upcase}", try_require(lib) }
|
22
|
+
end
|
23
|
+
|
24
|
+
#-----------------------------------------------------------------------
|
25
|
+
# load all the extra tasks for the project and setup the default task
|
26
|
+
# the test:default is set by the spec or by the testunit library.
|
27
|
+
#-----------------------------------------------------------------------
|
28
|
+
FileList["tasks/*.rake"].each { |tasklib| import tasklib }
|
29
|
+
|
30
|
+
task :default => 'test:default'
|
31
|
+
|
32
|
+
#-----------------------------------------------------------------------
|
33
|
+
# update the top level clobber task to depend on all possible sub-level
|
34
|
+
# tasks that have a name like ':clobber' in other namespaces
|
35
|
+
#-----------------------------------------------------------------------
|
36
|
+
Rake.application.tasks.each do |t|
|
37
|
+
if t.name =~ /:clobber/ then
|
38
|
+
task :clobber => [t.name]
|
39
|
+
end
|
40
|
+
end
|
File without changes
|
@@ -0,0 +1,43 @@
|
|
1
|
+
if HAVE_RUBYFORGE then
|
2
|
+
require 'rubyforge'
|
3
|
+
|
4
|
+
#-----------------------------------------------------------------------
|
5
|
+
# Rubyforge additions to the task library
|
6
|
+
#-----------------------------------------------------------------------
|
7
|
+
namespace :dist do
|
8
|
+
desc "Release files to rubyforge"
|
9
|
+
task :rubyforge => [:clean, :package] do
|
10
|
+
|
11
|
+
rubyforge = RubyForge.new
|
12
|
+
|
13
|
+
# make sure this release doesn't already exist
|
14
|
+
releases = rubyforge.autoconfig['release_ids']
|
15
|
+
if releases.has_key?(<%= project_name.camelize %>::SPEC.name) and releases[<%= project_name.camelize %>::SPEC.name][<%= project_name.camelize %>::VERSION] then
|
16
|
+
abort("Release #{<%= project_name.camelize %>::VERSION} already exists! Unable to release.")
|
17
|
+
end
|
18
|
+
|
19
|
+
config = rubyforge.userconfig
|
20
|
+
config["release_notes"] = <%= project_name.camelize %>::SPEC.description
|
21
|
+
config["release_changes"] = last_changeset
|
22
|
+
config["Prefomatted"] = true
|
23
|
+
|
24
|
+
puts "Uploading to rubyforge..."
|
25
|
+
files = FileList[File.join("pkg","#{<%= project_name.camelize %>::SPEC.name}-#{<%= project_name.camelize %>::VERSION}*.*")].to_a
|
26
|
+
rubyforge.login
|
27
|
+
rubyforge.add_release(<%= project_name.camelize %>::SPEC.rubyforge_project, <%= project_name.camelize %>::SPEC.name, <%= project_name.camelize %>::VERSION, *files)
|
28
|
+
puts "done."
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
namespace :announce do
|
33
|
+
desc "Post news of #{<%= project_name.camelize %>::SPEC.name} to #{<%= project_name.camelize %>::SPEC.rubyforge_project} on rubyforge"
|
34
|
+
task :rubyforge do
|
35
|
+
subject, title, body, urls = announcement
|
36
|
+
rubyforge = RubyForge.new
|
37
|
+
rubyforge.login
|
38
|
+
rubyforge.post_news(<%= project_name.camelize %>::SPEC.rubyforge_project, subject, "#{title}\n\n#{urls}\n\n#{body}")
|
39
|
+
puts "Posted to rubyforge"
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
@@ -11,10 +11,14 @@ namespace :test do
|
|
11
11
|
r.rcov = true
|
12
12
|
r.rcov_dir = <%= project_name.camelize %>::SPEC.local_coverage_dir
|
13
13
|
r.libs = <%= project_name.camelize %>::SPEC.require_paths
|
14
|
-
r.spec_opts = %w(--format specdoc)
|
14
|
+
r.spec_opts = %w(--format specdoc --color)
|
15
15
|
end
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
if HAVE_HEEL then
|
18
|
+
desc "View the code coverage report locally"
|
19
|
+
task :coverage => [:spec] do
|
20
|
+
sh "heel --root #{<%= project_name.camelize %>::SPEC.local_coverage_dir}"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
20
24
|
end
|
File without changes
|
@@ -0,0 +1,39 @@
|
|
1
|
+
#-----------------------------------------------------------------------
|
2
|
+
# Website maintenance
|
3
|
+
#-----------------------------------------------------------------------
|
4
|
+
|
5
|
+
namespace :site do
|
6
|
+
|
7
|
+
desc "Remove all the files from the local deployment of the site"
|
8
|
+
task :clobber do
|
9
|
+
rm_rf <%= project_name.camelize %>::SPEC.local_site_dir
|
10
|
+
end
|
11
|
+
|
12
|
+
desc "Update the website on #{<%= project_name.camelize %>::SPEC.remote_site_location}"
|
13
|
+
task :deploy => :build do
|
14
|
+
sh "rsync -zav --delete #{<%= project_name.camelize %>::SPEC.local_site_dir}/ #{<%= project_name.camelize %>::SPEC.remote_site_location}"
|
15
|
+
end
|
16
|
+
|
17
|
+
if HAVE_WEBBY then
|
18
|
+
desc "Create the initial webiste template"
|
19
|
+
task :init do
|
20
|
+
Dir.chdir <%= project_name.camelize %>::ROOT_DIR do
|
21
|
+
::Webby::Main.run(["website"])
|
22
|
+
end
|
23
|
+
puts "You will need to edit the website/tasks/setup.rb file at this time."
|
24
|
+
end
|
25
|
+
|
26
|
+
desc "Build the public website"
|
27
|
+
task :build do
|
28
|
+
sh "pushd website && rake"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
if HAVE_HEEL then
|
33
|
+
desc "View the website locally"
|
34
|
+
task :view => :build do
|
35
|
+
sh "heel --root #{<%= project_name.camelize %>::SPEC.local_site_dir}"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
data/spec/bin_plugin_spec.rb
CHANGED
@@ -5,7 +5,7 @@ describe Rabal::Plugin::Bin do
|
|
5
5
|
@working_dir = my_temp_dir
|
6
6
|
@before = Dir.pwd
|
7
7
|
@core = Rabal::Plugin::Core.new({:project => "new-spec-proj", :author => "Foo Bar", :email => "foobar@example.com"})
|
8
|
-
@base_tree = Set.new(%w(README Rakefile CHANGES lib lib/new-spec-proj lib/new_spec_proj.rb lib/new-spec-proj/version.rb bin bin/new_spec_proj lib/new-spec-proj/specification.rb lib/new-spec-proj/gemspec.rb))
|
8
|
+
@base_tree = Set.new(%w(README Rakefile CHANGES lib lib/new-spec-proj lib/new_spec_proj.rb lib/new-spec-proj/version.rb bin bin/new_spec_proj lib/new-spec-proj/specification.rb lib/new-spec-proj/gemspec.rb tasks tasks/setup.rb tasks/announce.rake tasks/distribution.rake tasks/documentation.rake))
|
9
9
|
Dir.chdir(@working_dir)
|
10
10
|
end
|
11
11
|
|
data/spec/core_plugin_spec.rb
CHANGED
@@ -4,7 +4,7 @@ describe Rabal::Plugin::Core do
|
|
4
4
|
@working_dir = my_temp_dir
|
5
5
|
@before = Dir.pwd
|
6
6
|
@core = Rabal::Plugin::Core.new({:project => "new-spec-proj", :author => "Foo Bar", :email => "foobar@example.com"})
|
7
|
-
@base_tree = Set.new(%w(README Rakefile CHANGES lib lib/new-spec-proj lib/new_spec_proj.rb lib/new-spec-proj/version.rb lib/new-spec-proj/specification.rb lib/new-spec-proj/gemspec.rb))
|
7
|
+
@base_tree = Set.new(%w(README Rakefile CHANGES lib lib/new-spec-proj lib/new_spec_proj.rb lib/new-spec-proj/version.rb lib/new-spec-proj/specification.rb lib/new-spec-proj/gemspec.rb tasks tasks/setup.rb tasks/announce.rake tasks/distribution.rake tasks/documentation.rake))
|
8
8
|
Dir.chdir(@working_dir)
|
9
9
|
end
|
10
10
|
|
data/spec/license_plugin_spec.rb
CHANGED
@@ -4,7 +4,7 @@ describe Rabal::Plugin::License do
|
|
4
4
|
@working_dir = my_temp_dir
|
5
5
|
@before = Dir.pwd
|
6
6
|
@core = Rabal::Plugin::Core.new({:project => "new-spec-proj", :author => "Foo Bar", :email => "foobar@example.com"})
|
7
|
-
@base_tree = Set.new(%w(README Rakefile CHANGES COPYING LICENSE lib lib/new-spec-proj lib/new_spec_proj.rb lib/new-spec-proj/version.rb lib/new-spec-proj/gemspec.rb lib/new-spec-proj/specification.rb))
|
7
|
+
@base_tree = Set.new(%w(README Rakefile CHANGES COPYING LICENSE lib lib/new-spec-proj lib/new_spec_proj.rb lib/new-spec-proj/version.rb lib/new-spec-proj/gemspec.rb lib/new-spec-proj/specification.rb tasks tasks/setup.rb tasks/announce.rake tasks/distribution.rake tasks/documentation.rake))
|
8
8
|
Dir.chdir(@working_dir)
|
9
9
|
end
|
10
10
|
|
data/spec/plugin_tree_spec.rb
CHANGED
@@ -8,7 +8,7 @@ describe Rabal::PluginTree do
|
|
8
8
|
@tree = ProjectTree.new('new-spec-proj', {:author => "Some Author", :email => "author@example.com"})
|
9
9
|
@tree << PluginTree.new({:data1 => "some_data" },resource_handle("core"))
|
10
10
|
|
11
|
-
@base_tree = Set.new(%w(README Rakefile CHANGES lib lib/new-spec-proj lib/new_spec_proj.rb lib/new-spec-proj/version.rb lib/new-spec-proj/gemspec.rb lib/new-spec-proj/specification.rb))
|
11
|
+
@base_tree = Set.new(%w(README Rakefile CHANGES lib lib/new-spec-proj lib/new_spec_proj.rb lib/new-spec-proj/version.rb lib/new-spec-proj/gemspec.rb lib/new-spec-proj/specification.rb tasks tasks/announce.rake tasks/distribution.rake tasks/documentation.rake tasks/setup.rb))
|
12
12
|
|
13
13
|
@before = Dir.pwd
|
14
14
|
Dir.chdir(@working_dir)
|
@@ -27,7 +27,7 @@ describe Rabal::PluginTree do
|
|
27
27
|
it "should allow for insertion into the Plugin Tree" do
|
28
28
|
@tree << PluginTree.new({},resource_handle("test"),"test")
|
29
29
|
@tree.process
|
30
|
-
find_in('new-spec-proj').sort.should == (@base_tree + %w(test test/tasks test/tasks/testunit.
|
30
|
+
find_in('new-spec-proj').sort.should == (@base_tree + %w(test test/tasks test/tasks/testunit.rake test/test test/test/new_spec_proj_test.rb test/test/test_helper.rb)).sort
|
31
31
|
end
|
32
32
|
|
33
33
|
it "should allow for insertion into the Plugin Tree somewhere other than the root" do
|
@@ -37,7 +37,7 @@ describe Rabal::PluginTree do
|
|
37
37
|
d1d2 = %w(misc misc/stuff)
|
38
38
|
|
39
39
|
@tree.add_at_path("misc/stuff", PluginTree.new({},resource_handle("spec"),"subdir"))
|
40
|
-
spec = %w(misc/stuff/subdir misc/stuff/subdir/spec/spec_helper.rb misc/stuff/subdir/spec/new_spec_proj_spec.rb misc/stuff/subdir/tasks/rspec.
|
40
|
+
spec = %w(misc/stuff/subdir misc/stuff/subdir/spec/spec_helper.rb misc/stuff/subdir/spec/new_spec_proj_spec.rb misc/stuff/subdir/tasks/rspec.rake misc/stuff/subdir/spec misc/stuff/subdir/tasks)
|
41
41
|
|
42
42
|
@tree.process
|
43
43
|
find_in('new-spec-proj').sort.should == (@base_tree + d1d2 + spec).sort
|
data/spec/spec_plugin_spec.rb
CHANGED
@@ -5,7 +5,7 @@ describe Rabal::Plugin::Spec do
|
|
5
5
|
@working_dir = my_temp_dir
|
6
6
|
@before = Dir.pwd
|
7
7
|
@core = Rabal::Plugin::Core.new({:project => "new-spec-proj", :author => "Foo Bar", :email => "foobar@example.com"})
|
8
|
-
@base_tree = Set.new(%w(README Rakefile CHANGES lib lib/new-spec-proj lib/new_spec_proj.rb lib/new-spec-proj/version.rb spec spec/new_spec_proj_spec.rb spec/spec_helper.rb lib/new-spec-proj/specification.rb lib/new-spec-proj/gemspec.rb tasks tasks/rspec.rb))
|
8
|
+
@base_tree = Set.new(%w(README Rakefile CHANGES lib lib/new-spec-proj lib/new_spec_proj.rb lib/new-spec-proj/version.rb spec spec/new_spec_proj_spec.rb spec/spec_helper.rb lib/new-spec-proj/specification.rb lib/new-spec-proj/gemspec.rb tasks tasks/rspec.rake tasks/announce.rake tasks/distribution.rake tasks/documentation.rake tasks/setup.rb))
|
9
9
|
Dir.chdir(@working_dir)
|
10
10
|
end
|
11
11
|
|
data/spec/test_plugin_spec.rb
CHANGED
@@ -5,7 +5,7 @@ describe Rabal::Plugin::Test do
|
|
5
5
|
@working_dir = my_temp_dir
|
6
6
|
@before = Dir.pwd
|
7
7
|
@core = Rabal::Plugin::Core.new({:project => "new-spec-proj", :author => "Foo Bar", :email => "foobar@example.com"})
|
8
|
-
@base_tree = Set.new(%w(README Rakefile CHANGES lib lib/new-spec-proj lib/new_spec_proj.rb lib/new-spec-proj/version.rb test test/new_spec_proj_test.rb test/test_helper.rb lib/new-spec-proj/specification.rb lib/new-spec-proj/gemspec.rb tasks tasks/testunit.rb ))
|
8
|
+
@base_tree = Set.new(%w(README Rakefile CHANGES lib lib/new-spec-proj lib/new_spec_proj.rb lib/new-spec-proj/version.rb test test/new_spec_proj_test.rb test/test_helper.rb lib/new-spec-proj/specification.rb lib/new-spec-proj/gemspec.rb tasks tasks/testunit.rake tasks/announce.rake tasks/distribution.rake tasks/documentation.rake tasks/setup.rb ))
|
9
9
|
Dir.chdir(@working_dir)
|
10
10
|
end
|
11
11
|
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rabal
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.2.0
|
7
|
+
date: 2007-09-09 00:00:00 -06:00
|
8
8
|
summary: A tool for bootstrapping project development
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -18,9 +18,9 @@ bindir: bin
|
|
18
18
|
has_rdoc: true
|
19
19
|
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
20
|
requirements:
|
21
|
-
- - "
|
21
|
+
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
23
|
+
version: 1.8.5
|
24
24
|
version:
|
25
25
|
platform: ruby
|
26
26
|
signing_key:
|
@@ -29,110 +29,120 @@ post_install_message:
|
|
29
29
|
authors:
|
30
30
|
- Jeremy Hinegardner
|
31
31
|
files:
|
32
|
-
- spec/
|
33
|
-
- spec/core_plugin_spec.rb
|
32
|
+
- spec/action_tree_spec.rb
|
34
33
|
- spec/application_spec.rb
|
35
|
-
- spec/version_spec.rb
|
36
|
-
- spec/test_plugin_spec.rb
|
37
34
|
- spec/bin_plugin_spec.rb
|
35
|
+
- spec/core_plugin_spec.rb
|
38
36
|
- spec/directory_tree_spec.rb
|
39
|
-
- spec/
|
40
|
-
- spec/utils_spec.rb
|
37
|
+
- spec/file_tree_spec.rb
|
41
38
|
- spec/license_plugin_spec.rb
|
42
|
-
- spec/
|
39
|
+
- spec/plugin_tree_spec.rb
|
40
|
+
- spec/project_tree_spec.rb
|
43
41
|
- spec/spec_helper.rb
|
44
|
-
- spec/
|
42
|
+
- spec/spec_plugin_spec.rb
|
43
|
+
- spec/test_plugin_spec.rb
|
45
44
|
- spec/tree_spec.rb
|
46
|
-
- spec/
|
45
|
+
- spec/utils_spec.rb
|
46
|
+
- spec/version_spec.rb
|
47
|
+
- CHANGES
|
48
|
+
- COPYING
|
49
|
+
- LICENSE
|
47
50
|
- Rakefile
|
48
51
|
- README
|
49
|
-
- LICENSE
|
50
|
-
- CHANGES
|
51
52
|
- README.PLUGIN
|
52
|
-
-
|
53
|
-
- lib/rabal.rb
|
54
|
-
- lib/rabal/
|
55
|
-
- lib/rabal/
|
53
|
+
- lib/rabal/action_tree.rb
|
54
|
+
- lib/rabal/application.rb
|
55
|
+
- lib/rabal/directory_tree.rb
|
56
|
+
- lib/rabal/error.rb
|
57
|
+
- lib/rabal/file_tree.rb
|
58
|
+
- lib/rabal/gemspec.rb
|
59
|
+
- lib/rabal/logger.rb
|
56
60
|
- lib/rabal/plugin/bin.rb
|
57
|
-
- lib/rabal/plugin/ext.rb
|
58
|
-
- lib/rabal/plugin/license.rb
|
59
61
|
- lib/rabal/plugin/core.rb
|
62
|
+
- lib/rabal/plugin/ext.rb
|
60
63
|
- lib/rabal/plugin/foundation.rb
|
64
|
+
- lib/rabal/plugin/license.rb
|
61
65
|
- lib/rabal/plugin/rubyforge.rb
|
62
66
|
- lib/rabal/plugin/spec.rb
|
63
67
|
- lib/rabal/plugin/test.rb
|
64
|
-
- lib/rabal/
|
65
|
-
- lib/rabal/gemspec.rb
|
66
|
-
- lib/rabal/application.rb
|
67
|
-
- lib/rabal/version.rb
|
68
|
-
- lib/rabal/error.rb
|
68
|
+
- lib/rabal/plugin/website.rb
|
69
69
|
- lib/rabal/plugin.rb
|
70
|
-
- lib/rabal/file_tree.rb
|
71
|
-
- lib/rabal/tree.rb
|
72
70
|
- lib/rabal/plugin_tree.rb
|
73
|
-
- lib/rabal/usage.rb
|
74
|
-
- lib/rabal/logger.rb
|
75
71
|
- lib/rabal/project_tree.rb
|
76
|
-
- lib/rabal/
|
72
|
+
- lib/rabal/specification.rb
|
73
|
+
- lib/rabal/tree.rb
|
74
|
+
- lib/rabal/usage.rb
|
75
|
+
- lib/rabal/util.rb
|
76
|
+
- lib/rabal/version.rb
|
77
|
+
- lib/rabal.rb
|
77
78
|
- resources/trees
|
79
|
+
- resources/trees/bin
|
80
|
+
- resources/trees/bin/rabal.project
|
81
|
+
- resources/trees/core
|
82
|
+
- resources/trees/core/CHANGES.erb
|
83
|
+
- resources/trees/core/lib
|
84
|
+
- resources/trees/core/lib/rabal.project
|
85
|
+
- resources/trees/core/lib/rabal.project/gemspec.rb.erb
|
86
|
+
- resources/trees/core/lib/rabal.project/specification.rb.erb
|
87
|
+
- resources/trees/core/lib/rabal.project/version.rb.erb
|
88
|
+
- resources/trees/core/lib/rabal.project.rb.erb
|
89
|
+
- resources/trees/core/Rakefile.erb
|
90
|
+
- resources/trees/core/README.erb
|
91
|
+
- resources/trees/core/tasks
|
92
|
+
- resources/trees/core/tasks/announce.rake.erb
|
93
|
+
- resources/trees/core/tasks/distribution.rake.erb
|
94
|
+
- resources/trees/core/tasks/documentation.rake.erb
|
95
|
+
- resources/trees/core/tasks/setup.rb.erb
|
78
96
|
- resources/trees/ext
|
79
97
|
- resources/trees/ext/ext
|
80
98
|
- resources/trees/ext/ext/rabal.project
|
81
99
|
- resources/trees/ext/ext/rabal.project/ext
|
82
100
|
- resources/trees/ext/ext/rabal.project/ext/mkrf_conf.rb.erb
|
83
101
|
- resources/trees/ext/tasks
|
84
|
-
- resources/trees/ext/tasks/extension.
|
102
|
+
- resources/trees/ext/tasks/extension.rake.erb
|
103
|
+
- resources/trees/license
|
104
|
+
- resources/trees/license/COPYING.gpl
|
105
|
+
- resources/trees/license/COPYING.lgpl
|
106
|
+
- resources/trees/license/COPYING.ruby
|
107
|
+
- resources/trees/license/LICENSE.bsd
|
108
|
+
- resources/trees/license/LICENSE.mit
|
109
|
+
- resources/trees/license/LICENSE.ruby
|
110
|
+
- resources/trees/rubyforge
|
111
|
+
- resources/trees/rubyforge/tasks
|
112
|
+
- resources/trees/rubyforge/tasks/rubyforge.rake.erb
|
85
113
|
- resources/trees/spec
|
86
114
|
- resources/trees/spec/spec
|
87
|
-
- resources/trees/spec/spec/spec_helper.rb.erb
|
88
115
|
- resources/trees/spec/spec/rabal.project_spec.rb.erb
|
116
|
+
- resources/trees/spec/spec/spec_helper.rb.erb
|
89
117
|
- resources/trees/spec/tasks
|
90
|
-
- resources/trees/spec/tasks/rspec.
|
118
|
+
- resources/trees/spec/tasks/rspec.rake.erb
|
91
119
|
- resources/trees/test
|
120
|
+
- resources/trees/test/tasks
|
121
|
+
- resources/trees/test/tasks/testunit.rake.erb
|
92
122
|
- resources/trees/test/test
|
93
123
|
- resources/trees/test/test/rabal.project_test.rb.erb
|
94
124
|
- resources/trees/test/test/test_helper.rb.erb
|
95
|
-
- resources/trees/
|
96
|
-
- resources/trees/
|
97
|
-
- resources/trees/
|
98
|
-
- resources/trees/
|
99
|
-
- resources/trees/license/COPYING.ruby
|
100
|
-
- resources/trees/license/LICENSE.mit
|
101
|
-
- resources/trees/license/LICENSE.bsd
|
102
|
-
- resources/trees/license/COPYING.gpl
|
103
|
-
- resources/trees/license/COPYING.lgpl
|
104
|
-
- resources/trees/core
|
105
|
-
- resources/trees/core/Rakefile.erb
|
106
|
-
- resources/trees/core/README.erb
|
107
|
-
- resources/trees/core/CHANGES.erb
|
108
|
-
- resources/trees/core/lib
|
109
|
-
- resources/trees/core/lib/rabal.project
|
110
|
-
- resources/trees/core/lib/rabal.project/version.rb.erb
|
111
|
-
- resources/trees/core/lib/rabal.project/specification.rb.erb
|
112
|
-
- resources/trees/core/lib/rabal.project/gemspec.rb.erb
|
113
|
-
- resources/trees/core/lib/rabal.project.rb.erb
|
114
|
-
- resources/trees/bin
|
115
|
-
- resources/trees/bin/rabal.project
|
116
|
-
- resources/trees/rubyforge
|
117
|
-
- resources/trees/rubyforge/tasks
|
118
|
-
- resources/trees/rubyforge/tasks/rubyforge.rb.erb
|
125
|
+
- resources/trees/website
|
126
|
+
- resources/trees/website/tasks
|
127
|
+
- resources/trees/website/tasks/site.rake.erb
|
128
|
+
- resources/trees/website/website
|
119
129
|
- bin/rabal
|
120
130
|
test_files:
|
121
|
-
- spec/
|
122
|
-
- spec/core_plugin_spec.rb
|
131
|
+
- spec/action_tree_spec.rb
|
123
132
|
- spec/application_spec.rb
|
124
|
-
- spec/version_spec.rb
|
125
|
-
- spec/test_plugin_spec.rb
|
126
133
|
- spec/bin_plugin_spec.rb
|
134
|
+
- spec/core_plugin_spec.rb
|
127
135
|
- spec/directory_tree_spec.rb
|
128
|
-
- spec/
|
129
|
-
- spec/utils_spec.rb
|
136
|
+
- spec/file_tree_spec.rb
|
130
137
|
- spec/license_plugin_spec.rb
|
131
|
-
- spec/
|
138
|
+
- spec/plugin_tree_spec.rb
|
139
|
+
- spec/project_tree_spec.rb
|
132
140
|
- spec/spec_helper.rb
|
133
|
-
- spec/
|
141
|
+
- spec/spec_plugin_spec.rb
|
142
|
+
- spec/test_plugin_spec.rb
|
134
143
|
- spec/tree_spec.rb
|
135
|
-
- spec/
|
144
|
+
- spec/utils_spec.rb
|
145
|
+
- spec/version_spec.rb
|
136
146
|
rdoc_options:
|
137
147
|
- --line-numbers
|
138
148
|
- --inline-source
|
@@ -141,12 +151,12 @@ rdoc_options:
|
|
141
151
|
- --title
|
142
152
|
- "'rabal -- A tool for bootstrapping project development'"
|
143
153
|
extra_rdoc_files:
|
154
|
+
- CHANGES
|
155
|
+
- COPYING
|
156
|
+
- LICENSE
|
144
157
|
- Rakefile
|
145
158
|
- README
|
146
|
-
- LICENSE
|
147
|
-
- CHANGES
|
148
159
|
- README.PLUGIN
|
149
|
-
- COPYING
|
150
160
|
executables:
|
151
161
|
- rabal
|
152
162
|
extensions: []
|
@@ -1,105 +0,0 @@
|
|
1
|
-
require 'rubyforge'
|
2
|
-
|
3
|
-
#-----------------------------------------------------------------------
|
4
|
-
# Documentation - pushing documentation to rubyforge
|
5
|
-
#-----------------------------------------------------------------------
|
6
|
-
namespace :doc do
|
7
|
-
desc "Deploy the RDoc documentation to rubyforge"
|
8
|
-
task :deploy => :rerdoc do
|
9
|
-
sh "rsync -zav --delete #{<%= project_name.camelize %>::SPEC.local_rdoc_dir}/ #{<%= project_name.camelize %>::SPEC.rubyforge_rdoc_dest}"
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
#-----------------------------------------------------------------------
|
14
|
-
# Packaging and Distribution - push to rubyforge
|
15
|
-
#-----------------------------------------------------------------------
|
16
|
-
namespace :dist do
|
17
|
-
desc "Release files to rubyforge"
|
18
|
-
task :release => [:clean, :package] do
|
19
|
-
|
20
|
-
rubyforge = RubyForge.new
|
21
|
-
|
22
|
-
# make sure this release doesn't already exist
|
23
|
-
releases = rubyforge.autoconfig['release_ids']
|
24
|
-
if releases.has_key?(<%= project_name.camelize %>::SPEC.name) and releases[<%= project_name.camelize %>::SPEC.name][<%= project_name.camelize %>::VERSION] then
|
25
|
-
abort("Release #{<%= project_name.camelize %>::VERSION} already exists! Unable to release.")
|
26
|
-
end
|
27
|
-
|
28
|
-
config = rubyforge.userconfig
|
29
|
-
config["release_notes"] = <%= project_name.camelize %>::SPEC.description
|
30
|
-
config["release_changes"] = last_changeset
|
31
|
-
config["Prefomatted"] = true
|
32
|
-
|
33
|
-
|
34
|
-
puts "Uploading to rubyforge..."
|
35
|
-
files = FileList[File.join("pkg","#{<%= project_name.camelize %>::SPEC.name}-#{<%= project_name.camelize %>::VERSION}.*")].to_a
|
36
|
-
rubyforge.login
|
37
|
-
rubyforge.add_release(<%= project_name.camelize %>::SPEC.rubyforge_project, <%= project_name.camelize %>::SPEC.name, <%= project_name.camelize %>::VERSION, *files)
|
38
|
-
puts "done."
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
#-----------------------------------------------------------------------
|
43
|
-
# Announcements - Create an email text file, and post news to rubyforge
|
44
|
-
#-----------------------------------------------------------------------
|
45
|
-
def changes
|
46
|
-
change_file = File.expand_path(File.join(File.basename(__FILE__),"..","CHANGES"))
|
47
|
-
sections = File.read(change_file).split(/^(?===)/)
|
48
|
-
end
|
49
|
-
def last_changeset
|
50
|
-
changes[1]
|
51
|
-
end
|
52
|
-
|
53
|
-
def announcement
|
54
|
-
urls = " #{<%= project_name.camelize %>::SPEC.homepage}"
|
55
|
-
subject = "#{<%= project_name.camelize %>::SPEC.name} #{<%= project_name.camelize %>::VERSION} Released"
|
56
|
-
title = "#{<%= project_name.camelize %>::SPEC.name} version #{<%= project_name.camelize %>::VERSION} has been released."
|
57
|
-
body = <<BODY
|
58
|
-
#{<%= project_name.camelize %>::SPEC.description.rstrip}
|
59
|
-
|
60
|
-
{{ Changelog for Version #{<%= project_name.camelize %>::VERSION} }}
|
61
|
-
|
62
|
-
#{last_changeset.rstrip}
|
63
|
-
|
64
|
-
BODY
|
65
|
-
|
66
|
-
return subject, title, body, urls
|
67
|
-
end
|
68
|
-
|
69
|
-
namespace :announce do
|
70
|
-
desc "create email for ruby-talk"
|
71
|
-
task :email do
|
72
|
-
subject, title, body, urls = announcement
|
73
|
-
|
74
|
-
File.open("email.txt", "w") do |mail|
|
75
|
-
mail.puts "From: #{<%= project_name.camelize %>::SPEC.author} <#{<%= project_name.camelize %>::SPEC.email}>"
|
76
|
-
mail.puts "To: ruby-talk@ruby-lang.org"
|
77
|
-
mail.puts "Date: #{Time.now.rfc2822}"
|
78
|
-
mail.puts "Subject: [ANN] #{subject}"
|
79
|
-
mail.puts
|
80
|
-
mail.puts title
|
81
|
-
mail.puts
|
82
|
-
mail.puts urls
|
83
|
-
mail.puts
|
84
|
-
mail.puts body
|
85
|
-
mail.puts
|
86
|
-
mail.puts urls
|
87
|
-
end
|
88
|
-
puts "Created the following as email.txt:"
|
89
|
-
puts "-" * 72
|
90
|
-
puts File.read("email.txt")
|
91
|
-
puts "-" * 72
|
92
|
-
end
|
93
|
-
|
94
|
-
CLOBBER << "email.txt"
|
95
|
-
|
96
|
-
desc "Post news of #{<%= project_name.camelize %>::SPEC.name} to #{<%= project_name.camelize %>::SPEC.rubyforge_project} on rubyforge"
|
97
|
-
task :post_news do
|
98
|
-
subject, title, body, urls = announcement
|
99
|
-
rubyforge = RubyForge.new
|
100
|
-
rubyforge.login
|
101
|
-
rubyforge.post_news(<%= project_name.camelize %>::SPEC.rubyforge_project, subject, "#{title}\n\n#{urls}\n\n#{body}")
|
102
|
-
puts "Posted to rubyforge"
|
103
|
-
end
|
104
|
-
|
105
|
-
end
|