setup 4.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.
Files changed (205) hide show
  1. data/COPYING +515 -0
  2. data/HISTORY +7 -0
  3. data/MANIFEST +231 -0
  4. data/METADATA +25 -0
  5. data/NEWS +21 -0
  6. data/README +110 -0
  7. data/bin/setup.rb +7 -0
  8. data/doc/manual/doc.en/devel.html +208 -0
  9. data/doc/manual/doc.en/hookapi.html +91 -0
  10. data/doc/manual/doc.en/index.html +28 -0
  11. data/doc/manual/doc.en/metaconfapi.html +79 -0
  12. data/doc/manual/doc.en/news.html +189 -0
  13. data/doc/manual/doc.en/usage.html +297 -0
  14. data/doc/manual/doc.ja/devel.html +301 -0
  15. data/doc/manual/doc.ja/hookapi.html +84 -0
  16. data/doc/manual/doc.ja/index.html +28 -0
  17. data/doc/manual/doc.ja/metaconfapi.html +80 -0
  18. data/doc/manual/doc.ja/news.html +186 -0
  19. data/doc/manual/doc.ja/usage.html +319 -0
  20. data/doc/rdoc/classes/Errno.html +89 -0
  21. data/doc/rdoc/classes/Errno/ENOTEMPTY.html +92 -0
  22. data/doc/rdoc/classes/File.html +134 -0
  23. data/doc/rdoc/classes/Setup.html +107 -0
  24. data/doc/rdoc/classes/Setup/Command.html +276 -0
  25. data/doc/rdoc/classes/Setup/ConfigTable.html +622 -0
  26. data/doc/rdoc/classes/Setup/Installer.html +2454 -0
  27. data/doc/rdoc/classes/Setup/Installer/Shebang.html +187 -0
  28. data/doc/rdoc/classes/SetupError.html +92 -0
  29. data/doc/rdoc/created.rid +1 -0
  30. data/doc/rdoc/files/COPYING.html +759 -0
  31. data/doc/rdoc/files/HISTORY.html +104 -0
  32. data/doc/rdoc/files/METADATA.html +92 -0
  33. data/doc/rdoc/files/NEWS.html +113 -0
  34. data/doc/rdoc/files/README.html +214 -0
  35. data/doc/rdoc/files/bin/setup_rb.html +96 -0
  36. data/doc/rdoc/files/lib/setup/build_rb.html +96 -0
  37. data/doc/rdoc/files/lib/setup/command_rb.html +98 -0
  38. data/doc/rdoc/files/lib/setup/config_rb.html +98 -0
  39. data/doc/rdoc/files/lib/setup/error_rb.html +92 -0
  40. data/doc/rdoc/files/lib/setup/install_rb.html +116 -0
  41. data/doc/rdoc/files/lib/setup/rake_rb.html +97 -0
  42. data/doc/rdoc/files/lib/setup/rubyver_rb.html +96 -0
  43. data/doc/rdoc/files/lib/setup_rb.html +92 -0
  44. data/doc/rdoc/fr_class_index.html +55 -0
  45. data/doc/rdoc/fr_file_index.html +60 -0
  46. data/doc/rdoc/fr_method_index.html +182 -0
  47. data/doc/rdoc/index.html +26 -0
  48. data/doc/rdoc/rdoc-style.css +177 -0
  49. data/doc/ri/Errno/ENOTEMPTY/cdesc-ENOTEMPTY.yaml +15 -0
  50. data/doc/ri/Errno/cdesc-Errno.yaml +15 -0
  51. data/doc/ri/File/cdesc-File.yaml +18 -0
  52. data/doc/ri/File/dir%3f-c.yaml +12 -0
  53. data/doc/ri/File/read-c.yaml +10 -0
  54. data/doc/ri/Setup/Command/cdesc-Command.yaml +28 -0
  55. data/doc/ri/Setup/Command/help-i.yaml +12 -0
  56. data/doc/ri/Setup/Command/run-c.yaml +11 -0
  57. data/doc/ri/Setup/Command/run-i.yaml +11 -0
  58. data/doc/ri/Setup/ConfigTable/%5b%5d%3d-i.yaml +12 -0
  59. data/doc/ri/Setup/ConfigTable/%5b%5d-i.yaml +12 -0
  60. data/doc/ri/Setup/ConfigTable/attr_accessor-c.yaml +12 -0
  61. data/doc/ri/Setup/ConfigTable/attr_boolean-c.yaml +12 -0
  62. data/doc/ri/Setup/ConfigTable/attr_pathlist-c.yaml +12 -0
  63. data/doc/ri/Setup/ConfigTable/attr_pathname-c.yaml +12 -0
  64. data/doc/ri/Setup/ConfigTable/cdesc-ConfigTable.yaml +66 -0
  65. data/doc/ri/Setup/ConfigTable/compiles%3f-i.yaml +10 -0
  66. data/doc/ri/Setup/ConfigTable/env_config-i.yaml +12 -0
  67. data/doc/ri/Setup/ConfigTable/extconfs-i.yaml +11 -0
  68. data/doc/ri/Setup/ConfigTable/extensions-i.yaml +10 -0
  69. data/doc/ri/Setup/ConfigTable/initialize_defaults-i.yaml +14 -0
  70. data/doc/ri/Setup/ConfigTable/installdirs%3d-i.yaml +12 -0
  71. data/doc/ri/Setup/ConfigTable/load_config-i.yaml +12 -0
  72. data/doc/ri/Setup/ConfigTable/new-c.yaml +12 -0
  73. data/doc/ri/Setup/ConfigTable/save_config-i.yaml +12 -0
  74. data/doc/ri/Setup/ConfigTable/shebang%3d-i.yaml +12 -0
  75. data/doc/ri/Setup/ConfigTable/show-i.yaml +10 -0
  76. data/doc/ri/Setup/Installer/Shebang/cdesc-Shebang.yaml +28 -0
  77. data/doc/ri/Setup/Installer/Shebang/load-c.yaml +10 -0
  78. data/doc/ri/Setup/Installer/Shebang/new-c.yaml +10 -0
  79. data/doc/ri/Setup/Installer/Shebang/parse-c.yaml +10 -0
  80. data/doc/ri/Setup/Installer/Shebang/to_s-i.yaml +10 -0
  81. data/doc/ri/Setup/Installer/binread-i.yaml +14 -0
  82. data/doc/ri/Setup/Installer/cdesc-Installer.yaml +281 -0
  83. data/doc/ri/Setup/Installer/clean_dir_bin-i.yaml +12 -0
  84. data/doc/ri/Setup/Installer/clean_dir_data-i.yaml +12 -0
  85. data/doc/ri/Setup/Installer/clean_dir_doc-i.yaml +12 -0
  86. data/doc/ri/Setup/Installer/clean_dir_etc-i.yaml +12 -0
  87. data/doc/ri/Setup/Installer/clean_dir_ext-i.yaml +10 -0
  88. data/doc/ri/Setup/Installer/clean_dir_lib-i.yaml +12 -0
  89. data/doc/ri/Setup/Installer/clean_dir_man-i.yaml +12 -0
  90. data/doc/ri/Setup/Installer/command-i.yaml +10 -0
  91. data/doc/ri/Setup/Installer/compiles%3f-i.yaml +10 -0
  92. data/doc/ri/Setup/Installer/config_dir_bin-i.yaml +12 -0
  93. data/doc/ri/Setup/Installer/config_dir_data-i.yaml +12 -0
  94. data/doc/ri/Setup/Installer/config_dir_doc-i.yaml +12 -0
  95. data/doc/ri/Setup/Installer/config_dir_etc-i.yaml +12 -0
  96. data/doc/ri/Setup/Installer/config_dir_ext-i.yaml +10 -0
  97. data/doc/ri/Setup/Installer/config_dir_lib-i.yaml +12 -0
  98. data/doc/ri/Setup/Installer/config_dir_man-i.yaml +12 -0
  99. data/doc/ri/Setup/Installer/curr_objdir-i.yaml +10 -0
  100. data/doc/ri/Setup/Installer/curr_srcdir-i.yaml +12 -0
  101. data/doc/ri/Setup/Installer/diff%3f-i.yaml +10 -0
  102. data/doc/ri/Setup/Installer/directories_of-i.yaml +10 -0
  103. data/doc/ri/Setup/Installer/distclean_dir_bin-i.yaml +12 -0
  104. data/doc/ri/Setup/Installer/distclean_dir_data-i.yaml +12 -0
  105. data/doc/ri/Setup/Installer/distclean_dir_doc-i.yaml +10 -0
  106. data/doc/ri/Setup/Installer/distclean_dir_etc-i.yaml +12 -0
  107. data/doc/ri/Setup/Installer/distclean_dir_ext-i.yaml +10 -0
  108. data/doc/ri/Setup/Installer/distclean_dir_lib-i.yaml +12 -0
  109. data/doc/ri/Setup/Installer/distclean_dir_man-i.yaml +12 -0
  110. data/doc/ri/Setup/Installer/dive_into-i.yaml +10 -0
  111. data/doc/ri/Setup/Installer/dllext-i.yaml +10 -0
  112. data/doc/ri/Setup/Installer/exec_all-i.yaml +12 -0
  113. data/doc/ri/Setup/Installer/exec_clean-i.yaml +12 -0
  114. data/doc/ri/Setup/Installer/exec_config-i.yaml +12 -0
  115. data/doc/ri/Setup/Installer/exec_distclean-i.yaml +12 -0
  116. data/doc/ri/Setup/Installer/exec_doc-i.yaml +11 -0
  117. data/doc/ri/Setup/Installer/exec_install-i.yaml +12 -0
  118. data/doc/ri/Setup/Installer/exec_rdoc-i.yaml +14 -0
  119. data/doc/ri/Setup/Installer/exec_ri-i.yaml +12 -0
  120. data/doc/ri/Setup/Installer/exec_setup-i.yaml +14 -0
  121. data/doc/ri/Setup/Installer/exec_show-i.yaml +12 -0
  122. data/doc/ri/Setup/Installer/exec_task_traverse-i.yaml +12 -0
  123. data/doc/ri/Setup/Installer/exec_test-i.yaml +14 -0
  124. data/doc/ri/Setup/Installer/exec_uninstall-i.yaml +12 -0
  125. data/doc/ri/Setup/Installer/existfiles-i.yaml +10 -0
  126. data/doc/ri/Setup/Installer/extconf-i.yaml +10 -0
  127. data/doc/ri/Setup/Installer/extdir%3f-i.yaml +10 -0
  128. data/doc/ri/Setup/Installer/extensions-i.yaml +12 -0
  129. data/doc/ri/Setup/Installer/files_of-i.yaml +10 -0
  130. data/doc/ri/Setup/Installer/force_remove_file-i.yaml +10 -0
  131. data/doc/ri/Setup/Installer/get_config-i.yaml +11 -0
  132. data/doc/ri/Setup/Installer/glob_reject-i.yaml +10 -0
  133. data/doc/ri/Setup/Installer/glob_select-i.yaml +10 -0
  134. data/doc/ri/Setup/Installer/globs2re-i.yaml +10 -0
  135. data/doc/ri/Setup/Installer/hookfiles-i.yaml +10 -0
  136. data/doc/ri/Setup/Installer/inspect-i.yaml +10 -0
  137. data/doc/ri/Setup/Installer/install-i.yaml +10 -0
  138. data/doc/ri/Setup/Installer/install_dir_bin-i.yaml +10 -0
  139. data/doc/ri/Setup/Installer/install_dir_data-i.yaml +10 -0
  140. data/doc/ri/Setup/Installer/install_dir_doc-i.yaml +12 -0
  141. data/doc/ri/Setup/Installer/install_dir_etc-i.yaml +10 -0
  142. data/doc/ri/Setup/Installer/install_dir_ext-i.yaml +10 -0
  143. data/doc/ri/Setup/Installer/install_dir_lib-i.yaml +10 -0
  144. data/doc/ri/Setup/Installer/install_dir_man-i.yaml +10 -0
  145. data/doc/ri/Setup/Installer/install_files-i.yaml +10 -0
  146. data/doc/ri/Setup/Installer/installation%21-i.yaml +10 -0
  147. data/doc/ri/Setup/Installer/installation%3f-i.yaml +12 -0
  148. data/doc/ri/Setup/Installer/libfiles-i.yaml +10 -0
  149. data/doc/ri/Setup/Installer/make-i.yaml +10 -0
  150. data/doc/ri/Setup/Installer/mapdir-i.yaml +10 -0
  151. data/doc/ri/Setup/Installer/mkdir_p-i.yaml +10 -0
  152. data/doc/ri/Setup/Installer/move_file-i.yaml +10 -0
  153. data/doc/ri/Setup/Installer/new-c.yaml +12 -0
  154. data/doc/ri/Setup/Installer/new_shebang-i.yaml +10 -0
  155. data/doc/ri/Setup/Installer/no_harm%3f-i.yaml +10 -0
  156. data/doc/ri/Setup/Installer/noop-i.yaml +54 -0
  157. data/doc/ri/Setup/Installer/objdir_root-i.yaml +10 -0
  158. data/doc/ri/Setup/Installer/open_atomic_writer-i.yaml +10 -0
  159. data/doc/ri/Setup/Installer/quiet%3f-i.yaml +10 -0
  160. data/doc/ri/Setup/Installer/record_installation-i.yaml +10 -0
  161. data/doc/ri/Setup/Installer/relpath-i.yaml +10 -0
  162. data/doc/ri/Setup/Installer/remove_file-i.yaml +10 -0
  163. data/doc/ri/Setup/Installer/remove_tree-i.yaml +10 -0
  164. data/doc/ri/Setup/Installer/remove_tree0-i.yaml +10 -0
  165. data/doc/ri/Setup/Installer/report_header-i.yaml +11 -0
  166. data/doc/ri/Setup/Installer/rm_f-i.yaml +10 -0
  167. data/doc/ri/Setup/Installer/rm_rf-i.yaml +10 -0
  168. data/doc/ri/Setup/Installer/rmdir-i.yaml +10 -0
  169. data/doc/ri/Setup/Installer/ruby-i.yaml +10 -0
  170. data/doc/ri/Setup/Installer/rubyextentions-i.yaml +10 -0
  171. data/doc/ri/Setup/Installer/run_hook-i.yaml +10 -0
  172. data/doc/ri/Setup/Installer/set_config-i.yaml +12 -0
  173. data/doc/ri/Setup/Installer/setup_dir_bin-i.yaml +10 -0
  174. data/doc/ri/Setup/Installer/setup_dir_data-i.yaml +12 -0
  175. data/doc/ri/Setup/Installer/setup_dir_doc-i.yaml +12 -0
  176. data/doc/ri/Setup/Installer/setup_dir_etc-i.yaml +12 -0
  177. data/doc/ri/Setup/Installer/setup_dir_ext-i.yaml +10 -0
  178. data/doc/ri/Setup/Installer/setup_dir_lib-i.yaml +12 -0
  179. data/doc/ri/Setup/Installer/setup_dir_man-i.yaml +12 -0
  180. data/doc/ri/Setup/Installer/srcdir_root-i.yaml +12 -0
  181. data/doc/ri/Setup/Installer/srcdirectories-i.yaml +10 -0
  182. data/doc/ri/Setup/Installer/srcdirectory%3f-i.yaml +10 -0
  183. data/doc/ri/Setup/Installer/srcentries-i.yaml +10 -0
  184. data/doc/ri/Setup/Installer/srcexist%3f-i.yaml +10 -0
  185. data/doc/ri/Setup/Installer/srcfile%3f-i.yaml +10 -0
  186. data/doc/ri/Setup/Installer/srcfile-i.yaml +10 -0
  187. data/doc/ri/Setup/Installer/srcfiles-i.yaml +10 -0
  188. data/doc/ri/Setup/Installer/targetfiles-i.yaml +10 -0
  189. data/doc/ri/Setup/Installer/traverse-i.yaml +10 -0
  190. data/doc/ri/Setup/Installer/update_shebang_line-i.yaml +10 -0
  191. data/doc/ri/Setup/Installer/verbose%3f-i.yaml +10 -0
  192. data/doc/ri/Setup/Installer/verbose_off-i.yaml +10 -0
  193. data/doc/ri/Setup/cdesc-Setup.yaml +15 -0
  194. data/doc/ri/SetupError/cdesc-SetupError.yaml +15 -0
  195. data/doc/ri/created.rid +1 -0
  196. data/lib/setup.rb +5 -0
  197. data/lib/setup/build.rb +2 -0
  198. data/lib/setup/command.rb +169 -0
  199. data/lib/setup/config.rb +339 -0
  200. data/lib/setup/error.rb +1 -0
  201. data/lib/setup/install.rb +915 -0
  202. data/lib/setup/rake.rb +62 -0
  203. data/lib/setup/rubyver.rb +25 -0
  204. data/script/install +6 -0
  205. metadata +293 -0
