autobuild 0.5.1 → 0.6

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 (345) hide show
  1. data/CHANGES +10 -3
  2. data/README +106 -273
  3. data/Rakefile +14 -19
  4. data/TODO +5 -0
  5. data/bin/autobuild +17 -67
  6. data/doc/classes/Autobuild.html +320 -57
  7. data/doc/classes/{Autobuild/Config.src/M000040.html → Autobuild.src/M000005.html} +8 -5
  8. data/doc/classes/{Autobuild/Config.src/M000041.html → Autobuild.src/M000006.html} +3 -3
  9. data/doc/classes/Autobuild.src/M000007.html +18 -0
  10. data/doc/classes/Autobuild.src/M000008.html +18 -0
  11. data/doc/classes/Autobuild.src/M000009.html +18 -0
  12. data/doc/classes/Autobuild.src/M000010.html +18 -0
  13. data/doc/classes/Autobuild.src/M000011.html +18 -0
  14. data/doc/classes/Autobuild.src/M000012.html +18 -0
  15. data/doc/classes/Autobuild.src/M000013.html +25 -0
  16. data/doc/classes/Autobuild.src/M000014.html +19 -0
  17. data/doc/classes/Autobuild.src/M000015.html +19 -0
  18. data/doc/classes/Autobuild.src/M000016.html +16 -0
  19. data/doc/classes/Autobuild.src/M000017.html +20 -0
  20. data/doc/classes/Autobuild.src/M000018.html +18 -0
  21. data/doc/classes/Autobuild.src/M000019.html +52 -0
  22. data/doc/classes/Autobuild.src/M000020.html +44 -0
  23. data/doc/classes/Autobuild.src/M000021.html +19 -0
  24. data/doc/classes/Autobuild.src/M000022.html +19 -0
  25. data/doc/classes/Autobuild.src/M000023.html +20 -0
  26. data/doc/classes/Autobuild.src/M000024.html +22 -0
  27. data/doc/classes/Autobuild.src/M000033.html +31 -0
  28. data/doc/classes/Autobuild.src/M000034.html +32 -10
  29. data/doc/classes/Autobuild.src/M000035.html +4 -5
  30. data/doc/classes/Autobuild.src/M000036.html +4 -30
  31. data/doc/classes/Autobuild.src/M000037.html +4 -5
  32. data/doc/classes/Autobuild.src/M000038.html +4 -5
  33. data/doc/classes/Autobuild.src/M000039.html +4 -6
  34. data/doc/classes/Autobuild.src/M000040.html +18 -0
  35. data/doc/classes/Autobuild.src/M000041.html +25 -0
  36. data/doc/classes/Autobuild.src/M000042.html +19 -0
  37. data/doc/classes/Autobuild.src/M000043.html +19 -0
  38. data/doc/classes/Autobuild.src/M000044.html +16 -0
  39. data/doc/classes/Autobuild.src/M000045.html +20 -0
  40. data/doc/classes/Autobuild.src/M000046.html +18 -0
  41. data/doc/classes/Autobuild.src/M000047.html +52 -0
  42. data/doc/classes/Autobuild.src/M000048.html +44 -0
  43. data/doc/classes/Autobuild.src/M000049.html +19 -0
  44. data/doc/classes/Autobuild.src/M000050.html +19 -0
  45. data/doc/classes/Autobuild.src/M000051.html +20 -0
  46. data/doc/classes/Autobuild.src/M000052.html +22 -0
  47. data/doc/classes/Autobuild/Autotools.html +103 -58
  48. data/doc/classes/Autobuild/Autotools.src/M000055.html +20 -0
  49. data/doc/classes/Autobuild/Autotools.src/M000056.html +20 -0
  50. data/doc/classes/Autobuild/Autotools.src/M000057.html +16 -0
  51. data/doc/classes/Autobuild/Autotools.src/M000058.html +16 -0
  52. data/doc/classes/Autobuild/Autotools.src/M000059.html +22 -0
  53. data/doc/classes/Autobuild/Autotools.src/M000060.html +29 -0
  54. data/doc/classes/Autobuild/Autotools.src/M000061.html +21 -0
  55. data/doc/classes/Autobuild/Autotools.src/M000062.html +20 -0
  56. data/doc/classes/Autobuild/Autotools.src/{M000067.html → M000063.html} +4 -10
  57. data/doc/classes/Autobuild/Autotools.src/M000083.html +20 -0
  58. data/doc/classes/Autobuild/Autotools.src/M000084.html +20 -0
  59. data/doc/classes/Autobuild/Autotools.src/M000085.html +16 -0
  60. data/doc/classes/Autobuild/Autotools.src/M000086.html +16 -0
  61. data/doc/classes/Autobuild/Autotools.src/M000087.html +22 -0
  62. data/doc/classes/Autobuild/Autotools.src/M000088.html +29 -0
  63. data/doc/classes/Autobuild/Autotools.src/M000089.html +21 -0
  64. data/doc/classes/Autobuild/Autotools.src/M000090.html +20 -0
  65. data/doc/classes/Autobuild/Autotools.src/M000091.html +32 -0
  66. data/doc/classes/Autobuild/CVSImporter.html +11 -11
  67. data/doc/classes/Autobuild/CVSImporter.src/M000036.html +26 -0
  68. data/doc/classes/Autobuild/CVSImporter.src/{M000049.html → M000037.html} +1 -1
  69. data/doc/classes/Autobuild/CVSImporter.src/M000064.html +26 -0
  70. data/doc/classes/Autobuild/CVSImporter.src/M000065.html +18 -0
  71. data/doc/classes/Autobuild/CommandNotFound.html +6 -0
  72. data/doc/classes/Autobuild/ConfigException.html +6 -0
  73. data/doc/classes/Autobuild/{Options.html → DarcsImporter.html} +13 -11
  74. data/doc/classes/Autobuild/DarcsImporter.src/M000044.html +20 -0
  75. data/doc/classes/Autobuild/DarcsImporter.src/M000072.html +20 -0
  76. data/doc/classes/Autobuild/Exception.html +38 -20
  77. data/doc/classes/Autobuild/Exception.src/{M000103.html → M000087.html} +1 -1
  78. data/doc/classes/Autobuild/Exception.src/{M000104.html → M000088.html} +1 -1
  79. data/doc/classes/Autobuild/Exception.src/{M000105.html → M000089.html} +2 -3
  80. data/doc/classes/Autobuild/Exception.src/M000090.html +24 -0
  81. data/doc/classes/Autobuild/Exception.src/M000115.html +16 -0
  82. data/doc/classes/Autobuild/Exception.src/M000116.html +16 -0
  83. data/doc/classes/Autobuild/Exception.src/M000117.html +18 -0
  84. data/doc/classes/Autobuild/Exception.src/M000118.html +24 -0
  85. data/doc/classes/Autobuild/GenomModule.html +83 -37
  86. data/doc/classes/Autobuild/GenomModule.src/M000091.html +19 -0
  87. data/doc/classes/Autobuild/GenomModule.src/{M000107.html → M000092.html} +2 -1
  88. data/doc/classes/Autobuild/GenomModule.src/{M000108.html → M000093.html} +1 -1
  89. data/doc/classes/Autobuild/GenomModule.src/{M000109.html → M000094.html} +2 -2
  90. data/doc/classes/Autobuild/GenomModule.src/{M000110.html → M000095.html} +4 -6
  91. data/doc/classes/Autobuild/GenomModule.src/{M000112.html → M000096.html} +2 -4
  92. data/doc/classes/Autobuild/GenomModule.src/{M000111.html → M000097.html} +3 -3
  93. data/doc/classes/Autobuild/GenomModule.src/M000098.html +36 -0
  94. data/doc/classes/Autobuild/GenomModule.src/M000119.html +19 -0
  95. data/doc/classes/Autobuild/GenomModule.src/M000120.html +21 -0
  96. data/doc/classes/Autobuild/GenomModule.src/M000121.html +16 -0
  97. data/doc/classes/Autobuild/GenomModule.src/M000122.html +18 -0
  98. data/doc/classes/Autobuild/GenomModule.src/M000123.html +27 -0
  99. data/doc/classes/Autobuild/GenomModule.src/M000124.html +24 -0
  100. data/doc/classes/Autobuild/GenomModule.src/M000125.html +19 -0
  101. data/doc/classes/Autobuild/GenomModule.src/M000126.html +36 -0
  102. data/doc/classes/Autobuild/Import.html +5 -43
  103. data/doc/classes/Autobuild/Import.src/{M000047.html → M000033.html} +0 -0
  104. data/doc/classes/Autobuild/Import.src/{M000045.html → M000061.html} +4 -4
  105. data/doc/classes/Autobuild/Importer.html +10 -10
  106. data/doc/classes/Autobuild/Importer.src/{M000056.html → M000034.html} +1 -1
  107. data/doc/classes/Autobuild/Importer.src/{M000057.html → M000035.html} +3 -3
  108. data/doc/classes/Autobuild/Importer.src/M000062.html +18 -0
  109. data/doc/classes/Autobuild/Importer.src/M000063.html +38 -0
  110. data/doc/classes/Autobuild/ImporterPackage.html +16 -16
  111. data/doc/classes/Autobuild/ImporterPackage.src/{M000115.html → M000099.html} +1 -1
  112. data/doc/classes/Autobuild/ImporterPackage.src/{M000116.html → M000100.html} +3 -3
  113. data/doc/classes/Autobuild/ImporterPackage.src/{M000117.html → M000101.html} +1 -1
  114. data/doc/classes/Autobuild/{Autotools.src/M000065.html → ImporterPackage.src/M000127.html} +4 -4
  115. data/doc/classes/Autobuild/ImporterPackage.src/M000128.html +22 -0
  116. data/doc/classes/Autobuild/ImporterPackage.src/M000129.html +16 -0
  117. data/doc/classes/Autobuild/Interpolator.html +27 -27
  118. data/doc/classes/Autobuild/Interpolator.src/{M000051.html → M000039.html} +1 -1
  119. data/doc/classes/Autobuild/Interpolator.src/{M000052.html → M000040.html} +1 -1
  120. data/doc/classes/Autobuild/Interpolator.src/{M000053.html → M000041.html} +1 -1
  121. data/doc/classes/Autobuild/Interpolator.src/{M000054.html → M000042.html} +1 -1
  122. data/doc/classes/Autobuild/Interpolator.src/{M000055.html → M000043.html} +1 -1
  123. data/doc/classes/Autobuild/Interpolator.src/M000067.html +18 -0
  124. data/doc/classes/Autobuild/Interpolator.src/M000068.html +21 -0
  125. data/doc/classes/Autobuild/Interpolator.src/M000069.html +45 -0
  126. data/doc/classes/Autobuild/Interpolator.src/M000070.html +39 -0
  127. data/doc/classes/Autobuild/Interpolator.src/M000071.html +29 -0
  128. data/doc/classes/Autobuild/MailReporter.html +31 -25
  129. data/doc/classes/Autobuild/MailReporter.src/{M000060.html → M000045.html} +1 -1
  130. data/doc/classes/Autobuild/MailReporter.src/{M000061.html → M000046.html} +1 -1
  131. data/doc/classes/Autobuild/MailReporter.src/{M000062.html → M000047.html} +1 -1
  132. data/doc/classes/Autobuild/MailReporter.src/{M000063.html → M000048.html} +1 -1
  133. data/doc/classes/Autobuild/MailReporter.src/{M000064.html → M000049.html} +1 -1
  134. data/doc/classes/Autobuild/MailReporter.src/M000073.html +24 -0
  135. data/doc/classes/Autobuild/MailReporter.src/M000074.html +21 -0
  136. data/doc/classes/Autobuild/MailReporter.src/M000075.html +20 -0
  137. data/doc/classes/Autobuild/MailReporter.src/M000076.html +18 -0
  138. data/doc/classes/Autobuild/MailReporter.src/M000077.html +42 -0
  139. data/doc/classes/Autobuild/Package.html +132 -81
  140. data/doc/classes/Autobuild/Package.src/M000073.html +16 -0
  141. data/doc/classes/Autobuild/Package.src/M000074.html +16 -0
  142. data/doc/classes/Autobuild/Package.src/{M000085.html → M000075.html} +2 -2
  143. data/doc/classes/Autobuild/Package.src/M000076.html +56 -0
  144. data/doc/classes/Autobuild/Package.src/M000077.html +16 -0
  145. data/doc/classes/Autobuild/Package.src/{M000091.html → M000078.html} +3 -3
  146. data/doc/classes/Autobuild/Package.src/M000079.html +28 -0
  147. data/doc/classes/Autobuild/Package.src/M000080.html +23 -0
  148. data/doc/classes/Autobuild/Package.src/{M000086.html → M000081.html} +1 -1
  149. data/doc/classes/Autobuild/Package.src/{M000087.html → M000082.html} +3 -3
  150. data/doc/classes/Autobuild/Package.src/M000101.html +16 -0
  151. data/doc/classes/Autobuild/Package.src/M000102.html +16 -0
  152. data/doc/classes/Autobuild/Package.src/M000103.html +16 -0
  153. data/doc/classes/Autobuild/Package.src/M000104.html +56 -0
  154. data/doc/classes/Autobuild/Package.src/M000105.html +16 -0
  155. data/doc/classes/Autobuild/Package.src/M000106.html +16 -0
  156. data/doc/classes/Autobuild/Package.src/M000107.html +28 -0
  157. data/doc/classes/Autobuild/Package.src/M000108.html +23 -0
  158. data/doc/classes/Autobuild/Package.src/M000109.html +19 -0
  159. data/doc/classes/Autobuild/Package.src/{M000093.html → M000110.html} +4 -4
  160. data/doc/classes/Autobuild/PackageException.html +11 -5
  161. data/doc/classes/Autobuild/PackageException.src/{M000059.html → M000050.html} +1 -1
  162. data/doc/classes/Autobuild/PackageException.src/M000078.html +16 -0
  163. data/doc/classes/Autobuild/Reporter.html +16 -10
  164. data/doc/classes/Autobuild/Reporter.src/{M000074.html → M000053.html} +1 -1
  165. data/doc/classes/Autobuild/Reporter.src/{M000075.html → M000054.html} +1 -1
  166. data/doc/classes/Autobuild/Reporter.src/M000081.html +16 -0
  167. data/doc/classes/Autobuild/Reporter.src/M000082.html +16 -0
  168. data/doc/classes/Autobuild/Reporting.html +60 -33
  169. data/doc/classes/Autobuild/Reporting.src/{M000095.html → M000025.html} +1 -1
  170. data/doc/classes/Autobuild/Reporting.src/{M000096.html → M000026.html} +1 -1
  171. data/doc/classes/Autobuild/Reporting.src/{M000097.html → M000027.html} +1 -1
  172. data/doc/classes/Autobuild/Reporting.src/{M000098.html → M000028.html} +1 -1
  173. data/doc/classes/Autobuild/Reporting.src/{M000099.html → M000029.html} +2 -2
  174. data/doc/classes/Autobuild/Reporting.src/M000053.html +24 -0
  175. data/doc/classes/Autobuild/Reporting.src/M000054.html +18 -0
  176. data/doc/classes/Autobuild/Reporting.src/M000055.html +18 -0
  177. data/doc/classes/Autobuild/Reporting.src/M000056.html +18 -0
  178. data/doc/classes/Autobuild/Reporting.src/M000057.html +18 -0
  179. data/doc/classes/Autobuild/{SVNImporter.html → SVN.html} +8 -8
  180. data/doc/classes/Autobuild/SVN.src/M000038.html +22 -0
  181. data/doc/classes/Autobuild/SVN.src/M000066.html +22 -0
  182. data/doc/classes/Autobuild/SourceTreeTask.html +5 -5
  183. data/doc/classes/Autobuild/SourceTreeTask.src/{M000114.html → M000083.html} +1 -1
  184. data/doc/classes/Autobuild/SourceTreeTask.src/M000111.html +18 -0
  185. data/doc/classes/Autobuild/StdoutReporter.html +16 -10
  186. data/doc/classes/Autobuild/StdoutReporter.src/{M000072.html → M000051.html} +1 -1
  187. data/doc/classes/Autobuild/StdoutReporter.src/{M000073.html → M000052.html} +1 -1
  188. data/doc/classes/Autobuild/StdoutReporter.src/M000079.html +18 -0
  189. data/doc/classes/Autobuild/StdoutReporter.src/M000080.html +18 -0
  190. data/doc/classes/Autobuild/SubcommandFailed.html +21 -15
  191. data/doc/classes/Autobuild/SubcommandFailed.src/{M000100.html → M000084.html} +1 -1
  192. data/doc/classes/Autobuild/SubcommandFailed.src/{M000101.html → M000085.html} +2 -2
  193. data/doc/classes/Autobuild/SubcommandFailed.src/{M000102.html → M000086.html} +1 -1
  194. data/doc/classes/Autobuild/SubcommandFailed.src/M000112.html +16 -0
  195. data/doc/classes/Autobuild/SubcommandFailed.src/M000113.html +32 -0
  196. data/doc/classes/Autobuild/SubcommandFailed.src/M000114.html +20 -0
  197. data/doc/classes/Autobuild/Subprocess.html +10 -10
  198. data/doc/classes/Autobuild/Subprocess.src/{M000042.html → M000030.html} +0 -0
  199. data/doc/classes/Autobuild/Subprocess.src/{M000043.html → M000031.html} +4 -2
  200. data/doc/classes/Autobuild/Subprocess.src/M000058.html +18 -0
  201. data/doc/classes/Autobuild/Subprocess.src/M000059.html +98 -0
  202. data/doc/classes/Autobuild/Subprocess/Failed.html +5 -5
  203. data/doc/classes/Autobuild/Subprocess/Failed.src/{M000044.html → M000032.html} +0 -0
  204. data/doc/classes/Autobuild/Subprocess/Failed.src/M000060.html +18 -0
  205. data/doc/classes/Autobuild/TarImporter.html +35 -35
  206. data/doc/classes/Autobuild/TarImporter.src/{M000076.html → M000064.html} +0 -0
  207. data/doc/classes/Autobuild/TarImporter.src/{M000077.html → M000065.html} +0 -0
  208. data/doc/classes/Autobuild/TarImporter.src/{M000078.html → M000066.html} +0 -0
  209. data/doc/classes/Autobuild/TarImporter.src/{M000079.html → M000067.html} +0 -0
  210. data/doc/classes/Autobuild/TarImporter.src/{M000080.html → M000068.html} +0 -0
  211. data/doc/classes/Autobuild/TarImporter.src/{M000081.html → M000069.html} +1 -1
  212. data/doc/classes/Autobuild/TarImporter.src/{M000082.html → M000070.html} +2 -2
  213. data/doc/classes/Autobuild/TarImporter.src/M000092.html +28 -0
  214. data/doc/classes/Autobuild/TarImporter.src/M000093.html +53 -0
  215. data/doc/classes/Autobuild/TarImporter.src/M000094.html +26 -0
  216. data/doc/classes/Autobuild/TarImporter.src/M000095.html +16 -0
  217. data/doc/classes/Autobuild/TarImporter.src/M000096.html +20 -0
  218. data/doc/classes/Autobuild/TarImporter.src/M000097.html +20 -0
  219. data/doc/classes/Autobuild/TarImporter.src/M000098.html +30 -0
  220. data/doc/classes/Autobuild/UndefinedVariable.html +12 -12
  221. data/doc/classes/Autobuild/UndefinedVariable.src/{M000083.html → M000071.html} +1 -1
  222. data/doc/classes/Autobuild/UndefinedVariable.src/{M000084.html → M000072.html} +1 -1
  223. data/doc/classes/Autobuild/UndefinedVariable.src/M000099.html +19 -0
  224. data/doc/classes/Autobuild/{Exception.src/M000106.html → UndefinedVariable.src/M000100.html} +3 -4
  225. data/doc/classes/Hash.html +12 -12
  226. data/doc/classes/Hash.src/{M000019.html → M000002.html} +1 -1
  227. data/doc/classes/Hash.src/M000003.html +23 -0
  228. data/doc/classes/Hash.src/M000020.html +11 -8
  229. data/doc/classes/Hash.src/M000021.html +23 -0
  230. data/doc/classes/RMail/Message.html +8 -5
  231. data/doc/classes/RMail/Message.src/{M000033.html → M000004.html} +1 -1
  232. data/doc/classes/RMail/Message.src/M000028.html +25 -0
  233. data/doc/classes/TC_CVSImport.html +15 -15
  234. data/doc/classes/{TC_TarImporter.src/M000009.html → TC_CVSImport.src/M000025.html} +7 -6
  235. data/doc/classes/TC_CVSImport.src/M000026.html +6 -7
  236. data/doc/classes/TC_CVSImport.src/M000027.html +22 -7
  237. data/doc/classes/TC_Config.html +20 -20
  238. data/doc/classes/TC_Config.src/{M000001.html → M000006.html} +0 -0
  239. data/doc/classes/TC_Config.src/{M000002.html → M000007.html} +0 -0
  240. data/doc/classes/TC_Config.src/{M000003.html → M000008.html} +0 -0
  241. data/doc/classes/TC_Config.src/{M000004.html → M000009.html} +0 -0
  242. data/doc/classes/TC_ConfigInterpolation.html +20 -20
  243. data/doc/classes/TC_ConfigInterpolation.src/{M000015.html → M000002.html} +0 -0
  244. data/doc/classes/TC_ConfigInterpolation.src/{M000016.html → M000003.html} +0 -0
  245. data/doc/classes/TC_ConfigInterpolation.src/{M000017.html → M000004.html} +0 -0
  246. data/doc/classes/TC_ConfigInterpolation.src/{M000018.html → M000005.html} +0 -0
  247. data/doc/classes/TC_SVNImport.html +15 -15
  248. data/doc/classes/TC_SVNImport.src/{M000005.html → M000017.html} +0 -0
  249. data/doc/classes/TC_SVNImport.src/{M000006.html → M000018.html} +0 -0
  250. data/doc/classes/TC_SVNImport.src/{M000007.html → M000019.html} +0 -0
  251. data/doc/classes/TC_Subcommand.html +15 -15
  252. data/doc/classes/TC_Subcommand.src/M000022.html +17 -4
  253. data/doc/classes/TC_Subcommand.src/M000023.html +4 -16
  254. data/doc/classes/TC_Subcommand.src/M000024.html +30 -0
  255. data/doc/classes/TC_TarImporter.html +35 -35
  256. data/doc/classes/TC_TarImporter.src/M000010.html +14 -6
  257. data/doc/classes/TC_TarImporter.src/M000011.html +7 -6
  258. data/doc/classes/TC_TarImporter.src/M000012.html +6 -12
  259. data/doc/classes/TC_TarImporter.src/M000013.html +6 -17
  260. data/doc/classes/TC_TarImporter.src/M000014.html +11 -9
  261. data/doc/classes/TC_TarImporter.src/M000015.html +31 -0
  262. data/doc/classes/TC_TarImporter.src/M000016.html +24 -0
  263. data/doc/created.rid +1 -1
  264. data/doc/files/README.html +378 -0
  265. data/doc/files/{lib/autobuild/options_rb.html → demo_rb.html} +19 -5
  266. data/doc/files/lib/autobuild/config_rb.html +30 -7
  267. data/doc/files/lib/autobuild/config_rb.src/M000001.html +18 -0
  268. data/doc/files/lib/autobuild/environment_rb.html +1 -1
  269. data/doc/files/lib/autobuild/exceptions_rb.html +1 -1
  270. data/doc/files/lib/autobuild/import/cvs_rb.html +2 -1
  271. data/doc/files/{test/base_rb.html → lib/autobuild/import/darcs_rb.html} +8 -11
  272. data/doc/files/lib/autobuild/import/svn_rb.html +1 -1
  273. data/doc/files/lib/autobuild/import/tar_rb.html +1 -1
  274. data/doc/files/lib/autobuild/importer_rb.html +2 -1
  275. data/doc/files/lib/autobuild/{config-interpolator_rb.html → loaders/config-interpolator_rb.html} +3 -3
  276. data/doc/files/lib/autobuild/loaders/config_rb.html +113 -0
  277. data/doc/files/lib/autobuild/package_rb.html +1 -1
  278. data/doc/files/lib/autobuild/packages/autotools_rb.html +2 -1
  279. data/doc/files/lib/autobuild/packages/genom_rb.html +1 -1
  280. data/doc/files/lib/autobuild/packages/import_rb.html +1 -1
  281. data/doc/files/lib/autobuild/reporting_rb.html +2 -1
  282. data/doc/files/lib/autobuild/subcommand_rb.html +1 -1
  283. data/doc/files/lib/autobuild/timestamps_rb.html +2 -1
  284. data/doc/files/{test/test_attr_defval_rb.html → lib/autobuild_rb.html} +7 -6
  285. data/doc/files/test/test_config_interpolation_rb.html +2 -2
  286. data/doc/files/test/test_config_rb.html +2 -2
  287. data/doc/files/test/test_import_cvs_rb.html +1 -1
  288. data/doc/files/test/test_import_svn_rb.html +1 -1
  289. data/doc/files/test/test_import_tar_rb.html +1 -1
  290. data/doc/files/test/test_subcommand_rb.html +2 -2
  291. data/doc/files/test/tools_rb.html +1 -1
  292. data/doc/fr_class_index.html +0 -37
  293. data/doc/fr_file_index.html +1 -25
  294. data/doc/fr_method_index.html +0 -117
  295. data/doc/index.html +1 -1
  296. data/lib/autobuild.rb +3 -0
  297. data/lib/autobuild/config.rb +87 -153
  298. data/lib/autobuild/environment.rb +4 -1
  299. data/lib/autobuild/exceptions.rb +19 -5
  300. data/lib/autobuild/import/cvs.rb +11 -10
  301. data/lib/autobuild/import/darcs.rb +32 -0
  302. data/lib/autobuild/import/svn.rb +10 -13
  303. data/lib/autobuild/import/tar.rb +3 -3
  304. data/lib/autobuild/importer.rb +5 -4
  305. data/lib/autobuild/package.rb +109 -69
  306. data/lib/autobuild/packages/autotools.rb +112 -69
  307. data/lib/autobuild/packages/genom.rb +48 -32
  308. data/lib/autobuild/packages/import.rb +6 -4
  309. data/lib/autobuild/reporting.rb +48 -19
  310. data/lib/autobuild/subcommand.rb +7 -9
  311. data/lib/autobuild/timestamps.rb +6 -5
  312. data/test/test_import_cvs.rb +7 -14
  313. data/test/test_import_svn.rb +6 -20
  314. data/test/test_import_tar.rb +3 -8
  315. data/test/test_subcommand.rb +7 -14
  316. data/test/tools.rb +5 -0
  317. metadata +336 -226
  318. data/doc/classes/Autobuild/Autotools.src/M000066.html +0 -26
  319. data/doc/classes/Autobuild/Autotools.src/M000068.html +0 -53
  320. data/doc/classes/Autobuild/Autotools.src/M000069.html +0 -28
  321. data/doc/classes/Autobuild/Autotools.src/M000070.html +0 -23
  322. data/doc/classes/Autobuild/Autotools.src/M000071.html +0 -22
  323. data/doc/classes/Autobuild/CVSImporter.src/M000048.html +0 -24
  324. data/doc/classes/Autobuild/Config.html +0 -146
  325. data/doc/classes/Autobuild/GenomModule.src/M000113.html +0 -35
  326. data/doc/classes/Autobuild/Import.src/M000046.html +0 -18
  327. data/doc/classes/Autobuild/Options.src/M000058.html +0 -27
  328. data/doc/classes/Autobuild/Package.src/M000088.html +0 -41
  329. data/doc/classes/Autobuild/Package.src/M000089.html +0 -22
  330. data/doc/classes/Autobuild/Package.src/M000090.html +0 -23
  331. data/doc/classes/Autobuild/Package.src/M000092.html +0 -24
  332. data/doc/classes/Autobuild/Package.src/M000094.html +0 -23
  333. data/doc/classes/Autobuild/SVNImporter.src/M000050.html +0 -23
  334. data/doc/classes/TC_AttrDefval.html +0 -152
  335. data/doc/classes/TC_AttrDefval.src/M000024.html +0 -31
  336. data/doc/classes/TC_AttrDefval.src/M000025.html +0 -22
  337. data/doc/classes/TC_CVSImport.src/M000028.html +0 -36
  338. data/doc/classes/TC_Subcommand.src/M000021.html +0 -31
  339. data/doc/classes/TC_TarImporter.src/M000008.html +0 -28
  340. data/lib/autobuild/config-interpolator.rb +0 -107
  341. data/lib/autobuild/options.rb +0 -22
  342. data/test/base.rb +0 -8
  343. data/test/test_attr_defval.rb +0 -29
  344. data/test/test_config.rb +0 -40
  345. data/test/test_config_interpolation.rb +0 -57
