reap 6.0.2 → 9.2.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/CHANGES +6 -0
- data/COPYING +666 -395
- data/MANIFEST +139 -0
- data/NOTES +12 -0
- data/README +19 -163
- data/bin/reap-announce +7 -0
- data/bin/reap-check-load +8 -0
- data/bin/reap-check-syntax +7 -0
- data/bin/reap-clean +7 -0
- data/bin/reap-clobber +7 -0
- data/bin/reap-doc +7 -0
- data/bin/reap-doc-rdoc +7 -0
- data/bin/reap-doc-ri +7 -0
- data/bin/reap-init +69 -0
- data/bin/reap-inspect +7 -0
- data/bin/reap-install +8 -0
- data/bin/reap-install-gem +8 -0
- data/bin/reap-log +7 -0
- data/bin/reap-log-changes +8 -0
- data/bin/reap-log-notes +8 -0
- data/bin/reap-make +7 -0
- data/bin/reap-make-clean +7 -0
- data/bin/reap-make-distclean +7 -0
- data/bin/reap-make-extconf +7 -0
- data/bin/reap-make-static +8 -0
- data/bin/reap-package +8 -0
- data/bin/reap-package-gem +7 -0
- data/bin/reap-package-tgz +7 -0
- data/bin/reap-package-zip +7 -0
- data/bin/reap-prepare +7 -0
- data/bin/reap-publish +7 -0
- data/bin/reap-release +7 -0
- data/bin/reap-scaffold +8 -0
- data/bin/reap-scm-branch +7 -0
- data/bin/reap-scm-tag +7 -0
- data/bin/reap-spec +7 -0
- data/bin/reap-spec-doc +8 -0
- data/bin/reap-stamp +7 -0
- data/bin/reap-stats +7 -0
- data/bin/reap-test +7 -0
- data/bin/reap-test-cross +7 -0
- data/bin/reap-test-load +9 -0
- data/bin/reap-test-solo +7 -0
- data/bin/reap-uninstall +7 -0
- data/bin/reap-uninstall-gem +7 -0
- data/data/reap/base/CHANGES +19 -0
- data/data/reap/base/COPYING +674 -0
- data/data/reap/base/NOTES +12 -0
- data/data/reap/base/README +8 -0
- data/data/reap/build/rake/Rakefile +130 -0
- data/{forge/reference/installers → data/reap/build/rake}/setup.rb +155 -97
- data/data/reap/build/rake-lite/install.rb +79 -0
- data/data/reap/build/tasks/task/rdoc +211 -0
- data/data/reap/{setup.rb → build/tasks/task/setup} +248 -200
- data/data/reap/build/tasks/task/test +38 -0
- data/data/reap/init/meta/project.yaml +21 -0
- data/demo/README +15 -0
- data/demo/lib/foo/foo.rb +7 -0
- data/demo/meta/VERSION +1 -0
- data/demo/meta/project.yaml +21 -0
- data/lib/reap/application.rb +80 -0
- data/lib/reap/default.yaml +77 -0
- data/lib/reap/extensions/array.rb +50 -0
- data/lib/reap/extensions/hash.rb +63 -0
- data/lib/reap/extensions/string.rb +31 -0
- data/lib/reap/extensions.rb +6 -0
- data/lib/reap/iobject.rb +264 -0
- data/lib/reap/manager/announce.rb +193 -0
- data/lib/reap/manager/check.rb +109 -0
- data/lib/reap/manager/clean.rb +58 -0
- data/lib/reap/manager/gem.rb +200 -0
- data/lib/reap/manager/html.rb +69 -0
- data/lib/reap/manager/log.rb +214 -0
- data/lib/reap/manager/make.rb +109 -0
- data/lib/reap/manager/pack.rb +232 -0
- data/lib/reap/manager/publish.rb +72 -0
- data/lib/reap/manager/rdoc.rb +194 -0
- data/lib/reap/manager/release.rb +78 -0
- data/lib/reap/manager/rubyforge.rb +44 -0
- data/lib/reap/manager/scaffold.rb +138 -0
- data/lib/reap/manager/scm.rb +66 -0
- data/lib/reap/manager/site.rb +27 -0
- data/lib/reap/manager/spec.rb +94 -0
- data/lib/reap/manager/stats.rb +145 -0
- data/lib/reap/manager/svn.rb +76 -0
- data/lib/reap/manager/test.rb +389 -0
- data/lib/reap/manager.rb +74 -0
- data/lib/reap/metadata.rb +603 -0
- data/lib/reap/project.rb +165 -0
- data/lib/reap/settings.rb +67 -0
- data/lib/reap/systems/rubyforge.rb +737 -0
- data/lib/reap/systems/subversion.rb +333 -0
- data/lib/reap/utilities/fileutils.rb +304 -0
- data/lib/reap/utilities/netutils.rb +221 -0
- data/lib/reap/utilities/setuputils.rb +124 -0
- data/lib/reap/utilities/shellutils.rb +175 -0
- data/log/Changelog.txt +107 -0
- data/log/FIXME.txt +25 -0
- data/log/TODO.txt +72 -0
- data/meta/VERSION +1 -0
- data/meta/description +4 -0
- data/meta/project.yaml +20 -0
- data/task/man +14 -0
- data/task/rdoc +20 -0
- data/{data/reap/scaffold/standard/setup.rb → task/setup} +248 -200
- metadata +225 -153
- data/ProjectInfo +0 -105
- data/bin/reap +0 -5
- data/bin/rubytest +0 -5
- data/data/reap/install.rb +0 -62
- data/data/reap/scaffold/standard/COPYING +0 -403
- data/data/reap/scaffold/standard/ChangeLog +0 -0
- data/data/reap/scaffold/standard/INSTALL +0 -14
- data/data/reap/scaffold/standard/ProjectInfo +0 -77
- data/data/reap/scaffold/standard/README +0 -3
- data/data/reap/scaffold/standard/Rakefile +0 -10
- data/data/reap/scaffold/standard/TODO +0 -0
- data/data/reap/scaffold/subversion/trunk/COPYING +0 -403
- data/data/reap/scaffold/subversion/trunk/ChangeLog +0 -0
- data/data/reap/scaffold/subversion/trunk/INSTALL +0 -14
- data/data/reap/scaffold/subversion/trunk/ProjectInfo +0 -76
- data/data/reap/scaffold/subversion/trunk/README +0 -3
- data/data/reap/scaffold/subversion/trunk/Rakefile +0 -10
- data/data/reap/scaffold/subversion/trunk/TODO +0 -0
- data/data/reap/scaffold/subversion/trunk/setup.rb +0 -1568
- data/forge/ProjectInfo +0 -38
- data/forge/ProjectInfo.rb +0 -76
- data/forge/TODO +0 -10
- data/forge/installer.rb +0 -250
- data/forge/reference/Rakefile +0 -124
- data/forge/reference/Rakefile.htm +0 -69
- data/forge/reference/aRakefile +0 -60
- data/forge/reference/compositepublisher.rb +0 -24
- data/forge/reference/ftptools.rb +0 -139
- data/forge/reference/installers/package.rb +0 -629
- data/forge/reference/license-each.rb +0 -85
- data/forge/reference/publisher.rb +0 -75
- data/forge/reference/rubyforge.rb +0 -247
- data/forge/reference/rubyforgepublisher.rb +0 -18
- data/forge/reference/sshpublisher.rb +0 -47
- data/forge/reference/suby-cvs.rb +0 -46
- data/forge/scaffold.rb +0 -126
- data/forge/unit_runner/README +0 -6
- data/forge/unit_runner/commentrunner.rb +0 -62
- data/forge/unit_runner/cunit.rb +0 -17
- data/forge/unit_runner/forkedrunner.rb +0 -91
- data/forge/unit_runner/sample.rb +0 -16
- data/lib/reap/bin/reap.rb +0 -230
- data/lib/reap/bin/rubytest.rb +0 -53
- data/lib/reap/class/announce.rb +0 -220
- data/lib/reap/class/doap.rb +0 -80
- data/lib/reap/class/extest.rb +0 -146
- data/lib/reap/class/filer.rb +0 -62
- data/lib/reap/class/manifest.rb +0 -68
- data/lib/reap/class/package.rb +0 -576
- data/lib/reap/class/publish.rb +0 -152
- data/lib/reap/class/rdoc.rb +0 -123
- data/lib/reap/class/test.rb +0 -264
- data/lib/reap/projectinfo.rb +0 -208
- data/lib/reap/rake.rb +0 -42
- data/lib/reap/reap.rb +0 -89
- data/lib/reap/tasks.rb +0 -756
- data/lib/reap/taskutils.rb +0 -122
- data/note/LATEST +0 -44
- data/note/doap.xml +0 -28
- data/note/history/Rakefile-0.1 +0 -308
- data/sample/ProjectInfo +0 -96
- data/sample/Rakefile +0 -9
- data/sample/Reapfile +0 -11
- data/sample/task/demo.rb +0 -15
- data/setup.rb +0 -1568
- data/web/ProjectInfo.html +0 -75
- data/web/images/grape.jpg +0 -0
- data/web/index.html +0 -312
data/lib/reap/projectinfo.rb
DELETED
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
require 'yaml'
|
|
3
|
-
#require 'facet/hash/traverse'
|
|
4
|
-
require 'facet/hash/graph'
|
|
5
|
-
require 'facet/string/tabto'
|
|
6
|
-
require 'facet/dir/self/ascend'
|
|
7
|
-
|
|
8
|
-
#require 'facet/basicobject'
|
|
9
|
-
require 'facet/opencascade'
|
|
10
|
-
|
|
11
|
-
# Project information.
|
|
12
|
-
#
|
|
13
|
-
# ProjectInfo is a Singleton. Access it via the
|
|
14
|
-
# ProjectInfo.instance method.
|
|
15
|
-
|
|
16
|
-
class ProjectInfo
|
|
17
|
-
|
|
18
|
-
include Enumerable
|
|
19
|
-
|
|
20
|
-
INFO_FILES = [ 'ProjectInfo','projectinfo' ]
|
|
21
|
-
|
|
22
|
-
class << self
|
|
23
|
-
|
|
24
|
-
# Singelton Pattern.
|
|
25
|
-
|
|
26
|
-
private :new
|
|
27
|
-
|
|
28
|
-
def instance( &block )
|
|
29
|
-
@instance ||= block_given? ? new( &block ) : load
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
# Move to file's location.
|
|
33
|
-
|
|
34
|
-
def prime_location( fpath=nil )
|
|
35
|
-
if fpath
|
|
36
|
-
Dir.chdir( File.dirname( fpath ) )
|
|
37
|
-
else
|
|
38
|
-
fpath = find
|
|
39
|
-
if fpath
|
|
40
|
-
Dir.chdir( File.dirname( fpath ) )
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
# Find project information file.
|
|
46
|
-
|
|
47
|
-
def find
|
|
48
|
-
info_dir, info_file = nil, nil
|
|
49
|
-
Dir.ascend(Dir.pwd) do |info_dir|
|
|
50
|
-
info_file = INFO_FILES.find{ |f| File.file?( File.join( info_dir, f ) ) }
|
|
51
|
-
break if info_file
|
|
52
|
-
end
|
|
53
|
-
return nil unless info_file
|
|
54
|
-
return File.join( info_dir, info_file )
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
# Load the project information from a file. Generally
|
|
58
|
-
# no file needs to be specified; the file will be found
|
|
59
|
-
# by ascending up the current path until a default
|
|
60
|
-
# file name is found (eg. ProjectInfo or Reapfile).
|
|
61
|
-
|
|
62
|
-
def load( fpath=nil )
|
|
63
|
-
unless fpath
|
|
64
|
-
fpath = find
|
|
65
|
-
if fpath
|
|
66
|
-
Dir.chdir( File.dirname( fpath ) )
|
|
67
|
-
end
|
|
68
|
-
end
|
|
69
|
-
new.read( fpath )
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
def exist?
|
|
73
|
-
@instance.info_file ? true : false
|
|
74
|
-
end
|
|
75
|
-
alias_method :exists?, :exist?
|
|
76
|
-
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
attr_reader :info, :info_stream, :info_dir, :info_file
|
|
81
|
-
|
|
82
|
-
def initialize( &block )
|
|
83
|
-
@info = {}
|
|
84
|
-
@info_stream = nil
|
|
85
|
-
|
|
86
|
-
# define( &block ) if block_given?
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
# Define project information programmatically.
|
|
90
|
-
|
|
91
|
-
# def define( &block )
|
|
92
|
-
# return unless block
|
|
93
|
-
#
|
|
94
|
-
# @info = HashBuilder.new( &block ).to_h
|
|
95
|
-
# @info_stream = @info.to_yaml
|
|
96
|
-
# @info_dir = Dir.pwd #?
|
|
97
|
-
# @info_file = nil
|
|
98
|
-
#
|
|
99
|
-
# #validate
|
|
100
|
-
# defaults
|
|
101
|
-
#
|
|
102
|
-
# self
|
|
103
|
-
# end
|
|
104
|
-
|
|
105
|
-
# Load project information from YAML file.
|
|
106
|
-
|
|
107
|
-
def read( fpath )
|
|
108
|
-
return self unless fpath
|
|
109
|
-
|
|
110
|
-
@info_dir = File.dirname( fpath )
|
|
111
|
-
@info_file = fpath #File.basename( fpath )
|
|
112
|
-
@info_stream = File.read( fpath ).strip
|
|
113
|
-
@info = YAML::load( info_stream )
|
|
114
|
-
@info = @info.graph{ |k,v| [k.to_s.downcase, v] }
|
|
115
|
-
|
|
116
|
-
#validate
|
|
117
|
-
defaults
|
|
118
|
-
=begin
|
|
119
|
-
# register the task entries
|
|
120
|
-
@info.each do |key, val|
|
|
121
|
-
#value = @info[key] = {} if value.nil?
|
|
122
|
-
if Reap::TaskDef === val
|
|
123
|
-
val.name = key.to_s
|
|
124
|
-
end
|
|
125
|
-
end
|
|
126
|
-
=end
|
|
127
|
-
self
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
# # Update project information.
|
|
131
|
-
#
|
|
132
|
-
# def update( info=nil, &block )
|
|
133
|
-
# if info
|
|
134
|
-
# @info.update( info.traverse{ |k,v| [k.to_s.downcase, v] } )
|
|
135
|
-
# end
|
|
136
|
-
# if block_given?
|
|
137
|
-
# @info.update( HashBuilder.new( &block ).to_h )
|
|
138
|
-
# end
|
|
139
|
-
# @info_stream = @info.to_yaml
|
|
140
|
-
#
|
|
141
|
-
# #validate
|
|
142
|
-
# defaults
|
|
143
|
-
#
|
|
144
|
-
# self
|
|
145
|
-
# end
|
|
146
|
-
|
|
147
|
-
# Project information file exists? (may need to change to info exists?)
|
|
148
|
-
|
|
149
|
-
def exists?
|
|
150
|
-
@info_file
|
|
151
|
-
end
|
|
152
|
-
alias_method :exist?, :exists?
|
|
153
|
-
|
|
154
|
-
# Validate project information.
|
|
155
|
-
|
|
156
|
-
def validate #( *fields )
|
|
157
|
-
val = true
|
|
158
|
-
(puts "NAME is required in project information file."; val=false) unless info['name']
|
|
159
|
-
(puts "VERSION is required in project information file."; val=false) unless info['version']
|
|
160
|
-
exit -1 unless val
|
|
161
|
-
end
|
|
162
|
-
|
|
163
|
-
# Project information defaults.
|
|
164
|
-
|
|
165
|
-
def defaults
|
|
166
|
-
self['title'] ||= self['name'].capitalize
|
|
167
|
-
self['series'] ||= '1'
|
|
168
|
-
self['date'] ||= Time.now.strftime("%Y-%m-%d")
|
|
169
|
-
self['author'] ||= "Anonymous"
|
|
170
|
-
self['maintainer'] ||= self['author']
|
|
171
|
-
self['arch'] ||= 'Any'
|
|
172
|
-
self['license'] ||= 'Ruby/GPL'
|
|
173
|
-
self['status'] ||= 'Beta'
|
|
174
|
-
self['project'] ||= self['rubyforge'] ? self['rubyforge']['project'] : nil
|
|
175
|
-
self['homepage'] ||= self['rubyforge'] ? self['rubyforge']['homepage'] : nil
|
|
176
|
-
self['trunk'] ||= 'trunk' if File.directory?( File.join( @info_dir, 'trunk' ))
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
# Convert to a CascadinOpenObject.
|
|
180
|
-
|
|
181
|
-
def to_opencascade
|
|
182
|
-
OpenCascade.new( @info )
|
|
183
|
-
end
|
|
184
|
-
|
|
185
|
-
# Information fetch.
|
|
186
|
-
|
|
187
|
-
def [](name)
|
|
188
|
-
@info[name]
|
|
189
|
-
end
|
|
190
|
-
|
|
191
|
-
# Information store.
|
|
192
|
-
|
|
193
|
-
def []=(name, x)
|
|
194
|
-
@info[name] = x
|
|
195
|
-
end
|
|
196
|
-
|
|
197
|
-
def each( &block )
|
|
198
|
-
@info.each( &block )
|
|
199
|
-
end
|
|
200
|
-
|
|
201
|
-
# Information to hash.
|
|
202
|
-
|
|
203
|
-
def to_h
|
|
204
|
-
@info.dup
|
|
205
|
-
end
|
|
206
|
-
|
|
207
|
-
end
|
|
208
|
-
|
data/lib/reap/rake.rb
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
require 'facet/hash/to_proc'
|
|
3
|
-
require 'facet/kernel/require_all'
|
|
4
|
-
|
|
5
|
-
require 'facet/openobject'
|
|
6
|
-
|
|
7
|
-
require 'reap/projectinfo'
|
|
8
|
-
|
|
9
|
-
# Require tasks
|
|
10
|
-
require 'reap/tasks'
|
|
11
|
-
require_all('./task/*') if File.directory?('task')
|
|
12
|
-
|
|
13
|
-
# Rake doesn't understand help.
|
|
14
|
-
#def help name, text
|
|
15
|
-
#end
|
|
16
|
-
|
|
17
|
-
# Rake doesn't understand avail.
|
|
18
|
-
def avail name, cond
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
# Modify Rake's desc method to return the last description
|
|
22
|
-
# if no comment is given.
|
|
23
|
-
|
|
24
|
-
def desc(comment=nil)
|
|
25
|
-
if comment
|
|
26
|
-
Rake.application.last_comment = comment
|
|
27
|
-
else
|
|
28
|
-
Rake.application.last_comment
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
include Tasks
|
|
33
|
-
|
|
34
|
-
# Let the default be the hidden task to display tasks.
|
|
35
|
-
# You can change it just by overriding the default.
|
|
36
|
-
|
|
37
|
-
task :default => [ :__tasks__ ]
|
|
38
|
-
|
|
39
|
-
task :__tasks__ do
|
|
40
|
-
Rake.application.options.show_task_pattern = //
|
|
41
|
-
Rake.application.display_tasks_and_comments
|
|
42
|
-
end
|
data/lib/reap/reap.rb
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
# = Reap
|
|
2
|
-
|
|
3
|
-
#--
|
|
4
|
-
# NOTE With the latest rendition of Reap the Reap module
|
|
5
|
-
# is not used as much. Perhaps Tasks and TaskSpace should
|
|
6
|
-
# move into it but for the moment they are more convenient
|
|
7
|
-
# outside of it.
|
|
8
|
-
#++
|
|
9
|
-
|
|
10
|
-
module Reap
|
|
11
|
-
Version = "6.0.0"
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
require 'facet/hash/to_proc'
|
|
15
|
-
require 'facet/kernel/require_all'
|
|
16
|
-
|
|
17
|
-
# Reap project information object.
|
|
18
|
-
require 'reap/projectinfo'
|
|
19
|
-
|
|
20
|
-
# Prime ProjectInfo by moving to file's location.
|
|
21
|
-
located = ProjectInfo.prime_location
|
|
22
|
-
|
|
23
|
-
# Load task system.
|
|
24
|
-
require 'facets/more/taskable'
|
|
25
|
-
|
|
26
|
-
# Load built-in tasks.
|
|
27
|
-
require 'reap/tasks'
|
|
28
|
-
|
|
29
|
-
# Load custom project tasks.
|
|
30
|
-
if located
|
|
31
|
-
require_all('./task/*') if File.directory?('task')
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
# Setup YAML load types based on task generators.
|
|
35
|
-
Tasks.public_instance_methods(false).each do |type|
|
|
36
|
-
#Task.singleton_methods(true).each do |type|
|
|
37
|
-
YAML.add_private_type( type.to_s ) do |syck_type, data|
|
|
38
|
-
data = {} if data == "" or data.nil?
|
|
39
|
-
data[:task_type] = type
|
|
40
|
-
data
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
# Load the ProjectInfo file.
|
|
45
|
-
ProjectInfo.instance
|
|
46
|
-
|
|
47
|
-
# Create the tasks.
|
|
48
|
-
module TaskSpace
|
|
49
|
-
|
|
50
|
-
# Tasks acts as our DSL for task generation.
|
|
51
|
-
extend Tasks
|
|
52
|
-
|
|
53
|
-
# Include the tools tasks use.
|
|
54
|
-
include Reap::TaskUtils
|
|
55
|
-
|
|
56
|
-
# Look up all defined task with descriptions.
|
|
57
|
-
def self.visible_tasks
|
|
58
|
-
described_tasks
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
# Look up all defined task without descriptions.
|
|
62
|
-
def self.hidden_tasks
|
|
63
|
-
undescribed_tasks
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
# Create specialty tasks (don't neccessarily require manual definition)
|
|
67
|
-
Tasks.available.each do |type, cond|
|
|
68
|
-
if cond.call
|
|
69
|
-
send( type, type.to_s )
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
# Create all tasks as define in the ProjectInfo file.
|
|
74
|
-
ProjectInfo.instance.each do |name, value|
|
|
75
|
-
if Hash === value and value.key?(:task_type)
|
|
76
|
-
desc( value['desc'] ) if value.key?('desc') # desc okay?
|
|
77
|
-
send( value[:task_type], name, &value )
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
# Create any tasks define by a Reapfile script.
|
|
82
|
-
[ 'Reapfile', 'reapfile', 'REAPFILE' ].each do |f|
|
|
83
|
-
if File.file?(f)
|
|
84
|
-
module_eval( File.read(f) )
|
|
85
|
-
break
|
|
86
|
-
end
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
end
|