sprout 1.0.32.pre → 1.0.35.pre

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sprout might be problematic. Click here for more details.

Files changed (208) hide show
  1. data/Gemfile +2 -1
  2. data/Gemfile.lock +4 -2
  3. data/README.textile +12 -13
  4. data/VERSION +1 -0
  5. data/doc/Dir.html +288 -0
  6. data/doc/Rake/Task.html +184 -0
  7. data/doc/Sprout.html +144 -0
  8. data/doc/Sprout/ArchiveUnpacker.html +1246 -0
  9. data/doc/Sprout/Base.html +126 -0
  10. data/doc/Sprout/Base/ClassMethods.html +434 -0
  11. data/doc/Sprout/Concern.html +353 -0
  12. data/doc/Sprout/Daemon.html +166 -0
  13. data/doc/Sprout/Daemon/ClassMethods.html +244 -0
  14. data/doc/Sprout/Daemon/InstanceMethods.html +601 -0
  15. data/doc/Sprout/Errors.html +101 -0
  16. data/doc/Sprout/Errors/ArchiveUnpackerError.html +125 -0
  17. data/doc/Sprout/Errors/DestinationExistsError.html +133 -0
  18. data/doc/Sprout/Errors/DuplicateMemberError.html +132 -0
  19. data/doc/Sprout/Errors/ExecutableError.html +125 -0
  20. data/doc/Sprout/Errors/ExecutableRegistrationError.html +132 -0
  21. data/doc/Sprout/Errors/ExecutionError.html +121 -0
  22. data/doc/Sprout/Errors/GeneratorError.html +125 -0
  23. data/doc/Sprout/Errors/InvalidArgumentError.html +132 -0
  24. data/doc/Sprout/Errors/LoadError.html +121 -0
  25. data/doc/Sprout/Errors/MissingArgumentError.html +132 -0
  26. data/doc/Sprout/Errors/MissingExecutableError.html +132 -0
  27. data/doc/Sprout/Errors/MissingGeneratorError.html +132 -0
  28. data/doc/Sprout/Errors/MissingTemplateError.html +132 -0
  29. data/doc/Sprout/Errors/ProcessRunnerError.html +121 -0
  30. data/doc/Sprout/Errors/RemoteFileLoaderError.html +110 -0
  31. data/doc/Sprout/Errors/SproutError.html +114 -0
  32. data/doc/Sprout/Errors/UnknownArchiveType.html +122 -0
  33. data/doc/Sprout/Errors/UsageError.html +121 -0
  34. data/doc/Sprout/Errors/ValidationError.html +121 -0
  35. data/doc/Sprout/Errors/VersionRequirementNotMetError.html +121 -0
  36. data/doc/Sprout/Executable.html +173 -0
  37. data/doc/Sprout/Executable/Boolean.html +483 -0
  38. data/doc/Sprout/Executable/ClassMethods.html +417 -0
  39. data/doc/Sprout/Executable/CollectionParam.html +483 -0
  40. data/doc/Sprout/Executable/FileParam.html +484 -0
  41. data/doc/Sprout/Executable/Files.html +292 -0
  42. data/doc/Sprout/Executable/InstanceMethods.html +2006 -0
  43. data/doc/Sprout/Executable/Number.html +141 -0
  44. data/doc/Sprout/Executable/Param.html +2818 -0
  45. data/doc/Sprout/Executable/ParameterFactory.html +232 -0
  46. data/doc/Sprout/Executable/Path.html +223 -0
  47. data/doc/Sprout/Executable/Paths.html +253 -0
  48. data/doc/Sprout/Executable/StringParam.html +213 -0
  49. data/doc/Sprout/Executable/Strings.html +167 -0
  50. data/doc/Sprout/Executable/Url.html +160 -0
  51. data/doc/Sprout/Executable/Urls.html +170 -0
  52. data/doc/Sprout/FileTarget.html +1109 -0
  53. data/doc/Sprout/Generator.html +689 -0
  54. data/doc/Sprout/Generator/Base.html +1626 -0
  55. data/doc/Sprout/Generator/Command.html +690 -0
  56. data/doc/Sprout/Generator/DirectoryManifest.html +476 -0
  57. data/doc/Sprout/Generator/FileManifest.html +572 -0
  58. data/doc/Sprout/Generator/Manifest.html +377 -0
  59. data/doc/Sprout/Generator/TemplateManifest.html +196 -0
  60. data/doc/Sprout/GeneratorGenerator.html +1018 -0
  61. data/doc/Sprout/Library.html +1141 -0
  62. data/doc/Sprout/LibraryGenerator.html +309 -0
  63. data/doc/Sprout/Log.html +496 -0
  64. data/doc/Sprout/MXMLC.html +6373 -0
  65. data/doc/Sprout/Platform.html +714 -0
  66. data/doc/Sprout/ProcessRunner.html +1352 -0
  67. data/doc/Sprout/ProgressBar.html +376 -0
  68. data/doc/Sprout/ProgressBarImpl.html +2119 -0
  69. data/doc/Sprout/ProgressBarManager.html +434 -0
  70. data/doc/Sprout/ProgressBarOutputStream.html +416 -0
  71. data/doc/Sprout/RDocParser.html +211 -0
  72. data/doc/Sprout/RemoteFileLoader.html +172 -0
  73. data/doc/Sprout/RemoteFileTarget.html +679 -0
  74. data/doc/Sprout/ReversedProgressBar.html +194 -0
  75. data/doc/Sprout/RubyFeature.html +155 -0
  76. data/doc/Sprout/RubyFeature/ClassMethods.html +1065 -0
  77. data/doc/Sprout/RubyGenerator.html +764 -0
  78. data/doc/Sprout/Specification.html +767 -0
  79. data/doc/Sprout/System.html +191 -0
  80. data/doc/Sprout/System/BaseSystem.html +1455 -0
  81. data/doc/Sprout/System/JavaSystem.html +122 -0
  82. data/doc/Sprout/System/OSXSystem.html +335 -0
  83. data/doc/Sprout/System/ThreadMock.html +193 -0
  84. data/doc/Sprout/System/UnixSystem.html +584 -0
  85. data/doc/Sprout/System/VistaSystem.html +251 -0
  86. data/doc/Sprout/System/WinNixSystem.html +325 -0
  87. data/doc/Sprout/System/WinSystem.html +571 -0
  88. data/doc/Sprout/ToolGenerator.html +931 -0
  89. data/doc/Sprout/VERSION.html +128 -0
  90. data/doc/SproutTestCase.html +1412 -0
  91. data/doc/String.html +286 -0
  92. data/doc/_index.html +1035 -0
  93. data/doc/class_list.html +36 -0
  94. data/doc/css/common.css +1 -0
  95. data/doc/css/full_list.css +53 -0
  96. data/doc/css/style.css +310 -0
  97. data/doc/file.README.html +96 -0
  98. data/doc/file.archive_unpacker.html +288 -0
  99. data/doc/file.base.html +208 -0
  100. data/doc/file.base_system.html +278 -0
  101. data/doc/file.boolean.html +135 -0
  102. data/doc/file.collection_param.html +139 -0
  103. data/doc/file.command.html +126 -0
  104. data/doc/file.concern.html +136 -0
  105. data/doc/file.daemon.html +309 -0
  106. data/doc/file.dir.html +76 -0
  107. data/doc/file.directory_manifest.html +122 -0
  108. data/doc/file.errors.html +147 -0
  109. data/doc/file.executable.html +638 -0
  110. data/doc/file.file_manifest.html +109 -0
  111. data/doc/file.file_param.html +120 -0
  112. data/doc/file.file_target.html +140 -0
  113. data/doc/file.files.html +85 -0
  114. data/doc/file.generator.html +296 -0
  115. data/doc/file.generator_class.html +72 -0
  116. data/doc/file.generator_generator.html +137 -0
  117. data/doc/file.generator_test.html +92 -0
  118. data/doc/file.generator_test_helper.html +67 -0
  119. data/doc/file.java_system.html +62 -0
  120. data/doc/file.library.html +291 -0
  121. data/doc/file.library_generator.html +74 -0
  122. data/doc/file.log.html +100 -0
  123. data/doc/file.manifest.html +67 -0
  124. data/doc/file.mxmlc.html +740 -0
  125. data/doc/file.number.html +67 -0
  126. data/doc/file.osx_system.html +79 -0
  127. data/doc/file.param.html +491 -0
  128. data/doc/file.parameter_factory.html +119 -0
  129. data/doc/file.path.html +81 -0
  130. data/doc/file.paths.html +80 -0
  131. data/doc/file.platform.html +124 -0
  132. data/doc/file.process_runner.html +224 -0
  133. data/doc/file.progress_bar.html +390 -0
  134. data/doc/file.rdoc_parser.html +145 -0
  135. data/doc/file.remote_file_loader.html +117 -0
  136. data/doc/file.remote_file_target.html +176 -0
  137. data/doc/file.ruby_base.html +64 -0
  138. data/doc/file.ruby_feature.html +244 -0
  139. data/doc/file.ruby_generator.html +118 -0
  140. data/doc/file.ruby_input.html +62 -0
  141. data/doc/file.ruby_test_case.html +78 -0
  142. data/doc/file.ruby_test_helper.html +61 -0
  143. data/doc/file.specification.html +248 -0
  144. data/doc/file.sprout.html +64 -0
  145. data/doc/file.sprout_test_case.html +280 -0
  146. data/doc/file.string.html +72 -0
  147. data/doc/file.string_param.html +76 -0
  148. data/doc/file.strings.html +71 -0
  149. data/doc/file.system.html +86 -0
  150. data/doc/file.template_manifest.html +67 -0
  151. data/doc/file.tool.html +92 -0
  152. data/doc/file.tool_generator.html +90 -0
  153. data/doc/file.unix_system.html +128 -0
  154. data/doc/file.url.html +71 -0
  155. data/doc/file.urls.html +70 -0
  156. data/doc/file.version.html +71 -0
  157. data/doc/file.vista_system.html +69 -0
  158. data/doc/file.win_nix_system.html +88 -0
  159. data/doc/file.win_system.html +129 -0
  160. data/doc/file_list.html +230 -0
  161. data/doc/frames.html +13 -0
  162. data/doc/index.html +96 -0
  163. data/doc/js/app.js +202 -0
  164. data/doc/js/full_list.js +149 -0
  165. data/doc/js/jquery.js +154 -0
  166. data/doc/method_list.html +3355 -0
  167. data/doc/top-level-namespace.html +192 -0
  168. data/lib/sprout/archive_unpacker.rb +203 -137
  169. data/lib/sprout/base.rb +38 -11
  170. data/lib/sprout/concern.rb +51 -0
  171. data/lib/sprout/daemon.rb +256 -0
  172. data/lib/sprout/executable.rb +40 -11
  173. data/lib/sprout/executable/boolean.rb +47 -1
  174. data/lib/sprout/executable/collection_param.rb +33 -1
  175. data/lib/sprout/executable/file_param.rb +16 -3
  176. data/lib/sprout/executable/files.rb +5 -0
  177. data/lib/sprout/executable/number.rb +5 -1
  178. data/lib/sprout/executable/param.rb +232 -16
  179. data/lib/sprout/executable/parameter_factory.rb +39 -1
  180. data/lib/sprout/executable/path.rb +7 -1
  181. data/lib/sprout/executable/paths.rb +6 -1
  182. data/lib/sprout/executable/string_param.rb +8 -1
  183. data/lib/sprout/executable/strings.rb +7 -1
  184. data/lib/sprout/executable/url.rb +8 -1
  185. data/lib/sprout/executable/urls.rb +7 -1
  186. data/lib/sprout/file_target.rb +11 -11
  187. data/lib/sprout/generator.rb +244 -0
  188. data/lib/sprout/generator/base.rb +0 -94
  189. data/lib/sprout/generators/generator/generator_generator.rb +35 -1
  190. data/lib/sprout/generators/generator/templates/generator_class.rb +3 -3
  191. data/lib/sprout/library.rb +75 -0
  192. data/lib/sprout/log.rb +11 -12
  193. data/lib/sprout/process_runner.rb +29 -9
  194. data/lib/sprout/remote_file_target.rb +20 -9
  195. data/lib/sprout/system/base_system.rb +11 -3
  196. data/lib/sprout/test/sprout_test_case.rb +1 -0
  197. data/lib/sprout/version.rb +7 -11
  198. data/rakefile.rb +7 -12
  199. data/script/add_param_handler.rb +43 -0
  200. data/sprout.gemspec +2 -3
  201. data/test/fixtures/executable/fdb.rb +764 -0
  202. data/test/fixtures/executable/flex3sdk_gem/fdb +60 -0
  203. data/test/fixtures/executable/mxmlc.rb +9 -11
  204. data/test/unit/daemon_test.rb +61 -0
  205. data/test/unit/process_runner_test.rb +21 -0
  206. data/test/unit/remote_file_target_test.rb +45 -11
  207. data/test/unit/sprout_test_helper.rb +1 -1
  208. metadata +210 -29