@@ -1,8 +1,9 @@
1
1
  module Autobuild
2
+ ## Adds an element to a path-like variable
2
3
  def self.pathvar(path, varname)
3
4
  if File.directory?(path)
4
5
  oldpath = ENV[varname]
5
- if oldpath.empty?
6
+ if oldpath.nil? || oldpath.empty?
6
7
  ENV[varname] = path
7
8
  else
8
9
  ENV[varname] = "#{path}:#{oldpath}"
@@ -10,6 +11,8 @@ module Autobuild
10
11
  end
11
12
  end
12
13
 
14
+ ## Updates the environment when a new prefix has been added
15
+ # TODO: modularize that
13
16
  def self.update_environment(newprefix)
14
17
  pathvar("#{newprefix}/bin", 'PATH')
15
18
  pathvar("#{newprefix}/lib/pkgconfig", 'PKG_CONFIG_PATH')
@@ -1,26 +1,40 @@
1
1
  module Autobuild
2
+ ## Base class for all Autobuild exceptions
2
3
  class Exception < RuntimeError
4
+ ## If the error should be reported by mail
3
5
  def mail?; false end
6
+ ## If the error is fatal
4
7
  def fatal?; true end
5
8
  attr_accessor :target, :phase
6
9
 
10
+ ## Creates a new exception which occured while doing *phase*
11
+ # in *target*
7
12
  def initialize(target = nil, phase = nil)
