bones 2.0.1 → 2.0.2
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 +9 -0
- data/Manifest.txt +2 -1
- data/README.txt +2 -0
- data/Rakefile +5 -4
- data/data/tasks/gem.rake +6 -1
- data/data/tasks/git.rake +41 -0
- data/data/tasks/rubyforge.rake +1 -1
- data/data/tasks/setup.rb +6 -4
- data/lib/bones.rb +2 -2
- data/lib/bones/annotation_extractor.rb +1 -1
- data/lib/bones/debug.rb +1 -1
- data/lib/bones/main.rb +14 -11
- data/lib/bones/smtp_tls.rb +1 -1
- data/tasks/gem.rake +7 -2
- data/tasks/git.rake +41 -0
- data/tasks/rubyforge.rake +1 -1
- data/tasks/setup.rb +6 -4
- metadata +4 -3
- data/tasks/svn.rake +0 -48
data/History.txt
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
== 2.0.2 / 2008-06-02
|
2
|
+
|
3
|
+
* 2 minor enhancements
|
4
|
+
- Added a gem cleanup rake task
|
5
|
+
- Tasks to support Git projects
|
6
|
+
* 2 bug fixes
|
7
|
+
- Check for Rakefile when creating a new project
|
8
|
+
- Failed dependency resolution when not using fully qualified task names
|
9
|
+
|
1
10
|
== 2.0.1 / 2008-04-15
|
2
11
|
|
3
12
|
* 1 minor enchancement
|
data/Manifest.txt
CHANGED
@@ -14,6 +14,7 @@ data/spec/spec_helper.rb.erb
|
|
14
14
|
data/tasks/ann.rake
|
15
15
|
data/tasks/bones.rake
|
16
16
|
data/tasks/gem.rake
|
17
|
+
data/tasks/git.rake
|
17
18
|
data/tasks/manifest.rake
|
18
19
|
data/tasks/notes.rake
|
19
20
|
data/tasks/post_load.rake
|
@@ -32,6 +33,7 @@ lib/bones/smtp_tls.rb
|
|
32
33
|
tasks/ann.rake
|
33
34
|
tasks/bones.rake
|
34
35
|
tasks/gem.rake
|
36
|
+
tasks/git.rake
|
35
37
|
tasks/manifest.rake
|
36
38
|
tasks/notes.rake
|
37
39
|
tasks/post_load.rake
|
@@ -39,5 +41,4 @@ tasks/rdoc.rake
|
|
39
41
|
tasks/rubyforge.rake
|
40
42
|
tasks/setup.rb
|
41
43
|
tasks/spec.rake
|
42
|
-
tasks/svn.rake
|
43
44
|
tasks/test.rake
|
data/README.txt
CHANGED
@@ -100,6 +100,8 @@ Mr Bones provides the following rake tasks:
|
|
100
100
|
gem:release # Package and upload to RubyForge
|
101
101
|
gem:repackage # Force a rebuild of the package files
|
102
102
|
gem:uninstall # Uninstall the gem
|
103
|
+
git:create_tag # Create a new tag in the Git repository
|
104
|
+
git:show_tags # Show tags from the Git repository
|
103
105
|
manifest # Alias to manifest:check
|
104
106
|
manifest:check # Verify the manifest
|
105
107
|
manifest:create # Create a new manifest
|
data/Rakefile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id
|
1
|
+
# $Id$
|
2
2
|
|
3
3
|
$:.unshift('lib')
|
4
4
|
|
@@ -10,7 +10,7 @@ PROJ.authors = 'Tim Pease'
|
|
10
10
|
PROJ.email = 'tim.pease@gmail.com'
|
11
11
|
PROJ.url = 'http://codeforpeople.rubyforge.org/bones'
|
12
12
|
PROJ.version = Bones::VERSION
|
13
|
-
PROJ.release_name = '
|
13
|
+
PROJ.release_name = 'Haughty Hen'
|
14
14
|
|
15
15
|
PROJ.rubyforge.name = 'codeforpeople'
|
16
16
|
|
@@ -30,11 +30,12 @@ PROJ.gem.extras[:post_install_message] = <<-MSG
|
|
30
30
|
--------------------------
|
31
31
|
MSG
|
32
32
|
|
33
|
-
PROJ.ann.paragraphs = %w[install synopsis features requirements]
|
33
|
+
PROJ.ann.paragraphs = %w[install synopsis features requirements]
|
34
34
|
PROJ.ann.text = <<-ANN
|
35
35
|
== FUN FACT
|
36
36
|
|
37
|
-
|
37
|
+
XML is much like violence --
|
38
|
+
if it's not solving your problem then you are not using enough of it.
|
38
39
|
|
39
40
|
== POST SCRIPT
|
40
41
|
|
data/data/tasks/gem.rake
CHANGED
@@ -91,7 +91,7 @@ namespace :gem do
|
|
91
91
|
end
|
92
92
|
|
93
93
|
desc 'Install the gem'
|
94
|
-
task :install => [:clobber, :package] do
|
94
|
+
task :install => [:clobber, 'gem:package'] do
|
95
95
|
sh "#{SUDO} #{GEM} install --local pkg/#{PROJ.gem._spec.full_name}"
|
96
96
|
|
97
97
|
# use this version of the command for rubygems > 1.0.0
|
@@ -109,6 +109,11 @@ namespace :gem do
|
|
109
109
|
desc 'Reinstall the gem'
|
110
110
|
task :reinstall => [:uninstall, :install]
|
111
111
|
|
112
|
+
desc 'Cleanup the gem'
|
113
|
+
task :cleanup do
|
114
|
+
sh "#{SUDO} #{GEM} cleanup #{PROJ.gem._spec.name}"
|
115
|
+
end
|
116
|
+
|
112
117
|
end # namespace :gem
|
113
118
|
|
114
119
|
desc 'Alias to gem:package'
|
data/data/tasks/git.rake
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# $Id$
|
2
|
+
|
3
|
+
if HAVE_GIT
|
4
|
+
|
5
|
+
namespace :git do
|
6
|
+
|
7
|
+
# A prerequisites task that all other tasks depend upon
|
8
|
+
task :prereqs
|
9
|
+
|
10
|
+
desc 'Show tags from the Git repository'
|
11
|
+
task :show_tags => 'git:prereqs' do |t|
|
12
|
+
puts %x/git tag/
|
13
|
+
end
|
14
|
+
|
15
|
+
desc 'Create a new tag in the Git repository'
|
16
|
+
task :create_tag => 'git:prereqs' do |t|
|
17
|
+
v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z'
|
18
|
+
abort "Versions don't match #{v} vs #{PROJ.version}" if v != PROJ.version
|
19
|
+
|
20
|
+
tag = "%s-%s" % [PROJ.name, PROJ.version]
|
21
|
+
msg = "Creating tag for #{PROJ.name} version #{PROJ.version}"
|
22
|
+
|
23
|
+
puts "Creating Git tag '#{tag}'"
|
24
|
+
unless system "git tag -a -m '#{msg}' #{tag}"
|
25
|
+
abort "Tag creation failed"
|
26
|
+
end
|
27
|
+
|
28
|
+
if %x/git remote/ =~ %r/^origin\s*$/
|
29
|
+
unless system "git push origin #{tag}"
|
30
|
+
abort "Could not push tag to remote Git repository"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end # namespace :git
|
36
|
+
|
37
|
+
task 'gem:release' => 'git:create_tag'
|
38
|
+
|
39
|
+
end # if HAVE_GIT
|
40
|
+
|
41
|
+
# EOF
|
data/data/tasks/rubyforge.rake
CHANGED
@@ -7,7 +7,7 @@ require 'rake/contrib/sshpublisher'
|
|
7
7
|
|
8
8
|
namespace :gem do
|
9
9
|
desc 'Package and upload to RubyForge'
|
10
|
-
task :release => [:clobber, :package] do |t|
|
10
|
+
task :release => [:clobber, 'gem:package'] do |t|
|
11
11
|
v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z'
|
12
12
|
abort "Versions don't match #{v} vs #{PROJ.version}" if v != PROJ.version
|
13
13
|
pkg = "pkg/#{PROJ.gem._spec.full_name}"
|
data/data/tasks/setup.rb
CHANGED
@@ -18,7 +18,7 @@ PROJ = OpenStruct.new(
|
|
18
18
|
:email => nil,
|
19
19
|
:url => "\000",
|
20
20
|
:version => ENV['VERSION'] || '0.0.0',
|
21
|
-
:exclude => %w(tmp$ bak$ ~$ CVS
|
21
|
+
:exclude => %w(tmp$ bak$ ~$ CVS \.svn/ \.git/ ^pkg/),
|
22
22
|
:release_name => ENV['RELEASE'],
|
23
23
|
|
24
24
|
# System Defaults
|
@@ -58,7 +58,7 @@ PROJ = OpenStruct.new(
|
|
58
58
|
|
59
59
|
# File Annotations
|
60
60
|
:notes => OpenStruct.new(
|
61
|
-
:exclude => %w(^tasks/setup
|
61
|
+
:exclude => %w(^tasks/setup\.rb$),
|
62
62
|
:extensions => %w(.txt .rb .erb) << '',
|
63
63
|
:tags => %w(FIXME OPTIMIZE TODO)
|
64
64
|
),
|
@@ -74,8 +74,8 @@ PROJ = OpenStruct.new(
|
|
74
74
|
# Rdoc
|
75
75
|
:rdoc => OpenStruct.new(
|
76
76
|
:opts => [],
|
77
|
-
:include => %w(^lib/ ^bin/ ^ext/
|
78
|
-
:exclude => %w(extconf
|
77
|
+
:include => %w(^lib/ ^bin/ ^ext/ \.txt$),
|
78
|
+
:exclude => %w(extconf\.rb$),
|
79
79
|
:main => nil,
|
80
80
|
:dir => 'doc',
|
81
81
|
:remote_dir => nil
|
@@ -159,6 +159,8 @@ GEM = WIN32 ? 'gem.bat' : 'gem'
|
|
159
159
|
end
|
160
160
|
HAVE_SVN = (Dir.entries(Dir.pwd).include?('.svn') and
|
161
161
|
system("svn --version 2>&1 > #{DEV_NULL}"))
|
162
|
+
HAVE_GIT = (Dir.entries(Dir.pwd).include?('.git') and
|
163
|
+
system("git --version 2>&1 > #{DEV_NULL}"))
|
162
164
|
|
163
165
|
# Reads a file at +path+ and spits out an array of the +paragraphs+
|
164
166
|
# specified.
|
data/lib/bones.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
# $Id
|
1
|
+
# $Id$
|
2
2
|
|
3
3
|
module Bones
|
4
4
|
|
5
5
|
# :stopdoc:
|
6
|
-
VERSION = '2.0.
|
6
|
+
VERSION = '2.0.2'
|
7
7
|
PATH = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
8
8
|
WIN32 = %r/win32/ =~ RUBY_PLATFORM
|
9
9
|
DEV_NULL = WIN32 ? 'NUL:' : '/dev/null'
|
data/lib/bones/debug.rb
CHANGED
data/lib/bones/main.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id
|
1
|
+
# $Id$
|
2
2
|
|
3
3
|
require 'fileutils'
|
4
4
|
require 'optparse'
|
@@ -115,16 +115,19 @@ class Main
|
|
115
115
|
files_to_copy.each {|fn| cp fn}
|
116
116
|
|
117
117
|
pwd = File.expand_path(FileUtils.pwd)
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
118
|
+
msg = "created '#{name}'"
|
119
|
+
msg << " in directory '#{output_dir}'" if name != output_dir
|
120
|
+
STDOUT.puts msg
|
121
|
+
|
122
|
+
if test(?f, File.join(output_dir, 'Rakefile'))
|
123
|
+
begin
|
124
|
+
FileUtils.cd output_dir
|
125
|
+
system "rake manifest:create 2>&1 > #{::Bones::DEV_NULL}"
|
126
|
+
STDOUT.puts "now you need to fix these files"
|
127
|
+
system "rake notes"
|
128
|
+
ensure
|
129
|
+
FileUtils.cd pwd
|
130
|
+
end
|
128
131
|
end
|
129
132
|
rescue Exception => err
|
130
133
|
FileUtils.rm_rf output_dir
|
data/lib/bones/smtp_tls.rb
CHANGED
data/tasks/gem.rake
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id
|
1
|
+
# $Id$
|
2
2
|
|
3
3
|
require 'rake/gempackagetask'
|
4
4
|
|
@@ -91,7 +91,7 @@ namespace :gem do
|
|
91
91
|
end
|
92
92
|
|
93
93
|
desc 'Install the gem'
|
94
|
-
task :install => [:clobber, :package] do
|
94
|
+
task :install => [:clobber, 'gem:package'] do
|
95
95
|
sh "#{SUDO} #{GEM} install --local pkg/#{PROJ.gem._spec.full_name}"
|
96
96
|
|
97
97
|
# use this version of the command for rubygems > 1.0.0
|
@@ -109,6 +109,11 @@ namespace :gem do
|
|
109
109
|
desc 'Reinstall the gem'
|
110
110
|
task :reinstall => [:uninstall, :install]
|
111
111
|
|
112
|
+
desc 'Cleanup the gem'
|
113
|
+
task :cleanup do
|
114
|
+
sh "#{SUDO} #{GEM} cleanup #{PROJ.gem._spec.name}"
|
115
|
+
end
|
116
|
+
|
112
117
|
end # namespace :gem
|
113
118
|
|
114
119
|
desc 'Alias to gem:package'
|
data/tasks/git.rake
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# $Id$
|
2
|
+
|
3
|
+
if HAVE_GIT
|
4
|
+
|
5
|
+
namespace :git do
|
6
|
+
|
7
|
+
# A prerequisites task that all other tasks depend upon
|
8
|
+
task :prereqs
|
9
|
+
|
10
|
+
desc 'Show tags from the Git repository'
|
11
|
+
task :show_tags => 'git:prereqs' do |t|
|
12
|
+
puts %x/git tag/
|
13
|
+
end
|
14
|
+
|
15
|
+
desc 'Create a new tag in the Git repository'
|
16
|
+
task :create_tag => 'git:prereqs' do |t|
|
17
|
+
v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z'
|
18
|
+
abort "Versions don't match #{v} vs #{PROJ.version}" if v != PROJ.version
|
19
|
+
|
20
|
+
tag = "%s-%s" % [PROJ.name, PROJ.version]
|
21
|
+
msg = "Creating tag for #{PROJ.name} version #{PROJ.version}"
|
22
|
+
|
23
|
+
puts "Creating Git tag '#{tag}'"
|
24
|
+
unless system "git tag -a -m '#{msg}' #{tag}"
|
25
|
+
abort "Tag creation failed"
|
26
|
+
end
|
27
|
+
|
28
|
+
if %x/git remote/ =~ %r/^origin\s*$/
|
29
|
+
unless system "git push origin #{tag}"
|
30
|
+
abort "Could not push tag to remote Git repository"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end # namespace :git
|
36
|
+
|
37
|
+
task 'gem:release' => 'git:create_tag'
|
38
|
+
|
39
|
+
end # if HAVE_GIT
|
40
|
+
|
41
|
+
# EOF
|
data/tasks/rubyforge.rake
CHANGED
@@ -7,7 +7,7 @@ require 'rake/contrib/sshpublisher'
|
|
7
7
|
|
8
8
|
namespace :gem do
|
9
9
|
desc 'Package and upload to RubyForge'
|
10
|
-
task :release => [:clobber, :package] do |t|
|
10
|
+
task :release => [:clobber, 'gem:package'] do |t|
|
11
11
|
v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z'
|
12
12
|
abort "Versions don't match #{v} vs #{PROJ.version}" if v != PROJ.version
|
13
13
|
pkg = "pkg/#{PROJ.gem._spec.full_name}"
|
data/tasks/setup.rb
CHANGED
@@ -18,7 +18,7 @@ PROJ = OpenStruct.new(
|
|
18
18
|
:email => nil,
|
19
19
|
:url => "\000",
|
20
20
|
:version => ENV['VERSION'] || '0.0.0',
|
21
|
-
:exclude => %w(tmp$ bak$ ~$ CVS
|
21
|
+
:exclude => %w(tmp$ bak$ ~$ CVS \.svn/ \.git/ ^pkg/),
|
22
22
|
:release_name => ENV['RELEASE'],
|
23
23
|
|
24
24
|
# System Defaults
|
@@ -58,7 +58,7 @@ PROJ = OpenStruct.new(
|
|
58
58
|
|
59
59
|
# File Annotations
|
60
60
|
:notes => OpenStruct.new(
|
61
|
-
:exclude => %w(^tasks/setup
|
61
|
+
:exclude => %w(^tasks/setup\.rb$),
|
62
62
|
:extensions => %w(.txt .rb .erb) << '',
|
63
63
|
:tags => %w(FIXME OPTIMIZE TODO)
|
64
64
|
),
|
@@ -74,8 +74,8 @@ PROJ = OpenStruct.new(
|
|
74
74
|
# Rdoc
|
75
75
|
:rdoc => OpenStruct.new(
|
76
76
|
:opts => [],
|
77
|
-
:include => %w(^lib/ ^bin/ ^ext/
|
78
|
-
:exclude => %w(extconf
|
77
|
+
:include => %w(^lib/ ^bin/ ^ext/ \.txt$),
|
78
|
+
:exclude => %w(extconf\.rb$),
|
79
79
|
:main => nil,
|
80
80
|
:dir => 'doc',
|
81
81
|
:remote_dir => nil
|
@@ -159,6 +159,8 @@ GEM = WIN32 ? 'gem.bat' : 'gem'
|
|
159
159
|
end
|
160
160
|
HAVE_SVN = (Dir.entries(Dir.pwd).include?('.svn') and
|
161
161
|
system("svn --version 2>&1 > #{DEV_NULL}"))
|
162
|
+
HAVE_GIT = (Dir.entries(Dir.pwd).include?('.git') and
|
163
|
+
system("git --version 2>&1 > #{DEV_NULL}"))
|
162
164
|
|
163
165
|
# Reads a file at +path+ and spits out an array of the +paragraphs+
|
164
166
|
# specified.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bones
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Pease
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-06-02 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -48,6 +48,7 @@ files:
|
|
48
48
|
- data/tasks/ann.rake
|
49
49
|
- data/tasks/bones.rake
|
50
50
|
- data/tasks/gem.rake
|
51
|
+
- data/tasks/git.rake
|
51
52
|
- data/tasks/manifest.rake
|
52
53
|
- data/tasks/notes.rake
|
53
54
|
- data/tasks/post_load.rake
|
@@ -66,6 +67,7 @@ files:
|
|
66
67
|
- tasks/ann.rake
|
67
68
|
- tasks/bones.rake
|
68
69
|
- tasks/gem.rake
|
70
|
+
- tasks/git.rake
|
69
71
|
- tasks/manifest.rake
|
70
72
|
- tasks/notes.rake
|
71
73
|
- tasks/post_load.rake
|
@@ -73,7 +75,6 @@ files:
|
|
73
75
|
- tasks/rubyforge.rake
|
74
76
|
- tasks/setup.rb
|
75
77
|
- tasks/spec.rake
|
76
|
-
- tasks/svn.rake
|
77
78
|
- tasks/test.rake
|
78
79
|
has_rdoc: true
|
79
80
|
homepage: http://codeforpeople.rubyforge.org/bones
|
data/tasks/svn.rake
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
# $Id$
|
2
|
-
|
3
|
-
if HAVE_SVN
|
4
|
-
|
5
|
-
unless PROJ.svn.root
|
6
|
-
info = %x/svn info ./
|
7
|
-
m = %r/^Repository Root:\s+(.*)$/.match(info)
|
8
|
-
PROJ.svn.root = (m.nil? ? '' : m[1])
|
9
|
-
end
|
10
|
-
PROJ.svn.root = File.join(PROJ.svn.root, PROJ.svn.path) unless PROJ.svn.path.empty?
|
11
|
-
|
12
|
-
namespace :svn do
|
13
|
-
|
14
|
-
# A prerequisites task that all other tasks depend upon
|
15
|
-
task :prereqs
|
16
|
-
|
17
|
-
desc 'Show tags from the SVN repository'
|
18
|
-
task :show_tags => 'svn:prereqs' do |t|
|
19
|
-
tags = %x/svn list #{File.join(PROJ.svn.root, PROJ.svn.tags)}/
|
20
|
-
tags.gsub!(%r/\/$/, '')
|
21
|
-
tags = tags.split("\n").sort {|a,b| b <=> a}
|
22
|
-
puts tags
|
23
|
-
end
|
24
|
-
|
25
|
-
desc 'Create a new tag in the SVN repository'
|
26
|
-
task :create_tag => 'svn:prereqs' do |t|
|
27
|
-
v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z'
|
28
|
-
abort "Versions don't match #{v} vs #{PROJ.version}" if v != PROJ.version
|
29
|
-
|
30
|
-
svn = PROJ.svn
|
31
|
-
trunk = File.join(svn.root, svn.trunk)
|
32
|
-
tag = "%s-%s" % [PROJ.name, PROJ.version]
|
33
|
-
tag = File.join(svn.root, svn.tags, tag)
|
34
|
-
msg = "Creating tag for #{PROJ.name} version #{PROJ.version}"
|
35
|
-
|
36
|
-
puts "Creating SVN tag '#{tag}'"
|
37
|
-
unless system "svn cp -m '#{msg}' #{trunk} #{tag}"
|
38
|
-
abort "Tag creation failed"
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
end # namespace :svn
|
43
|
-
|
44
|
-
task 'gem:release' => 'svn:create_tag'
|
45
|
-
|
46
|
-
end # if PROJ.svn.path
|
47
|
-
|
48
|
-
# EOF
|