rubyw_helper 0.1.3 → 0.1.4
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/Manifest.txt +0 -1
- data/lib/rubyw_helper.rb +1 -1
- data/tasks/bacon.rake +2 -0
- data/tasks/gem.rake +12 -0
- data/tasks/post_load.rake +4 -4
- data/tasks/rubyforge.rake +1 -1
- data/tasks/setup.rb +9 -39
- metadata +33 -4
- data/tasks/ann.rake +0 -81
data/Manifest.txt
CHANGED
data/lib/rubyw_helper.rb
CHANGED
data/tasks/bacon.rake
CHANGED
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
|
@@ -28,26 +29,10 @@ PROJ = OpenStruct.new(
|
|
28
29
|
:manifest_file => 'Manifest.txt',
|
29
30
|
:readme_file => 'README.rdoc',
|
30
31
|
|
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
|
-
),
|
47
|
-
|
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
|
|
@@ -77,7 +62,7 @@ PROJ = OpenStruct.new(
|
|
77
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: rubyw_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Tucker
|
@@ -22,6 +22,36 @@ dependencies:
|
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: "0"
|
24
24
|
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rake
|
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: bones
|
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:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: bacon
|
47
|
+
type: :development
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: "0"
|
54
|
+
version:
|
25
55
|
description: A simple redirector for use when you just want to safely redirect stdio. Simply encapsulates a few different safety mechanisms when redirecting stdio, with the primary goal of making it easier to write apps that run under rubyw.exe, where ruby loads with stdio closed. Whilst the primary intention for use is under win32, and was actually developed as an external helper for specifically win32-service usage, this gem may be useful to some other folks on other platforms. It is not win32 specific.
|
26
56
|
email: raggi@rubyforge.org
|
27
57
|
executables: []
|
@@ -41,7 +71,6 @@ files:
|
|
41
71
|
- spec/helper.rb
|
42
72
|
- spec/runner
|
43
73
|
- spec/spec_rubyw_helper.rb
|
44
|
-
- tasks/ann.rake
|
45
74
|
- tasks/autospec.rake
|
46
75
|
- tasks/bacon.rake
|
47
76
|
- tasks/bones.rake
|
@@ -80,5 +109,5 @@ rubygems_version: 1.3.1
|
|
80
109
|
signing_key:
|
81
110
|
specification_version: 2
|
82
111
|
summary: A simple redirector for use when you just want to safely redirect stdio
|
83
|
-
test_files:
|
84
|
-
|
112
|
+
test_files:
|
113
|
+
- spec/spec_rubyw_helper.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
|