8
- @target = target
9
- @phase = phase
13
+ @target, @phase = target, phase
10
14
  end
11
15
 
12
16
  alias :exception_message :to_s
13
17
  def to_s
14
- "#{target}: failed in #{phase} phase"
15
- " #{super}"
18
+ if target && phase
19
+ "#{target}: failed in #{phase} phase\n #{super}"
20
+ elsif target
21
+ "#{target}: #{super}"
22
+ else
23
+ super
24
+ end
16
25
  end
17
26
  end
27
+
28
+ ## There is an error/inconsistency in the configuration
18
29
  class ConfigException < Exception; end
30
+ ## An error occured in a package
19
31
  class PackageException < Exception
20
32
  def mail?; true end
21
33
  end
22
34
 
35
+ ## The subcommand is not found
23
36
  class CommandNotFound < Exception; end
37
+ ## An error occured while running a subcommand
24
38
  class SubcommandFailed < Exception
25
39
  def mail?; true end
26
40
  attr_reader :command, :logfile, :status
@@ -39,7 +53,7 @@ module Autobuild
39
53
  super(target)
40
54
  @command = command
41
55
  @logfile = logfile
42
- @status = status
56
+ @status = status
43
57
  end
44
58
 
45
59
  def to_s
@@ -1,15 +1,18 @@
1
+ require 'autobuild/config'
1
2
  require 'autobuild/subcommand'
