reap 9.3.5 → 9.4.0

Sign up to get free protection for your applications and to get access to all the features.
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
-