@@ -0,0 +1,109 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>File: file_manifest</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html" title="Index">Index</a> &raquo;
27
+ <span class="title">File: file_manifest</span>
28
+
29
+
30
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
31
+ </div>
32
+
33
+ <div id="search">
34
+ <a id="class_list_link" href="#">Class List</a>
35
+ <a id="method_list_link" href="#">Method List</a>
36
+ <a id ="file_list_link" href="#">File List</a>
37
+ </div>
38
+
39
+ <div class="clear"></div>
40
+ </div>
41
+
42
+ <iframe id="search_frame"></iframe>
43
+
44
+ <div id="content"><div id='filecontents'>
45
+ <p>module Sprout::Generator</p>
46
+
47
+ <pre class="code"><span class='kw'>class</span> <span class='const'>FileManifest</span> <span class='op'>&lt;</span> <span class='const'>Manifest</span>
48
+ <span class='id attr_accessor'>attr_accessor</span> <span class='symbol'>:template</span>
49
+ <span class='id attr_accessor'>attr_accessor</span> <span class='symbol'>:templates</span>
50
+
51
+ <span class='kw'>def</span> <span class='id create'>create</span>
52
+ <span class='id content'>content</span> <span class='op'>=</span> <span class='id resolve_template'>resolve_template</span>
53
+
54
+ <span class='const'>File</span><span class='period'>.</span><span class='id open'>open</span> <span class='id path'>path</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>w+</span><span class='tstring_end'>'</span></span> <span class='kw'>do</span> <span class='op'>|</span><span class='id file'>file</span><span class='op'>|</span>
55
+ <span class='id file'>file</span><span class='period'>.</span><span class='id write'>write</span> <span class='id content'>content</span>
56
+ <span class='kw'>end</span>
57
+ <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Created file: </span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
58
+ <span class='kw'>true</span>
59
+ <span class='kw'>end</span>
60
+
61
+ <span class='kw'>def</span> <span class='id destroy'>destroy</span>
62
+ <span class='kw'>if</span> <span class='op'>!</span><span class='const'>File</span><span class='period'>.</span><span class='id exists?'>exists?</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span>
63
+ <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Skipped remove missing file: </span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
64
+ <span class='kw'>return</span> <span class='kw'>true</span>
65
+ <span class='kw'>end</span>
66
+ <span class='id expected_content'>expected_content</span> <span class='op'>=</span> <span class='id resolve_template'>resolve_template</span>
67
+ <span class='id actual_content'>actual_content</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id read'>read</span> <span class='id path'>path</span>
68
+ <span class='kw'>if</span> <span class='id generator'>generator</span><span class='period'>.</span><span class='id force'>force</span> <span class='op'>||</span> <span class='id actual_content'>actual_content</span> <span class='op'>==</span> <span class='id expected_content'>expected_content</span>
69
+ <span class='const'>FileUtils</span><span class='period'>.</span><span class='id rm'>rm</span> <span class='id path'>path</span>
70
+ <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Removed file: </span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
71
+ <span class='kw'>true</span>
72
+ <span class='kw'>else</span>
73
+ <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Skipped remove file: </span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
74
+ <span class='kw'>false</span>
75
+ <span class='kw'>end</span>
76
+ <span class='kw'>end</span>
77
+
78
+ <span class='id protected'>protected</span>
79
+
80
+ <span class='kw'>def</span> <span class='id resolve_template'>resolve_template</span>
81
+ <span class='id read_source'>read_source</span>
82
+ <span class='kw'>end</span>
83
+
84
+ <span class='kw'>def</span> <span class='id read_source'>read_source</span>
85
+ <span class='id templates'>templates</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id template_path'>template_path</span><span class='op'>|</span>
86
+ <span class='id path'>path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id join'>join</span> <span class='id template_path'>template_path</span><span class='comma'>,</span> <span class='id source_name'>source_name</span>
87
+ <span class='kw'>if</span> <span class='const'>File</span><span class='period'>.</span><span class='id exists?'>exists?</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span>
88
+ <span class='kw'>return</span> <span class='const'>File</span><span class='period'>.</span><span class='id read'>read</span> <span class='id path'>path</span>
89
+ <span class='kw'>end</span>
90
+ <span class='kw'>end</span>
91
+ <span class='id raise'>raise</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>MissingTemplateError</span><span class='period'>.</span><span class='id new'>new</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Could not find template (</span><span class='embexpr_beg'>#{</span><span class='id source_name'>source_name</span><span class='rbrace'>}</span><span class='tstring_content'>) in any of the following paths:\n\n (</span><span class='embexpr_beg'>#{</span><span class='id templates'>templates</span><span class='period'>.</span><span class='id inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_content'>)\n\n</span><span class='tstring_end'>&quot;</span></span>
92
+ <span class='kw'>end</span>
93
+
94
+ <span class='kw'>def</span> <span class='id source_name'>source_name</span>
95
+ <span class='id template'>template</span> <span class='op'>||</span> <span class='const'>File</span><span class='period'>.</span><span class='id basename'>basename</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span>
96
+ <span class='kw'>end</span>
97
+ <span class='kw'>end</span></pre>
98
+
99
+ <p>end</p>
100
+ </div></div>
101
+
102
+ <div id="footer">
103
+ Generated on Wed Dec 22 11:58:32 2010 by
104
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
105
+ 0.6.3 (ruby-1.9.2).
106
+ </div>
107
+
108
+ </body>
109
+ </html>
@@ -0,0 +1,120 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>File: file_param</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html" title="Index">Index</a> &raquo;
27
+ <span class="title">File: file_param</span>
28
+
29
+
30
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
31
+ </div>
32
+
33
+ <div id="search">
34
+ <a id="class_list_link" href="#">Class List</a>
35
+ <a id="method_list_link" href="#">Method List</a>
36
+ <a id ="file_list_link" href="#">File List</a>
37
+ </div>
38
+
39
+ <div class="clear"></div>
40
+ </div>
41
+
42
+ <iframe id="search_frame"></iframe>
43
+
44
+ <div id="content"><div id='filecontents'>
45
+ <p>module Sprout</p>
46
+
47
+ <pre class="code"><span class='kw'>module</span> <span class='const'>Executable</span>
48
+
49
+ <span class='comment'>##
50
+ </span> <span class='comment'># Concrete Sprout::Executable::Param object for File values.
51
+ </span> <span class='comment'>#
52
+ </span> <span class='comment'># This class is used in Sprout::Excecutable s with:
53
+ </span> <span class='comment'>#
54
+ </span> <span class='comment'># add_param :some_name, File
55
+ </span> <span class='comment'>#
56
+ </span> <span class='comment'># This parameter is truly special in that whatever values
57
+ </span> <span class='comment'># are sent to the File parameter will be added to the underlying
58
+ </span> <span class='comment'># Rake task as prerequisites and must exist before +Sprout::Executable.execute+
59
+ </span> <span class='comment'># is called - _unless_ the parameter value
60
+ </span> <span class='comment'># matches the Sprout::Executable instance's +output+ value.
61
+ </span> <span class='comment'>#
62
+ </span> <span class='comment'># Of course this will only be the case if there is a Rake
63
+ </span> <span class='comment'># task wrapper for the Executable, if the Sprout::Executable
64
+ </span> <span class='comment'># is being used to create a Ruby executable, then these File
65
+ </span> <span class='comment'># parameters will only be validated before execution.
66
+ </span> <span class='comment'>#
67
+ </span> <span class='comment'># @see Sprout::Executable::Param
68
+ </span> <span class='comment'>#
69
+ </span> <span class='kw'>class</span> <span class='const'>FileParam</span> <span class='op'>&lt;</span> <span class='const'>Param</span>
70
+
71
+ <span class='id attr_accessor'>attr_accessor</span> <span class='symbol'>:file_task_name</span>
72
+
73
+ <span class='kw'>def</span> <span class='id initialize'>initialize</span>
74
+ <span class='kw'>super</span>
75
+ <span class='ivar'>@option_parser_type_name</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>FILE</span><span class='tstring_end'>'</span></span>
76
+ <span class='kw'>end</span>
77
+
78
+ <span class='kw'>def</span> <span class='id shell_value'>shell_value</span>
79
+ <span class='id clean_path'>clean_path</span> <span class='id value'>value</span>
80
+ <span class='kw'>end</span>
81
+
82
+ <span class='kw'>def</span> <span class='id prepare_prerequisites'>prepare_prerequisites</span>
83
+ <span class='kw'>if</span> <span class='id file_task_name'>file_task_name</span>
84
+ <span class='kw'>self</span><span class='period'>.</span><span class='id value'>value</span> <span class='op'>||=</span> <span class='id belongs_to'>belongs_to</span><span class='period'>.</span><span class='id rake_task_name'>rake_task_name</span>
85
+ <span class='kw'>return</span>
86
+ <span class='kw'>end</span>
87
+
88
+ <span class='kw'>if</span> <span class='id prerequisite?'>prerequisite?</span><span class='lparen'>(</span><span class='id value'>value</span><span class='rparen'>)</span>
89
+ <span class='id file'>file</span> <span class='id value'>value</span>
90
+ <span class='id belongs_to'>belongs_to</span><span class='period'>.</span><span class='id prerequisites'>prerequisites</span> <span class='op'>&lt;&lt;</span> <span class='id value'>value</span>
91
+ <span class='kw'>end</span>
92
+ <span class='kw'>end</span>
93
+
94
+ <span class='kw'>def</span> <span class='id validate'>validate</span>
95
+ <span class='kw'>super</span>
96
+
97
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='op'>!</span><span class='id file_task_name'>file_task_name</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id value'>value</span><span class='period'>.</span><span class='id nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='const'>File</span><span class='period'>.</span><span class='id exists?'>exists?</span><span class='lparen'>(</span><span class='id value'>value</span><span class='rparen'>)</span><span class='rparen'>)</span>
98
+ <span class='id raise'>raise</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>InvalidArgumentError</span><span class='period'>.</span><span class='id new'>new</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>No such file or directory - </span><span class='embexpr_beg'>#{</span><span class='id value'>value</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
99
+ <span class='kw'>end</span>
100
+ <span class='kw'>end</span>
101
+
102
+ <span class='id private'>private</span>
103
+
104
+ <span class='kw'>def</span> <span class='id prerequisite?'>prerequisite?</span><span class='lparen'>(</span><span class='id file'>file</span><span class='rparen'>)</span>
105
+ <span class='id file'>file</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id file_is_output?'>file_is_output?</span><span class='lparen'>(</span><span class='id file'>file</span><span class='rparen'>)</span>
106
+ <span class='kw'>end</span>
107
+ <span class='kw'>end</span>
108
+ <span class='kw'>end</span></pre>
109
+
110
+ <p>end</p>
111
+ </div></div>
112
+
113
+ <div id="footer">
114
+ Generated on Wed Dec 22 11:58:31 2010 by
115
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
116
+ 0.6.3 (ruby-1.9.2).
117
+ </div>
118
+
119
+ </body>
120
+ </html>
@@ -0,0 +1,140 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>File: file_target</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html" title="Index">Index</a> &raquo;
27
+ <span class="title">File: file_target</span>
28
+
29
+
30
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
31
+ </div>
32
+
33
+ <div id="search">
34
+ <a id="class_list_link" href="#">Class List</a>
35
+ <a id="method_list_link" href="#">Method List</a>
36
+ <a id ="file_list_link" href="#">File List</a>
37
+ </div>
38
+
39
+ <div class="clear"></div>
40
+ </div>
41
+
42
+ <iframe id="search_frame"></iframe>
43
+
44
+ <div id="content"><div id='filecontents'>
45
+ <p>module Sprout</p>
46
+
47
+ <pre class="code"><span class='comment'># This is a class that is generally used by the Sprout::Specification::add_file_target method.
48
+ </span><span class='comment'>#
49
+ </span><span class='comment'># File targets are files that are embedded into (or referred to by) a RubyGem in such a way
50
+ </span><span class='comment'># that Sprouts can use them as a library or executable.
51
+ </span><span class='comment'>#
52
+ </span><span class='comment'># A given FileTarget may be configured to work on a specific platform, or it may be
53
+ </span><span class='comment'># universal.
54
+ </span><span class='comment'>#
55
+ </span><span class='kw'>class</span> <span class='const'>FileTarget</span>
56
+
57
+ <span class='id attr_accessor'>attr_accessor</span> <span class='symbol'>:load_path</span>
58
+ <span class='id attr_accessor'>attr_accessor</span> <span class='symbol'>:pkg_name</span>
59
+ <span class='id attr_accessor'>attr_accessor</span> <span class='symbol'>:pkg_version</span>
60
+ <span class='id attr_accessor'>attr_accessor</span> <span class='symbol'>:platform</span>
61
+
62
+ <span class='id attr_reader'>attr_reader</span> <span class='symbol'>:executables</span>
63
+ <span class='id attr_reader'>attr_reader</span> <span class='symbol'>:libraries</span>
64
+
65
+ <span class='kw'>def</span> <span class='id initialize'>initialize</span>
66
+ <span class='ivar'>@executables</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
67
+ <span class='ivar'>@libraries</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
68
+ <span class='ivar'>@load_path</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>.</span><span class='tstring_end'>'</span></span>
69
+ <span class='ivar'>@platform</span> <span class='op'>=</span> <span class='symbol'>:universal</span>
70
+ <span class='kw'>yield</span> <span class='kw'>self</span> <span class='kw'>if</span> <span class='id block_given?'>block_given?</span>
71
+ <span class='kw'>end</span>
72
+
73
+ <span class='comment'>##
74
+ </span> <span class='comment'># This is a template method that will be called
75
+ </span> <span class='comment'># so that RemoteFileTarget subclasses and load
76
+ </span> <span class='comment'># the appropriate files at the appropriate time.
77
+ </span> <span class='comment'># Admittedly kind of smelly, other ideas welcome...
78
+ </span> <span class='kw'>def</span> <span class='id resolve'>resolve</span>
79
+ <span class='kw'>end</span>
80
+
81
+ <span class='comment'>##
82
+ </span> <span class='comment'># Add a library to the package.
83
+ </span> <span class='comment'>#
84
+ </span> <span class='comment'># @return [Sprout::Library] The newly created library that was added.
85
+ </span> <span class='comment'># @param name [Symbol] Name that will be used to retrieve this library on +load+.
86
+ </span> <span class='comment'># @param path [File, Path, Array] File or files that will be associated with
87
+ </span> <span class='comment'># this library and copied into the target project library folder when loaded.
88
+ </span> <span class='comment'># (If the path is a directory, all files forward of that directory will be included.)
89
+ </span> <span class='kw'>def</span> <span class='id add_library'>add_library</span> <span class='id name'>name</span><span class='comma'>,</span> <span class='id path'>path</span>
90
+ <span class='kw'>if</span> <span class='id path'>path</span><span class='period'>.</span><span class='id is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Array</span><span class='rparen'>)</span>
91
+ <span class='id path'>path</span> <span class='op'>=</span> <span class='id path'>path</span><span class='period'>.</span><span class='id collect'>collect</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id p'>p</span><span class='op'>|</span> <span class='id expand_local_path'>expand_local_path</span><span class='lparen'>(</span><span class='id p'>p</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
92
+ <span class='kw'>else</span>
93
+ <span class='id path'>path</span> <span class='op'>=</span> <span class='id expand_local_path'>expand_local_path</span> <span class='id path'>path</span>
94
+ <span class='kw'>end</span>
95
+ <span class='id library'>library</span> <span class='op'>=</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>Library</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span> <span class='symbol'>:name</span> <span class='op'>=&gt;</span> <span class='id name'>name</span><span class='comma'>,</span> <span class='symbol'>:path</span> <span class='op'>=&gt;</span> <span class='id path'>path</span><span class='comma'>,</span> <span class='symbol'>:file_target</span> <span class='op'>=&gt;</span> <span class='kw'>self</span> <span class='rparen'>)</span>
96
+ <span class='id libraries'>libraries</span> <span class='op'>&lt;&lt;</span> <span class='id library'>library</span>
97
+ <span class='id library'>library</span>
98
+ <span class='kw'>end</span>
99
+
100
+ <span class='comment'>##
101
+ </span> <span class='comment'># Add an executable to the RubyGem package.
102
+ </span> <span class='comment'>#
103
+ </span> <span class='comment'># @param name [Symbol] that will be used to retrieve this executable later.
104
+ </span> <span class='comment'># @param path [File] relative path to the executable that will be associated
105
+ </span> <span class='comment'># with this name.
106
+ </span> <span class='comment'>#
107
+ </span> <span class='kw'>def</span> <span class='id add_executable'>add_executable</span> <span class='id name'>name</span><span class='comma'>,</span> <span class='id path'>path</span>
108
+ <span class='id path'>path</span> <span class='op'>=</span> <span class='id expand_local_path'>expand_local_path</span> <span class='id path'>path</span>
109
+ <span class='id executables'>executables</span> <span class='op'>&lt;&lt;</span> <span class='const'>OpenStruct</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span> <span class='symbol'>:name</span> <span class='op'>=&gt;</span> <span class='id name'>name</span><span class='comma'>,</span> <span class='symbol'>:path</span> <span class='op'>=&gt;</span> <span class='id path'>path</span><span class='comma'>,</span> <span class='symbol'>:file_target</span> <span class='op'>=&gt;</span> <span class='kw'>self</span> <span class='rparen'>)</span>
110
+ <span class='kw'>end</span>
111
+
112
+ <span class='kw'>def</span> <span class='id to_s'>to_s</span>
113
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>[FileTarget pkg_name=</span><span class='embexpr_beg'>#{</span><span class='id pkg_name'>pkg_name</span><span class='rbrace'>}</span><span class='tstring_content'> pkg_version=</span><span class='embexpr_beg'>#{</span><span class='id pkg_version'>pkg_version</span><span class='rbrace'>}</span><span class='tstring_content'> platform=</span><span class='embexpr_beg'>#{</span><span class='id platform'>platform</span><span class='rbrace'>}</span><span class='tstring_content'>]</span><span class='tstring_end'>&quot;</span></span>
114
+ <span class='kw'>end</span>
115
+
116
+ <span class='kw'>def</span> <span class='id validate'>validate</span>
117
+ <span class='id raise'>raise</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>UsageError</span><span class='period'>.</span><span class='id new'>new</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>FileTarget.pkg_name is required</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>if</span> <span class='id pkg_name'>pkg_name</span><span class='period'>.</span><span class='id nil?'>nil?</span>
118
+ <span class='id raise'>raise</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>UsageError</span><span class='period'>.</span><span class='id new'>new</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>FileTarget.pkg_version is required</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>if</span> <span class='id pkg_version'>pkg_version</span><span class='period'>.</span><span class='id nil?'>nil?</span>
119
+ <span class='kw'>end</span>
120
+
121
+ <span class='comment'>##
122
+ </span> <span class='comment'># This is a template method that is overridden
123
+ </span> <span class='comment'># by RemoteFileTarget.
124
+ </span> <span class='kw'>def</span> <span class='id expand_local_path'>expand_local_path</span> <span class='id path'>path</span>
125
+ <span class='const'>File</span><span class='period'>.</span><span class='id join'>join</span> <span class='id load_path'>load_path</span><span class='comma'>,</span> <span class='id path'>path</span>
126
+ <span class='kw'>end</span>
127
+
128
+ <span class='kw'>end</span></pre>
129
+
130
+ <p>end</p>
131
+ </div></div>
132
+
133
+ <div id="footer">
134
+ Generated on Wed Dec 22 11:58:32 2010 by
135
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
136
+ 0.6.3 (ruby-1.9.2).
137
+ </div>
138
+
139
+ </body>
140
+ </html>
@@ -0,0 +1,85 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>File: files</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html" title="Index">Index</a> &raquo;
27
+ <span class="title">File: files</span>
28
+
29
+
30
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
31
+ </div>
32
+
33
+ <div id="search">
34
+ <a id="class_list_link" href="#">Class List</a>
35
+ <a id="method_list_link" href="#">Method List</a>
36
+ <a id ="file_list_link" href="#">File List</a>
37
+ </div>
38
+
39
+ <div class="clear"></div>
40
+ </div>
41
+
42
+ <iframe id="search_frame"></iframe>
43
+
44
+ <div id="content"><div id='filecontents'>
45
+ <p>module Sprout</p>
46
+
47
+ <pre class="code"><span class='kw'>module</span> <span class='const'>Executable</span>
48
+
49
+ <span class='comment'>##
50
+ </span> <span class='comment'># Concrete param object for collections of files
51
+ </span> <span class='comment'>#
52
+ </span> <span class='comment'># @see Sprout::Executable::FileParam
53
+ </span> <span class='comment'># @see Sprout::Executable::Param
54
+ </span> <span class='comment'># @see Sprout::Executable::CollectionParam
55
+ </span> <span class='comment'>#
56
+ </span> <span class='kw'>class</span> <span class='const'>Files</span> <span class='op'>&lt;</span> <span class='const'>Executable</span><span class='op'>::</span><span class='const'>Param</span>
57
+ <span class='id include'>include</span> <span class='const'>CollectionParam</span>
58
+
59
+ <span class='kw'>def</span> <span class='id to_shell_value'>to_shell_value</span>
60
+ <span class='id value'>value</span><span class='period'>.</span><span class='id collect'>collect</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id path'>path</span><span class='op'>|</span>
61
+ <span class='id clean_path'>clean_path</span> <span class='id path'>path</span>
62
+ <span class='kw'>end</span>
63
+ <span class='kw'>end</span>
64
+
65
+ <span class='kw'>def</span> <span class='id prepare_prerequisites'>prepare_prerequisites</span>
66
+ <span class='id value'>value</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id f'>f</span><span class='op'>|</span>
67
+ <span class='id file'>file</span> <span class='id f'>f</span>
68
+ <span class='id belongs_to'>belongs_to</span><span class='period'>.</span><span class='id prerequisites'>prerequisites</span> <span class='op'>&lt;&lt;</span> <span class='id f'>f</span>
69
+ <span class='kw'>end</span>
70
+ <span class='kw'>end</span>
71
+
72
+ <span class='kw'>end</span>
73
+ <span class='kw'>end</span></pre>
74
+
75
+ <p>end</p>
76
+ </div></div>
77
+
78
+ <div id="footer">
79
+ Generated on Wed Dec 22 11:58:31 2010 by
80
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
81
+ 0.6.3 (ruby-1.9.2).
82
+ </div>
83
+
84
+ </body>
85
+ </html>