2
3
  require 'autobuild/importer'
3
4
 
4
5
  module Autobuild
5
6
  class CVSImporter < Importer
6
- def initialize(root, name, options)
7
+ def initialize(root, name, options = {})
7
8
  @root = root
8
9
  @module = name
9
10
 
10
- @program = ($PROGRAMS[:cvs] || 'cvs')
11
- @options_up = ( options[:cvsup] || '-dP' ).to_a
12
- @options_co = ( options[:cvsco] || '-P' ).to_a
11
+ @program = Autobuild.tool('cvs')
12
+ @options_up = options[:cvsup] || '-dP'
13
+ @options_up = Array[*@options_up]
14
+ @options_co = options[:cvsco] || '-P'
15
+ @options_co = Array[*@options_co]
13
16
  super(options)
14
17
  end
15
18
 
@@ -21,7 +24,7 @@ module Autobuild
21
24
 
22
25
  def update(package)
23
26
  Dir.chdir(package.srcdir) {
24
- Subprocess.run(package.target, :import, @program, 'up', *@options_up)
27
+ Subprocess.run(package.name, :import, @program, 'up', *@options_up)
25
28
  }
26
29
  end
27
30
 
@@ -32,15 +35,13 @@ module Autobuild
32
35
  FileUtils.mkdir_p(head) if !File.directory?(head)
