setup 4.2.0 → 5.0.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 +47 -3
- data/MANIFEST +49 -16
- data/README.rdoc +148 -0
- data/bin/setup.rb +1 -5
- data/lib/setup.rb +2 -2
- data/lib/setup/base.rb +143 -0
- data/lib/setup/command.rb +218 -114
- data/lib/setup/compiler.rb +69 -0
- data/lib/setup/configuration.rb +822 -0
- data/lib/setup/constants.rb +12 -0
- data/lib/setup/{rubyver.rb → core_ext.rb} +0 -0
- data/lib/setup/documentor.rb +149 -0
- data/lib/setup/installer.rb +363 -0
- data/lib/setup/project.rb +68 -0
- data/lib/setup/rake.rb +44 -45
- data/lib/setup/session.rb +233 -0
- data/lib/setup/tester.rb +92 -0
- data/lib/setup/uninstaller.rb +76 -0
- data/meta/active +1 -0
- data/meta/collection +1 -0
- data/meta/{abstract → description} +0 -0
- data/meta/{package → name} +0 -0
- data/meta/repository +1 -0
- data/meta/ruby +3 -0
- data/meta/version +1 -1
- data/script/bstrap +5 -0
- data/script/bundle +64 -0
- data/script/setup +1338 -0
- data/script/test +3 -0
- data/test/cases/installer.rb +28 -0
- data/test/features/config.feature +16 -0
- data/test/features/document.feature +2 -0
- data/test/features/install.feature +72 -0
- data/test/features/make.feature +18 -0
- data/test/features/step_definitions/common_steps.rb +34 -0
- data/test/features/step_definitions/config_steps.rb +24 -0
- data/test/features/step_definitions/env.rb +37 -0
- data/test/features/step_definitions/install_steps.rb +75 -0
- data/test/features/step_definitions/setup_steps.rb +30 -0
- data/test/features/step_definitions/uninstall_steps.rb +8 -0
- data/test/features/test.feature +2 -0
- data/test/features/uninstall.feature +13 -0
- data/test/fixtures/faux-project/bin/faux +3 -0
- data/test/fixtures/faux-project/ext/faux/extconf.rb +12 -0
- data/test/fixtures/faux-project/ext/faux/faux.c +24 -0
- data/test/fixtures/faux-project/lib/faux.rb +1 -0
- metadata +58 -29
- data/README +0 -106
- data/RELEASE +0 -41
- data/lib/setup/build.rb +0 -2
- data/lib/setup/config.rb +0 -452
- data/lib/setup/error.rb +0 -4
- data/lib/setup/install.rb +0 -1007
- data/meta/setup/metaconfig.rb +0 -3
- data/test/test_installer.rb +0 -139
data/meta/setup/metaconfig.rb
DELETED
data/test/test_installer.rb
DELETED
@@ -1,139 +0,0 @@
|
|
1
|
-
# This isn't begin used presently. The only tests were for sheband lines
|
2
|
-
# and these are not being made in the current version.
|
3
|
-
|
4
|
-
require 'setup'
|
5
|
-
require 'fileutils'
|
6
|
-
require 'stringio'
|
7
|
-
require 'test/unit'
|
8
|
-
|
9
|
-
class DummyConfig
|
10
|
-
def initialize(config)
|
11
|
-
@config = config
|
12
|
-
end
|
13
|
-
|
14
|
-
def [](key)
|
15
|
-
@config[key]
|
16
|
-
end
|
17
|
-
|
18
|
-
def no_harm?
|
19
|
-
false
|
20
|
-
end
|
21
|
-
|
22
|
-
def verbose?
|
23
|
-
false
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
class TestInstaller #< Test::Unit::TestCase
|
28
|
-
|
29
|
-
include FileUtils
|
30
|
-
|
31
|
-
def setup
|
32
|
-
rm_rf %w(srcdir objdir)
|
33
|
-
mkdir %w(srcdir objdir)
|
34
|
-
Dir.chdir 'objdir'
|
35
|
-
$stderr, $orig_stderr = StringIO.new, $stderr
|
36
|
-
end
|
37
|
-
|
38
|
-
def teardown
|
39
|
-
$stderr = $orig_stderr
|
40
|
-
Dir.chdir '..'
|
41
|
-
rm_rf %w(srcdir objdir)
|
42
|
-
end
|
43
|
-
|
44
|
-
def setup_installer(config = {})
|
45
|
-
@installer = Installer.new(DummyConfig.new(config), '../srcdir', '.')
|
46
|
-
end
|
47
|
-
|
48
|
-
def do_update_shebang_line(id, str)
|
49
|
-
create id, str
|
50
|
-
@installer.update_shebang_line "../srcdir/#{id}"
|
51
|
-
read(id)
|
52
|
-
end
|
53
|
-
|
54
|
-
def create(filename, content)
|
55
|
-
File.open("../srcdir/#{filename}", 'wb') {|f|
|
56
|
-
f.write content
|
57
|
-
}
|
58
|
-
end
|
59
|
-
|
60
|
-
def read(filename)
|
61
|
-
path = File.exist?(filename) ? filename : "../srcdir/#{filename}"
|
62
|
-
File.open(path, 'rb') {|f|
|
63
|
-
return f.read
|
64
|
-
}
|
65
|
-
end
|
66
|
-
|
67
|
-
def test_update_shebang_line__never
|
68
|
-
setup_installer 'shebang' => 'never', 'rubypath' => 'ERROR'
|
69
|
-
assert_equal "#!/usr/local/bin/ruby\nprogram",
|
70
|
-
do_update_shebang_line('ruby', "#!/usr/local/bin/ruby\nprogram")
|
71
|
-
assert_equal "#! /usr/local/bin/ruby\nprogram",
|
72
|
-
do_update_shebang_line('ruby-sp', "#! /usr/local/bin/ruby\nprogram")
|
73
|
-
assert_equal "#!/usr/local/bin/ruby -Ke\nprogram",
|
74
|
-
do_update_shebang_line('ruby-arg', "#!/usr/local/bin/ruby -Ke\nprogram")
|
75
|
-
assert_equal "#!/usr/bin/ruby -n -p\nprogram",
|
76
|
-
do_update_shebang_line('ruby-args', "#!/usr/bin/ruby -n -p\nprogram")
|
77
|
-
assert_equal "#!/usr/bin/env ruby\nprogram",
|
78
|
-
do_update_shebang_line('env-ruby', "#!/usr/bin/env ruby\nprogram")
|
79
|
-
assert_equal "#!/usr/bin/env perl\nprogram",
|
80
|
-
do_update_shebang_line('env-noruby', "#!/usr/bin/env perl\nprogram")
|
81
|
-
assert_equal "#!/bin/sh\nprogram",
|
82
|
-
do_update_shebang_line('interp', "#!/bin/sh\nprogram")
|
83
|
-
assert_equal "#!/bin/sh -l -r -\nprogram",
|
84
|
-
do_update_shebang_line('interp-args', "#!/bin/sh -l -r -\nprogram")
|
85
|
-
assert_equal "program",
|
86
|
-
do_update_shebang_line('bare', "program")
|
87
|
-
assert_equal "\001\002\003\n\004\005\006",
|
88
|
-
do_update_shebang_line('binary', "\001\002\003\n\004\005\006")
|
89
|
-
end
|
90
|
-
|
91
|
-
def test_update_shebang_line__all
|
92
|
-
setup_installer 'shebang' => 'all', 'rubypath' => 'RUBYPATH'
|
93
|
-
assert_equal "#! RUBYPATH\nprogram",
|
94
|
-
do_update_shebang_line('ruby', "#!/usr/local/bin/ruby\nprogram")
|
95
|
-
assert_equal "#! RUBYPATH\nprogram",
|
96
|
-
do_update_shebang_line('ruby-sp', "#! /usr/local/bin/ruby\nprogram")
|
97
|
-
assert_equal "#! RUBYPATH -Ke\nprogram",
|
98
|
-
do_update_shebang_line('ruby-arg', "#!/usr/local/bin/ruby -Ke\nprogram")
|
99
|
-
assert_equal "#! RUBYPATH -n -p\nprogram",
|
100
|
-
do_update_shebang_line('ruby-args', "#!/usr/bin/ruby -n -p\nprogram")
|
101
|
-
assert_equal "#! RUBYPATH\nprogram",
|
102
|
-
do_update_shebang_line('env-ruby', "#!/usr/bin/env ruby\nprogram")
|
103
|
-
assert_equal "#! RUBYPATH\nprogram",
|
104
|
-
do_update_shebang_line('env-noruby', "#!/usr/bin/env perl\nprogram")
|
105
|
-
assert_equal "#! RUBYPATH\nprogram",
|
106
|
-
do_update_shebang_line('interp', "#!/bin/sh\nprogram")
|
107
|
-
assert_equal "#! RUBYPATH\nprogram", # args removed
|
108
|
-
do_update_shebang_line('interp-args', "#!/bin/sh -l -r -\nprogram")
|
109
|
-
assert_equal "#! RUBYPATH\nprogram",
|
110
|
-
do_update_shebang_line('bare', "program")
|
111
|
-
assert_equal "#! RUBYPATH\n\001\002\003\n\004\005\006",
|
112
|
-
do_update_shebang_line('binary', "\001\002\003\n\004\005\006")
|
113
|
-
end
|
114
|
-
|
115
|
-
def test_update_shebang_line__ruby
|
116
|
-
setup_installer 'shebang' => 'ruby', 'rubypath' => 'RUBYPATH'
|
117
|
-
assert_equal "#! RUBYPATH\nprogram",
|
118
|
-
do_update_shebang_line('ruby', "#!/usr/local/bin/ruby\nprogram")
|
119
|
-
assert_equal "#! RUBYPATH\nprogram",
|
120
|
-
do_update_shebang_line('ruby-sp', "#! /usr/local/bin/ruby\nprogram")
|
121
|
-
assert_equal "#! RUBYPATH -Ke\nprogram",
|
122
|
-
do_update_shebang_line('ruby-arg', "#!/usr/local/bin/ruby -Ke\nprogram")
|
123
|
-
assert_equal "#! RUBYPATH -n -p\nprogram",
|
124
|
-
do_update_shebang_line('ruby-args', "#!/usr/bin/ruby -n -p\nprogram")
|
125
|
-
assert_equal "#! RUBYPATH\nprogram",
|
126
|
-
do_update_shebang_line('env-ruby', "#!/usr/bin/env ruby\nprogram")
|
127
|
-
assert_equal "#!/usr/bin/env perl\nprogram",
|
128
|
-
do_update_shebang_line('env-noruby', "#!/usr/bin/env perl\nprogram")
|
129
|
-
assert_equal "#!/bin/sh\nprogram",
|
130
|
-
do_update_shebang_line('interp', "#!/bin/sh\nprogram")
|
131
|
-
assert_equal "#!/bin/sh -l -r -\nprogram",
|
132
|
-
do_update_shebang_line('interp-args', "#!/bin/sh -l -r -\nprogram")
|
133
|
-
assert_equal "program",
|
134
|
-
do_update_shebang_line('bare', "program")
|
135
|
-
assert_equal "\001\002\003\n\004\005\006",
|
136
|
-
do_update_shebang_line('binary', "\001\002\003\n\004\005\006")
|
137
|
-
end
|
138
|
-
|
139
|
-
end
|