srvany_manager 0.1.1 → 0.1.3
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/Rakefile +1 -8
- data/lib/srvany_manager.rb +1 -1
- data/spec/helper.rb +1 -1
- data/tasks/bacon.rake +7 -0
- data/tasks/gem.rake +12 -0
- data/tasks/git.rake +1 -1
- data/tasks/post_load.rake +4 -4
- data/tasks/rubyforge.rake +1 -1
- data/tasks/setup.rb +11 -41
- metadata +39 -9
- 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/srvany_manager.rb
|
6
6
|
spec/.bacon
|
7
7
|
spec/helper.rb
|
8
8
|
spec/runner
|
9
9
|
spec/spec_srvany_manager.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/Rakefile
CHANGED
@@ -13,16 +13,9 @@ PROJ.name = 'srvany_manager'
|
|
13
13
|
PROJ.authors = 'James Tucker'
|
14
14
|
PROJ.email = 'raggi@rubyforge.org'
|
15
15
|
PROJ.url = 'http://github.com/raggi/srvany_manager'
|
16
|
-
PROJ.rubyforge.name = '
|
16
|
+
PROJ.rubyforge.name = 'libraggi'
|
17
17
|
PROJ.version = SrvanyManager.version
|
18
18
|
PROJ.gem.dependencies = %(win32-service) # TODO where does win32/registry come from?
|
19
19
|
|
20
20
|
PROJ.exclude = %w(tmp$ bak$ ~$ CVS \.git \.hg \.svn ^pkg ^doc \.DS_Store
|
21
21
|
\.cvs \.svn \.hgignore \.gitignore \.dotest \.swp$ ~$)
|
22
|
-
|
23
|
-
namespace :gem do
|
24
|
-
file 'srvany_manager.gemspec' => (`git ls-files`.split - ['srvany_manager.gemspec']) do |t|
|
25
|
-
open(t.name, 'w') { |f| f.write PROJ.gem._spec.to_ruby }
|
26
|
-
end
|
27
|
-
task :spec => 'srvany_manager.gemspec'
|
28
|
-
end
|
data/lib/srvany_manager.rb
CHANGED
data/spec/helper.rb
CHANGED
@@ -7,7 +7,7 @@ $TESTING=true
|
|
7
7
|
$:.push File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
|
8
8
|
$:.uniq!
|
9
9
|
|
10
|
-
%w[rubygems
|
10
|
+
%w[rubygems bacon].each { |r| require r }
|
11
11
|
|
12
12
|
# Bacon doesn't do any automagic, so lets tell it to!
|
13
13
|
Bacon.summary_on_exit
|
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/git.rake
CHANGED
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: srvany_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Tucker
|
@@ -9,7 +9,7 @@ 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
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -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 quick and simple manager for running programs as services on win32. Makes use of / requires the SRVANY.exe from the Windows Resource Kit.
|
26
56
|
email: raggi@rubyforge.org
|
27
57
|
executables: []
|
@@ -30,19 +60,19 @@ extensions: []
|
|
30
60
|
|
31
61
|
extra_rdoc_files:
|
32
62
|
- History.txt
|
33
|
-
- README.
|
63
|
+
- README.rdoc
|
34
64
|
files:
|
35
65
|
- History.txt
|
36
66
|
- Manifest.txt
|
37
|
-
- README.
|
67
|
+
- README.rdoc
|
38
68
|
- Rakefile
|
39
69
|
- lib/srvany_manager.rb
|
40
70
|
- spec/.bacon
|
41
71
|
- spec/helper.rb
|
42
72
|
- spec/runner
|
43
73
|
- spec/spec_srvany_manager.rb
|
44
|
-
- tasks/ann.rake
|
45
74
|
- tasks/autospec.rake
|
75
|
+
- tasks/bacon.rake
|
46
76
|
- tasks/bones.rake
|
47
77
|
- tasks/gem.rake
|
48
78
|
- tasks/git.rake
|
@@ -57,7 +87,7 @@ homepage: http://github.com/raggi/srvany_manager
|
|
57
87
|
post_install_message:
|
58
88
|
rdoc_options:
|
59
89
|
- --main
|
60
|
-
- README.
|
90
|
+
- README.rdoc
|
61
91
|
require_paths:
|
62
92
|
- lib
|
63
93
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -74,10 +104,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
74
104
|
version:
|
75
105
|
requirements: []
|
76
106
|
|
77
|
-
rubyforge_project:
|
107
|
+
rubyforge_project: libraggi
|
78
108
|
rubygems_version: 1.3.1
|
79
109
|
signing_key:
|
80
110
|
specification_version: 2
|
81
111
|
summary: A quick and simple manager for running programs as services on win32
|
82
|
-
test_files:
|
83
|
-
|
112
|
+
test_files:
|
113
|
+
- spec/spec_srvany_manager.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
|