33
36
  Dir.chdir(head) {
34
37
  options = [ @program, '-d', cvsroot, 'co', '-d', tail ] + @options_co + [ modulename ]
35
- Subprocess.run(package.target, :import, *options)
38
+ Subprocess.run(package.name, :import, *options)
36
39
  }
37
40
  end
38
41
  end
39
42
 
40
- module Import
41
- def self.cvs(source, package_options)
42
- CVSImporter.new(source[0], source[1], package_options)
43
- end
43
+ def self.cvs(repo, name, package_options = {})
44
+ CVSImporter.new(repo, name, package_options)
44
45
  end
45
46
  end
46
47
 
@@ -0,0 +1,32 @@
1
+ require 'autobuild/config'
2
+ require 'autobuild/subcommand'
3
+ require 'autobuild/importer'
4
+
5
+ module Autobuild
6
+ class DarcsImporter < Importer
7
+ def initialize(source, options = {})
8
+ @source = source
9
+ @program = Autobuild.tool('darcs')
10
+ super(options)
11
+ @pull = [*options[:pull]]
12
+ @get = [*options[:get]]
13
+ end
14
+
15
+ private
16
+
17
+ def update(package)
18
+ Subprocess.run(package.name, :import, @program,
19
+ 'pull', '--all', "--repodir=#{package.srcdir}", '--set-scripts-executable', @source, *@pull)
20
+ end
21
+
22
+ def checkout(package)
23
+ Subprocess.run(package.name, :import, @program,
24
+ 'get', '--set-scripts-executable', @source, package.srcdir, *@get)
25
+ end
26
+ end
27
+
28
+ def self.darcs(source, options = {})
29
+ DarcsImporter.new(source, options)
30
+ end
31
+ end
32
+
@@ -2,13 +2,12 @@ require 'autobuild/subcommand'
2
2
  require 'autobuild/importer'
