reap 4.4.0 → 4.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/ProjectInfo +1 -1
- data/data/reap/scaffold/standard/ProjectInfo +11 -11
- data/data/reap/scaffold/subversion/trunk/ProjectInfo +11 -11
- data/{ProjectInfo.rb → doc/note/ProjectInfo.rb} +0 -0
- data/lib/reap/bin/reap.rb +25 -17
- data/lib/reap/projectinfo.rb +11 -7
- data/lib/reap/reap.rb +1 -2
- data/lib/reap/task/release.rb +7 -2
- metadata +3 -3
data/ProjectInfo
CHANGED
@@ -2,8 +2,7 @@
|
|
2
2
|
|
3
3
|
TITLE : &title Your App's Title
|
4
4
|
NAME : &pkg your_unix_name
|
5
|
-
|
6
|
-
DATE : '2005-01-01'
|
5
|
+
VERSION : '0.0.1'
|
7
6
|
STATUS : beta
|
8
7
|
|
9
8
|
AUTHOR : Your Name
|
@@ -31,11 +30,10 @@ PACKAGE:
|
|
31
30
|
DISTRIBUTE : [ gem, tar.bz2 ] # tgz zip deb
|
32
31
|
DEPENDENCIES : []
|
33
32
|
EXECUTABLES : []
|
34
|
-
DIR: pkg
|
33
|
+
DIR: pkg # where to put dist packages
|
35
34
|
INCLUDE:
|
36
35
|
- '**/*'
|
37
|
-
EXCLUDE:
|
38
|
-
- InstalledFiles
|
36
|
+
EXCLUDE: []
|
39
37
|
|
40
38
|
# PUBLISH:
|
41
39
|
# - HOST: rubyforge
|
@@ -43,6 +41,14 @@ PACKAGE:
|
|
43
41
|
# USERNAME: your_username
|
44
42
|
# DIR: www
|
45
43
|
|
44
|
+
# RELEASE:
|
45
|
+
# host : rubyforge.org
|
46
|
+
# username : user_username_for_host
|
47
|
+
# project : *pkg
|
48
|
+
# groupid : 999 # group id
|
49
|
+
# package : Release-pacakge-name
|
50
|
+
# dir : pkg # where the dist packages are stored
|
51
|
+
|
46
52
|
# RDOC:
|
47
53
|
# TITLE: *title
|
48
54
|
# DIR: 'rdoc' # 'web/rdoc'
|
@@ -70,9 +76,3 @@ PACKAGE:
|
|
70
76
|
# - http://your_homepage.org
|
71
77
|
# - http://other_links.com
|
72
78
|
|
73
|
-
# TEST:
|
74
|
-
# FILES:
|
75
|
-
# - 'test/**/tc*.rb'
|
76
|
-
# - 'test/**/test*.rb'
|
77
|
-
# - 'test/**/*test.rb'
|
78
|
-
# FIXTURE: []
|
@@ -2,8 +2,7 @@
|
|
2
2
|
|
3
3
|
TITLE : &title Your App's Title
|
4
4
|
NAME : &pkg your_unix_name
|
5
|
-
|
6
|
-
DATE : '2005-01-01'
|
5
|
+
VERSION : '0.0.1'
|
7
6
|
STATUS : beta
|
8
7
|
|
9
8
|
AUTHOR : Your Name
|
@@ -31,11 +30,10 @@ PACKAGE:
|
|
31
30
|
DISTRIBUTE : [ gem, tar.bz2 ] # tgz zip deb
|
32
31
|
DEPENDENCIES : []
|
33
32
|
EXECUTABLES : []
|
34
|
-
DIR: pkg
|
33
|
+
DIR: pkg # where to put dist packages
|
35
34
|
INCLUDE:
|
36
35
|
- '**/*'
|
37
|
-
EXCLUDE:
|
38
|
-
- InstalledFiles
|
36
|
+
EXCLUDE: []
|
39
37
|
|
40
38
|
# PUBLISH:
|
41
39
|
# - HOST: rubyforge
|
@@ -43,6 +41,14 @@ PACKAGE:
|
|
43
41
|
# USERNAME: your_username
|
44
42
|
# DIR: www
|
45
43
|
|
44
|
+
# RELEASE:
|
45
|
+
# host : rubyforge.org
|
46
|
+
# username : user_username_for_host
|
47
|
+
# project : *pkg
|
48
|
+
# groupid : 999 # group id
|
49
|
+
# package : Release-pacakge-name
|
50
|
+
# dir : pkg # where the dist packages are stored
|
51
|
+
|
46
52
|
# RDOC:
|
47
53
|
# TITLE: *title
|
48
54
|
# DIR: 'rdoc' # 'web/rdoc'
|
@@ -70,9 +76,3 @@ PACKAGE:
|
|
70
76
|
# - http://your_homepage.org
|
71
77
|
# - http://other_links.com
|
72
78
|
|
73
|
-
# TEST:
|
74
|
-
# FILES:
|
75
|
-
# - 'test/**/tc*.rb'
|
76
|
-
# - 'test/**/test*.rb'
|
77
|
-
# - 'test/**/*test.rb'
|
78
|
-
# FIXTURE: []
|
File without changes
|
data/lib/reap/bin/reap.rb
CHANGED
@@ -6,6 +6,8 @@ require 'facets'
|
|
6
6
|
require 'consoleapp'
|
7
7
|
#require 'console/command'
|
8
8
|
|
9
|
+
require 'facet/gem/self/active'
|
10
|
+
|
9
11
|
require 'reap/reap'
|
10
12
|
|
11
13
|
|
@@ -115,11 +117,15 @@ class ReapCommand < Console::Command
|
|
115
117
|
f = nil
|
116
118
|
if ::ProjectInfo::INFO_FILES.any?{ |f| File.exists?(f) }
|
117
119
|
puts "Project file '#{f}' already exists."
|
118
|
-
|
120
|
+
return
|
119
121
|
end
|
120
122
|
filename = 'ProjectInfo'
|
121
|
-
#
|
122
|
-
dir =
|
123
|
+
# if using gems
|
124
|
+
if dir = Gem.gempath('reap')
|
125
|
+
dir = File.join( dir, 'data', 'reap', 'scaffold', 'standard' )
|
126
|
+
else
|
127
|
+
dir = File.join( ::Config::CONFIG['datadir'], 'reap', 'scaffold', 'standard' )
|
128
|
+
end
|
123
129
|
f = File.join( dir, filename )
|
124
130
|
raise "ProjectInfo template file #{f} is missing." unless File.file?( f )
|
125
131
|
# copy
|
@@ -128,9 +134,10 @@ class ReapCommand < Console::Command
|
|
128
134
|
exit 0
|
129
135
|
end
|
130
136
|
|
131
|
-
def scaffold(
|
132
|
-
|
133
|
-
|
137
|
+
def scaffold( type=nil )
|
138
|
+
content = Dir.entries('.') - [ '.', '..' ]
|
139
|
+
if not content.empty? and not $FORCE
|
140
|
+
puts "Directory already has content. Use -f option to force scaffolding."
|
134
141
|
exit -1
|
135
142
|
end
|
136
143
|
case type
|
@@ -143,23 +150,24 @@ class ReapCommand < Console::Command
|
|
143
150
|
exit -1
|
144
151
|
end
|
145
152
|
# need to add gems workaround
|
146
|
-
dir =
|
153
|
+
if dir = Gem.gempath('reap')
|
154
|
+
dir = File.join( dir, 'data', 'reap', 'scaffold', 'standard', type )
|
155
|
+
else
|
156
|
+
dir = File.join( ::Config::CONFIG['datadir'], 'reap', 'scaffold', type )
|
157
|
+
end
|
147
158
|
#FileUtils.mkdir_p( name )
|
148
|
-
FileUtils.cp_r( dir,
|
149
|
-
puts "Project
|
150
|
-
exit 0
|
159
|
+
FileUtils.cp_r( File.join( dir, '.'), '.' )
|
160
|
+
puts "Project ready."
|
151
161
|
end
|
152
162
|
|
153
163
|
# Add all the reap tasks.
|
154
164
|
|
155
165
|
if Reap.register
|
156
|
-
|
157
166
|
Reap.tasks.each do |sym,taskclass|
|
158
167
|
define_method(sym) do |*args|
|
159
168
|
taskclass.new(*args).execute
|
160
169
|
end
|
161
170
|
end
|
162
|
-
|
163
171
|
end
|
164
172
|
|
165
173
|
end
|
@@ -187,11 +195,11 @@ HELP = <<-HERE
|
|
187
195
|
Copies a ProjectInfo template into the current
|
188
196
|
directory (if it does not already exist).
|
189
197
|
|
190
|
-
scaffold [
|
191
|
-
Builds a starter project directory.
|
192
|
-
two types: 'standard' and 'subversion'.
|
193
|
-
be abbreviated 'std' and 'svn', repectively.
|
194
|
-
no type is given then standard is used.
|
198
|
+
scaffold [type]
|
199
|
+
Builds a starter project in the current directory.
|
200
|
+
There are two types: 'standard' and 'subversion'.
|
201
|
+
These can be abbreviated 'std' and 'svn', repectively.
|
202
|
+
If no type is given then standard is used.
|
195
203
|
|
196
204
|
OPTIONS:
|
197
205
|
|
data/lib/reap/projectinfo.rb
CHANGED
@@ -32,7 +32,8 @@ class ProjectInfo
|
|
32
32
|
if fpath
|
33
33
|
new.read( fpath, report )
|
34
34
|
else
|
35
|
-
|
35
|
+
fpath = find
|
36
|
+
new.read( fpath, report )
|
36
37
|
end
|
37
38
|
end
|
38
39
|
|
@@ -44,6 +45,7 @@ class ProjectInfo
|
|
44
45
|
info_file = INFO_FILES.find{ |f| File.file?( File.join( info_dir, f ) ) }
|
45
46
|
break if info_file
|
46
47
|
end
|
48
|
+
return nil unless info_file
|
47
49
|
return File.join( info_dir, info_file )
|
48
50
|
end
|
49
51
|
|
@@ -73,7 +75,7 @@ class ProjectInfo
|
|
73
75
|
@info = HashBuilder.new( &block ).to_h
|
74
76
|
@info_stream = @info.to_yaml
|
75
77
|
|
76
|
-
validate
|
78
|
+
#validate
|
77
79
|
defaults
|
78
80
|
|
79
81
|
self
|
@@ -94,7 +96,7 @@ class ProjectInfo
|
|
94
96
|
puts "(in #{Dir.pwd})" #unless dir == Dir.pwd
|
95
97
|
end
|
96
98
|
|
97
|
-
validate
|
99
|
+
#validate
|
98
100
|
defaults
|
99
101
|
|
100
102
|
self
|
@@ -111,7 +113,7 @@ class ProjectInfo
|
|
111
113
|
end
|
112
114
|
@info_stream = @info.to_yaml
|
113
115
|
|
114
|
-
validate
|
116
|
+
#validate
|
115
117
|
defaults
|
116
118
|
|
117
119
|
self
|
@@ -125,9 +127,11 @@ class ProjectInfo
|
|
125
127
|
|
126
128
|
# Validate project information.
|
127
129
|
|
128
|
-
def validate
|
129
|
-
|
130
|
-
|
130
|
+
def validate #( *fields )
|
131
|
+
val = true
|
132
|
+
(puts "NAME is required in project information file."; val=false) unless info['name']
|
133
|
+
(puts "VERSION is required in project information file."; val=false) unless info['version']
|
134
|
+
exit -1 unless val
|
131
135
|
end
|
132
136
|
|
133
137
|
# Project information defaults.
|
data/lib/reap/reap.rb
CHANGED
@@ -44,11 +44,10 @@ module Reap
|
|
44
44
|
|
45
45
|
def self.register #( alternative_project_file=nil )
|
46
46
|
$PROJECT_INFO = ProjectInfo.load( nil, true )
|
47
|
-
$PROJECT_INFO.exists?
|
48
47
|
end
|
49
48
|
|
50
49
|
def self.projectfile?
|
51
|
-
$PROJECT_INFO
|
50
|
+
$PROJECT_INFO #.exists?
|
52
51
|
end
|
53
52
|
|
54
53
|
# def self.initialize
|
data/lib/reap/task/release.rb
CHANGED
@@ -83,13 +83,18 @@ class Reap::Release < Reap::Task
|
|
83
83
|
package Package name
|
84
84
|
groupid Group id number
|
85
85
|
architecture Architecture (Any, i386, PPC, etc.)
|
86
|
-
release Release name
|
86
|
+
release Release name (default is "%s")
|
87
87
|
private Private release?
|
88
88
|
changelog Change log file
|
89
89
|
notelog Release notes file
|
90
90
|
dir Distribution directory
|
91
91
|
exclude Distribution types to exclude
|
92
92
|
|
93
|
+
The release option can be a template by using %s in the
|
94
|
+
string. The version number of your project will be sub'd
|
95
|
+
in for the %s. This saves you from having to update
|
96
|
+
the release name before every release.
|
97
|
+
|
93
98
|
}
|
94
99
|
|
95
100
|
alias_method :rel, :task
|
@@ -124,7 +129,7 @@ class Reap::Release < Reap::Task
|
|
124
129
|
# do not inherit these
|
125
130
|
|
126
131
|
rel.dir = section.dir || master.project.dir
|
127
|
-
rel.release
|
132
|
+
rel.release = (section.release || "%s") % (master.version || rel.date)
|
128
133
|
|
129
134
|
# verify
|
130
135
|
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: reap
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 4.4.
|
7
|
-
date: 2006-04-
|
6
|
+
version: 4.4.1
|
7
|
+
date: 2006-04-21 00:00:00 -04:00
|
8
8
|
summary: Tools for Ruby project testing, management and assistance.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -39,7 +39,6 @@ files:
|
|
39
39
|
- ProjectInfo
|
40
40
|
- setup.rb
|
41
41
|
- README
|
42
|
-
- ProjectInfo.rb
|
43
42
|
- package.rb
|
44
43
|
- bin/reap
|
45
44
|
- bin/rubytest
|
@@ -62,6 +61,7 @@ files:
|
|
62
61
|
- doc/note/aRakefile
|
63
62
|
- doc/note/Rakefile.htm
|
64
63
|
- doc/note/scaffold.rb
|
64
|
+
- doc/note/ProjectInfo.rb
|
65
65
|
- doc/note/interface/interface.rb
|
66
66
|
- doc/note/interface/rubyforge.rb
|
67
67
|
- data/reap
|