reap 6.0.2 → 9.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. data/CHANGES +6 -0
  2. data/COPYING +666 -395
  3. data/MANIFEST +139 -0
  4. data/NOTES +12 -0
  5. data/README +19 -163
  6. data/bin/reap-announce +7 -0
  7. data/bin/reap-check-load +8 -0
  8. data/bin/reap-check-syntax +7 -0
  9. data/bin/reap-clean +7 -0
  10. data/bin/reap-clobber +7 -0
  11. data/bin/reap-doc +7 -0
  12. data/bin/reap-doc-rdoc +7 -0
  13. data/bin/reap-doc-ri +7 -0
  14. data/bin/reap-init +69 -0
  15. data/bin/reap-inspect +7 -0
  16. data/bin/reap-install +8 -0
  17. data/bin/reap-install-gem +8 -0
  18. data/bin/reap-log +7 -0
  19. data/bin/reap-log-changes +8 -0
  20. data/bin/reap-log-notes +8 -0
  21. data/bin/reap-make +7 -0
  22. data/bin/reap-make-clean +7 -0
  23. data/bin/reap-make-distclean +7 -0
  24. data/bin/reap-make-extconf +7 -0
  25. data/bin/reap-make-static +8 -0
  26. data/bin/reap-package +8 -0
  27. data/bin/reap-package-gem +7 -0
  28. data/bin/reap-package-tgz +7 -0
  29. data/bin/reap-package-zip +7 -0
  30. data/bin/reap-prepare +7 -0
  31. data/bin/reap-publish +7 -0
  32. data/bin/reap-release +7 -0
  33. data/bin/reap-scaffold +8 -0
  34. data/bin/reap-scm-branch +7 -0
  35. data/bin/reap-scm-tag +7 -0
  36. data/bin/reap-spec +7 -0
  37. data/bin/reap-spec-doc +8 -0
  38. data/bin/reap-stamp +7 -0
  39. data/bin/reap-stats +7 -0
  40. data/bin/reap-test +7 -0
  41. data/bin/reap-test-cross +7 -0
  42. data/bin/reap-test-load +9 -0
  43. data/bin/reap-test-solo +7 -0
  44. data/bin/reap-uninstall +7 -0
  45. data/bin/reap-uninstall-gem +7 -0
  46. data/data/reap/base/CHANGES +19 -0
  47. data/data/reap/base/COPYING +674 -0
  48. data/data/reap/base/NOTES +12 -0
  49. data/data/reap/base/README +8 -0
  50. data/data/reap/build/rake/Rakefile +130 -0
  51. data/{forge/reference/installers → data/reap/build/rake}/setup.rb +155 -97
  52. data/data/reap/build/rake-lite/install.rb +79 -0
  53. data/data/reap/build/tasks/task/rdoc +211 -0
  54. data/data/reap/{setup.rb → build/tasks/task/setup} +248 -200
  55. data/data/reap/build/tasks/task/test +38 -0
  56. data/data/reap/init/meta/project.yaml +21 -0
  57. data/demo/README +15 -0
  58. data/demo/lib/foo/foo.rb +7 -0
  59. data/demo/meta/VERSION +1 -0
  60. data/demo/meta/project.yaml +21 -0
  61. data/lib/reap/application.rb +80 -0
  62. data/lib/reap/default.yaml +77 -0
  63. data/lib/reap/extensions/array.rb +50 -0
  64. data/lib/reap/extensions/hash.rb +63 -0
  65. data/lib/reap/extensions/string.rb +31 -0
  66. data/lib/reap/extensions.rb +6 -0
  67. data/lib/reap/iobject.rb +264 -0
  68. data/lib/reap/manager/announce.rb +193 -0
  69. data/lib/reap/manager/check.rb +109 -0
  70. data/lib/reap/manager/clean.rb +58 -0
  71. data/lib/reap/manager/gem.rb +200 -0
  72. data/lib/reap/manager/html.rb +69 -0
  73. data/lib/reap/manager/log.rb +214 -0
  74. data/lib/reap/manager/make.rb +109 -0
  75. data/lib/reap/manager/pack.rb +232 -0
  76. data/lib/reap/manager/publish.rb +72 -0
  77. data/lib/reap/manager/rdoc.rb +194 -0
  78. data/lib/reap/manager/release.rb +78 -0
  79. data/lib/reap/manager/rubyforge.rb +44 -0
  80. data/lib/reap/manager/scaffold.rb +138 -0
  81. data/lib/reap/manager/scm.rb +66 -0
  82. data/lib/reap/manager/site.rb +27 -0
  83. data/lib/reap/manager/spec.rb +94 -0
  84. data/lib/reap/manager/stats.rb +145 -0
  85. data/lib/reap/manager/svn.rb +76 -0
  86. data/lib/reap/manager/test.rb +389 -0
  87. data/lib/reap/manager.rb +74 -0
  88. data/lib/reap/metadata.rb +603 -0
  89. data/lib/reap/project.rb +165 -0
  90. data/lib/reap/settings.rb +67 -0
  91. data/lib/reap/systems/rubyforge.rb +737 -0
  92. data/lib/reap/systems/subversion.rb +333 -0
  93. data/lib/reap/utilities/fileutils.rb +304 -0
  94. data/lib/reap/utilities/netutils.rb +221 -0
  95. data/lib/reap/utilities/setuputils.rb +124 -0
  96. data/lib/reap/utilities/shellutils.rb +175 -0
  97. data/log/Changelog.txt +107 -0
  98. data/log/FIXME.txt +25 -0
  99. data/log/TODO.txt +72 -0
  100. data/meta/VERSION +1 -0
  101. data/meta/description +4 -0
  102. data/meta/project.yaml +20 -0
  103. data/task/man +14 -0
  104. data/task/rdoc +20 -0
  105. data/{data/reap/scaffold/standard/setup.rb → task/setup} +248 -200
  106. metadata +225 -153
  107. data/ProjectInfo +0 -105
  108. data/bin/reap +0 -5
  109. data/bin/rubytest +0 -5
  110. data/data/reap/install.rb +0 -62
  111. data/data/reap/scaffold/standard/COPYING +0 -403
  112. data/data/reap/scaffold/standard/ChangeLog +0 -0
  113. data/data/reap/scaffold/standard/INSTALL +0 -14
  114. data/data/reap/scaffold/standard/ProjectInfo +0 -77
  115. data/data/reap/scaffold/standard/README +0 -3
  116. data/data/reap/scaffold/standard/Rakefile +0 -10
  117. data/data/reap/scaffold/standard/TODO +0 -0
  118. data/data/reap/scaffold/subversion/trunk/COPYING +0 -403
  119. data/data/reap/scaffold/subversion/trunk/ChangeLog +0 -0
  120. data/data/reap/scaffold/subversion/trunk/INSTALL +0 -14
  121. data/data/reap/scaffold/subversion/trunk/ProjectInfo +0 -76
  122. data/data/reap/scaffold/subversion/trunk/README +0 -3
  123. data/data/reap/scaffold/subversion/trunk/Rakefile +0 -10
  124. data/data/reap/scaffold/subversion/trunk/TODO +0 -0
  125. data/data/reap/scaffold/subversion/trunk/setup.rb +0 -1568
  126. data/forge/ProjectInfo +0 -38
  127. data/forge/ProjectInfo.rb +0 -76
  128. data/forge/TODO +0 -10
  129. data/forge/installer.rb +0 -250
  130. data/forge/reference/Rakefile +0 -124
  131. data/forge/reference/Rakefile.htm +0 -69
  132. data/forge/reference/aRakefile +0 -60
  133. data/forge/reference/compositepublisher.rb +0 -24
  134. data/forge/reference/ftptools.rb +0 -139
  135. data/forge/reference/installers/package.rb +0 -629
  136. data/forge/reference/license-each.rb +0 -85
  137. data/forge/reference/publisher.rb +0 -75
  138. data/forge/reference/rubyforge.rb +0 -247
  139. data/forge/reference/rubyforgepublisher.rb +0 -18
  140. data/forge/reference/sshpublisher.rb +0 -47
  141. data/forge/reference/suby-cvs.rb +0 -46
  142. data/forge/scaffold.rb +0 -126
  143. data/forge/unit_runner/README +0 -6
  144. data/forge/unit_runner/commentrunner.rb +0 -62
  145. data/forge/unit_runner/cunit.rb +0 -17
  146. data/forge/unit_runner/forkedrunner.rb +0 -91
  147. data/forge/unit_runner/sample.rb +0 -16
  148. data/lib/reap/bin/reap.rb +0 -230
  149. data/lib/reap/bin/rubytest.rb +0 -53
  150. data/lib/reap/class/announce.rb +0 -220
  151. data/lib/reap/class/doap.rb +0 -80
  152. data/lib/reap/class/extest.rb +0 -146
  153. data/lib/reap/class/filer.rb +0 -62
  154. data/lib/reap/class/manifest.rb +0 -68
  155. data/lib/reap/class/package.rb +0 -576
  156. data/lib/reap/class/publish.rb +0 -152
  157. data/lib/reap/class/rdoc.rb +0 -123
  158. data/lib/reap/class/test.rb +0 -264
  159. data/lib/reap/projectinfo.rb +0 -208
  160. data/lib/reap/rake.rb +0 -42
  161. data/lib/reap/reap.rb +0 -89
  162. data/lib/reap/tasks.rb +0 -756
  163. data/lib/reap/taskutils.rb +0 -122
  164. data/note/LATEST +0 -44
  165. data/note/doap.xml +0 -28
  166. data/note/history/Rakefile-0.1 +0 -308
  167. data/sample/ProjectInfo +0 -96
  168. data/sample/Rakefile +0 -9
  169. data/sample/Reapfile +0 -11
  170. data/sample/task/demo.rb +0 -15
  171. data/setup.rb +0 -1568
  172. data/web/ProjectInfo.html +0 -75
  173. data/web/images/grape.jpg +0 -0
  174. data/web/index.html +0 -312
