reap 4.3.1 → 4.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +0 -24
- data/ProjectInfo +1 -1
- data/bin/reap +1 -1
- data/bin/rubytest +5 -0
- data/lib/reap/bin/reap.rb +22 -3
- data/lib/reap/bin/rubytest.rb +45 -0
- data/lib/reap/projectinfo.rb +9 -5
- data/lib/reap/setup.rb +1557 -0
- data/lib/reap/task/install.rb +25 -8
- data/lib/reap/task/noop.rb +3 -0
- data/lib/reap/task/publish.rb +3 -2
- data/lib/reap/task/test.rb +59 -18
- data/lib/reap/task/testext.rb +2 -0
- data/lib/reap/task.rb +12 -3
- data/note/Rakefile +60 -0
- data/note/composite_task.rb +27 -0
- data/note/compositepublisher.rb +24 -0
- data/note/ftptools.rb +139 -0
- data/note/license-each.rb +85 -0
- data/note/publisher.rb +75 -0
- data/note/rubyforgepublisher.rb +18 -0
- data/note/sshpublisher.rb +47 -0
- data/note/suby-cvs.rb +46 -0
- data/note/template.rb +72 -0
- metadata +16 -3
- data/Rakefile +0 -0
data/ChangeLog
CHANGED
@@ -1,25 +1 @@
|
|
1
|
-
|
2
1
|
= Reap ChangeLog
|
3
|
-
|
4
|
-
== 04
|
5
|
-
|
6
|
-
* Killed the Rake idea. Now a fully independent project,
|
7
|
-
and better than before.
|
8
|
-
|
9
|
-
== 03
|
10
|
-
|
11
|
-
* Major overhaul. Reap is no longer an independent project.
|
12
|
-
Rather, it is now an extension of Rake. All Reap tasks are
|
13
|
-
now a subclass of Rake::TaskLib.
|
14
|
-
|
15
|
-
== 02
|
16
|
-
|
17
|
-
* Improved test task. Each test now runs in its own process.
|
18
|
-
Output is summarized and in YAML.
|
19
|
-
* Improved configuration loading a bit.
|
20
|
-
* Wrote some basic docs on how to write a Reap task.
|
21
|
-
* Adjusted for Nano upgrade (was Facets).
|
22
|
-
|
23
|
-
== 01
|
24
|
-
|
25
|
-
* Alpha Development
|
data/ProjectInfo
CHANGED
data/bin/reap
CHANGED
data/bin/rubytest
ADDED
data/lib/reap/bin/reap.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
|
2
2
|
# Support libraries
|
3
3
|
require 'rbconfig'
|
4
|
+
|
4
5
|
require 'facets'
|
5
|
-
require '
|
6
|
+
require 'facet/consoleapp'
|
6
7
|
|
7
8
|
# Reap support
|
8
9
|
require 'reap/projectinfo'
|
@@ -72,23 +73,40 @@ class ReapCommand < Console::Application
|
|
72
73
|
# Commands
|
73
74
|
|
74
75
|
# default action
|
76
|
+
|
75
77
|
def default
|
76
78
|
tasks
|
77
79
|
end
|
78
80
|
|
79
81
|
# display version
|
82
|
+
|
80
83
|
def version
|
81
84
|
puts "Reap v.#{Reap::Version}"
|
82
85
|
exit 0
|
83
86
|
end
|
84
87
|
|
85
88
|
# display help
|
86
|
-
|
87
|
-
|
89
|
+
|
90
|
+
def help(*args)
|
91
|
+
unless args.empty?
|
92
|
+
t = Reap.tasks[args[0]]
|
93
|
+
s = "\n"
|
94
|
+
s << "#{args[0]}: "
|
95
|
+
s << t.task_desc.sub(/^\n+/, '').rstrip
|
96
|
+
s << "\n\n"
|
97
|
+
if thelp = t.task_help
|
98
|
+
s << thelp.sub(/^\n+/, '').rstrip
|
99
|
+
end
|
100
|
+
s << "\n\n"
|
101
|
+
puts s
|
102
|
+
else
|
103
|
+
puts HELP
|
104
|
+
end
|
88
105
|
exit 0
|
89
106
|
end
|
90
107
|
|
91
108
|
# list available tasks
|
109
|
+
|
92
110
|
def tasks
|
93
111
|
#Reap.initialize #_all
|
94
112
|
puts
|
@@ -101,6 +119,7 @@ class ReapCommand < Console::Application
|
|
101
119
|
alias_method :ls, :tasks
|
102
120
|
|
103
121
|
# copy the file from lib/data to the current dir.
|
122
|
+
|
104
123
|
def template
|
105
124
|
if INFO_FILES.any?{ |f| File.exists?(f) }
|
106
125
|
puts "Project file already exists."
|
@@ -0,0 +1,45 @@
|
|
1
|
+
|
2
|
+
require 'test/unit'
|
3
|
+
require 'facet/consoleapp'
|
4
|
+
|
5
|
+
class RubyCommentTester < Console::Application
|
6
|
+
|
7
|
+
RETEST = /^=begin\s+test.*?\n(.*)\n=end/mi
|
8
|
+
|
9
|
+
# option to display help
|
10
|
+
def __verbose ; $VERBOSE = true ; end
|
11
|
+
alias_method :_v, :__verbose
|
12
|
+
|
13
|
+
# option to display help
|
14
|
+
def __help
|
15
|
+
puts HELP
|
16
|
+
exit 0
|
17
|
+
end
|
18
|
+
alias_method :_h, :__help
|
19
|
+
|
20
|
+
def main( *filepaths )
|
21
|
+
filepaths.each { |fp|
|
22
|
+
run_comment_test( fp )
|
23
|
+
}
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def run_comment_test( filepath )
|
29
|
+
code = File.read( filepath )
|
30
|
+
md = RETEST.match( code )
|
31
|
+
test_code = md[1]
|
32
|
+
unless test_code
|
33
|
+
puts "No test found for #{filepath}."
|
34
|
+
return nil
|
35
|
+
end
|
36
|
+
|
37
|
+
require filepath
|
38
|
+
eval test_code, TOPLEVEL_BINDING
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
HELP = <<-EOS
|
44
|
+
rubytest filename [filename ...]
|
45
|
+
EOS
|
data/lib/reap/projectinfo.rb
CHANGED
@@ -19,14 +19,16 @@ class ProjectInfo
|
|
19
19
|
# @self[name]
|
20
20
|
#end
|
21
21
|
|
22
|
-
attr_reader :info, :info_stream
|
22
|
+
attr_reader :info, :info_stream, :info_dir
|
23
23
|
|
24
24
|
def initialize( info_file=nil )
|
25
25
|
unless info_file
|
26
26
|
Dir.ascend(Dir.pwd) do |d|
|
27
27
|
Dir.chdir(d)
|
28
28
|
info_file = INFO_FILES.find{ |f| File.file?( f ) }
|
29
|
-
|
29
|
+
if info_file
|
30
|
+
@info_dir = d; break
|
31
|
+
end
|
30
32
|
end
|
31
33
|
end
|
32
34
|
if info_file
|
@@ -34,9 +36,11 @@ class ProjectInfo
|
|
34
36
|
@info = YAML::load( @info_stream ).traverse{ |k,v| [k.downcase, v] }
|
35
37
|
puts "(in #{Dir.pwd})" #unless dir == Dir.pwd
|
36
38
|
else
|
37
|
-
|
38
|
-
|
39
|
-
|
39
|
+
puts "Aborted. No project information file found."
|
40
|
+
exit 1
|
41
|
+
#@info_stream = ""
|
42
|
+
#@info = {}
|
43
|
+
#puts "(without a project information file)"
|
40
44
|
end
|
41
45
|
end
|
42
46
|
|