autobuild 0.5.1 → 0.6

Sign up to get free protection for your applications and to get access to all the features.
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