setup 5.1.0 → 5.2.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.
- data/HISTORY.rdoc +49 -60
- data/README.rdoc +35 -32
- data/bin/setup.rb +26 -32
- data/lib/setup/configuration.rb +8 -5
- data/lib/setup/documentor.rb +1 -1
- data/lib/setup/project.rb +22 -17
- data/lib/setup/tester.rb +17 -8
- data/lib/setup/version.rb +1 -1
- metadata +42 -45
- data/Assembly +0 -46
- data/Gemfile +0 -2
- data/SetupReceipt +0 -405
- data/meta/active +0 -1
- data/meta/authors +0 -5
- data/meta/copyrights +0 -4
- data/meta/created +0 -1
- data/meta/description +0 -8
- data/meta/name +0 -1
- data/meta/organization +0 -1
- data/meta/repositories +0 -2
- data/meta/requirements +0 -4
- data/meta/resources +0 -6
- data/meta/summary +0 -1
- data/meta/version +0 -1
- data/script/bootstrap +0 -5
- data/script/bundle +0 -81
- data/script/setup +0 -1302
- data/script/test +0 -3
data/HISTORY.rdoc
CHANGED
@@ -1,5 +1,21 @@
|
|
1
1
|
= RELEASE HISTORY
|
2
2
|
|
3
|
+
== 5.2.0 / 2012-12-20
|
4
|
+
|
5
|
+
This release makes a couple of important changes. First the `.ruby` file
|
6
|
+
is no longer the supported metadata file. While the format is basically
|
7
|
+
the same, the file is now called `.index`. See the {Indexer}[http://github.com/rubyworks/indexer]
|
8
|
+
project for more details. One can still use `.setup/name`, `.setup/version`
|
9
|
+
and `.setup/loadpath` files instead. In addition, `.setup/testrc.rb` has been
|
10
|
+
renamed to `.setup/test.rb`, and for shell-based command use `.setup/test.sh`.
|
11
|
+
|
12
|
+
Changes:
|
13
|
+
|
14
|
+
* Use .index instead of .ruby for metadata.
|
15
|
+
* Testing is handled by either .setup/test.rb or .setup/test.sh.
|
16
|
+
* Automatic RI documentation generation is deprecated for good.
|
17
|
+
|
18
|
+
|
3
19
|
== 5.1.0 / 2012-03-20
|
4
20
|
|
5
21
|
With this release `bin/setup.rb` is now the all-in-one bundled script.
|
@@ -10,15 +26,10 @@ more descriptive of it's purpose for the general user.
|
|
10
26
|
|
11
27
|
Changes:
|
12
28
|
|
13
|
-
*
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
* The `bin/setup.rb` script is now the full-on bundled script.
|
18
|
-
|
19
|
-
* Bug Fixes
|
20
|
-
|
21
|
-
* The `--prefix` option works with `all` command.
|
29
|
+
* Rename `make` phase to `compile`.
|
30
|
+
* So called "MetaConfig" is handled via `.setup/metaconfig.rb`.
|
31
|
+
* The `bin/setup.rb` script is now the full-on bundled script.
|
32
|
+
* The `--prefix` option works with `all` command.
|
22
33
|
|
23
34
|
|
24
35
|
== 5.0.1 / 2010-02-07
|
@@ -28,13 +39,8 @@ and makes some minor adjusemnt to exit error messages.
|
|
28
39
|
|
29
40
|
Changes:
|
30
41
|
|
31
|
-
*
|
32
|
-
|
33
|
-
* Fixed parsing of ruby install parameters on systems with custom configurations.
|
34
|
-
|
35
|
-
* 1 Minor Enhancement
|
36
|
-
|
37
|
-
* Use 'abort $!.message' instead of 'exit 1' when exiting on error.
|
42
|
+
* Fixed parsing of ruby install parameters on systems with custom configurations.
|
43
|
+
* Use 'abort $!.message' instead of 'exit 1' when exiting on error.
|
38
44
|
|
39
45
|
|
40
46
|
== 5.0.0 / 2010-01-12
|
@@ -50,19 +56,14 @@ through them performing the required action.
|
|
50
56
|
|
51
57
|
Changes:
|
52
58
|
|
53
|
-
*
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
* 3 Minor Changes
|
62
|
-
|
63
|
-
* Returned to using InstalledFiles for record installation and improved.
|
64
|
-
* Use SetupConfig instead of .cache/setup/config to store system configuration.
|
65
|
-
* Improved configuration options (eg. can use --type instead of --installdirs)
|
59
|
+
* Split script into distinct classes, one for each setup phase.
|
60
|
+
* Testing is handled by optional script/test or .setup/testrc.rb file.
|
61
|
+
* Renamed 'setup' phase to 'make' phase.
|
62
|
+
* Deprecated MetaConfig API; support singleton extensions instead.
|
63
|
+
* Deprecated support for Ruby versions older than v1.6.2.
|
64
|
+
* Returned to using InstalledFiles for record installation and improved.
|
65
|
+
* Use SetupConfig instead of .cache/setup/config to store system configuration.
|
66
|
+
* Improved configuration options (eg. can use --type instead of --installdirs)
|
66
67
|
|
67
68
|
|
68
69
|
== 4.2.1 / 2009-08-26
|
@@ -73,9 +74,7 @@ in Facets to install both lib/more and lib/core.
|
|
73
74
|
|
74
75
|
Changes:
|
75
76
|
|
76
|
-
*
|
77
|
-
|
78
|
-
* meta/loadpath is now supported if you have multiple paths to install.
|
77
|
+
* meta/loadpath is now supported if you have multiple paths to install.
|
79
78
|
|
80
79
|
|
81
80
|
== 4.2.0 / 2009-08-26
|
@@ -89,19 +88,14 @@ below for more details.
|
|
89
88
|
|
90
89
|
Changes:
|
91
90
|
|
92
|
-
*
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
* documentation generation shells out (for now, b/c of issues with using API)
|
101
|
-
|
102
|
-
* 1 Minor Addition
|
103
|
-
|
104
|
-
* Notice the setup.rb file in the project repo. Guess what that is! ;)
|
91
|
+
* relocated all user configuration files to meta/ and meta/setup
|
92
|
+
* meta/package must exist for doc to be installed.
|
93
|
+
* meta/setup/test.rb must be provided to run tests.
|
94
|
+
* meta/setup/doc.rb can be provided as alternate for generating docs.
|
95
|
+
* meta/setup/metaconfig.rb is now where meta-configuration goes.
|
96
|
+
* documentation is installed to <system-doc-dir>/ruby-<package>/.
|
97
|
+
* documentation generation shells out (for now, b/c of issues with using API)
|
98
|
+
* Notice the setup.rb file in the project repo. Guess what that is! ;)
|
105
99
|
|
106
100
|
|
107
101
|
== 4.1.0 / 2008-11-16
|
@@ -126,21 +120,16 @@ Please report any problems so I can fix them ASAP. Thanks.
|
|
126
120
|
|
127
121
|
Changes:
|
128
122
|
|
129
|
-
*
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
* 2 Minor Enhancements
|
141
|
-
|
142
|
-
* added test from original (needs work)
|
143
|
-
* removed test/suite.rb option from testing
|
123
|
+
* Testing only runs if a test script if provided
|
124
|
+
* Cache files are now stored in .cache/setup/
|
125
|
+
* Renamed binary from rubysetup to setup.rb.
|
126
|
+
* Hoping that the use of a dot in the name is not a problem on Windows.
|
127
|
+
* By using setup.rb for the binary, it matches exactly the name of the old script.
|
128
|
+
* Other developers could do likewise, eg. setup.py; akin to mkfs.ext3 and friends.
|
129
|
+
* Added script/install as a bootstrap installer.
|
130
|
+
* Restored metaconfig
|
131
|
+
* Added test from original (needs work)
|
132
|
+
* Removed test/suite.rb option from testing
|
144
133
|
|
145
134
|
|
146
135
|
== 4.0.0 / 2008-08-15
|
data/README.rdoc
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
= Ruby Setup
|
2
2
|
|
3
3
|
{Website}[http://rubyworks.github.com/setup] /
|
4
|
+
{Guide}[https://github.com/rubyworks/setup/wiki] /
|
4
5
|
{Issues}[http://github.com/rubyworks/setup/issues] /
|
5
6
|
{Source}[http://github.com/rubyworks/setup]
|
7
|
+
( {<img src="https://secure.travis-ci.org/rubyworks/setup.png" />}[http://travis-ci.org/rubyworks/setup] )
|
6
8
|
|
7
|
-
{<img src="https://secure.travis-ci.org/rubyworks/setup.png" />}[http://travis-ci.org/rubyworks/setup]
|
8
9
|
|
9
|
-
|
10
|
-
== INTRODUCTION
|
10
|
+
== Introduction
|
11
11
|
|
12
12
|
Every well practiced Rubyist is aware of Minero Aoki's ever +setup.rb+
|
13
13
|
script. It's how most of us used to install our Ruby programs before RubyGems
|
@@ -21,7 +21,7 @@ from there. As long as a project is setup.rb compliant, as most are,
|
|
21
21
|
then there is little to nothing it's developer must do.
|
22
22
|
|
23
23
|
|
24
|
-
===
|
24
|
+
=== Important
|
25
25
|
|
26
26
|
There a couple very important difference between the old 3.4.1 verison
|
27
27
|
of the setup.rb and Ruby Setup.
|
@@ -33,7 +33,7 @@ of the setup.rb and Ruby Setup.
|
|
33
33
|
* The +setup+ phase has been renamed to the +compile+ phase.
|
34
34
|
|
35
35
|
|
36
|
-
==
|
36
|
+
== Installation
|
37
37
|
|
38
38
|
The easy way to install is via RubyGems.
|
39
39
|
|
@@ -45,11 +45,11 @@ and from the decompressed package directory run:
|
|
45
45
|
$ ruby script/setup
|
46
46
|
|
47
47
|
|
48
|
-
==
|
48
|
+
== Instruction
|
49
49
|
|
50
50
|
To use setup.rb, a project must conform to the setup.rb standard layout.
|
51
51
|
Please see the documentation on the website if you need to know more about
|
52
|
-
what this entails. Most
|
52
|
+
what this entails. Most projects already follow the standard since it was
|
53
53
|
setup.rb that originally popularized most of the current layout conventions.
|
54
54
|
(Note that the on-line documentation is slightly out of sync with the latest
|
55
55
|
release.)
|
@@ -70,25 +70,34 @@ And is equivalent to running the two main phases in sequence.
|
|
70
70
|
Where +compile+ compiles any extensions and +install+ copies project
|
71
71
|
files to the appropriate places on your system.
|
72
72
|
|
73
|
+
For setup.rb to install a project's documentation and library files
|
74
|
+
properly it is best to supply it was basic information about the project.
|
75
|
+
In particular, the +name+, +version+ and +loadpath+ (if not the default `lib`).
|
76
|
+
This can be done either by creating a `.index` file for the project
|
77
|
+
(see {Indexer}[http://github.com/rubyworks/indexer]), or by adding
|
78
|
+
<tt>.setup/name</tt>, <tt>.setup/version</tt> and <tt>.setup/loadpath</tt>
|
79
|
+
to the project.
|
80
|
+
|
73
81
|
Setup.rb also supports two optional phases, +config+ and +test+.
|
74
82
|
|
75
83
|
$ setup config
|
76
84
|
|
77
85
|
Configuration must be run before any other phase in order to be of
|
78
|
-
|
86
|
+
used. Running `config` creates a `SetupConfig` file which you can then
|
79
87
|
edit to make any adjustments neccessary to the installation. When finished
|
80
88
|
editing this file, use setup.rb as before and your custom configuration
|
81
|
-
will be used
|
89
|
+
will be used instead of the standard defaults.
|
82
90
|
|
83
91
|
$ setup.rb test
|
84
92
|
|
85
|
-
This will run tests if a test script is provided.
|
93
|
+
This will run tests if a test script is provided. It must be run after
|
86
94
|
+compile+, but before +install+. Because there are now a deverse selection
|
87
95
|
of testing tools available for Ruby, testing only happens if the developer
|
88
|
-
has provided a test
|
89
|
-
Keep in mind that testing may require support
|
90
|
-
Lemon, Bacon, QED or Cucumber. When using the
|
91
|
-
activate testing via the <tt>--test</tt> or
|
96
|
+
has provided a test runner script, either. <tt>.setup/test.rb</tt> or
|
97
|
+
<tt>.setup/test.sh</tt>. Keep in mind that testing may require support
|
98
|
+
libraries such as RSpec, Lemon, Bacon, QED or Cucumber. When using the
|
99
|
+
+all+ command, you can activate testing via the <tt>--test</tt> or
|
100
|
+
<tt>-t</tt> option.
|
92
101
|
|
93
102
|
If you later decide you want to remove a program from your system, use
|
94
103
|
+uninstall+.
|
@@ -98,10 +107,10 @@ If you later decide you want to remove a program from your system, use
|
|
98
107
|
This will remove all files previously installed via the setup.rb command.
|
99
108
|
Uninstalling is made possible by the 'SetupReceipt' file that is
|
100
109
|
generated by the install process. If that file is deleted than you
|
101
|
-
will not be able to uninstall. (You can get around this be
|
102
|
-
first though).
|
110
|
+
will not be able to uninstall. (You can usually get around this be
|
111
|
+
reinstalling first though).
|
103
112
|
|
104
|
-
During the make phase, by-product files are
|
113
|
+
During the make phase, by-product files are typically created.
|
105
114
|
You can clean up any of these by-products with:
|
106
115
|
|
107
116
|
$ setup.rb clean
|
@@ -111,26 +120,20 @@ And restore them to their absolute pristine state with:
|
|
111
120
|
$ setup.rb distclean
|
112
121
|
|
113
122
|
For further details on using +setup.rb+, or developing a project that can
|
114
|
-
take advantage of setup.rb's special features, please see the website
|
115
|
-
|
116
|
-
|
117
|
-
== COPYRIGHTS
|
118
|
-
|
119
|
-
Copyright (c) 2008,2009 Thomas Sawyer
|
123
|
+
take advantage of setup.rb's special features, please see the website
|
124
|
+
and associated wiki.
|
120
125
|
|
121
|
-
BSD-2-Clause License.
|
122
126
|
|
123
|
-
|
124
|
-
transfire@gmail.com
|
125
|
-
http://rubyworks.github.com
|
127
|
+
== Copyrights
|
126
128
|
|
129
|
+
Setup.rb is copyrighted open source software.
|
127
130
|
|
128
|
-
Copyright (c)
|
131
|
+
Copyright (c) 2008 Rubyworks (BSD-2-Clause)
|
129
132
|
|
130
|
-
|
133
|
+
It can be modified and redistributed in accordance with the **BSD-2-Clause** license.
|
131
134
|
|
132
|
-
|
133
|
-
aamine@loveruby.net
|
134
|
-
http://i.loveruby.net
|
135
|
+
Setup.rb is a rewrite of the original setup.rb script by {Minero Aoki}[http://i.loveruby.net].
|
135
136
|
|
137
|
+
Copyright (c) 2002 Minero Aoki (GNU LGPL 2.1+)
|
136
138
|
|
139
|
+
See LICENSE.txt and NOTICE.rdoc for details.
|
data/bin/setup.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
# Setup.rb v5.
|
2
|
+
# Setup.rb v5.2.0
|
3
3
|
#
|
4
4
|
# This is a stand-alone bundle of the setup.rb application.
|
5
5
|
# You can place it in your projects script/ directory, or
|
@@ -16,20 +16,7 @@
|
|
16
16
|
# without issue and without needing to install it for each.
|
17
17
|
require 'yaml'
|
18
18
|
module Setup
|
19
|
-
|
20
|
-
PROFILE = YAML.load(File.new(DIRECTORY + '/profile.yml'))
|
21
|
-
verfile = YAML.load(File.new(DIRECTORY + '/version.yml'))
|
22
|
-
VERSION = verfile.values_at('major','minor','patch','state','build').compact.join('.')
|
23
|
-
def self.const_missing(name)
|
24
|
-
key = name.to_s.downcase
|
25
|
-
if verfile.key?(key)
|
26
|
-
verfile[key]
|
27
|
-
elsif profile.key?(key)
|
28
|
-
PROFILE[key]
|
29
|
-
else
|
30
|
-
super(name)
|
31
|
-
end
|
32
|
-
end
|
19
|
+
VERSION = '5.2.0' #:erb: VERSION = '<%= version %>'
|
33
20
|
end
|
34
21
|
class << File #:nodoc: all
|
35
22
|
unless respond_to?(:read) # Ruby 1.6 and less
|
@@ -55,17 +42,17 @@ module Setup
|
|
55
42
|
end
|
56
43
|
module Setup
|
57
44
|
class Project
|
58
|
-
ROOT_MARKER = '{.
|
45
|
+
ROOT_MARKER = '{.index,setup.rb,.setup,lib/}'
|
59
46
|
def initialize
|
60
|
-
@
|
61
|
-
@
|
47
|
+
@dotindex_file = find('.index')
|
48
|
+
@dotindex = YAML.load_file(@dotindex_file) if @dotindex_file
|
62
49
|
@name = nil
|
63
50
|
@version = nil
|
64
51
|
@loadpath = ['lib']
|
65
|
-
if @
|
66
|
-
@name = @
|
67
|
-
@version = @
|
68
|
-
@loadpath = @
|
52
|
+
if @dotindex
|
53
|
+
@name = @dotindex['name']
|
54
|
+
@version = @dotindex['version']
|
55
|
+
@loadpath = (@dotindex['paths'] || {})['load']
|
69
56
|
else
|
70
57
|
if file = find('.setup/name')
|
71
58
|
@name = File.read(file).strip
|
@@ -78,7 +65,7 @@ module Setup
|
|
78
65
|
end
|
79
66
|
end
|
80
67
|
end
|
81
|
-
attr :
|
68
|
+
attr :dotindex
|
82
69
|
attr :name
|
83
70
|
attr :version
|
84
71
|
attr :loadpath
|
@@ -365,7 +352,7 @@ require 'yaml'
|
|
365
352
|
require 'shellwords'
|
366
353
|
module Setup
|
367
354
|
class Configuration
|
368
|
-
RBCONFIG = ::
|
355
|
+
RBCONFIG = ::RbConfig::CONFIG
|
369
356
|
META_CONFIG_FILE = META_EXTENSION_DIR + '/metaconfig.rb'
|
370
357
|
def self.options
|
371
358
|
@@options ||= []
|
@@ -402,12 +389,12 @@ module Setup
|
|
402
389
|
option :root , :path, 'install to alternate root location'
|
403
390
|
option :installdirs , :pick, 'install location mode (site,std,home)' #, local)
|
404
391
|
option :type , :pick, 'install location mode (site,std,home)'
|
405
|
-
::
|
392
|
+
::RbConfig::CONFIG.each do |key,val|
|
406
393
|
next if key == "configure_args"
|
407
394
|
name = key.to_s.downcase
|
408
395
|
define_method(name){ val }
|
409
396
|
end
|
410
|
-
config_args = Shellwords.shellwords(::
|
397
|
+
config_args = Shellwords.shellwords(::RbConfig::CONFIG["configure_args"])
|
411
398
|
config_args.each do |ent|
|
412
399
|
if ent.index("=")
|
413
400
|
key, val = *ent.split("=")
|
@@ -705,8 +692,9 @@ module Setup
|
|
705
692
|
end
|
706
693
|
def save_config
|
707
694
|
out = to_yaml
|
708
|
-
|
709
|
-
|
695
|
+
dir = File.dirname(CONFIG_FILE)
|
696
|
+
unless File.exist?(dir)
|
697
|
+
FileUtils.mkdir_p(dir)
|
710
698
|
end
|
711
699
|
if File.exist?(CONFIG_FILE)
|
712
700
|
txt = File.read(CONFIG_FILE)
|
@@ -895,7 +883,7 @@ module Setup
|
|
895
883
|
File.extname(file) == ".#{dllext}"
|
896
884
|
end
|
897
885
|
if ents.empty? && !files.empty?
|
898
|
-
raise Error, "ruby extention not compiled: 'setup.rb
|
886
|
+
raise Error, "ruby extention not compiled: 'setup.rb compile' first"
|
899
887
|
end
|
900
888
|
ents
|
901
889
|
end
|
@@ -1056,20 +1044,26 @@ module Setup
|
|
1056
1044
|
end
|
1057
1045
|
module Setup
|
1058
1046
|
class Tester < Base
|
1059
|
-
RUBYSCRIPT = META_EXTENSION_DIR + '/
|
1060
|
-
SHELLSCRIPT = '
|
1047
|
+
RUBYSCRIPT = META_EXTENSION_DIR + '/test.rb'
|
1048
|
+
SHELLSCRIPT = META_EXTENSION_DIR + '/test.sh'
|
1049
|
+
DEPRECATED_RUBYSCRIPT = META_EXTENSION_DIR + '/testrc.rb'
|
1061
1050
|
def testable?
|
1051
|
+
if File.exist?(DEPRECATED_RUBYSCRIPT)
|
1052
|
+
warn "Must use `.setup/test.rb' instead or `.setup/testrc.rb' to support testing."
|
1053
|
+
end
|
1062
1054
|
return false if config.no_test
|
1063
1055
|
return true if File.exist?(RUBYSCRIPT)
|
1064
1056
|
return true if File.exist?(SHELLSCRIPT)
|
1065
1057
|
false
|
1066
1058
|
end
|
1067
1059
|
def test
|
1068
|
-
return true
|
1060
|
+
return true unless testable?
|
1069
1061
|
if File.exist?(RUBYSCRIPT)
|
1070
1062
|
test_rubyscript
|
1071
1063
|
elsif File.exist?(SHELLSCRIPT)
|
1072
1064
|
test_shellscript
|
1065
|
+
else
|
1066
|
+
true
|
1073
1067
|
end
|
1074
1068
|
end
|
1075
1069
|
def test_shellscript
|
data/lib/setup/configuration.rb
CHANGED
@@ -13,7 +13,7 @@ module Setup
|
|
13
13
|
class Configuration
|
14
14
|
|
15
15
|
# Ruby System Configuration
|
16
|
-
RBCONFIG = ::
|
16
|
+
RBCONFIG = ::RbConfig::CONFIG
|
17
17
|
|
18
18
|
## Confgiuration file
|
19
19
|
#CONFIG_FILE = 'SetupConfig' # '.cache/setup/config'
|
@@ -26,7 +26,9 @@ module Setup
|
|
26
26
|
@@options ||= []
|
27
27
|
end
|
28
28
|
|
29
|
+
#
|
29
30
|
# TODO: better methods for path type
|
31
|
+
#
|
30
32
|
def self.option(name, *args) #type, description)
|
31
33
|
options << [name.to_s, *args] #type, description]
|
32
34
|
attr_accessor(name)
|
@@ -76,7 +78,7 @@ module Setup
|
|
76
78
|
|
77
79
|
# Turn all of CONFIG into methods.
|
78
80
|
|
79
|
-
::
|
81
|
+
::RbConfig::CONFIG.each do |key,val|
|
80
82
|
next if key == "configure_args"
|
81
83
|
name = key.to_s.downcase
|
82
84
|
#name = name.sub(/^--/,'')
|
@@ -85,7 +87,7 @@ module Setup
|
|
85
87
|
end
|
86
88
|
|
87
89
|
# Turn all of CONFIG["configure_args"] into methods.
|
88
|
-
config_args = Shellwords.shellwords(::
|
90
|
+
config_args = Shellwords.shellwords(::RbConfig::CONFIG["configure_args"])
|
89
91
|
config_args.each do |ent|
|
90
92
|
if ent.index("=")
|
91
93
|
key, val = *ent.split("=")
|
@@ -593,8 +595,9 @@ module Setup
|
|
593
595
|
# Save configuration.
|
594
596
|
def save_config
|
595
597
|
out = to_yaml
|
596
|
-
|
597
|
-
|
598
|
+
dir = File.dirname(CONFIG_FILE)
|
599
|
+
unless File.exist?(dir)
|
600
|
+
FileUtils.mkdir_p(dir)
|
598
601
|
end
|
599
602
|
if File.exist?(CONFIG_FILE)
|
600
603
|
txt = File.read(CONFIG_FILE)
|