mast 1.3.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.ruby +49 -0
- data/COPYING.rdoc +31 -0
- data/HISTORY.rdoc +16 -1
- data/{qed/cli/overview.rdoc → QED.rdoc} +27 -3
- data/README.rdoc +12 -21
- data/lib/mast.rb +19 -1
- data/lib/mast.yml +49 -0
- data/lib/mast/cli.rb +67 -80
- data/lib/mast/manifest.rb +28 -9
- data/{ronn → man/man1}/index.txt +0 -0
- data/man/man1/mast.1 +11 -3
- data/man/man1/mast.1.html +154 -0
- data/{ronn → man/man1}/mast.1.ronn +12 -2
- metadata +64 -85
- data/LICENSE +0 -205
- data/lib/mast/meta/data.rb +0 -25
- data/lib/mast/meta/package +0 -8
- data/lib/mast/meta/profile +0 -21
- data/meta/data.rb +0 -25
- data/meta/package +0 -8
- data/meta/profile +0 -21
- data/qed/cli/applique/env.rb +0 -60
data/.ruby
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
---
|
2
|
+
source:
|
3
|
+
- meta
|
4
|
+
authors:
|
5
|
+
- name: Trans
|
6
|
+
email: transfire@gmail.com
|
7
|
+
copyrights:
|
8
|
+
- holder: Thomas Sawyer
|
9
|
+
year: '2009'
|
10
|
+
replacements: []
|
11
|
+
alternatives: []
|
12
|
+
requirements:
|
13
|
+
- name: detroit
|
14
|
+
groups:
|
15
|
+
- build
|
16
|
+
development: true
|
17
|
+
- name: qed
|
18
|
+
groups:
|
19
|
+
- test
|
20
|
+
development: true
|
21
|
+
dependencies: []
|
22
|
+
conflicts: []
|
23
|
+
repositories:
|
24
|
+
- uri: git://github.com/rubyworks/mast.git
|
25
|
+
scm: git
|
26
|
+
name: upstream
|
27
|
+
resources:
|
28
|
+
home: http://rubyworks.github.com/mast/
|
29
|
+
code: http://github.com/rubyworks/mast/
|
30
|
+
mail: http://groups.google.com/group/rubyworks-mailinglist
|
31
|
+
extra: {}
|
32
|
+
load_path:
|
33
|
+
- lib
|
34
|
+
revision: 0
|
35
|
+
created: '2009-08-17'
|
36
|
+
summary: Mast is a command line tool for generating manifests and digests.
|
37
|
+
title: Mast
|
38
|
+
version: 1.4.0
|
39
|
+
name: mast
|
40
|
+
description: ! 'Mast is a command line tool for generating manifests and digests.
|
41
|
+
Mast makes
|
42
|
+
|
43
|
+
it easy to compare a manifest to a current directory structure, and to update
|
44
|
+
|
45
|
+
the manifest with a simple command by storing the command options it the
|
46
|
+
|
47
|
+
manifest file itself.'
|
48
|
+
organization: rubyworks
|
49
|
+
date: '2011-10-30'
|
data/COPYING.rdoc
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
= COPYRIGHT NOTICES
|
2
|
+
|
3
|
+
== Mast
|
4
|
+
|
5
|
+
Copyright:: (c) 2009 Rubyworks
|
6
|
+
License:: BSD-2-Clause
|
7
|
+
Website:: http://rubyworks.github.com/tapout
|
8
|
+
|
9
|
+
Copyright 2009 Rubyworks. All rights reserved.
|
10
|
+
|
11
|
+
Redistribution and use in source and binary forms, with or without
|
12
|
+
modification, are permitted provided that the following conditions are met:
|
13
|
+
|
14
|
+
1. Redistributions of source code must retain the above copyright notice,
|
15
|
+
this list of conditions and the following disclaimer.
|
16
|
+
|
17
|
+
2. Redistributions in binary form must reproduce the above copyright
|
18
|
+
notice, this list of conditions and the following disclaimer in the
|
19
|
+
documentation and/or other materials provided with the distribution.
|
20
|
+
|
21
|
+
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
22
|
+
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
23
|
+
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
24
|
+
COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
25
|
+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
26
|
+
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
27
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
28
|
+
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
29
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
30
|
+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
+
|
data/HISTORY.rdoc
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
= RELEASE HISTORY
|
2
2
|
|
3
|
+
== 1.3.0 / 2011-10-30
|
4
|
+
|
5
|
+
This release adds a few additional features, see changes list below. It also
|
6
|
+
changes the license to BSD-2-Clause and modernizes the build configuration.
|
7
|
+
|
8
|
+
Changes:
|
9
|
+
|
10
|
+
* Add `--recent` command to check if up to date.
|
11
|
+
* Add `--no-head` option to suppress header.
|
12
|
+
* Improve help system with man-page.
|
13
|
+
* Update output shows diff if file changed.
|
14
|
+
* Modernize build configuration.
|
15
|
+
* Switch to BSD-2-Cluase license.
|
16
|
+
|
17
|
+
|
3
18
|
== 1.3.0 / 2010-11-21
|
4
19
|
|
5
20
|
Version 1.3 primarily makes a few adjustment under-the-hood. It switches
|
@@ -7,7 +22,7 @@ GetoptLong out for OptionParser, gets rid of it's dependency on Ruby Facets'
|
|
7
22
|
Kernel#ask method, and changes the diff comment short name from `-d` to `-D`.
|
8
23
|
Lowecase `-d` is now used as a short name for the `--dir` option. In the
|
9
24
|
process a bug was fixed where this `-d` option was not being added to the
|
10
|
-
manifest's bang line. Lastly, the `-s`/`--show` option has been
|
25
|
+
manifest's bang line. Lastly, the `-s`/`--show` option has been renamed to
|
11
26
|
`-b`/`--bang`, which is more descriptive.
|
12
27
|
|
13
28
|
Changes:
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Mast in a manifest and digest generator.
|
4
4
|
|
5
|
-
|
5
|
+
Lets say we have a directory containing a set of files as follows:
|
6
6
|
|
7
7
|
README.txt
|
8
8
|
lib/foo.rb
|
@@ -84,7 +84,6 @@ a file name:
|
|
84
84
|
Once saved, `mast` has an update mode via the `-u` option:
|
85
85
|
|
86
86
|
$ mast -u
|
87
|
-
MANIFEST.txt updated.
|
88
87
|
|
89
88
|
By default this works for any manifest file with a name matching "manifest{,.*}",
|
90
89
|
case insensitvive. An alternate file name can be supplied using the `-f` option.
|
@@ -94,7 +93,6 @@ verification that a manifest file matches the current contents of the directory
|
|
94
93
|
can be had via the `-v`/`--verify` option:
|
95
94
|
|
96
95
|
$ mast -v
|
97
|
-
Manifest is good.
|
98
96
|
|
99
97
|
To see what files are new, that is to say added to the the directory but not
|
100
98
|
listed in the manifest file, use the `-n/--new` option. For instance, let's
|
@@ -131,3 +129,29 @@ on the bang line of a manifest file via the `-b`/`--bang` option:
|
|
131
129
|
lib/bar.rb
|
132
130
|
lib/baz.rb
|
133
131
|
|
132
|
+
|
133
|
+
== Manifest Generation
|
134
|
+
|
135
|
+
Lets say we have a directory containing a set of files as follows:
|
136
|
+
|
137
|
+
README.txt
|
138
|
+
lib/foo.rb
|
139
|
+
lib/bar.rb
|
140
|
+
|
141
|
+
We can crate a new Manifest object, utilizing a StringIO object to catch
|
142
|
+
the output.
|
143
|
+
|
144
|
+
out = ''
|
145
|
+
|
146
|
+
manifest = Mast::Manifest.new(:io=>StringIO.new(out))
|
147
|
+
|
148
|
+
If we call the generate method, then the output should list the
|
149
|
+
above file along with a generic shebang header.
|
150
|
+
|
151
|
+
manifest.generate
|
152
|
+
|
153
|
+
list = out.split("\n").sort
|
154
|
+
|
155
|
+
list.assert == ['#!mast *','README.txt','lib/bar.rb','lib/foo.rb']
|
156
|
+
|
157
|
+
|
data/README.rdoc
CHANGED
@@ -7,11 +7,18 @@
|
|
7
7
|
'-----------'
|
8
8
|
|
9
9
|
|
10
|
+
{Homepage}[http://rubyworks.github.com/mast/] |
|
11
|
+
{Source Code}[http://github.com/rubyworks/mast/] | #rubyworks
|
12
|
+
|
13
|
+
|
14
|
+
{<img src="http://travis-ci.org/rubyworks/mast.png" />}[http://travis-ci.org/rubyworks/mast]
|
15
|
+
|
16
|
+
|
10
17
|
== DESCRIPTION
|
11
18
|
|
12
19
|
Mast is a commandline utility for generating MANIFEST and DIGEST lists.
|
13
|
-
It can be useful in conjunction with packaging tools
|
14
|
-
|
20
|
+
It can be useful in conjunction with packaging tools, or as a stand-alone
|
21
|
+
tool for monitoring file changes.
|
15
22
|
|
16
23
|
|
17
24
|
== FEATURES
|
@@ -21,13 +28,6 @@ or as a stand-alone tool for monitoring file changes.
|
|
21
28
|
* Checksum digests can highlight file changes.
|
22
29
|
|
23
30
|
|
24
|
-
== RESOURCES
|
25
|
-
|
26
|
-
* home: http://rubyworks.github.com/mast/
|
27
|
-
* work: http://github.com/rubyworks/mast/
|
28
|
-
* wiki: http://wiki.github.com/rubyworks/mast/
|
29
|
-
|
30
|
-
|
31
31
|
== USAGE
|
32
32
|
|
33
33
|
Mast makes the process of generating manifests very easy, and even allows
|
@@ -135,17 +135,8 @@ See {Ruby Setup}[http://rubyworks.github.com/setup] for more information.
|
|
135
135
|
|
136
136
|
== COPYRIGHT
|
137
137
|
|
138
|
-
Copyright (c) 2009
|
139
|
-
|
140
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
141
|
-
you may not use this file except in compliance with the License.
|
142
|
-
You may obtain a copy of the License at
|
143
|
-
|
144
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
138
|
+
Copyright (c) 2009 Rubyworks
|
145
139
|
|
146
|
-
|
147
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
148
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
149
|
-
See the License for the specific language governing permissions and
|
150
|
-
limitations under the License.
|
140
|
+
Mast is distributable according to the terms of the BSD-2-Clause license.
|
151
141
|
|
142
|
+
See COPYING.rdoc for details.
|
data/lib/mast.rb
CHANGED
@@ -1,2 +1,20 @@
|
|
1
|
-
|
1
|
+
module Mast
|
2
|
+
# Access to project metadata.
|
3
|
+
def self.metadata
|
4
|
+
@metadata ||= (
|
5
|
+
require 'yaml'
|
6
|
+
YAML.load(File.new(File.dirname(__FILE__) + '/mast.yml'))
|
7
|
+
)
|
8
|
+
end
|
9
|
+
|
10
|
+
# Access project metadata via constants.
|
11
|
+
def self.const_missing(name)
|
12
|
+
key = name.to_s.downcase
|
13
|
+
package[key] || super(name)
|
14
|
+
end
|
15
|
+
|
16
|
+
# becuase Ruby 1.8~ gets in the way
|
17
|
+
VERSION = metadata['version']
|
18
|
+
end
|
19
|
+
|
2
20
|
require 'mast/manifest'
|
data/lib/mast.yml
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
---
|
2
|
+
source:
|
3
|
+
- meta
|
4
|
+
authors:
|
5
|
+
- name: Trans
|
6
|
+
email: transfire@gmail.com
|
7
|
+
copyrights:
|
8
|
+
- holder: Thomas Sawyer
|
9
|
+
year: '2009'
|
10
|
+
replacements: []
|
11
|
+
alternatives: []
|
12
|
+
requirements:
|
13
|
+
- name: detroit
|
14
|
+
groups:
|
15
|
+
- build
|
16
|
+
development: true
|
17
|
+
- name: qed
|
18
|
+
groups:
|
19
|
+
- test
|
20
|
+
development: true
|
21
|
+
dependencies: []
|
22
|
+
conflicts: []
|
23
|
+
repositories:
|
24
|
+
- uri: git://github.com/rubyworks/mast.git
|
25
|
+
scm: git
|
26
|
+
name: upstream
|
27
|
+
resources:
|
28
|
+
home: http://rubyworks.github.com/mast/
|
29
|
+
code: http://github.com/rubyworks/mast/
|
30
|
+
mail: http://groups.google.com/group/rubyworks-mailinglist
|
31
|
+
extra: {}
|
32
|
+
load_path:
|
33
|
+
- lib
|
34
|
+
revision: 0
|
35
|
+
created: '2009-08-17'
|
36
|
+
summary: Mast is a command line tool for generating manifests and digests.
|
37
|
+
title: Mast
|
38
|
+
version: 1.4.0
|
39
|
+
name: mast
|
40
|
+
description: ! 'Mast is a command line tool for generating manifests and digests.
|
41
|
+
Mast makes
|
42
|
+
|
43
|
+
it easy to compare a manifest to a current directory structure, and to update
|
44
|
+
|
45
|
+
the manifest with a simple command by storing the command options it the
|
46
|
+
|
47
|
+
manifest file itself.'
|
48
|
+
organization: rubyworks
|
49
|
+
date: '2011-10-30'
|
data/lib/mast/cli.rb
CHANGED
@@ -1,50 +1,3 @@
|
|
1
|
-
# mast v1.0.0
|
2
|
-
#
|
3
|
-
# Usage:
|
4
|
-
# mast [command] [options...]
|
5
|
-
#
|
6
|
-
# The manifest listing tool is used to list, create or update a
|
7
|
-
# manifest for a directory (eg. to define a "package"), or compare
|
8
|
-
# a manifest to actual directory contents. Mast is part of the
|
9
|
-
# ProUtils set of tools.
|
10
|
-
#
|
11
|
-
# When no command is given, a manifest is dumped to standard out.
|
12
|
-
# If --file is specified, it will generate to that file instead.
|
13
|
-
#
|
14
|
-
# Examples:
|
15
|
-
# mast
|
16
|
-
# mast -u -f PUBLISH
|
17
|
-
#
|
18
|
-
# Commands:
|
19
|
-
# -c --create Generate a new manifest. (default)
|
20
|
-
# -u --update Update an existing manifest.
|
21
|
-
# -l --list List the files given in the manifest file. (Use -f to specify an alternate file.)
|
22
|
-
# -D --diff Diff manifest file against actual.
|
23
|
-
# -n --new List existant files that are not given in the manifest.
|
24
|
-
# -o --old List files given in the manifest but are non-existent.
|
25
|
-
# --clean Remove non-manifest files. (Will ask for confirmation first.)
|
26
|
-
# -v --verify Verify that a manifest matches actual.
|
27
|
-
# -h --help Display this help message.
|
28
|
-
#
|
29
|
-
# Options:
|
30
|
-
# -a --all Include all files. This deactivates deafult exclusions
|
31
|
-
# so it is possible to make complete list of all contents.
|
32
|
-
# -d --dir When creating a list include directory paths; by default
|
33
|
-
# only files are listed.
|
34
|
-
# -b --bang Produce new manifest but using options from the bang line of the manifest file.
|
35
|
-
# -f --file PATH Path to manifest file. This applies to comparison commands.
|
36
|
-
# If not given then the file matching 'MANIFEST', case-insensitive
|
37
|
-
# and with an optional '.txt' extension, in the current directory
|
38
|
-
# is used. If the path of the manifest file is anything else then
|
39
|
-
# the --file option must be specified.
|
40
|
-
# -g --digest TYPE Include crytographic signiture. Type can be either
|
41
|
-
# md5, sha1, sha128, sha256, or sha512.
|
42
|
-
# -x --exclude PATH Exclude a file or dir from the manifest matching against
|
43
|
-
# full pathname. You can use --exclude repeatedly.
|
44
|
-
# -i --ignore PATH Exclude a file or dir from the manifest matching against
|
45
|
-
# an entries basename. You can use --ignore repeatedly.
|
46
|
-
# -q --quiet Suppress any extraneous output.
|
47
|
-
|
48
1
|
require 'mast'
|
49
2
|
require 'optparse'
|
50
3
|
|
@@ -117,6 +70,7 @@ module Mast
|
|
117
70
|
when :old then old
|
118
71
|
when :verify then verify
|
119
72
|
when :clean then clean
|
73
|
+
when :recent then recent
|
120
74
|
else
|
121
75
|
generate
|
122
76
|
end
|
@@ -125,58 +79,68 @@ module Mast
|
|
125
79
|
# Parse command line options.
|
126
80
|
def option_parser
|
127
81
|
OptionParser.new do |opt|
|
128
|
-
opt.on "--file", "
|
82
|
+
opt.on "-f", "--file FILE", "Path to manifest file. Looks for file matching /MANIFEST(|.txt)/i by default." do |file|
|
129
83
|
@options[:file] = file
|
130
84
|
end
|
131
|
-
opt.on "--digest", "
|
85
|
+
opt.on "-g", "--digest TYPE", "Include cryptographic signature. Type can be either md5, sha1, sha128, sha256, or sha512." do |digest|
|
132
86
|
@options[:digest] = digest
|
133
87
|
end
|
134
|
-
opt.on "--exclude", "
|
88
|
+
opt.on "-x", "--exclude GLOB", "Exclude file or dir from the manifest matching against full pathname. Can be used repeatedly." do |glob|
|
135
89
|
@options[:exclude] << glob
|
136
90
|
end
|
137
|
-
opt.on "
|
91
|
+
opt.on "-i", "--ignore GLOB",
|
92
|
+
"Exclude file or dir from manifest matching against an entry's basename. Can be used repeatedly." do |glob|
|
138
93
|
@options[:ignore] << glob
|
139
94
|
end
|
140
|
-
opt.on "--all", "
|
95
|
+
opt.on "-a", "--all", "Include all files. This deactivates default exclusions so it is possible to make complete list of all contents." do |bool|
|
141
96
|
@options[:all] = true
|
142
97
|
end
|
143
|
-
opt.on "--bang", "-b" do |bool|
|
98
|
+
opt.on "--bang", "-b", "Generate manifest using the options from the bang line of the manifest file." do |bool|
|
144
99
|
@options[:bang] = true
|
145
100
|
end
|
146
|
-
opt.on "--dir", "-d" do |bool|
|
101
|
+
opt.on "--dir", "-d", "When creating a list include directory paths; by default only files are listed." do |bool|
|
147
102
|
@options[:dir] = bool
|
148
103
|
end
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
opt.on "--create", "
|
104
|
+
opt.on "--[no-]head", "Suppress mast header from output." do |bool|
|
105
|
+
@options[:headless] = !bool
|
106
|
+
end
|
107
|
+
opt.on "-c", "--create", "Generate a new manifest. (default)" do
|
153
108
|
@command << :create
|
154
109
|
end
|
155
|
-
opt.on "--update", "
|
110
|
+
opt.on "-u", "--update", "Update an existing manifest." do
|
156
111
|
@command << :update
|
157
112
|
end
|
158
|
-
opt.on "--list", "-
|
113
|
+
opt.on "-l", "--list", "List the files given in the manifest file. (Use -f to specify an alternate file.)" do
|
159
114
|
@command << :list
|
160
115
|
end
|
161
|
-
opt.on "--diff", "
|
116
|
+
opt.on "-D", "--diff", "Diff manifest file against actual." do
|
162
117
|
@command << :diff
|
163
118
|
end
|
164
|
-
opt.on "--new", "
|
119
|
+
opt.on "-n", "--new", "List existent files that are not given in the manifest." do
|
165
120
|
@command << :new
|
166
121
|
end
|
167
|
-
opt.on "--old", "-
|
122
|
+
opt.on "-o", "--old", "List files given in the manifest but are non-existent." do
|
168
123
|
@command << :old
|
169
124
|
end
|
170
|
-
opt.on "--verify", "
|
125
|
+
opt.on "-v", "--verify", "Verify that a manifest matches actual." do
|
171
126
|
@command << :verify
|
172
127
|
end
|
173
|
-
opt.on "--clean" do
|
128
|
+
opt.on "--clean", "Remove non-manifest files. (Will ask for confirmation first.)" do
|
174
129
|
@command << :clean
|
175
130
|
end
|
176
|
-
opt.on "--
|
131
|
+
opt.on "-r", "--recent", "Verify that a manifest is more recent than actual." do
|
132
|
+
@command << :recent
|
133
|
+
end
|
134
|
+
opt.on "-h", "--help", "Display this help message." do
|
177
135
|
@command << :help
|
178
136
|
end
|
179
|
-
opt.on "
|
137
|
+
opt.on "-H" do
|
138
|
+
puts opt; exit
|
139
|
+
end
|
140
|
+
opt.on "-q", "--quiet", "Suppress all extraneous output." do
|
141
|
+
@quiet = true
|
142
|
+
end
|
143
|
+
opt.on "--debug", "Run in debug mode." do
|
180
144
|
$DEBUG = true
|
181
145
|
end
|
182
146
|
end
|
@@ -193,13 +157,18 @@ module Mast
|
|
193
157
|
|
194
158
|
# Update a MANIFEST file for this package.
|
195
159
|
def update
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
160
|
+
if manifest.verify
|
161
|
+
else
|
162
|
+
begin
|
163
|
+
diff = manifest.diff
|
164
|
+
file = manifest.update
|
165
|
+
rescue Manifest::NoManifestError => e
|
166
|
+
puts e.message
|
167
|
+
exit -1
|
168
|
+
end
|
169
|
+
report_difference(diff)
|
170
|
+
#report_updated(file)
|
201
171
|
end
|
202
|
-
report_updated(file)
|
203
172
|
end
|
204
173
|
|
205
174
|
alias_method :up, :update
|
@@ -255,6 +224,20 @@ module Mast
|
|
255
224
|
end
|
256
225
|
end
|
257
226
|
|
227
|
+
# Verify manifest, then check to see that it is not older than files
|
228
|
+
# it lists.
|
229
|
+
def recent
|
230
|
+
check = manifest.verify
|
231
|
+
if !check
|
232
|
+
report_verify(check)
|
233
|
+
exit -1
|
234
|
+
end
|
235
|
+
if !FileUtils.uptodate?(manifest.file, manifest.filelist)
|
236
|
+
report_outofdate
|
237
|
+
exit -1
|
238
|
+
end
|
239
|
+
end
|
240
|
+
|
258
241
|
# Display command help information.
|
259
242
|
def help
|
260
243
|
report_help
|
@@ -345,13 +328,12 @@ module Mast
|
|
345
328
|
# Show help.
|
346
329
|
def report_help
|
347
330
|
doc = false
|
348
|
-
File.
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
puts
|
354
|
-
doc = true
|
331
|
+
man_page = File.dirname(__FILE__) + '/../../man/man1/mast.1'
|
332
|
+
ronn_file = File.dirname(__FILE__) + '/../../man/man1/mast.1.ronn'
|
333
|
+
if File.exist?(man_page)
|
334
|
+
system "man #{man_page}" || puts(File.read(ronn_file))
|
335
|
+
else
|
336
|
+
puts option_parser
|
355
337
|
end
|
356
338
|
end
|
357
339
|
|
@@ -384,6 +366,11 @@ module Mast
|
|
384
366
|
end
|
385
367
|
end
|
386
368
|
|
369
|
+
#
|
370
|
+
def report_outofdate
|
371
|
+
report "Manifest is older than listed file(s)."
|
372
|
+
end
|
373
|
+
|
387
374
|
#
|
388
375
|
def ask(prompt=nil)
|
389
376
|
$stdout << "#{prompt}"
|