@@ -0,0 +1,79 @@
1
+ module Reap
2
+
3
+ # Install package to site_ruby.
4
+ #
5
+ # This script installs project to site_ruby location
6
+ # using Ruby's defualt configuration settings.
7
+ # If you want to change these, you can supply
8
+ # configuration settings for 'prefix' and/or 'sitedir'.
9
+
10
+ def install
11
+
12
+ system_prefix = Config::CONFIG['prefix']
13
+ system_libdir = Config::CONFIG['sitelibdir']
14
+
15
+ config = configuration['install'] || {}
16
+
17
+ prefix = config['prefix'] || system_prefix
18
+ libdir = config['libdir']
19
+
20
+ unless libdir
21
+ if (prefix == system_prefix) then
22
+ libdir = system_libdir
23
+ else
24
+ libdir = File.join(prefix, system_libdir[system_prefix.size..-1])
25
+ end
26
+ end
27
+
28
+ # If a roll file is being used.
29
+
30
+ if roll_file = File.glob('{,meta/}*.roll').first
31
+ roll = Roll::Package.open
32
+ lib_paths = roll.lib_paths
33
+ else
34
+ lib_paths = config['lib_path'] || ['lib']
35
+ end
36
+
37
+ # We need to copy them into site_ruby in the opposite order they
38
+ # would be searched for by require.
39
+
40
+ lib_paths.reverse!
41
+
42
+ # Copy lib files to site_ruby location, in proper order!
43
+
44
+ lib_paths.each do |loc|
45
+ files = glob(File.join(loc, "**/*"))
46
+ files = files.select{ |f| File.file?(f) }
47
+ files.each do |file|
48
+ dest = File.dirname(file)
49
+ dest.sub!(loc, '')
50
+ dest = File.join(libdir, dest)
51
+ if noharm?
52
+ puts "mkdir -p #{dest}" unless File.directory?(dest)
53
+ puts "install -m 0444 #{file} #{dest}"
54
+ else
55
+ mkdir_p dest unless File.directory?(dest)
56
+ install file, dest, :mode => 0444
57
+ end
58
+ end
59
+ end
60
+
61
+ # Copy bin files to site_ruby location.
62
+
63
+ bin_files = glob("bin/*")
64
+ bin_files = bin_files.select{ |f| File.file?(f) }
65
+ bin_files.each do |file|
66
+ dest = File.dirname(file)
67
+ dest = File.join(prefix, dest)
68
+ if noharm?
69
+ puts "mkdir -p #{dest}" unless File.directory?(dest)
70
+ puts "install -m 0555 #{file} #{dest}"
71
+ else
72
+ mkdir_p dest unless File.directory?(dest)
73
+ install file, dest, :mode => 0555
74
+ end
75
+ end
76
+
77
+ end
78
+
79
+ end
@@ -0,0 +1,211 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Generate rdocs.
4
+ #
5
+ # Geneate documentation. This uses the rdoc config entry,
6
+ # but only documents one designated target at a time.
7
+ #
8
+ # NOTE: THIS IS WRITTEN SPECIALLY FOR FACETS!!!
9
+
10
+ RDOC_SETTINGS = YAML.load %{
11
+ - title : Facets
12
+ main : README
13
+ chdir : lib/core
14
+ output : doc/rdoc/core
15
+ - title : Facets
16
+ chdir : lib/more
17
+ output : doc/rdoc
18
+ groups :
19
+ - [ facets/annotations.rb, facets/settings.rb ]
20
+ - [ facets/aop.rb, facets/cut.rb ]
21
+ - [ facets/buildable.rb, facets/buildingblock.rb, facets/hashbuilder.rb ]
22
+ - [ facets/command.rb, facets/arguments.rb, facets/ansicode.rb ] # facets/bbcode.rb
23
+ - [ facets/dictionary.rb, facets/orderedhash.rb ]
24
+ - [ facets/fileable.rb, facets/filelist.rb, facets/pathlist.rb, facets/fileshell.rb ]
25
+ - [ facets/heap.rb, facets/pqueue.rb ]
26
+ - [ facets/openobject.rb, facets/opencascade.rb, facets/opencollection.rb, facets/ostruct.rb ]
27
+ - [ facets/syncarray.rb, facets/synchash.rb ]
28
+ }
29
+
30
+ RDOC_ADFILE = 'doc/rdoc_ad.html'
31
+
32
+ # Generate rdocs.
33
+
34
+ def rdoc
35
+ configs = RDOC_SETTINGS
36
+ configs = [configs] unless Array===configs
37
+
38
+ configs.each do |config|
39
+ if config['groups']
40
+ rdoc_groups(config)
41
+ else
42
+ rdoc_target(config)
43
+ end
44
+ end
45
+
46
+ puts "RDoc complete."
47
+ end
48
+
49
+ # Docuement groups of targets.
50
+
51
+ def rdoc_groups(config)
52
+ site = config.delete('output') || config.delete('op') || 'doc/rdoc'
53
+ tdir = config['chdir']
54
+
55
+ groups = config.delete('groups')
56
+ groups = TrueClass===groups ? [] : groups
57
+
58
+ # the rest
59
+ rest = []
60
+ chdir(tdir){rest=glob('**/*').select{|f| File.file?(f)}}
61
+ rest = rest - groups.flatten
62
+ groups.concat(rest.collect{ |r| [r] })
63
+
64
+ title = config['title'].to_s
65
+
66
+ # rdoc each group
67
+ groups.each do |group|
68
+ gf1st = File.basename(group.first)
69
+ gname = gf1st.chomp(File.extname(gf1st))
70
+ gsite = File.join(site,gname)
71
+ gtitle = "#{title} #{gname.capitalize}".strip
72
+
73
+ gconfig = config.merge('title' => gtitle, 'op' => gsite, 'files' => group)
74
+
75
+ rdoc_target(gconfig)
76
+ end
77
+ end
78
+
79
+ # Document target.
80
+
81
+ def rdoc_target(config)
82
+ config = {
83
+ 'template' => 'html',
84
+ 'merge' => true,
85
+ 'inline-source' => true,
86
+ }.merge(config)
87
+
88
+ site = config['output'] || 'doc/rdoc'
89
+ tgdir = config['chdir'] || '.'
90
+ files = config['files'] || '**/*'
91
+ main = config['main']
92
+ template = config['template']
93
+ merge = config['merge']
94
+ inline = config['inline']
95
+
96
+ output = File.expand_path(site)
97
+ main = File.expand_path(main) if main
98
+ files = [files].flatten
99
+
100
+ # Remove all old rdocs.
101
+ fu.rm_r(site) if File.directory?(site) #and safe?(site)
102
+
103
+ otps = []
104
+ opts << "--output #{output}"
105
+ opts << "--main #{main}" if main
106
+ opts << "--template #{template}" if template
107
+ opts << "--merge" if merge
108
+ opts << "--inline-source" if inline
109
+
110
+ cmd = "rdoc #{opts.join(' ')} #{files.join(' ')}"
111
+
112
+ # Create Documentation.
113
+ Dir.chdir(tgdir) do
114
+ if dryrun?
115
+ puts cmd
116
+ else
117
+ system cmd
118
+ end
119
+ end
120
+
121
+ insert_ads(site)
122
+ end
123
+
124
+ # Insert ads.
125
+
126
+ def insert_ads(site)
127
+ adfile = RDOC_ADFILE
128
+ return unless adfile && File.file?(adfile)
129
+ adtext = File.read(adfile)
130
+ #puts
131
+ dirs = Dir.glob(File.join(site,'*/'))
132
+ dirs.each do |dir|
133
+ files = Dir.glob(File.join(dir, '**/*.html'))
134
+ files.each do |file|
135
+ html = file_read(file)
136
+ bodi = html.index('<body>')
137
+ html[bodi + 7] = "\n" + adtext
138
+ #print "Augmenting #{file}..."
139
+ file_write(file, html) unless dryrun?
140
+ #puts "[done]"
141
+ end
142
+ end
143
+ end
144
+
145
+ #
146
+
147
+ def fu
148
+ DRYRUN ? FileUtils::Dryrun : FileUtils
149
+ end
150
+
151
+ #
152
+
153
+ def dryrun?
154
+ @dryrun ||= ARGV.include?('--dryrun')
155
+ end
156
+
157
+ # Go!
158
+ if $0 == __FILE__
159
+ rdoc
160
+ end
161
+
162
+
163
+ __END__
164
+
165
+ # Build RDoc's for each target,
166
+
167
+ # task :rdoc_targets do
168
+ #
169
+ # #targets.each do |name, files|
170
+ # # targets[name] = files.split(/\s+/) if String===files
171
+ # #end
172
+ #
173
+ #
174
+ # # single = ARGV[0]
175
+ #
176
+ # # # Just do the one requested.
177
+ # # if targets.keys.include?(single)
178
+ # # targets = { single => targets[single] }
179
+ # # single_site = File.join(site, single)
180
+ # # # Remove just the one doc directory.
181
+ # # rm_r(single_site) if dir?(single_site) and safe?(single_site)
182
+ # # else
183
+ # # # Remove all old rdocs.
184
+ # # rm_r(site) if dir?(site) and safe?(site)
185
+ # # end
186
+ #
187
+ # # Document each target.
188
+ # targets.each do |name, options|
189
+ # tgdir = options.delete('chdir')
190
+ # files = options.delete('files')
191
+ #
192
+ # #files.collect!{|f| "lib/more/facets/#{f}" }
193
+ #
194
+ # outdir = File.expand_path(File.join(site, name.gsub(' ','')))
195
+ # title = "Facets #{name.capitalize}"
196
+ #
197
+ # config = config.merge(
198
+ # 'op' => outdir,
199
+ # 'title' => title
200
+ # )
201
+ #
202
+ # # Prepare command arguments.
203
+ # vector = [files, config] #.flatten.compact
204
+ #
205
+ # # Create Documentation.
206
+ # cd(tgdir) do
207
+ # rdoc(vector.to_params)
208
+ # end
209
+ # end
210
+ #
211
+ # end