@@ -0,0 +1,89 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Module: Errno</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "+"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "-"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Module</span><br />Errno</td>
55
+ <td align="right">
56
+ <table cellspacing="0" cellpadding="2">
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../files/lib/setup/rubyver_rb.html">lib/setup/rubyver.rb</a>
61
+ </td>
62
+ </tr>
63
+ </table>
64
+ </td>
65
+ </tr>
66
+ </table>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+ <div id="content">
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+ <div class="sectiontitle">Classes and Modules</div>
79
+ Class <a href="Errno/ENOTEMPTY.html" class="link">Errno::ENOTEMPTY</a><br />
80
+
81
+
82
+
83
+
84
+ </div>
85
+
86
+ </div>
87
+
88
+ </body>
89
+ </html>
@@ -0,0 +1,92 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Class: Errno::ENOTEMPTY</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "+"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "-"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />Errno::ENOTEMPTY</td>
55
+ <td align="right">
56
+ <table cellspacing="0" cellpadding="2">
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../../files/lib/setup/rubyver_rb.html">lib/setup/rubyver.rb</a>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <td>Parent:</td>
65
+ <td>
66
+ Object
67
+ </td>
68
+ </tr>
69
+ </table>
70
+ </td>
71
+ </tr>
72
+ </table>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+ <div id="content">
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+ </div>
88
+
89
+ </div>
90
+
91
+ </body>
92
+ </html>
@@ -0,0 +1,134 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Class: File</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "+"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "-"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />File</td>
55
+ <td align="right">
56
+ <table cellspacing="0" cellpadding="2">
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ </td>
61
+ </tr>
62
+ <tr>
63
+ <td>Parent:</td>
64
+ <td>
65
+ IO
66
+ </td>
67
+ </tr>
68
+ </table>
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ <!-- banner header -->
73
+
74
+ <div id="bodyContent">
75
+ <div id="content">
76
+
77
+
78
+
79
+
80
+ <div class="sectiontitle">Methods</div>
81
+ <span style="padding-right: 5px;"><a href="#M000002">dir?</a></span>
82
+ <span style="padding-right: 5px;"><a href="#M000001">read</a></span>
83
+
84
+
85
+
86
+
87
+
88
+
89
+ <div class="sectiontitle">Public Class methods</div>
90
+ <div class="method">
91
+ <div class="title">
92
+ <a name="M000002"></a><b>dir?</b>(path)
93
+ </div>
94
+ <div class="description">
95
+ <p>
96
+ for corrupted Windows&#8217; stat(2)
97
+ </p>
98
+ </div>
99
+ <div class="sourcecode">
100
+ <p class="source-link">[ <a href="javascript:toggleSource('M000002_source')" id="l_M000002_source">+</a> ]</p>
101
+ <div id="M000002_source" class="dyn-source">
102
+ <pre>
103
+ <span class="ruby-comment cmt"># File lib/setup/rubyver.rb, line 22</span>
104
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dir?</span>(<span class="ruby-identifier">path</span>)
105
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>((<span class="ruby-identifier">path</span>[<span class="ruby-value">-1</span>,<span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'/'</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">path</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">path</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>)
106
+ <span class="ruby-keyword kw">end</span>
107
+ </pre>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ <div class="method">
112
+ <div class="title">
113
+ <a name="M000001"></a><b>read</b>(fname)
114
+ </div>
115
+ <div class="sourcecode">
116
+ <p class="source-link">[ <a href="javascript:toggleSource('M000001_source')" id="l_M000001_source">+</a> ]</p>
117
+ <div id="M000001_source" class="dyn-source">
118
+ <pre>
119
+ <span class="ruby-comment cmt"># File lib/setup/rubyver.rb, line 6</span>
120
+ <span class="ruby-keyword kw">def</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">fname</span>)
121
+ <span class="ruby-identifier">open</span>(<span class="ruby-identifier">fname</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
122
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>
123
+ }
124
+ <span class="ruby-keyword kw">end</span>
125
+ </pre>
126
+ </div>
127
+ </div>
128
+ </div>
129
+ </div>
130
+
131
+ </div>
132
+
133
+ </body>
134
+ </html>
@@ -0,0 +1,107 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Module: Setup</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "+"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "-"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Module</span><br />Setup</td>
55
+ <td align="right">
56
+ <table cellspacing="0" cellpadding="2">
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../files/lib/setup_rb.html">lib/setup.rb</a>
61
+ <a href="../files/lib/setup/install_rb.html">lib/setup/install.rb</a>
62
+ <a href="../files/lib/setup/command_rb.html">lib/setup/command.rb</a>
63
+ <a href="../files/lib/setup/config_rb.html">lib/setup/config.rb</a>
64
+ </td>
65
+ </tr>
66
+ </table>
67
+ </td>
68
+ </tr>
69
+ </table>
70
+ <!-- banner header -->
71
+
72
+ <div id="bodyContent">
73
+ <div id="content">
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ <div class="sectiontitle">Classes and Modules</div>
82
+ Class <a href="Setup/Command.html" class="link">Setup::Command</a><br />
83
+ Class <a href="Setup/ConfigTable.html" class="link">Setup::ConfigTable</a><br />
84
+ Class <a href="Setup/Installer.html" class="link">Setup::Installer</a><br />
85
+
86
+
87
+ <div class="sectiontitle">Constants</div>
88
+ <table border='0' cellpadding='5'>
89
+ <tr valign='top'>
90
+ <td class="attr-name">VERSION</td>
91
+ <td>=</td>
92
+ <td class="attr-value">'4.0.0'</td>
93
+ </tr>
94
+ <tr valign='top'>
95
+ <td class="attr-name">COPYRIGHT</td>
96
+ <td>=</td>
97
+ <td class="attr-value">'Copyright (c) 2002,2008 Minero Aoki &amp; Thomas Sawyer'</td>
98
+ </tr>
99
+ </table>
100
+
101
+
102
+ </div>
103
+
104
+ </div>
105
+
106
+ </body>
107
+ </html>
@@ -0,0 +1,276 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Class: Setup::Command</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "+"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "-"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />Setup::Command</td>
55
+ <td align="right">
56
+ <table cellspacing="0" cellpadding="2">
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../../files/lib/setup/command_rb.html">lib/setup/command.rb</a>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <td>Parent:</td>
65
+ <td>
66
+ Object
67
+ </td>
68
+ </tr>
69
+ </table>
70
+ </td>
71
+ </tr>
72
+ </table>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+ <div id="content">
77
+
78
+ <div class="description"><p>
79
+ CLI for setup.
80
+ </p>
81
+ </div>
82
+
83
+
84
+
85
+ <div class="sectiontitle">Methods</div>
86
+ <span style="padding-right: 5px;"><a href="#M000020">help</a></span>
87
+ <span style="padding-right: 5px;"><a href="#M000019">run</a></span>
88
+ <span style="padding-right: 5px;"><a href="#M000018">run</a></span>
89
+
90
+
91
+
92
+
93
+ <div class="sectiontitle">Constants</div>
94
+ <table border='0' cellpadding='5'>
95
+ <tr valign='top'>
96
+ <td class="attr-name">TASKS</td>
97
+ <td>=</td>
98
+ <td class="attr-value">%w(all config show setup test install uninstall rdoc ri clean distclean)</td>
99
+ </tr>
100
+ <tr valign='top'>
101
+ <td class="attr-name">TASK_DESCRIPTIONS</td>
102
+ <td>=</td>
103
+ <td class="attr-value">[ [ 'all', 'do config, setup, then install' ], [ 'config', 'saves your configurations' ], [ 'show', 'shows current configuration' ], [ 'setup', 'compiles ruby extentions and others' ], [ 'rdoc', 'generate rdoc documentation' ], [ 'ri', 'generate ri documentation' ], [ 'install', 'installs files' ], [ 'test', 'run all tests in test/' ], [ 'clean', &quot;does `make clean' for each extention&quot; ], [ 'distclean',&quot;does `make distclean' for each extention&quot; ]</td>
104
+ </tr>
105
+ </table>
106
+
107
+
108
+ <div class="sectiontitle">Public Class methods</div>
109
+ <div class="method">
110
+ <div class="title">
111
+ <a name="M000018"></a><b>run</b>()
112
+ </div>
113
+ <div class="sourcecode">
114
+ <p class="source-link">[ <a href="javascript:toggleSource('M000018_source')" id="l_M000018_source">+</a> ]</p>
115
+ <div id="M000018_source" class="dyn-source">
116
+ <pre>
117
+ <span class="ruby-comment cmt"># File lib/setup/command.rb, line 27</span>
118
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">run</span>
119
+ <span class="ruby-identifier">new</span>.<span class="ruby-identifier">run</span>
120
+ <span class="ruby-keyword kw">end</span>
121
+ </pre>
122
+ </div>
123
+ </div>
124
+ </div>
125
+ <div class="sectiontitle">Public Instance methods</div>
126
+ <div class="method">
127
+ <div class="title">
128
+ <a name="M000020"></a><b>help</b>()
129
+ </div>
130
+ <div class="description">
131
+ <p>
132
+ Generate <a href="Command.html#M000020">help</a> text.
133
+ </p>
134
+ </div>
135
+ <div class="sourcecode">
136
+ <p class="source-link">[ <a href="javascript:toggleSource('M000020_source')" id="l_M000020_source">+</a> ]</p>
137
+ <div id="M000020_source" class="dyn-source">
138
+ <pre>
139
+ <span class="ruby-comment cmt"># File lib/setup/command.rb, line 133</span>
140
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">help</span>
141
+ <span class="ruby-identifier">fmt</span> = <span class="ruby-value str">&quot; &quot;</span> <span class="ruby-operator">*</span> <span class="ruby-value">10</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;%-10s %s&quot;</span>
142
+ <span class="ruby-identifier">commands</span> = <span class="ruby-constant">TASK_DESCRIPTIONS</span>.<span class="ruby-identifier">collect</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">d</span><span class="ruby-operator">|</span>
143
+ (<span class="ruby-identifier">fmt</span> <span class="ruby-operator">%</span> [<span class="ruby-node">&quot;#{k}&quot;</span>, <span class="ruby-identifier">d</span>])
144
+ <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>).<span class="ruby-identifier">strip</span>
145
+
146
+ <span class="ruby-identifier">fmt</span> = <span class="ruby-value str">&quot; &quot;</span> <span class="ruby-operator">*</span> <span class="ruby-value">13</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;%-20s %s&quot;</span>
147
+ <span class="ruby-identifier">configs</span> = <span class="ruby-constant">ConfigTable</span><span class="ruby-operator">::</span><span class="ruby-constant">DESCRIPTIONS</span>.<span class="ruby-identifier">collect</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">t</span>,<span class="ruby-identifier">d</span><span class="ruby-operator">|</span>
148
+ (<span class="ruby-identifier">fmt</span> <span class="ruby-operator">%</span> [<span class="ruby-node">&quot;--#{k}&quot;</span>, <span class="ruby-identifier">d</span>])
149
+ <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>).<span class="ruby-identifier">strip</span>
150
+
151
+ <span class="ruby-identifier">text</span> = <span class="ruby-value str">&quot;USAGE: \#{File.basename($0)} [command] [options]\n\nCommands:\n\#{commands}\n\nOptions for CONFIG:\n\#{configs}\n\nOptions for INSTALL:\n--prefix Set the install prefix\n\nOptions in common:\n-q --quiet Silence output\n--verbose Provide verbose output\n-n --no-write Do not write to disk\n\n&quot;</span>
152
+
153
+ <span class="ruby-identifier">text</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/^ \ \ \ \ \ /</span>, <span class="ruby-value str">''</span>)
154
+ <span class="ruby-keyword kw">end</span>
155
+ </pre>
156
+ </div>
157
+ </div>
158
+ </div>
159
+ <div class="method">
160
+ <div class="title">
161
+ <a name="M000019"></a><b>run</b>()
162
+ </div>
163
+ <div class="sourcecode">
164
+ <p class="source-link">[ <a href="javascript:toggleSource('M000019_source')" id="l_M000019_source">+</a> ]</p>
165
+ <div id="M000019_source" class="dyn-source">
166
+ <pre>
167
+ <span class="ruby-comment cmt"># File lib/setup/command.rb, line 32</span>
168
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>
169
+ <span class="ruby-identifier">installer</span> = <span class="ruby-constant">Setup</span><span class="ruby-operator">::</span><span class="ruby-constant">Installer</span>.<span class="ruby-identifier">new</span>
170
+
171
+ <span class="ruby-identifier">task</span> = <span class="ruby-constant">ARGV</span>.<span class="ruby-identifier">find</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp re">/^[-]/</span> }
172
+ <span class="ruby-identifier">task</span> = <span class="ruby-value str">'all'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">task</span>
173
+
174
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">TASKS</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">task</span>)
175
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Not a valid task -- #{task}&quot;</span>
176
+ <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
177
+ <span class="ruby-keyword kw">end</span>
178
+
179
+ <span class="ruby-identifier">opts</span> = <span class="ruby-constant">OptionParser</span>.<span class="ruby-identifier">new</span>
180
+
181
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">banner</span> = <span class="ruby-node">&quot;Usage: #{File.basename($0)} [task] [options]&quot;</span>
182
+
183
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'config'</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">task</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'all'</span>
184
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">&quot;&quot;</span>
185
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">&quot;Config options:&quot;</span>
186
+ <span class="ruby-constant">ConfigTable</span><span class="ruby-operator">::</span><span class="ruby-constant">DESCRIPTIONS</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">desc</span><span class="ruby-operator">|</span>
187
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-node">&quot;--#{name} #{type.to_s.upcase}&quot;</span>, <span class="ruby-identifier">desc</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
188
+ <span class="ruby-constant">ENV</span>[<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>] = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">to_s</span>
189
+ <span class="ruby-keyword kw">end</span>
190
+ <span class="ruby-keyword kw">end</span>
191
+ <span class="ruby-keyword kw">end</span>
192
+
193
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'install'</span>
194
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">&quot;&quot;</span>
195
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">&quot;Install options:&quot;</span>
196
+
197
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;--prefix PATH&quot;</span>, <span class="ruby-value str">&quot;Installation prefix&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
198
+ <span class="ruby-identifier">installer</span>.<span class="ruby-identifier">install_prefix</span> = <span class="ruby-identifier">val</span>
199
+ <span class="ruby-keyword kw">end</span>
200
+ <span class="ruby-keyword kw">end</span>
201
+
202
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">task</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'test'</span>
203
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">&quot;&quot;</span>
204
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">&quot;Install options:&quot;</span>
205
+
206
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;--runner TYPE&quot;</span>, <span class="ruby-value str">&quot;Test runner (auto|console|gtk|gtk2|tk)&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
207
+ <span class="ruby-identifier">installer</span>.<span class="ruby-identifier">config</span>.<span class="ruby-identifier">testrunner</span> = <span class="ruby-identifier">val</span>
208
+ <span class="ruby-keyword kw">end</span>
209
+ <span class="ruby-keyword kw">end</span>
210
+
211
+ <span class="ruby-comment cmt"># common options</span>
212
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">&quot;&quot;</span>
213
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">&quot;General options:&quot;</span>
214
+
215
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;-q&quot;</span>, <span class="ruby-value str">&quot;--quiet&quot;</span>, <span class="ruby-value str">&quot;Silence output&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
216
+ <span class="ruby-identifier">installer</span>.<span class="ruby-identifier">quiet</span> = <span class="ruby-identifier">val</span>
217
+ <span class="ruby-keyword kw">end</span>
218
+
219
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;--verbose&quot;</span>, <span class="ruby-value str">&quot;Provide verbose output&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
220
+ <span class="ruby-identifier">installer</span>.<span class="ruby-identifier">verbose</span> = <span class="ruby-identifier">val</span>
221
+ <span class="ruby-keyword kw">end</span>
222
+
223
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;-n&quot;</span>, <span class="ruby-value str">&quot;--no-write&quot;</span>, <span class="ruby-value str">&quot;Do not write to disk&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
224
+ <span class="ruby-identifier">installer</span>.<span class="ruby-identifier">no_harm</span> = <span class="ruby-operator">!</span><span class="ruby-identifier">val</span>
225
+ <span class="ruby-keyword kw">end</span>
226
+
227
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;--dryrun&quot;</span>, <span class="ruby-value str">&quot;Same as --no-write&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
228
+ <span class="ruby-identifier">installer</span>.<span class="ruby-identifier">no_harm</span> = <span class="ruby-identifier">val</span>
229
+ <span class="ruby-keyword kw">end</span>
230
+
231
+ <span class="ruby-comment cmt"># common options</span>
232
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">&quot;&quot;</span>
233
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">&quot;Inform options:&quot;</span>
234
+
235
+ <span class="ruby-comment cmt"># Tail options (eg. commands in option form)</span>
236
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on_tail</span>(<span class="ruby-value str">&quot;-h&quot;</span>, <span class="ruby-value str">&quot;--help&quot;</span>, <span class="ruby-value str">&quot;display this help information&quot;</span>) <span class="ruby-keyword kw">do</span>
237
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">help</span>
238
+ <span class="ruby-identifier">exit</span>
239
+ <span class="ruby-keyword kw">end</span>
240
+
241
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on_tail</span>(<span class="ruby-value str">&quot;--version&quot;</span>, <span class="ruby-value str">&quot;Show version&quot;</span>) <span class="ruby-keyword kw">do</span>
242
+ <span class="ruby-identifier">puts</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">$0</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">' v'</span> <span class="ruby-operator">+</span> <span class="ruby-constant">Setup</span><span class="ruby-operator">::</span><span class="ruby-constant">VERSION</span> <span class="ruby-comment cmt">#Version.join('.')</span>
243
+ <span class="ruby-identifier">exit</span>
244
+ <span class="ruby-keyword kw">end</span>
245
+
246
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on_tail</span>(<span class="ruby-value str">&quot;--copyright&quot;</span>, <span class="ruby-value str">&quot;Show copyright&quot;</span>) <span class="ruby-keyword kw">do</span>
247
+ <span class="ruby-identifier">puts</span> <span class="ruby-constant">Setup</span><span class="ruby-operator">::</span><span class="ruby-constant">COPYRIGHT</span> <span class="ruby-comment cmt">#opyright</span>
248
+ <span class="ruby-identifier">exit</span>
249
+ <span class="ruby-keyword kw">end</span>
250
+
251
+ <span class="ruby-keyword kw">begin</span>
252
+ <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">parse!</span>(<span class="ruby-constant">ARGV</span>)
253
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">OptionParser</span><span class="ruby-operator">::</span><span class="ruby-constant">InvalidOption</span>
254
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">capitalize</span>
255
+ <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
256
+ <span class="ruby-keyword kw">end</span>
257
+
258
+ <span class="ruby-keyword kw">begin</span>
259
+ <span class="ruby-identifier">installer</span>.<span class="ruby-identifier">__send__</span>(<span class="ruby-node">&quot;exec_#{task}&quot;</span>)
260
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">SetupError</span>
261
+ <span class="ruby-identifier">raise</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$DEBUG</span>
262
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">message</span>
263
+ <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Try 'ruby #{$0} --help' for detailed usage.&quot;</span>
264
+ <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
265
+ <span class="ruby-keyword kw">end</span>
266
+ <span class="ruby-keyword kw">end</span>
267
+ </pre>
268
+ </div>
269
+ </div>
270
+ </div>
271
+ </div>
272
+
273
+ </div>
274
+
275
+ </body>
276
+ </html>