3
3
 
4
4
  module Autobuild
5
- class SVNImporter < Importer
6
- def initialize(source, options)
7
- @source = source.to_a.join("/")
8
-
9
- @program = ($PROGRAMS[:svn] || 'svn')
10
- @options_up = options[:svnup].to_a
11
- @options_co = options[:svnco].to_a
5
+ class SVN < Importer
6
+ def initialize(source, options = {})
7
+ @source = [*source].join("/")
8
+ @program = Autobuild.tool('svn')
9
+ @options_up = [*options[:svnup]]
10
+ @options_co = [*options[:svnco]]
12
11
  super(options)
13
12
  end
14
13
 
@@ -16,20 +15,18 @@ module Autobuild
16
15
 
17
16
  def update(package)
18
17
  Dir.chdir(package.srcdir) {
19
- Subprocess.run(package.target, :import, @program, 'up', *@options_up)
18
+ Subprocess.run(package.name, :import, @program, 'up', *@options_up)
20
19
  }
21
20
  end
22
21
 
23
22
  def checkout(package)
24
23
  options = [ @program, 'co' ] + @options_co + [ @source, package.srcdir ]
25
- Subprocess.run(package.target, :import, *options)
24
+ Subprocess.run(package.name, :import, *options)
26
25
  end
27
26
  end
