castanaut 1.0.0 → 1.1.0
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 +12 -1
- data/README.txt +41 -18
- data/bin/castanaut +0 -0
- data/cbin/osxautomation +0 -0
- data/lib/castanaut/exceptions.rb +14 -3
- data/lib/castanaut/keys.rb +3 -2
- data/lib/castanaut/main.rb +3 -3
- data/lib/castanaut/movie.rb +305 -175
- data/lib/castanaut/os/mac_os_x.rb +336 -0
- data/lib/castanaut/os/mac_os_x_legacy.rb +223 -0
- data/lib/castanaut/plugin.rb +2 -2
- data/lib/castanaut.rb +53 -57
- data/lib/plugins/ishowuhd.rb +98 -0
- data/lib/plugins/keystack.rb +111 -0
- data/lib/plugins/mousepose.rb +1 -1
- data/lib/plugins/safari.rb +67 -20
- data/lib/plugins/snapz_pro.rb +55 -0
- data/lib/plugins/terminal.rb +55 -0
- data/lib/plugins/textmate.rb +65 -0
- data/test/helper.rb +12 -0
- data/test/main_test.rb +13 -0
- data/test/movie_test.rb +67 -0
- metadata +32 -27
- data/Manifest.txt +0 -31
- data/Rakefile +0 -25
- data/tasks/ann.rake +0 -77
- data/tasks/annotations.rake +0 -22
- data/tasks/doc.rake +0 -49
- data/tasks/gem.rake +0 -110
- data/tasks/manifest.rake +0 -50
- data/tasks/post_load.rake +0 -18
- data/tasks/rubyforge.rake +0 -57
- data/tasks/setup.rb +0 -221
- data/tasks/spec.rake +0 -43
- data/tasks/svn.rake +0 -44
- data/tasks/test.rake +0 -40
- data/test/example_script.screenplay +0 -91
- data/test/googling.screenplay +0 -34
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: castanaut
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 1
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
version: 1.1.0
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Joseph Pearson
|
@@ -9,11 +14,11 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date:
|
17
|
+
date: 2010-02-26 00:00:00 +11:00
|
13
18
|
default_executable:
|
14
19
|
dependencies: []
|
15
20
|
|
16
|
-
description: Castanaut lets you write executable scripts for
|
21
|
+
description: Castanaut lets you write executable scripts for screencasts.
|
17
22
|
email: joseph@inventivelabs.com.au
|
18
23
|
executables:
|
19
24
|
- castanaut
|
@@ -23,43 +28,41 @@ extra_rdoc_files:
|
|
23
28
|
- Copyright.txt
|
24
29
|
- History.txt
|
25
30
|
- README.txt
|
26
|
-
- bin/castanaut
|
27
31
|
files:
|
28
32
|
- Copyright.txt
|
29
33
|
- History.txt
|
30
|
-
- Manifest.txt
|
31
34
|
- README.txt
|
32
|
-
- Rakefile
|
33
35
|
- bin/castanaut
|
34
36
|
- cbin/osxautomation
|
35
|
-
- lib/castanaut.rb
|
36
37
|
- lib/castanaut/exceptions.rb
|
37
38
|
- lib/castanaut/keys.rb
|
38
39
|
- lib/castanaut/main.rb
|
39
40
|
- lib/castanaut/movie.rb
|
41
|
+
- lib/castanaut/os/mac_os_x.rb
|
42
|
+
- lib/castanaut/os/mac_os_x_legacy.rb
|
40
43
|
- lib/castanaut/plugin.rb
|
44
|
+
- lib/castanaut.rb
|
41
45
|
- lib/plugins/ishowu.rb
|
46
|
+
- lib/plugins/ishowuhd.rb
|
47
|
+
- lib/plugins/keystack.rb
|
42
48
|
- lib/plugins/mousepose.rb
|
43
49
|
- lib/plugins/safari.rb
|
50
|
+
- lib/plugins/snapz_pro.rb
|
51
|
+
- lib/plugins/terminal.rb
|
52
|
+
- lib/plugins/textmate.rb
|
44
53
|
- scripts/coords.js
|
45
54
|
- scripts/gebys.js
|
46
|
-
-
|
47
|
-
-
|
48
|
-
-
|
49
|
-
- tasks/gem.rake
|
50
|
-
- tasks/manifest.rake
|
51
|
-
- tasks/post_load.rake
|
52
|
-
- tasks/rubyforge.rake
|
53
|
-
- tasks/setup.rb
|
54
|
-
- tasks/spec.rake
|
55
|
-
- tasks/svn.rake
|
56
|
-
- tasks/test.rake
|
57
|
-
- test/example_script.screenplay
|
58
|
-
- test/googling.screenplay
|
55
|
+
- test/helper.rb
|
56
|
+
- test/main_test.rb
|
57
|
+
- test/movie_test.rb
|
59
58
|
has_rdoc: true
|
60
|
-
homepage: http://
|
59
|
+
homepage: http://gadgets.inventivelabs.com.au/castanaut
|
60
|
+
licenses: []
|
61
|
+
|
61
62
|
post_install_message:
|
62
63
|
rdoc_options:
|
64
|
+
- --title
|
65
|
+
- Castanaut
|
63
66
|
- --main
|
64
67
|
- README.txt
|
65
68
|
require_paths:
|
@@ -68,20 +71,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
68
71
|
requirements:
|
69
72
|
- - ">="
|
70
73
|
- !ruby/object:Gem::Version
|
74
|
+
segments:
|
75
|
+
- 0
|
71
76
|
version: "0"
|
72
|
-
version:
|
73
77
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
78
|
requirements:
|
75
79
|
- - ">="
|
76
80
|
- !ruby/object:Gem::Version
|
81
|
+
segments:
|
82
|
+
- 0
|
77
83
|
version: "0"
|
78
|
-
version:
|
79
84
|
requirements: []
|
80
85
|
|
81
|
-
rubyforge_project:
|
82
|
-
rubygems_version: 1.
|
86
|
+
rubyforge_project:
|
87
|
+
rubygems_version: 1.3.6
|
83
88
|
signing_key:
|
84
|
-
specification_version:
|
85
|
-
summary: Castanaut
|
89
|
+
specification_version: 3
|
90
|
+
summary: Castanaut - automate your screencasts
|
86
91
|
test_files: []
|
87
92
|
|
data/Manifest.txt
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
Copyright.txt
|
2
|
-
History.txt
|
3
|
-
Manifest.txt
|
4
|
-
README.txt
|
5
|
-
Rakefile
|
6
|
-
bin/castanaut
|
7
|
-
cbin/osxautomation
|
8
|
-
lib/castanaut.rb
|
9
|
-
lib/castanaut/exceptions.rb
|
10
|
-
lib/castanaut/keys.rb
|
11
|
-
lib/castanaut/main.rb
|
12
|
-
lib/castanaut/movie.rb
|
13
|
-
lib/castanaut/plugin.rb
|
14
|
-
lib/plugins/ishowu.rb
|
15
|
-
lib/plugins/mousepose.rb
|
16
|
-
lib/plugins/safari.rb
|
17
|
-
scripts/coords.js
|
18
|
-
scripts/gebys.js
|
19
|
-
tasks/ann.rake
|
20
|
-
tasks/annotations.rake
|
21
|
-
tasks/doc.rake
|
22
|
-
tasks/gem.rake
|
23
|
-
tasks/manifest.rake
|
24
|
-
tasks/post_load.rake
|
25
|
-
tasks/rubyforge.rake
|
26
|
-
tasks/setup.rb
|
27
|
-
tasks/spec.rake
|
28
|
-
tasks/svn.rake
|
29
|
-
tasks/test.rake
|
30
|
-
test/example_script.screenplay
|
31
|
-
test/googling.screenplay
|
data/Rakefile
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# Look in the tasks/setup.rb file for the various options that can be
|
2
|
-
# configured in this Rakefile. The .rake files in the tasks directory
|
3
|
-
# are where the options are used.
|
4
|
-
|
5
|
-
load 'tasks/setup.rb'
|
6
|
-
|
7
|
-
ensure_in_path 'lib'
|
8
|
-
require 'castanaut'
|
9
|
-
|
10
|
-
task :default => 'spec:run'
|
11
|
-
|
12
|
-
PROJ.name = 'castanaut'
|
13
|
-
PROJ.authors = 'Joseph Pearson'
|
14
|
-
PROJ.email = 'joseph@inventivelabs.com.au'
|
15
|
-
PROJ.url = 'http://castanaut.rubyforge.org'
|
16
|
-
PROJ.version = Castanaut::VERSION
|
17
|
-
|
18
|
-
PROJ.rubyforge_name = 'castanaut'
|
19
|
-
PROJ.rdoc_remote_dir = 'doc'
|
20
|
-
|
21
|
-
PROJ.exclude += ['^spec\/*', '^test\/*']
|
22
|
-
|
23
|
-
PROJ.spec_opts << '--color'
|
24
|
-
|
25
|
-
# EOF
|
data/tasks/ann.rake
DELETED
@@ -1,77 +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
|
-
desc "Create an announcement file"
|
13
|
-
task :announcement do
|
14
|
-
File.open('announcement.txt','w') do |fd|
|
15
|
-
fd.puts("#{PROJ.name} version #{PROJ.version}")
|
16
|
-
fd.puts(" by #{Array(PROJ.authors).first}") if PROJ.authors
|
17
|
-
fd.puts(" #{PROJ.url}") if PROJ.url
|
18
|
-
fd.puts(" (the \"#{PROJ.release_name}\" release)") if PROJ.release_name
|
19
|
-
fd.puts
|
20
|
-
fd.puts("== DESCRIPTION")
|
21
|
-
fd.puts
|
22
|
-
fd.puts(PROJ.description)
|
23
|
-
fd.puts
|
24
|
-
fd.puts(PROJ.changes.sub(%r/^.*$/, '== CHANGES'))
|
25
|
-
fd.puts
|
26
|
-
PROJ.ann_paragraphs.each do |p|
|
27
|
-
fd.puts "== #{p.upcase}"
|
28
|
-
fd.puts
|
29
|
-
fd.puts paragraphs_of('README.txt', p).join("\n\n")
|
30
|
-
fd.puts
|
31
|
-
end
|
32
|
-
fd.puts PROJ.ann_text if PROJ.ann_text
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
desc "Send email announcement"
|
37
|
-
task :email => :announcement do
|
38
|
-
from = PROJ.ann_email[:from] || PROJ.email
|
39
|
-
to = Array(PROJ.ann_email[:to])
|
40
|
-
|
41
|
-
### build a mail header for RFC 822
|
42
|
-
rfc822msg = "From: #{from}\n"
|
43
|
-
rfc822msg << "To: #{to.join(',')}\n"
|
44
|
-
rfc822msg << "Subject: [ANN] #{PROJ.name} #{PROJ.version}"
|
45
|
-
rfc822msg << " (#{PROJ.release_name})" if PROJ.release_name
|
46
|
-
rfc822msg << "\n"
|
47
|
-
rfc822msg << "Date: #{Time.new.rfc822}\n"
|
48
|
-
rfc822msg << "Message-Id: "
|
49
|
-
rfc822msg << "<#{"%.8f" % Time.now.to_f}@#{PROJ.ann_email[:domain]}>\n\n"
|
50
|
-
rfc822msg << File.read('announcement.txt')
|
51
|
-
|
52
|
-
params = [:server, :port, :domain, :acct, :passwd, :authtype].map do |key|
|
53
|
-
PROJ.ann_email[key]
|
54
|
-
end
|
55
|
-
|
56
|
-
params[3] = PROJ.email if params[3].nil?
|
57
|
-
|
58
|
-
if params[4].nil?
|
59
|
-
STDOUT.write "Please enter your e-mail password (#{params[3]}): "
|
60
|
-
params[4] = STDIN.gets.chomp
|
61
|
-
end
|
62
|
-
|
63
|
-
### send email
|
64
|
-
Net::SMTP.start(*params) {|smtp| smtp.sendmail(rfc822msg, from, to)}
|
65
|
-
end
|
66
|
-
|
67
|
-
task :clobber_announcement do
|
68
|
-
rm 'announcement.txt' rescue nil
|
69
|
-
end
|
70
|
-
end # namespace :ann
|
71
|
-
|
72
|
-
desc 'Alias to ann:announcement'
|
73
|
-
task :ann => 'ann:announcement'
|
74
|
-
|
75
|
-
task :clobber => %w(ann:clobber_announcement)
|
76
|
-
|
77
|
-
# EOF
|
data/tasks/annotations.rake
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
# $Id$
|
2
|
-
|
3
|
-
if HAVE_BONES
|
4
|
-
|
5
|
-
desc "Enumerate all annotations"
|
6
|
-
task :notes do
|
7
|
-
Bones::AnnotationExtractor.enumerate(
|
8
|
-
PROJ, PROJ.annotation_tags.join('|'), :tag => true)
|
9
|
-
end
|
10
|
-
|
11
|
-
namespace :notes do
|
12
|
-
PROJ.annotation_tags.each do |tag|
|
13
|
-
desc "Enumerate all #{tag} annotations"
|
14
|
-
task tag.downcase.to_sym do
|
15
|
-
Bones::AnnotationExtractor.enumerate(PROJ, tag)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
end # if HAVE_BONES
|
21
|
-
|
22
|
-
# EOF
|
data/tasks/doc.rake
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
# $Id$
|
2
|
-
|
3
|
-
require 'rake/rdoctask'
|
4
|
-
|
5
|
-
namespace :doc do
|
6
|
-
|
7
|
-
desc 'Generate RDoc documentation'
|
8
|
-
Rake::RDocTask.new do |rd|
|
9
|
-
rd.main = PROJ.rdoc_main
|
10
|
-
rd.rdoc_dir = PROJ.rdoc_dir
|
11
|
-
|
12
|
-
incl = Regexp.new(PROJ.rdoc_include.join('|'))
|
13
|
-
excl = Regexp.new(PROJ.rdoc_exclude.join('|'))
|
14
|
-
files = PROJ.files.find_all do |fn|
|
15
|
-
case fn
|
16
|
-
when excl; false
|
17
|
-
when incl; true
|
18
|
-
else false end
|
19
|
-
end
|
20
|
-
rd.rdoc_files.push(*files)
|
21
|
-
|
22
|
-
title = "#{PROJ.name}-#{PROJ.version} Documentation"
|
23
|
-
title = "#{PROJ.rubyforge_name}'s " + title if PROJ.rubyforge_name != title
|
24
|
-
|
25
|
-
rd.options << "-t #{title}"
|
26
|
-
rd.options.concat(PROJ.rdoc_opts)
|
27
|
-
end
|
28
|
-
|
29
|
-
desc 'Generate ri locally for testing'
|
30
|
-
task :ri => :clobber_ri do
|
31
|
-
sh "#{RDOC} --ri -o ri ."
|
32
|
-
end
|
33
|
-
|
34
|
-
desc 'Remove ri products'
|
35
|
-
task :clobber_ri do
|
36
|
-
rm_r 'ri' rescue nil
|
37
|
-
end
|
38
|
-
|
39
|
-
end # namespace :doc
|
40
|
-
|
41
|
-
desc 'Alias to doc:rdoc'
|
42
|
-
task :doc => 'doc:rdoc'
|
43
|
-
|
44
|
-
desc 'Remove all build products'
|
45
|
-
task :clobber => %w(doc:clobber_rdoc doc:clobber_ri)
|
46
|
-
|
47
|
-
remove_desc_for_task %w(doc:clobber_rdoc doc:clobber_ri)
|
48
|
-
|
49
|
-
# EOF
|
data/tasks/gem.rake
DELETED
@@ -1,110 +0,0 @@
|
|
1
|
-
# $Id$
|
2
|
-
|
3
|
-
require 'rake/gempackagetask'
|
4
|
-
|
5
|
-
namespace :gem do
|
6
|
-
|
7
|
-
PROJ.spec = Gem::Specification.new do |s|
|
8
|
-
s.name = PROJ.name
|
9
|
-
s.version = PROJ.version
|
10
|
-
s.summary = PROJ.summary
|
11
|
-
s.authors = Array(PROJ.authors)
|
12
|
-
s.email = PROJ.email
|
13
|
-
s.homepage = Array(PROJ.url).first
|
14
|
-
s.rubyforge_project = PROJ.rubyforge_name
|
15
|
-
s.post_install_message = PROJ.post_install_message
|
16
|
-
|
17
|
-
s.description = PROJ.description
|
18
|
-
|
19
|
-
PROJ.dependencies.each do |dep|
|
20
|
-
s.add_dependency(*dep)
|
21
|
-
end
|
22
|
-
|
23
|
-
s.files = PROJ.files
|
24
|
-
s.executables = PROJ.executables.map {|fn| File.basename(fn)}
|
25
|
-
s.extensions = PROJ.files.grep %r/extconf\.rb$/
|
26
|
-
|
27
|
-
s.bindir = 'bin'
|
28
|
-
dirs = Dir["{#{PROJ.libs.join(',')}}"]
|
29
|
-
s.require_paths = dirs unless dirs.empty?
|
30
|
-
|
31
|
-
incl = Regexp.new(PROJ.rdoc_include.join('|'))
|
32
|
-
excl = PROJ.rdoc_exclude.dup.concat %w[\.rb$ ^(\.\/|\/)?ext]
|
33
|
-
excl = Regexp.new(excl.join('|'))
|
34
|
-
rdoc_files = PROJ.files.find_all do |fn|
|
35
|
-
case fn
|
36
|
-
when excl; false
|
37
|
-
when incl; true
|
38
|
-
else false end
|
39
|
-
end
|
40
|
-
s.rdoc_options = PROJ.rdoc_opts + ['--main', PROJ.rdoc_main]
|
41
|
-
s.extra_rdoc_files = rdoc_files
|
42
|
-
s.has_rdoc = true
|
43
|
-
|
44
|
-
if test ?f, PROJ.test_file
|
45
|
-
s.test_file = PROJ.test_file
|
46
|
-
else
|
47
|
-
s.test_files = PROJ.tests.to_a
|
48
|
-
end
|
49
|
-
|
50
|
-
# Do any extra stuff the user wants
|
51
|
-
# spec_extras.each do |msg, val|
|
52
|
-
# case val
|
53
|
-
# when Proc
|
54
|
-
# val.call(s.send(msg))
|
55
|
-
# else
|
56
|
-
# s.send "#{msg}=", val
|
57
|
-
# end
|
58
|
-
# end
|
59
|
-
end
|
60
|
-
|
61
|
-
desc 'Show information about the gem'
|
62
|
-
task :debug do
|
63
|
-
puts PROJ.spec.to_ruby
|
64
|
-
end
|
65
|
-
|
66
|
-
pkg = Rake::PackageTask.new(PROJ.name, PROJ.version) do |pkg|
|
67
|
-
pkg.need_tar = PROJ.need_tar
|
68
|
-
pkg.need_zip = PROJ.need_zip
|
69
|
-
pkg.package_files += PROJ.spec.files
|
70
|
-
end
|
71
|
-
Rake::Task['gem:package'].instance_variable_set(:@full_comment, nil)
|
72
|
-
|
73
|
-
gem_file = if PROJ.spec.platform == Gem::Platform::RUBY
|
74
|
-
"#{pkg.package_name}.gem"
|
75
|
-
else
|
76
|
-
"#{pkg.package_name}-#{PROJ.spec.platform}.gem"
|
77
|
-
end
|
78
|
-
|
79
|
-
desc "Build the gem file #{gem_file}"
|
80
|
-
task :package => "#{pkg.package_dir}/#{gem_file}"
|
81
|
-
|
82
|
-
file "#{pkg.package_dir}/#{gem_file}" => [pkg.package_dir] + PROJ.spec.files do
|
83
|
-
when_writing("Creating GEM") {
|
84
|
-
Gem::Builder.new(PROJ.spec).build
|
85
|
-
verbose(true) {
|
86
|
-
mv gem_file, "#{pkg.package_dir}/#{gem_file}"
|
87
|
-
}
|
88
|
-
}
|
89
|
-
end
|
90
|
-
|
91
|
-
desc 'Install the gem'
|
92
|
-
task :install => [:clobber, :package] do
|
93
|
-
sh "#{SUDO} #{GEM} install pkg/#{PROJ.spec.full_name}"
|
94
|
-
end
|
95
|
-
|
96
|
-
desc 'Uninstall the gem'
|
97
|
-
task :uninstall do
|
98
|
-
sh "#{SUDO} #{GEM} uninstall -v '#{PROJ.version}' -x #{PROJ.name}"
|
99
|
-
end
|
100
|
-
|
101
|
-
end # namespace :gem
|
102
|
-
|
103
|
-
desc 'Alias to gem:package'
|
104
|
-
task :gem => 'gem:package'
|
105
|
-
|
106
|
-
task :clobber => 'gem:clobber_package'
|
107
|
-
|
108
|
-
remove_desc_for_task %w(gem:clobber_package)
|
109
|
-
|
110
|
-
# EOF
|
data/tasks/manifest.rake
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
# $Id$
|
2
|
-
|
3
|
-
require 'find'
|
4
|
-
|
5
|
-
namespace :manifest do
|
6
|
-
|
7
|
-
desc 'Verify the manifest'
|
8
|
-
task :check do
|
9
|
-
fn = 'Manifest.tmp'
|
10
|
-
files = manifest_files
|
11
|
-
|
12
|
-
File.open(fn, 'w') {|fp| fp.puts files}
|
13
|
-
lines = %x(#{DIFF} -du Manifest.txt #{fn}).split("\n")
|
14
|
-
if HAVE_FACETS_ANSICODE and ENV.has_key?('TERM')
|
15
|
-
lines.map! do |line|
|
16
|
-
case line
|
17
|
-
when %r/^(-{3}|\+{3})/; nil
|
18
|
-
when %r/^@/; Console::ANSICode.blue line
|
19
|
-
when %r/^\+/; Console::ANSICode.green line
|
20
|
-
when %r/^\-/; Console::ANSICode.red line
|
21
|
-
else line end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
puts lines.compact
|
25
|
-
rm fn rescue nil
|
26
|
-
end
|
27
|
-
|
28
|
-
desc 'Create a new manifest'
|
29
|
-
task :create do
|
30
|
-
fn = 'Manifest.txt'
|
31
|
-
files = manifest_files
|
32
|
-
unless test(?f, fn)
|
33
|
-
files << fn
|
34
|
-
files.sort!
|
35
|
-
end
|
36
|
-
File.open(fn, 'w') {|fp| fp.puts files}
|
37
|
-
end
|
38
|
-
|
39
|
-
task :assert do
|
40
|
-
files = manifest_files
|
41
|
-
manifest = File.read('Manifest.txt').split($/)
|
42
|
-
raise RuntimeError, "Manifest.txt is out of date" unless files == manifest
|
43
|
-
end
|
44
|
-
|
45
|
-
end # namespace :manifest
|
46
|
-
|
47
|
-
desc 'Alias to manifest:check'
|
48
|
-
task :manifest => 'manifest:check'
|
49
|
-
|
50
|
-
# EOF
|
data/tasks/post_load.rake
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
# $Id$
|
2
|
-
|
3
|
-
# This file does not define any rake tasks. It is used to load some project
|
4
|
-
# settings if they are not defined by the user.
|
5
|
-
|
6
|
-
unless PROJ.changes
|
7
|
-
PROJ.changes = paragraphs_of('History.txt', 0..1).join("\n\n")
|
8
|
-
end
|
9
|
-
|
10
|
-
unless PROJ.description
|
11
|
-
PROJ.description = paragraphs_of('README.txt', 'description').join("\n\n")
|
12
|
-
end
|
13
|
-
|
14
|
-
unless PROJ.summary
|
15
|
-
PROJ.summary = PROJ.description.split('.').first
|
16
|
-
end
|
17
|
-
|
18
|
-
# EOF
|
data/tasks/rubyforge.rake
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
# $Id$
|
2
|
-
|
3
|
-
if PROJ.rubyforge_name && HAVE_RUBYFORGE
|
4
|
-
|
5
|
-
require 'rubyforge'
|
6
|
-
require 'rake/contrib/sshpublisher'
|
7
|
-
|
8
|
-
namespace :gem do
|
9
|
-
desc 'Package and upload to RubyForge'
|
10
|
-
task :release => [:clobber, :package] do |t|
|
11
|
-
v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z'
|
12
|
-
abort "Versions don't match #{v} vs #{PROJ.version}" if v != PROJ.version
|
13
|
-
pkg = "pkg/#{PROJ.spec.full_name}"
|
14
|
-
|
15
|
-
if $DEBUG then
|
16
|
-
puts "release_id = rf.add_release #{PROJ.rubyforge_name.inspect}, #{PROJ.name.inspect}, #{PROJ.version.inspect}, \"#{pkg}.tgz\""
|
17
|
-
puts "rf.add_file #{PROJ.rubyforge_name.inspect}, #{PROJ.name.inspect}, release_id, \"#{pkg}.gem\""
|
18
|
-
end
|
19
|
-
|
20
|
-
rf = RubyForge.new
|
21
|
-
puts 'Logging in'
|
22
|
-
rf.login
|
23
|
-
|
24
|
-
c = rf.userconfig
|
25
|
-
c['release_notes'] = PROJ.description if PROJ.description
|
26
|
-
c['release_changes'] = PROJ.changes if PROJ.changes
|
27
|
-
c['preformatted'] = true
|
28
|
-
|
29
|
-
files = [(PROJ.need_tar ? "#{pkg}.tgz" : nil),
|
30
|
-
(PROJ.need_zip ? "#{pkg}.zip" : nil),
|
31
|
-
"#{pkg}.gem"].compact
|
32
|
-
|
33
|
-
puts "Releasing #{PROJ.name} v. #{PROJ.version}"
|
34
|
-
rf.add_release PROJ.rubyforge_name, PROJ.name, PROJ.version, *files
|
35
|
-
end
|
36
|
-
end # namespace :gem
|
37
|
-
|
38
|
-
|
39
|
-
namespace :doc do
|
40
|
-
desc "Publish RDoc to RubyForge"
|
41
|
-
task :release => %w(doc:clobber_rdoc doc:rdoc) do
|
42
|
-
config = YAML.load(
|
43
|
-
File.read(File.expand_path('~/.rubyforge/user-config.yml'))
|
44
|
-
)
|
45
|
-
|
46
|
-
host = "#{config['username']}@rubyforge.org"
|
47
|
-
remote_dir = "/var/www/gforge-projects/#{PROJ.rubyforge_name}/"
|
48
|
-
remote_dir << PROJ.rdoc_remote_dir if PROJ.rdoc_remote_dir
|
49
|
-
local_dir = PROJ.rdoc_dir
|
50
|
-
|
51
|
-
Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
|
52
|
-
end
|
53
|
-
end # namespace :doc
|
54
|
-
|
55
|
-
end # if HAVE_RUBYFORGE
|
56
|
-
|
57
|
-
# EOF
|