reap 9.3.5 → 9.4.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.
Files changed (105) hide show
  1. data/CHANGES +10 -0
  2. data/MANIFEST +37 -21
  3. data/NOTES +13 -11
  4. data/bin/reap-announce +40 -2
  5. data/bin/reap-check-load +20 -2
  6. data/bin/reap-check-syntax +20 -2
  7. data/bin/reap-clean +24 -2
  8. data/bin/reap-clobber +17 -2
  9. data/bin/reap-doc +12 -2
  10. data/bin/reap-doc-rdoc +17 -2
  11. data/bin/reap-doc-ri +16 -2
  12. data/bin/reap-doc-spec +18 -0
  13. data/bin/reap-init +9 -0
  14. data/bin/reap-inspect +20 -2
  15. data/bin/reap-install +13 -2
  16. data/bin/reap-install-gem +14 -2
  17. data/bin/reap-log +15 -2
  18. data/bin/reap-log-changes +15 -2
  19. data/bin/reap-log-notes +20 -2
  20. data/bin/reap-make +16 -2
  21. data/bin/reap-make-clean +10 -2
  22. data/bin/reap-make-distclean +18 -2
  23. data/bin/reap-make-extconf +14 -2
  24. data/bin/reap-make-static +14 -2
  25. data/bin/reap-package +25 -2
  26. data/bin/reap-package-gem +14 -2
  27. data/bin/reap-package-tgz +14 -2
  28. data/bin/reap-package-zip +14 -2
  29. data/bin/reap-prepare +21 -2
  30. data/bin/reap-publish +25 -2
  31. data/bin/reap-release +22 -2
  32. data/bin/reap-rollout +32 -2
  33. data/bin/reap-scaffold +16 -2
  34. data/bin/reap-scm-branch +13 -2
  35. data/bin/reap-scm-tag +13 -2
  36. data/bin/reap-spec +14 -2
  37. data/bin/reap-stats +21 -2
  38. data/bin/reap-test +14 -2
  39. data/bin/reap-test-cross +23 -2
  40. data/bin/reap-test-load +17 -2
  41. data/bin/reap-test-solo +19 -2
  42. data/bin/reap-uninstall +14 -2
  43. data/bin/reap-uninstall-gem +17 -2
  44. data/bin/reap-version +10 -2
  45. data/lib/reap/announcement.rb +136 -0
  46. data/lib/reap/application.rb +3 -1
  47. data/lib/reap/default.yaml +12 -12
  48. data/lib/reap/defaults.rb +49 -0
  49. data/lib/reap/emailer.rb +189 -0
  50. data/lib/reap/extensions.rb +1 -2
  51. data/lib/reap/hosts.rb +4 -0
  52. data/lib/reap/hosts/host.rb +69 -0
  53. data/lib/reap/hosts/mailinglist.rb +83 -0
  54. data/lib/reap/{systems → hosts}/rubyforge.rb +72 -60
  55. data/lib/reap/hosts/rubytalk.rb +39 -0
  56. data/lib/reap/iobject.rb +5 -3
  57. data/lib/reap/metadata.rb +31 -4
  58. data/lib/reap/project.rb +101 -41
  59. data/lib/reap/project/announce.rb +50 -180
  60. data/lib/reap/project/check.rb +1 -1
  61. data/lib/reap/project/gem.rb +32 -68
  62. data/lib/reap/project/log.rb +12 -7
  63. data/lib/reap/project/make.rb +0 -1
  64. data/lib/reap/project/package.rb +228 -75
  65. data/lib/reap/project/rdoc.rb +9 -8
  66. data/lib/reap/project/release.rb +52 -6
  67. data/lib/reap/project/scm.rb +40 -25
  68. data/lib/reap/project/spec.rb +3 -3
  69. data/lib/reap/project/test.rb +1 -2
  70. data/lib/reap/project/version.rb +18 -4
  71. data/lib/reap/runmodes.rb +24 -0
  72. data/lib/reap/settings.rb +3 -14
  73. data/lib/reap/systems.rb +4 -0
  74. data/lib/reap/systems/git.rb +0 -0
  75. data/lib/reap/systems/hg.rb +0 -0
  76. data/lib/reap/systems/{subversion.rb → svn.rb} +47 -16
  77. data/lib/reap/systems/system.rb +53 -0
  78. data/lib/reap/tool.rb +38 -0
  79. data/lib/reap/utilities.rb +43 -86
  80. data/log/{Changelog.txt → changelog.rdoc} +56 -0
  81. data/log/fixme.rdoc +25 -0
  82. data/log/todo.rdoc +85 -0
  83. data/meta/project.yaml +13 -2
  84. data/meta/version +1 -0
  85. data/setup.rb +74 -64
  86. data/task/allshare.rb +109 -0
  87. data/task/clean +13 -0
  88. data/task/compile +28 -0
  89. data/task/configure +372 -0
  90. data/task/install +1481 -0
  91. data/test/case/test_init.rb +32 -0
  92. data/test/case/test_scaffold.rb +32 -0
  93. data/test/data/scaffold/meta/project.yaml +28 -0
  94. data/test/lib/case_testable.rb +23 -0
  95. metadata +64 -31
  96. data/bin/reap-spec-doc +0 -8
  97. data/demo/README +0 -15
  98. data/demo/lib/foo/foo.rb +0 -7
  99. data/demo/meta/VERSION +0 -1
  100. data/demo/meta/project.yaml +0 -21
  101. data/lib/reap/project/rubyforge.rb +0 -71
  102. data/lib/reap/project/svn.rb +0 -76
  103. data/log/Fixme.txt +0 -22
  104. data/log/Todo.txt +0 -84
  105. data/meta/VERSION +0 -1