28
27
 
29
- module Import
30
- def self.svn(source, options)
31
- SVNImporter.new(source, options)
32
- end
28
+ def self.svn(source, options = {})
29
+ SVN.new(source, options)
33
30
  end
34
31
  end
35
32
 
@@ -91,7 +91,7 @@ module Autobuild
91
91
  def update(package)
92
92
  checkout if update_cache
93
93
  rescue OpenURI::HTTPError
94
- raise Autobuild::Exception.new(package.target, :import)
94
+ raise Autobuild::Exception.new(package.name, :import)
95
95
  end
96
96
 
97
97
  def checkout(package)
@@ -101,10 +101,10 @@ module Autobuild
101
101
  FileUtils.mkdir_p base_dir
102
102
  cmd = [ 'tar', "x#{TAR_OPTION[mode]}f", cachefile, '-C', base_dir ]
103
103
 
104
- Subprocess.run(package.target, :import, *cmd)
104
+ Subprocess.run(package.name, :import, *cmd)
105
105
 
106
106
  rescue OpenURI::HTTPError
107
- raise Autobuild::Exception.new(package.target, :import)
107
+ raise Autobuild::Exception.new(package.name, :import)
108
108
  rescue SubcommandFailed
109
109
  FileUtils.rm_f cachefile
110
110
  raise
@@ -1,3 +1,4 @@
1
+ require 'autobuild/config'
1
2
  require 'autobuild/exceptions'
2
3
 
3
4
  class Autobuild::Importer
@@ -8,11 +9,11 @@ class Autobuild::Importer
8
9
  def import(package)
9
10
  srcdir = package.srcdir
10
11
  if File.directory?(srcdir)
11
- if $UPDATE
12
+ if Autobuild.do_update
12
13
  update(package)
13
14
  patch(package)
14
15
  else
15
- puts "Not updating #{package.target}"
16
+ puts "Not updating #{package.name}"
16
17
  return
17
18
  end
18
19
 
@@ -38,9 +39,9 @@ class Autobuild::Importer
38
39
  end
39
40
 
40
41
  def call_patch(package, reverse, file)
41
- patch = ($PROGRAMS['patch'] || 'patch')
42
+ patch = Autobuild.tool('patch')
42
43
  Dir.chdir(package.srcdir) {
43
- Subprocess.run(package.target, :patch, patch, '-p0', (reverse ? '-R' : nil), "<#{file}")
44
+ Subprocess.run(package.name, :patch, patch, '-p0', (reverse ? '-R' : nil), "<#{file}")
44
45
  }
45
46
  end
46
47
 
@@ -2,97 +2,137 @@ require 'autobuild/timestamps'
2
2
  require 'autobuild/environment'
3
3
  require 'autobuild/subcommand'
4
4
 
5
+ module Autobuild
6
+ TARGETS = %w{import prepare build}
7
+ end
8
+
9
+ # Basic block for the autobuilder
10
+ #
11
+ # The build is done in three phases:
12
+ # - import
13
+ # - prepare
14
+ # - build & install
5
15
  class Autobuild::Package
6
16
  @@packages = {}
7
17
  @@provides = {}
8
18
 
19
+ # the package name
20
+ attr_reader :name
21
+ # set the source directory. If a relative path is given,
22
+ # it is relative to Autobuild.srcdir. Defaults to #name
23
+ attr_writer :srcdir
24
+ # set the installation directory. If a relative path is given,
25
+ # it is relative to Autobuild.prefix. Defaults to ''
26
+ attr_writer :prefix
27
+
28
+ # The importer object for this package
29
+ attr_accessor :import
30
+
31
+ # The list of packages this one depends upon
9
32
  attr_reader :dependencies
10
- attr_reader :target, :srcdir, :prefix
11
33
 
12
- def installstamp; "#{prefix}/#{target}-#{STAMPFILE}" end
34
+ # Absolute path to the source directory. See #srcdir=
35
+ def srcdir; File.expand_path(@srcdir || name, Autobuild.srcdir) end
36
+ # Absolute path to the installation directory. See #prefix=
37
+ def prefix; File.expand_path(@prefix || '', Autobuild.prefix) end
13
38
 
