exception_string 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +2 -2
- data/{README.txt → README.rdoc} +1 -1
- data/lib/exception_string.rb +1 -1
- data/tasks/bacon.rake +7 -0
- data/tasks/gem.rake +12 -0
- data/tasks/post_load.rake +4 -4
- data/tasks/rubyforge.rake +1 -1
- data/tasks/setup.rb +11 -41
- metadata +39 -10
- data/tasks/ann.rake +0 -81
data/Manifest.txt
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
History.txt
|
2
2
|
Manifest.txt
|
3
|
-
README.
|
3
|
+
README.rdoc
|
4
4
|
Rakefile
|
5
5
|
lib/exception_string.rb
|
6
6
|
spec/.bacon
|
7
7
|
spec/helper.rb
|
8
8
|
spec/runner
|
9
9
|
spec/spec_exception_string.rb
|
10
|
-
tasks/ann.rake
|
11
10
|
tasks/autospec.rake
|
11
|
+
tasks/bacon.rake
|
12
12
|
tasks/bones.rake
|
13
13
|
tasks/gem.rake
|
14
14
|
tasks/git.rake
|
data/{README.txt → README.rdoc}
RENAMED
data/lib/exception_string.rb
CHANGED
data/tasks/bacon.rake
ADDED
data/tasks/gem.rake
CHANGED
@@ -18,6 +18,9 @@ namespace :gem do
|
|
18
18
|
PROJ.gem.dependencies.each do |dep|
|
19
19
|
s.add_dependency(*dep)
|
20
20
|
end
|
21
|
+
PROJ.gem.development_dependencies.each do |dep|
|
22
|
+
s.add_development_dependency(*dep)
|
23
|
+
end
|
21
24
|
|
22
25
|
s.files = PROJ.gem.files
|
23
26
|
s.executables = PROJ.gem.executables.map {|fn| File.basename(fn)}
|
@@ -114,6 +117,15 @@ namespace :gem do
|
|
114
117
|
sh "#{SUDO} #{GEM} cleanup #{PROJ.gem._spec.name}"
|
115
118
|
end
|
116
119
|
|
120
|
+
file "#{PROJ.name}.gemspec" => PROJ.gem._spec.files do |t|
|
121
|
+
open(t.name, 'w') { |f| f.write PROJ.gem._spec.to_ruby }
|
122
|
+
end
|
123
|
+
CLOBBER.include("#{PROJ.name}.gemspec")
|
124
|
+
|
125
|
+
desc 'Generate gemspec'
|
126
|
+
task :spec => "#{PROJ.name}.gemspec"
|
127
|
+
task :release => :spec
|
128
|
+
|
117
129
|
end # namespace :gem
|
118
130
|
|
119
131
|
desc 'Alias to gem:package'
|
data/tasks/post_load.rake
CHANGED
@@ -3,9 +3,11 @@
|
|
3
3
|
# This file does not define any rake tasks. It is used to load some project
|
4
4
|
# settings if they are not defined by the user.
|
5
5
|
|
6
|
+
PROJ.rdoc.main ||= PROJ.readme_file
|
7
|
+
PROJ.rdoc.dir ||= File.join('doc', PROJ.name)
|
8
|
+
|
6
9
|
PROJ.rdoc.exclude << "^#{Regexp.escape(PROJ.manifest_file)}$"
|
7
|
-
PROJ.exclude << ["^#{Regexp.escape(PROJ.
|
8
|
-
"^#{Regexp.escape(PROJ.rdoc.dir)}/",
|
10
|
+
PROJ.exclude << ["^#{Regexp.escape(PROJ.rdoc.dir)}/",
|
9
11
|
"^#{Regexp.escape(PROJ.rcov.dir)}/"]
|
10
12
|
|
11
13
|
flatten_arrays = lambda do |this,os|
|
@@ -34,6 +36,4 @@ PROJ.gem.files ||=
|
|
34
36
|
|
35
37
|
PROJ.gem.executables ||= PROJ.gem.files.find_all {|fn| fn =~ %r/^bin/}
|
36
38
|
|
37
|
-
PROJ.rdoc.main ||= PROJ.readme_file
|
38
|
-
|
39
39
|
# EOF
|
data/tasks/rubyforge.rake
CHANGED
@@ -46,7 +46,7 @@ namespace :doc do
|
|
46
46
|
host = "#{config['username']}@rubyforge.org"
|
47
47
|
remote_dir = "/var/www/gforge-projects/#{PROJ.rubyforge.name}/"
|
48
48
|
remote_dir << PROJ.rdoc.remote_dir if PROJ.rdoc.remote_dir
|
49
|
-
local_dir = PROJ.rdoc.dir
|
49
|
+
local_dir = File.dirname(PROJ.rdoc.dir)
|
50
50
|
|
51
51
|
Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
|
52
52
|
end
|
data/tasks/setup.rb
CHANGED
@@ -18,7 +18,8 @@ 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 \.git/ \.hg/ \.svn/ ^pkg/ ^doc/ \.DS_Store
|
22
|
+
\.hgignore \.gitignore \.dotest \.swp$ .*\.gemspec$),
|
22
23
|
:release_name => ENV['RELEASE'],
|
23
24
|
|
24
25
|
# System Defaults
|
@@ -26,28 +27,12 @@ PROJ = OpenStruct.new(
|
|
26
27
|
:libs => [],
|
27
28
|
:history_file => 'History.txt',
|
28
29
|
:manifest_file => 'Manifest.txt',
|
29
|
-
:readme_file => 'README.
|
30
|
-
|
31
|
-
# Announce
|
32
|
-
:ann => OpenStruct.new(
|
33
|
-
:file => 'announcement.txt',
|
34
|
-
:text => nil,
|
35
|
-
:paragraphs => [],
|
36
|
-
:email => {
|
37
|
-
:from => nil,
|
38
|
-
:to => %w(ruby-talk@ruby-lang.org),
|
39
|
-
:server => 'localhost',
|
40
|
-
:port => 25,
|
41
|
-
:domain => ENV['HOSTNAME'],
|
42
|
-
:acct => nil,
|
43
|
-
:passwd => nil,
|
44
|
-
:authtype => :plain
|
45
|
-
}
|
46
|
-
),
|
30
|
+
:readme_file => 'README.rdoc',
|
47
31
|
|
48
32
|
# Gem Packaging
|
49
33
|
:gem => OpenStruct.new(
|
50
34
|
:dependencies => [],
|
35
|
+
:development_dependencies => ['rake', 'bones', 'bacon'],
|
51
36
|
:executables => nil,
|
52
37
|
:extensions => FileList['ext/**/extconf.rb'],
|
53
38
|
:files => nil,
|
@@ -59,7 +44,7 @@ PROJ = OpenStruct.new(
|
|
59
44
|
# File Annotations
|
60
45
|
:notes => OpenStruct.new(
|
61
46
|
:exclude => %w(^tasks/setup\.rb$),
|
62
|
-
:extensions => %w(.txt .rb .erb) << '',
|
47
|
+
:extensions => %w(.txt .rb .erb .rdoc) << '',
|
63
48
|
:tags => %w(FIXME OPTIMIZE TODO)
|
64
49
|
),
|
65
50
|
|
@@ -74,10 +59,10 @@ PROJ = OpenStruct.new(
|
|
74
59
|
# Rdoc
|
75
60
|
:rdoc => OpenStruct.new(
|
76
61
|
:opts => [],
|
77
|
-
:include => %w(^lib/ ^bin/ ^ext/ \.txt$),
|
62
|
+
:include => %w(^lib/ ^bin/ ^ext/ \.txt$ \.rdoc$),
|
78
63
|
:exclude => %w(extconf\.rb$),
|
79
64
|
:main => nil,
|
80
|
-
:dir =>
|
65
|
+
:dir => nil,
|
81
66
|
:remote_dir => nil
|
82
67
|
),
|
83
68
|
|
@@ -86,25 +71,10 @@ PROJ = OpenStruct.new(
|
|
86
71
|
:name => "\000"
|
87
72
|
),
|
88
73
|
|
89
|
-
#
|
90
|
-
:spec => OpenStruct.new(
|
91
|
-
:files => FileList['spec/**/*_spec.rb'],
|
92
|
-
:opts => []
|
93
|
-
),
|
94
|
-
|
95
|
-
# Subversion Repository
|
96
|
-
:svn => OpenStruct.new(
|
97
|
-
:root => nil,
|
98
|
-
:path => '',
|
99
|
-
:trunk => 'trunk',
|
100
|
-
:tags => 'tags',
|
101
|
-
:branches => 'branches'
|
102
|
-
),
|
103
|
-
|
104
|
-
# Test::Unit
|
74
|
+
# Tests
|
105
75
|
:test => OpenStruct.new(
|
106
|
-
:files => FileList['test
|
107
|
-
:file => '
|
76
|
+
:files => FileList['{test,spec}/{{test,spec}_*.rb,*_spec.rb}'],
|
77
|
+
:file => '',
|
108
78
|
:opts => []
|
109
79
|
)
|
110
80
|
)
|
@@ -166,7 +136,7 @@ HAVE_GIT = (Dir.entries(Dir.pwd).include?('.git') and
|
|
166
136
|
# specified.
|
167
137
|
#
|
168
138
|
# changes = paragraphs_of('History.txt', 0..1).join("\n\n")
|
169
|
-
# summary, *description = paragraphs_of('README.
|
139
|
+
# summary, *description = paragraphs_of('README.rdoc', 3, 3..8)
|
170
140
|
#
|
171
141
|
def paragraphs_of( path, *paragraphs )
|
172
142
|
title = String === paragraphs.first ? paragraphs.shift : nil
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exception_string
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Tucker
|
@@ -9,10 +9,39 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-01-16 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rake
|
17
|
+
type: :development
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "0"
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: bones
|
27
|
+
type: :development
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0"
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: bacon
|
37
|
+
type: :development
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: "0"
|
44
|
+
version:
|
16
45
|
description: Provides clean exception formatting as a string, which resembles native output formats for back-traces that kill the interpreter. Whilst there are shorter, simpler ways to format ruby exceptions, this format is almost as short, but provides the format that young ruby programmers will be familiar with, and can be used to keep logs and output data consistent with other areas of the platform. At present the only provided format is that which is generated by MRI 1.8.x.
|
17
46
|
email: raggi@rubyforge.org
|
18
47
|
executables: []
|
@@ -21,19 +50,19 @@ extensions: []
|
|
21
50
|
|
22
51
|
extra_rdoc_files:
|
23
52
|
- History.txt
|
24
|
-
- README.
|
53
|
+
- README.rdoc
|
25
54
|
files:
|
26
55
|
- History.txt
|
27
56
|
- Manifest.txt
|
28
|
-
- README.
|
57
|
+
- README.rdoc
|
29
58
|
- Rakefile
|
30
59
|
- lib/exception_string.rb
|
31
60
|
- spec/.bacon
|
32
61
|
- spec/helper.rb
|
33
62
|
- spec/runner
|
34
63
|
- spec/spec_exception_string.rb
|
35
|
-
- tasks/ann.rake
|
36
64
|
- tasks/autospec.rake
|
65
|
+
- tasks/bacon.rake
|
37
66
|
- tasks/bones.rake
|
38
67
|
- tasks/gem.rake
|
39
68
|
- tasks/git.rake
|
@@ -48,7 +77,7 @@ homepage: http://github.com/raggi/exception_string
|
|
48
77
|
post_install_message:
|
49
78
|
rdoc_options:
|
50
79
|
- --main
|
51
|
-
- README.
|
80
|
+
- README.rdoc
|
52
81
|
require_paths:
|
53
82
|
- lib
|
54
83
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -70,5 +99,5 @@ rubygems_version: 1.3.1
|
|
70
99
|
signing_key:
|
71
100
|
specification_version: 2
|
72
101
|
summary: Provides clean exception formatting as a string, which resembles native output formats for back-traces that kill the interpreter
|
73
|
-
test_files:
|
74
|
-
|
102
|
+
test_files:
|
103
|
+
- spec/spec_exception_string.rb
|
data/tasks/ann.rake
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
# $Id$
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'bones/smtp_tls'
|
5
|
-
rescue LoadError
|
6
|
-
require 'net/smtp'
|
7
|
-
end
|
8
|
-
require 'time'
|
9
|
-
|
10
|
-
namespace :ann do
|
11
|
-
|
12
|
-
# A prerequisites task that all other tasks depend upon
|
13
|
-
task :prereqs
|
14
|
-
|
15
|
-
file PROJ.ann.file do
|
16
|
-
ann = PROJ.ann
|
17
|
-
puts "Generating #{ann.file}"
|
18
|
-
File.open(ann.file,'w') do |fd|
|
19
|
-
fd.puts("#{PROJ.name} version #{PROJ.version}")
|
20
|
-
fd.puts(" by #{Array(PROJ.authors).first}") if PROJ.authors
|
21
|
-
fd.puts(" #{PROJ.url}") if PROJ.url.valid?
|
22
|
-
fd.puts(" (the \"#{PROJ.release_name}\" release)") if PROJ.release_name
|
23
|
-
fd.puts
|
24
|
-
fd.puts("== DESCRIPTION")
|
25
|
-
fd.puts
|
26
|
-
fd.puts(PROJ.description)
|
27
|
-
fd.puts
|
28
|
-
fd.puts(PROJ.changes.sub(%r/^.*$/, '== CHANGES'))
|
29
|
-
fd.puts
|
30
|
-
ann.paragraphs.each do |p|
|
31
|
-
fd.puts "== #{p.upcase}"
|
32
|
-
fd.puts
|
33
|
-
fd.puts paragraphs_of(PROJ.readme_file, p).join("\n\n")
|
34
|
-
fd.puts
|
35
|
-
end
|
36
|
-
fd.puts ann.text if ann.text
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
desc "Create an announcement file"
|
41
|
-
task :announcement => ['ann:prereqs', PROJ.ann.file]
|
42
|
-
|
43
|
-
desc "Send an email announcement"
|
44
|
-
task :email => ['ann:prereqs', PROJ.ann.file] do
|
45
|
-
ann = PROJ.ann
|
46
|
-
from = ann.email[:from] || PROJ.email
|
47
|
-
to = Array(ann.email[:to])
|
48
|
-
|
49
|
-
### build a mail header for RFC 822
|
50
|
-
rfc822msg = "From: #{from}\n"
|
51
|
-
rfc822msg << "To: #{to.join(',')}\n"
|
52
|
-
rfc822msg << "Subject: [ANN] #{PROJ.name} #{PROJ.version}"
|
53
|
-
rfc822msg << " (#{PROJ.release_name})" if PROJ.release_name
|
54
|
-
rfc822msg << "\n"
|
55
|
-
rfc822msg << "Date: #{Time.new.rfc822}\n"
|
56
|
-
rfc822msg << "Message-Id: "
|
57
|
-
rfc822msg << "<#{"%.8f" % Time.now.to_f}@#{ann.email[:domain]}>\n\n"
|
58
|
-
rfc822msg << File.read(ann.file)
|
59
|
-
|
60
|
-
params = [:server, :port, :domain, :acct, :passwd, :authtype].map do |key|
|
61
|
-
ann.email[key]
|
62
|
-
end
|
63
|
-
|
64
|
-
params[3] = PROJ.email if params[3].nil?
|
65
|
-
|
66
|
-
if params[4].nil?
|
67
|
-
STDOUT.write "Please enter your e-mail password (#{params[3]}): "
|
68
|
-
params[4] = STDIN.gets.chomp
|
69
|
-
end
|
70
|
-
|
71
|
-
### send email
|
72
|
-
Net::SMTP.start(*params) {|smtp| smtp.sendmail(rfc822msg, from, to)}
|
73
|
-
end
|
74
|
-
end # namespace :ann
|
75
|
-
|
76
|
-
desc 'Alias to ann:announcement'
|
77
|
-
task :ann => 'ann:announcement'
|
78
|
-
|
79
|
-
CLOBBER << PROJ.ann.file
|
80
|
-
|
81
|
-
# EOF
|