@@ -0,0 +1,32 @@
1
+ require 'test/unit'
2
+ require './test/lib/case_testable'
3
+
4
+ module Reap
5
+ module TestCases
6
+
7
+ class TestInit < Test::Unit::TestCase
8
+
9
+ include CaseTestable
10
+
11
+ def setup
12
+ super
13
+ @dir = File.join(TEMPDIR, 'init')
14
+ FileUtils.rm_r @dir if File.exist?(@dir)
15
+ FileUtils.mkdir_p(@dir)
16
+ end
17
+
18
+ def test_init
19
+ Dir.chdir(@dir) do
20
+ silently do
21
+ system "reap-init"
22
+ end
23
+ end
24
+ assert(File.exist?('.reap'))
25
+ assert(File.exist?('meta/project.yaml'))
26
+ end
27
+
28
+ end
29
+
30
+ end
31
+ end
32
+
@@ -0,0 +1,32 @@
1
+ require 'test/unit'
2
+ require './test/lib/case_testable'
3
+
4
+ module Reap
5
+ module TestCases
6
+
7
+ class TestScaffold < Test::Unit::TestCase
8
+
9
+ include CaseTestable
10
+
11
+ def setup
12
+ super
13
+ @dir = File.join(TEMPDIR, 'scaffold')
14
+ FileUtils.rm_r(@dir) if File.exist?(@dir)
15
+ FileUtils.cp_r(FIXTURE + '/scaffold', @dir)
16
+ end
17
+
18
+ def test_scaffold
19
+ Dir.chdir(@dir) do
20
+ silently do
21
+ system "reap-scaffold"
22
+ end
23
+
24
+ assert(File.exist?('README'), "README does not exist")
25
+ end
26
+ end
27
+
28
+ end
29
+
30
+ end
31
+ end
32
+
@@ -0,0 +1,28 @@
1
+ ---
2
+ project : foo
3
+
4
+ contact : Your Name <email@email.com>
5
+ license : GPLv3
6
+ created : 2008-02-21
7
+ homepage : http://orphans.rubyforge.org
8
+ repository : http://orphans.rubyforge.org/svn
9
+
10
+ # Title. This defaults to project capitalized, if not given.
11
+ title : Project Title
12
+
13
+ # One line description.
14
+ brief : One line description
15
+
16
+ # Detailed description.
17
+ description: >
18
+ Detailed description...Little rabbit Foo Foo was hoping
19
+ through the forest. Picking up field mice and bopping
20
+ them on the head.
21
+
22
+ # Directories to exclude from package.
23
+ exclude : [ work, doc, ri ]
24
+
25
+ # List of dependenices with version constraints.
26
+ dependency :
27
+ - [facets, '>= 2.3.0']
28
+
@@ -0,0 +1,23 @@
1
+ require 'test/unit' # can I load test case only?
2
+ require 'facets/kernel/silence'
3
+ require 'tmpdir'
4
+ require 'fileutils'
5
+
6
+ module Reap
7
+ module TestCases
8
+
9
+ module CaseTestable
10
+
11
+ FIXTURE = "test/data"
12
+ TEMPDIR = File.join(Dir.tmpdir, 'reap', 'test')
13
+
14
+ def setup
15
+ FileUtils.rm_r TEMPDIR if File.exist?(TEMPDIR)
16
+ FileUtils.mkdir_p TEMPDIR
17
+ end
18
+
19
+ end
20
+
21
+ end
22
+ end
23
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reap
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.3.5
4
+ version: 9.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Sawyer <transfire@gmail.com>
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-02-21 00:00:00 -05:00
12
+ date: 2008-04-04 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -19,12 +19,13 @@ dependencies:
19
19
  requirements:
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 2.3.0
22
+ version: 2.4.1
23
23
  version:
24
- description: Reap is a Ruby project management system.
24
+ description: Reap is a Ruby-oriented project assitant applicaiton. It provides tools developers commonly require to manage projects, from scaffolding thru packaging and releasing.
25
25
  email: transfire@gmail.com
26
26
  executables:
27
27
  - reap-package-tgz
28
+ - reap-doc-spec
28
29
  - reap-package-gem
29
30
  - reap-uninstall
30
31
  - reap-log
@@ -59,7 +60,6 @@ executables:
59
60
  - reap-release
60
61
  - reap-make
61
62
  - reap-doc-rdoc
62
- - reap-spec-doc
63
63
  - reap-test-solo
64
64
  - reap-scm-branch
65
65
  - reap-doc-ri
@@ -67,13 +67,26 @@ executables:
67
67
  - reap-doc
68
68
  extensions: []
69
69
 
70
- extra_rdoc_files: []
71
-
70
+ extra_rdoc_files:
71
+ - README
72
+ - Rakefile
73
+ - MANIFEST
74
+ - NOTES
75
+ - CHANGES
76
+ - COPYING
72
77
  files:
73
78
  - Rakefile
74
79
  - MANIFEST
75
80
  - test
76
- - test/fixtures
81
+ - test/case
82
+ - test/case/test_scaffold.rb
83
+ - test/case/test_init.rb
84
+ - test/lib
85
+ - test/lib/case_testable.rb
86
+ - test/data
87
+ - test/data/scaffold
88
+ - test/data/scaffold/meta
89
+ - test/data/scaffold/meta/project.yaml
77
90
  - test/unit
78
91
  - test/unit/lib
79
92
  - test/unit/lib/reap
@@ -85,20 +98,15 @@ files:
85
98
  - setup.rb
86
99
  - meta
87
100
  - meta/project.yaml
101
+ - meta/version
88
102
  - meta/unixname
89
- - meta/VERSION
90
103
  - meta/description
91
- - demo
92
- - demo/doc
93
- - demo/README
94
- - demo/pkg
95
- - demo/meta
96
- - demo/meta/project.yaml
97
- - demo/meta/VERSION
98
- - demo/lib
99
- - demo/lib/foo
100
- - demo/lib/foo/foo.rb
101
- - demo/log
104
+ - task
105
+ - task/allshare.rb
106
+ - task/configure
107
+ - task/install
108
+ - task/clean
109
+ - task/compile
102
110
  - lib
103
111
  - lib/reap
104
112
  - lib/reap/default.yaml
@@ -110,14 +118,26 @@ files:
110
118
  - lib/reap/extensions/array.rb
111
119
  - lib/reap/extensions/string.rb
112
120
  - lib/reap/systems
113
- - lib/reap/systems/rubyforge.rb
114
- - lib/reap/systems/subversion.rb
121
+ - lib/reap/systems/system.rb
122
+ - lib/reap/systems/git.rb
123
+ - lib/reap/systems/svn.rb
124
+ - lib/reap/systems/hg.rb
115
125
  - lib/reap/application.rb
