reap 9.3.5 → 9.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +10 -0
- data/MANIFEST +37 -21
- data/NOTES +13 -11
- data/bin/reap-announce +40 -2
- data/bin/reap-check-load +20 -2
- data/bin/reap-check-syntax +20 -2
- data/bin/reap-clean +24 -2
- data/bin/reap-clobber +17 -2
- data/bin/reap-doc +12 -2
- data/bin/reap-doc-rdoc +17 -2
- data/bin/reap-doc-ri +16 -2
- data/bin/reap-doc-spec +18 -0
- data/bin/reap-init +9 -0
- data/bin/reap-inspect +20 -2
- data/bin/reap-install +13 -2
- data/bin/reap-install-gem +14 -2
- data/bin/reap-log +15 -2
- data/bin/reap-log-changes +15 -2
- data/bin/reap-log-notes +20 -2
- data/bin/reap-make +16 -2
- data/bin/reap-make-clean +10 -2
- data/bin/reap-make-distclean +18 -2
- data/bin/reap-make-extconf +14 -2
- data/bin/reap-make-static +14 -2
- data/bin/reap-package +25 -2
- data/bin/reap-package-gem +14 -2
- data/bin/reap-package-tgz +14 -2
- data/bin/reap-package-zip +14 -2
- data/bin/reap-prepare +21 -2
- data/bin/reap-publish +25 -2
- data/bin/reap-release +22 -2
- data/bin/reap-rollout +32 -2
- data/bin/reap-scaffold +16 -2
- data/bin/reap-scm-branch +13 -2
- data/bin/reap-scm-tag +13 -2
- data/bin/reap-spec +14 -2
- data/bin/reap-stats +21 -2
- data/bin/reap-test +14 -2
- data/bin/reap-test-cross +23 -2
- data/bin/reap-test-load +17 -2
- data/bin/reap-test-solo +19 -2
- data/bin/reap-uninstall +14 -2
- data/bin/reap-uninstall-gem +17 -2
- data/bin/reap-version +10 -2
- data/lib/reap/announcement.rb +136 -0
- data/lib/reap/application.rb +3 -1
- data/lib/reap/default.yaml +12 -12
- data/lib/reap/defaults.rb +49 -0
- data/lib/reap/emailer.rb +189 -0
- data/lib/reap/extensions.rb +1 -2
- data/lib/reap/hosts.rb +4 -0
- data/lib/reap/hosts/host.rb +69 -0
- data/lib/reap/hosts/mailinglist.rb +83 -0
- data/lib/reap/{systems → hosts}/rubyforge.rb +72 -60
- data/lib/reap/hosts/rubytalk.rb +39 -0
- data/lib/reap/iobject.rb +5 -3
- data/lib/reap/metadata.rb +31 -4
- data/lib/reap/project.rb +101 -41
- data/lib/reap/project/announce.rb +50 -180
- data/lib/reap/project/check.rb +1 -1
- data/lib/reap/project/gem.rb +32 -68
- data/lib/reap/project/log.rb +12 -7
- data/lib/reap/project/make.rb +0 -1
- data/lib/reap/project/package.rb +228 -75
- data/lib/reap/project/rdoc.rb +9 -8
- data/lib/reap/project/release.rb +52 -6
- data/lib/reap/project/scm.rb +40 -25
- data/lib/reap/project/spec.rb +3 -3
- data/lib/reap/project/test.rb +1 -2
- data/lib/reap/project/version.rb +18 -4
- data/lib/reap/runmodes.rb +24 -0
- data/lib/reap/settings.rb +3 -14
- data/lib/reap/systems.rb +4 -0
- data/lib/reap/systems/git.rb +0 -0
- data/lib/reap/systems/hg.rb +0 -0
- data/lib/reap/systems/{subversion.rb → svn.rb} +47 -16
- data/lib/reap/systems/system.rb +53 -0
- data/lib/reap/tool.rb +38 -0
- data/lib/reap/utilities.rb +43 -86
- data/log/{Changelog.txt → changelog.rdoc} +56 -0
- data/log/fixme.rdoc +25 -0
- data/log/todo.rdoc +85 -0
- data/meta/project.yaml +13 -2
- data/meta/version +1 -0
- data/setup.rb +74 -64
- data/task/allshare.rb +109 -0
- data/task/clean +13 -0
- data/task/compile +28 -0
- data/task/configure +372 -0
- data/task/install +1481 -0
- data/test/case/test_init.rb +32 -0
- data/test/case/test_scaffold.rb +32 -0
- data/test/data/scaffold/meta/project.yaml +28 -0
- data/test/lib/case_testable.rb +23 -0
- metadata +64 -31
- data/bin/reap-spec-doc +0 -8
- data/demo/README +0 -15
- data/demo/lib/foo/foo.rb +0 -7
- data/demo/meta/VERSION +0 -1
- data/demo/meta/project.yaml +0 -21
- data/lib/reap/project/rubyforge.rb +0 -71
- data/lib/reap/project/svn.rb +0 -76
- data/log/Fixme.txt +0 -22
- data/log/Todo.txt +0 -84
- 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.
|
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-
|
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.
|
22
|
+
version: 2.4.1
|
23
23
|
version:
|
24
|
-
description: Reap is a Ruby project
|
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/
|
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
|
-
-
|
92
|
-
-
|
93
|
-
-
|
94
|
-
-
|
95
|
-
-
|
96
|
-
-
|
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/
|
114
|
-
- lib/reap/systems/
|
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/
|
167
|
-
- log/
|
168
|
-
- log/
|
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/
|
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
|
data/bin/reap-spec-doc
DELETED
data/demo/README
DELETED
@@ -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
|
-
|
data/demo/lib/foo/foo.rb
DELETED
data/demo/meta/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.0.1 alpha (2008-02-07)
|
data/demo/meta/project.yaml
DELETED
@@ -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
|
-
|