14
- def self.each(with_provides = false, &p)
15
- @@packages.each(&p)
16
- @@provides.each(&p) if with_provides
17
- end
18
- def self.[](target)
19
- @@packages[target] or @@provides[target]
20
- end
21
-
22
- ## Available options
23
- # srcdir: the source dir. If a relative path, it is based on $SRCDIR
24
- # prefix: the install dir. If a relative path, it is based on $PREFIX
25
- # import: the package importer object
26
- # depends: the list of package name we depend upon
27
- # provides: a list of aliases for this package
39
+ # The file which marks when the last sucessful install
40
+ # has finished. The path is absolute
28
41
  #
29
- # $SRCDIR and $PREFIX are supposed to be valid absolute paths
30
- def initialize(target, options)
31
- @target = Package.name2target(target)
32
- raise ConfigException, "package #{target} is already defined" if Package[target]
33
-
34
- @options = options
35
- @dependencies = Array.new
36
- @provides = Array.new
37
-
38
- srcdir, prefix =
39
- (options[:srcdir] or target.to_s),
40
- (options[:prefix] or "")
41
-
42
- srcdir = File.expand_path(srcdir, $SRCDIR)
43
- prefix = File.expand_path(prefix, $PREFIX)
44
-
45
- @srcdir, @prefix = srcdir, prefix
46
- @import = options[:import]
47
- @import.import(self) if @import
42
+ # A package is sucessfully built when it is installed
43
+ def installstamp; "#{prefix}/#{name}-#{STAMPFILE}" end
44
+
45
+ def initialize(spec)
46
+ @dependencies = Array.new
47
+ @provides = Array.new
48
+
49
+ if Hash === spec
50
+ name, depends = spec.to_a.first
51
+ else
52
+ name, depends = spec, nil
53
+ end
54
+
55
+ name = name.to_s
56
+ @name = name
57
+ raise ConfigException, "package #{name} is already defined" if Package[name]
58
+ @@packages[name] = self
48
59
 
60
+ # Call the config block (if any)
61
+ yield(self) if block_given?
62
+
63
+ # Declare the installation stampfile
49
64
  file installstamp
50
- task @target => installstamp
65
+ task "#{name}-build" => installstamp
66
+ task :build => "#{name}-build"
51
67
 
52
- @options[:depends].to_a.each { |p| depends_on(p) }
53
- @options[:provides].to_a.each { |p| provides(p) }
54
- @@packages[target] = self
55
- end
68
+ # Add dependencies declared in spec
69
+ depends_on *depends if depends
56
70
 
57
- @@factories = Hash.new
71
+ # Define the import task
72
+ task "#{name}-import" do import end
73
+ task :import => "#{name}-import"
58
74
 
59
- def depends_on(p)
60
- p = Package.name2target(p)
61
- task target => p
62
- puts "#{target} depends on #{p}"
75
+ # Define the prepare task
76
+ task "#{name}-prepare" do prepare end
77
+ task :prepare => "#{name}-prepare"
63
78
 
64
- @dependencies << p
79
+ task(name) do
80
+ Rake::Task["#{name}-import"].invoke
81
+ Rake::Task["#{name}-prepare"].invoke
82
+ Rake::Task["#{name}-build"].invoke
83
+ end
84
+ task :default => name
65
85
  end
66
86
 
67
- def provides(p)
68
- p = Package.name2target(p)
69
- @@provides[p] = self
70
- puts "Defining #{p} as an alias to #{target}"
71
- task p => target
72
-
73
- @provides << p
87
+ def import; @import.import(self) if @import end
88
+ def prepare; end
89
+
90
+ # This package depends on +packages+
91
+ def depends_on(*packages)
92
+ packages.each do |p|
93
+ p = p.to_s
94
+ next if p == name
95
+ unless Package[p]
96
+ raise ConfigException.new(name), "package #{p} not defined"
97
+ end
98
+ file installstamp => Package[p].installstamp
99
+ task "#{name}-import" => "#{p}-import"
100
+ task "#{name}-prepare" => "#{p}-prepare"
101
+ @dependencies << p
102
+ end
74
103
  end
75
104
 
76
- def self.all; @@packages; end
77
- def self.name2target(name)
78
- if name.respond_to?(:to_str)
79
- name.to_str.gsub(/-\//, '_').to_sym
80
- elsif name.respond_to?(:to_sym)
81
- name.to_sym
82
- else
83
- raise TypeError, "expected either a symbol or a string, got #{name.class}"
105
+ # Declare that this package provides +packages+
106
+ def provides(*packages)
107
+ packages.each do |p|
108
+ p = p.to_s
109
+ @@provides[p] = self
110
+ task p => name
111
+ @provides << p
84
112
  end
85
113
  end
86
- def self.factory(type, klass)
87
- @@factories[type] = klass
114
+
115
+ # Iterates on all available packages
116
+ # if with_provides is true, includes the list
117
+ # of package aliases
118
+ def self.each(with_provides = false, &p)
119
+ @@packages.each(&p)
120
+ @@provides.each(&p) if with_provides
121
+ end
122
+
123
+ # Gets a package from its name
124
+ def self.[](name)
125
+ @@packages[name.to_s] || @@provides[name.to_s]
88
126
  end
89
- def self.build(type, name, options)
90
- raise ConfigException, "#{type} is not a valide package type" if !@@factories.has_key?(type)
127
+ end
91
128
 
92
- target = name2target(name)
93
- task :default => [ target ]
94
- raise ConfigException, "there is already a package named #{target}" if Package[target]
95
- return @@factories[type].new(target, options)
129
+ module Autobuild
130
+ def self.package_set(spec)
131
+ spec.each do |name, packages|
132
+ Autobuild::TARGETS.each do |target|
133
+ task "#{name}-#{target}" => packages.map { |dep| "#{dep}-#{target}" }
134
+ end
135
+ end
96
136
  end
97
137
  end
98
138