126
+ - lib/reap/runmodes.rb
116
127
  - lib/reap/project.rb
128
+ - lib/reap/emailer.rb
117
129
  - lib/reap/iobject.rb
130
+ - lib/reap/hosts.rb
131
+ - lib/reap/systems.rb
118
132
  - lib/reap/settings.rb
119
133
  - lib/reap/extensions.rb
134
+ - lib/reap/tool.rb
120
135
  - lib/reap/metadata.rb
136
+ - lib/reap/hosts
137
+ - lib/reap/hosts/mailinglist.rb
138
+ - lib/reap/hosts/host.rb
139
+ - lib/reap/hosts/rubyforge.rb
140
+ - lib/reap/hosts/rubytalk.rb
121
141
  - lib/reap/project
122
142
  - lib/reap/project/release.rb
123
143
  - lib/reap/project/rdoc.rb
@@ -126,7 +146,6 @@ files:
126
146
  - lib/reap/project/test.rb
127
147
  - lib/reap/project/site.rb
128
148
  - lib/reap/project/version.rb
129
- - lib/reap/project/rubyforge.rb
130
149
  - lib/reap/project/html.rb
131
150
  - lib/reap/project/stats.rb
132
151
  - lib/reap/project/gem.rb
@@ -134,12 +153,13 @@ files:
134
153
  - lib/reap/project/clean.rb
135
154
  - lib/reap/project/publish.rb
136
155
  - lib/reap/project/spec.rb
137
- - lib/reap/project/svn.rb
138
156
  - lib/reap/project/scm.rb
139
157
  - lib/reap/project/package.rb
140
158
  - lib/reap/project/check.rb
141
159
  - lib/reap/project/announce.rb
160
+ - lib/reap/defaults.rb
142
161
  - lib/reap/utilities.rb
162
+ - lib/reap/announcement.rb
143
163
  - data
144
164
  - data/reap
145
165
  - data/reap/init
@@ -158,16 +178,18 @@ files:
158
178
  - data/reap/base/meta
159
179
  - data/reap/base/meta/version
160
180
  - data/reap/base/meta/unixname.erb
181
+ - data/reap/base/site
161
182
  - data/reap/base/lib
162
183
  - data/reap/base/data
163
184
  - data/reap/base/bin
164
185
  - data/reap/base/COPYING
165
186
  - log
166
- - log/Changelog.txt
167
- - log/Fixme.txt
168
- - log/Todo.txt
187
+ - log/todo.rdoc
188
+ - log/changelog.rdoc
189
+ - log/fixme.rdoc
169
190
  - bin
170
191
  - bin/reap-package-tgz
192
+ - bin/reap-doc-spec
171
193
  - bin/reap-package-gem
172
194
  - bin/reap-uninstall
173
195
  - bin/reap-log
@@ -202,7 +224,6 @@ files:
202
224
  - bin/reap-release
203
225
  - bin/reap-make
204
226
  - bin/reap-doc-rdoc
205
- - bin/reap-spec-doc
206
227
  - bin/reap-test-solo
207
228
  - bin/reap-scm-branch
208
229
  - bin/reap-doc-ri
@@ -212,8 +233,12 @@ files:
212
233
  has_rdoc: true
213
234
  homepage: http://reap.rubyforge.org
214
235
  post_install_message:
215
- rdoc_options: []
216
-
236
+ rdoc_options:
237
+ - --inline-source
238
+ - --title
239
+ - Reap
240
+ - --main
241
+ - README
217
242
  require_paths:
218
243
  - lib
219
244
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -236,7 +261,15 @@ signing_key:
236
261
  specification_version: 2
237
262
  summary: Ruby Project Assistant
238
263
  test_files:
239
- - test/fixtures
264
+ - test/case
265
+ - test/case/test_scaffold.rb
266
+ - test/case/test_init.rb
267
+ - test/lib
268
+ - test/lib/case_testable.rb
269
+ - test/data
270
+ - test/data/scaffold
271
+ - test/data/scaffold/meta
272
+ - test/data/scaffold/meta/project.yaml
240
273
  - test/unit
241
274
  - test/unit/lib
242
275
  - test/unit/lib/reap
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'reap/application'
4
-
5
- app = Reap::Application.new
6
-
7
- app.spec_doc
8
-
@@ -1,15 +0,0 @@
1
- = Foo Demo of Reap
2
-
3
- This is a demonstration project for playing with reap.
4
-
5
- == On Testing
6
-
7
- At this point Reap does not have unit tests. Reap is so predominatly
8
- FileIO as well as configurable that it can be tricky to get strong
9
- test coverage. So for now at least, I'm using the old fashion method
10
- of beta testers.
11
-
12
- To facilitate this, we have this demo project that can by played with,
13
- and the trust --dryrun option. Always use the --dryrun option first,
14
- until one is confident in an reap's action.
15
-
@@ -1,7 +0,0 @@
1
-
2
- # Say hello, Gracy.
3
-
4
- def hello
5
- "Hello, Gracy"
6
- end
7
-
@@ -1 +0,0 @@
1
- 0.0.1 alpha (2008-02-07)
@@ -1,21 +0,0 @@
1
- ---
2
- project : foo
3
-
4
- title : Foo
5
- brief : A Very Fooy Project
6
- description: >
7
- Foo foo went hopping thru the forest.
8
-
9
- author : Thomas Sawyer <transfire@gmail.com>
10
- created : "2008-02-09"
11
- homepage : "http://orphans.rubyforge.org"
12
- repository : "http://orphans.rubyforge.org/svn"
13
- slogan : Footastic
14
-
15
- exclude : [ pkg, work, doc, ri ]
16
-
17
- dependency :
18
- - [facets, ">= 2.1.0"]
19
-
20
- libpath: lib/foo
21
-
@@ -1,71 +0,0 @@
1
- require 'reap/systems/rubyforge'
2
-
3
- module Reap
4
-
5
- class Project
6
-
7
- # Returns Rubyforge system object.
8
-
9
- def rubyforge(options = nil)
10
- options = configure_options(options, 'rubyforge')
11
-
12
- rubyforge_options = {}
13
- rubyforge_options[:dryrun] = dryrun?
14
- rubyforge_options[:trace] = trace?
15
- rubyforge_options[:project] = options['project'] || metadata.project
16
- rubyforge_options[:username] = options['username'] || ENV['RUBYFORGE_USERNAME']
17
- rubyforge_options[:group_id] = options['group']
18
- rubyforge_options[:password] = options['password'] || ENV['RUBYFORGE_PASSWORD']
19
-
20
- unless rubyforge_options[:password]
21
- abort "Please provide --password=xxxxxxx."
22
- end
23
-
24
- Rubyforge.new(rubyforge_options)
25
- end
26
-
27
- # Release packages to rubyforge.
28
-
29
- def rubyforge_release(options)
30
- release_options = configure_options(options, 'release')
31
-
32
- store = 'pkg'
33
- version = metadata.version
34
-
35
- release_options['version'] = version
36
- release_options['store'] = store
37
-
38
- changelog = release_options['changelog'] #|| DEFAULT['release']['changelog'] || DEFAULT['rubyforge']['changelog']
39
- notelog = release_options['notelog'] #|| DEFAULT['release']['notelog'] || DEFAULT['rubyforge']['notelog']
40
-
41
- changelog = Dir.glob(changelog.to_s, File::FNM_CASEFOLD).first
42
- notelog = Dir.glob(notelog.to_s, File::FNM_CASEFOLD).first
43
-
44
- release_options['changelog'] = changelog if File.exist?(changelog)
45
- release_options['notelog'] = notelog if File.exist?(notelog)
46
-
47
- files = release_options['files'] || []
48
-
49
- if files.empty?
50
- files = Dir[File.join(store, '*')].select do |file|
51
- /#{version}[.]/ =~ file
52
- end
53
- release_options['files'] = files
54
- #files = Dir.glob(File.join(store,"#{name}-#{version}*"))
55
- end
56
-
57
- # Not going to do dryrun in Rubyforge class b/c it still requires logging in.
58
- if dryrun?
59
- files.each do |file|
60
- puts "release #{file}"
61
- end
62
- else
63
- host = rubyforge(options)
64
- host.release(release_options)
65
- end
66
- end
67
-
68
- end
69
-
70
- end
71
-