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
data/CHANGES CHANGED
@@ -1,4 +1,13 @@
1
- = Autobuild changelog
1
+ = Autobuild ChangeLog
2
+
3
+ == Version 0.6
4
+
5
+ Use a Ruby-based DSL instead of YAML config files. It is waaaaaay more
6
+ powerful and waaay cleaner. See demo.rb for an example
7
+
8
+ * Added the Darcs importer
9
+ * Fixes in dependency handling
10
+ * Uses Rake 0.7
2
11
 
3
12
  == Version 0.5.1
4
13
 
@@ -6,8 +15,6 @@ Fixes the release process, in which the bin/ directory was not distributed
6
15
 
7
16
  * 0.5 gem did not include bin/autobuild (which obviously was not good). Fix that
8
17
 
9
-
10
-
11
18
  == Version 0.5
12
19
 
13
20
  Fixes the mail default behaviour. Added the 'tar' importer.
data/README CHANGED
@@ -1,305 +1,138 @@
1
1
  = Introduction
2
+
3
+ == WARNING for 0.5 users
4
+ Old configuration files used with autobuild 0.5 aren't accepted by Autobuild 0.6. Since 0.6, Autobuild
5
+ uses Ruby for configuration (just like rake does)
6
+
2
7
  == What's autobuild ?
3
8
  Autobuild is a builder for a set of software packages. It takes as input a yaml config file as input and
4
9
 
5
10
  * imports the package from a SCM or (optionnaly) updates it
6
- * configures it (for instance for autoconf-based packages)
7
- * builds and installs it
8
-
9
- It takes the dependencies between packages into account in its build process.
10
-
11
- == Example config explained
12
-
13
- 1. This section is not used at all by autobuild. It is only here to define references
14
- used in the reste of the config file
15
-
16
- defines:
17
- openrobots: ':ext:sjoyeux@cvs.laas.fr/cvs/openrobots'
18
- openprs_cvs: ':ext:sjoyeux@cvs.laas.fr:/usr/local/openprs/CVS-Repository'
19
- global_prefix: /home/doudou/laas/openrobots
20
- srcdir: ${global_prefix}/tools
21
- prefix: ${global_prefix}/build/tools
22
-
23
- 2. <tt>autobuild</tt> holds the configuration of the build tool itself. See the
24
- <b>Autobuild configuration</b> section for the available configuration options.
25
-
26
- autobuild:
27
- srcdir: $srcdir
28
- prefix: $prefix
29
- clean_log: true
30
-
31
- mail:
32
- to: sjoyeux@laas.fr
33
-
34
- environment:
35
- PATH: [ "/bin", "/usr/bin" ]
36
- LD_LIBRARY_PATH:
37
- PKG_CONFIG_PATH:
38
-
39
- 3. +programs+ defines the tools autobuild should use instead of the its default values.
40
- See each the rest of the documentation to know what values are used.
41
-
42
- programs:
43
- aclocal: "aclocal-1.9"
44
- automake: "automake-1.9"
45
-
46
-
47
- 4. the +packages+ sections is where packages are defined
48
-
49
- packages:
50
-
51
- 5. options in <tt>common</tt> are merged in each package configuration. See
52
- <b>Configuring packages</b> for the detailed merging rules.
53
-
54
- config:
55
- prefix: ""
56
-
57
- 6. Tell autobuild to build the pocolibs package. Two common options here:
58
- *type*:: the builder to use. Available package types are currently +autotools+,
59
- +import+ and +genom+ (a tool used at my lab;)). See the <b>Available
60
- package types</b> section for their configuration.
61
- *import*:: the importer to use. Source definition for the importer is always in
62
- the +source+ option.
63
-
64
- pocolibs:
65
- type: autotools
66
- import: cvs
67
- source: [ $openrobots, pocolibs ]
68
-
69
-
70
- 7. Autobuild takes the dependencies between packages into account. Just list in +depends+
71
- the packages which should be installed before this one is built.
72
-
73
- genom:
74
- type: autotools
75
- import: cvs
76
- source: [ $openrobots, genom ]
77
- depends: pocolibs
78
-
79
-
80
-
81
-
82
-
83
- = Configuration file
84
-
85
- The config file is {a Yaml file}[http://yaml4r.sourceforge.net/cookbook]. It is a hash where
86
- each element is a section:
87
-
88
- section1:
89
- option1: value
90
- option2: value
91
- section2:
92
-
93
- In the documentation, I'll sometime use paths to reference the config options. For instance,
94
- +option1+ is <tt>section1/option1</tt>. The +to+ option in the configuration example
95
- is <tt>autobuild/mail/to</tt>
96
-
97
- Autobuild uses three sections:
98
-
99
- <b>autobuild</b>:: main autobuild configuration. See <b>Autobuild configuration</b> below
100
- *programs*:: the programs used by importers and builders. See each tool
101
- documentation for the list of used options
102
- *packages*:: the list of packages to build. See <b>Package configuration</b> below
103
- *defines*:: this is used for variable interpolation. Any key/value pair defined in
104
- this section can be used later in other parts of the config files using
105
- the $key or ${key} notation
106
-
107
- == Autobuild configuration (<tt>autobuild</tt>)
108
- === Misc options
109
- *update*:: if false, do not update the packages that are already imported (default: true). You
110
- can also use the <tt>--no-update</tt> on the command line
111
-
11
+ * configures it. This phase can handle code generation, configuration (for instance for autotools-based
12
+ packages), ...
13
+ * build
14
+ * install
15
+
16
+ It takes the dependencies between packages into account in its build process, updates the needed environment
17
+ variables (+PKG_CONFIG_PATH+, +PATH+, +LD_LIBRARY_PATH+, ...)
18
+
19
+ == Available packages
20
+ === Common usage
21
+ All package objects define the following attributes
22
+ *importer*:: the importer object (see "Available importers" below)
23
+ *srcdir*:: where the package sources are located. If it is a relative
24
+ path, it is relative to the value of Autobuild.srcdir. The default is to
25
+ use the package name.
26
+ *prefix*:: the directory where the package should be installed. If it is a relative
27
+ path, it is relative to the value of Autobuild.prefix. The default is to
28
+ use the package name.
29
+
30
+ Each package method (Autobuild.import, Autobuild.autotools, ...) takes either a package
31
+ name for first argument, or a <tt>name => dependency_array</tt> hash, and take a block which
32
+ can be used to configure the package. For instance
33
+ Autobuild.import :my_package do |pkg|
34
+ pkg.srcdir = 'my_package_dir'
35
+ end
36
+
37
+ Autobuild.import :my_package => [:depends, :depends_also] do |pkg|
38
+ end
39
+
40
+ === Source only
41
+ package = Autobuild.import(dependencies) do |pkg|
42
+ <package configuration>
43
+ end
112
44
 
113
- === Directories (<tt>autobuild/srcdir</tt>, <tt>autobuild/prefix</tt> and <tt>autobuild/logdir</tt>)
114
- *srcdir*:: the path where programs are to be imported. See <b>Packages configuration</b> for
115
- more information on how this option is used.
116
- *prefix*:: the path where programs are to be installed. See <b>Packages configuration</b> for more
117
- information on how this option is used.
118
- *logdir*:: by default, autobuild does not displays the output of each subcommand it launches.
119
- Insteads, it saves this output in log files. These log files are saved in +logdir+.
120
- The default value is <tt>prefix/autobuild</tt>
121
- <b>clean_log</b>:: if we must remove all logfiles before each autobuild run or if we should append to them. The
122
- default is +true+, that is log files are removed. Note that if mailing is active, all log
123
- files are attached to notification mail.
124
- *nice*:: The priority at which autobuild should launch subprocesses
125
-
126
-
127
- === Environment (<tt>autobuild/environment</tt>)
128
- The <tt>autobuild/environment</tt> section lists the initial values for
129
- the environment variables. While packages builders shall update the environment
130
- variables as needed, you can have to set up a proper initial environment. Arrays
131
- are converted into strings by joining elements by ':'
132
-
133
- For instance
134
- autobuild:
135
- environment:
136
- PATH: [ "/bin", "/usr/bin" ]
137
- LD_LIBRARY_PATH:
138
- PKG_CONFIG_PATH:
139
-
140
- sets
141
-
142
- PATH="/bin:/usr/bin"
143
- LD_LIBRARY_PATH=""
144
- PKG_CONFIG_PATH=""
145
-
146
-
147
- === Mail (<tt>autobuild/mail</tt>)
148
- Use this options if you want to receive a mail when the build has finished (on success and failures)
149
-
150
- autobuild:
151
- mail: true
152
-
153
- Valid options are:
154
- *to*:: the mail destination, default is <tt>user@hostname</tt> (for instance sylvain@localhost for a user 'sylvain')
155
- *from*:: the mail source, default is <tt>user@hostname</tt>
156
- *smtp*:: the stmp server to use. Default is +localhost+
157
- *port*:: the port the server is running on. Default is the smtp port (25)
158
-
159
- All log files relative to the current build are attached to the mail.
160
-
161
-
162
- == Configuring packages (<tt>packages/*</tt>)
163
- === The <tt>packages/config</tt> section
164
- If you want to add common options in each package, just set it them here. Note that the options
165
- are /merged/ in the package config. It neither replaces the values in the package nor the package
166
- options replaces them. The merging strategy depends on the way the option is specified in this common section:
167
- * if it is an array, the package option is converted to an array and the common options are appended
168
- * if it is a string, the package option is converted to a string and the common option are appended
169
- with a space inserted between the two
170
- * if it is a boolean value, it is <em>overriden</em> by the package value
171
- * any other values are forbidden
45
+ Use +import+ if you need the package sources but don't need to build it. You just need
46
+ to set +importer+ and +srcdir+. +prefix+ is ignored.
172
47
 
173
- To ease the config file writing, all options that accept arrays also accept a string when there
174
- is only one element. <b>Do not</b> do that in the <tt>common</tt> option.
48
+ === Autotools
49
+ package = Autobuild.autotools(name, dependencies) do |pkg|
50
+ <package configuration>
51
+ end
175
52
 
176
- === Package definition
177
- All subsections of the <tt>packages/</tt> section but <tt>common</tt> are package definitions
178
- The section name is used as the package name. The package definition sets up the importer to get the
179
- source and the builder to build and install it.
53
+ Use this to build GNU autotools-based packages. This handles autoconf-only packages as
54
+ well as those using automake
180
55
 
181
- *type*:: the package type. See the <b>Available package types</b> sections
56
+ Options to give the +configure+ script are given in the +configureflags+ array
57
+ pkg.configureflags = ['--with-blah', 'FOO=bar' ]
182
58
 
183
- *srcdir*:: where sources are to be imported. If this is a relative path, it is relative to the global
184
- <tt>/autobuild/srcdir</tt> option. Otherwise, the absolute path is used. If no +srcdir+
185
- is given, the package name is used, so that the default import dir is
186
- <em>global srcdir</em>/<em>package_name</em>.
187
-
188
- *Note* because of most SCM operations, it is forbidden that two packages have the same srcdir.
189
- Empty srcdir are forbidden for the same reason.
59
+ If you want the files produced during the build to be separated from the source files, set the +builddir+ attribute.
60
+ For now, it has to be a relative path, relative to the source directory.
61
+ pkg.builddir = 'build'
190
62
 
191
- *importer*::
192
- the importer type. For now, only +cvs+ and +svn+ are available. See the <b>Available importers</b>
193
- section.
63
+ The generation of the configure script uses four programs: +autoheader+, +autoconf+, +aclocal+,
64
+ +automake+. The default program path can be overriden in the Autotools.programs hash. For
65
+ instance, to be sure that <tt>automake-1.9</tt> is used <bb>for all packages</bb>, you set
194
66
 
195
- *patch*:: the list of patch we should apply. Patches are applied in order, with -p0. Autobuild
196
- remembers the list of already applied patches, and will handle the changes to this list gracefully.
197
- Since relative paths for patch files are relative to the autobuild working directory, I recommend
198
- you put absolute paths here.
67
+ Autotools.programs['automake'] = 'automake-1.9'
199
68
 
200
- *source*:: where the importer should get the sources. The format of this options depends on
201
- the importer used. See Available importers.
69
+ Autobuild tries to detect what tools it should run, but you can override. Autodetection works
70
+ as follows:
71
+ * if a script named +autogen+ or +autogen.sh+ exists in the package source directory, it is run
72
+ and the other tools are not. The name of this kind of script can be set by calling Autotools#use
73
+ pkg.use :autogen => 'my_autogen_script'
74
+ * +autoheader+ is never used by default
75
+ * +autoconf+ is used if there is <tt>configure.ac</tt> or <tt>configure.in</tt> in the source dir
76
+ * +aclocal+ is used if +autoconf+ is enabled (either explicitely or by autodetection)
77
+ * +automake+ is used if there is a <tt>Makefile.am</tt> file in the source dir
78
+ * you can force to enable or disable any of these steps by calling Autotools#use. Set it to +true+
79
+ to force its usage, +false+ to disable it or to a string to force the usage of a particular program
80
+ pkg.use :autogen => false
81
+ pkg.use :automake => false
82
+ pkg.use :autoheader => true
83
+ pkg.use :autoconf => 'my_autoconf_program'
202
84
 
203
- *prefix*:: where the program is to be installed. If this is a relative path, it is relative to the global
204
- <tt>/autobuild/prefix</tt> option. Otherwise, the absolute path is used. If no prefix
205
- is given, the package name is used, so that the default install dir is
206
- <em>global prefix</em>/<em>package name</em>
85
+ The 'autogen' option cannot be set to +true+.
207
86
 
208
- *depends*:: the array of packages that should be built and installed before this one is built. <tt>depends: [ foo ]</tt>
209
- is equivalent to <tt>depends: foo</tt>. To make the use of +depends+ in the <tt>common</tt>
210
- section possible, this package name is automatically removed from the package +depends+ array.
211
- *provides*:: defines aliases for this package. As for +depends+, an array with only element can be replaced
212
- by the simple value.
87
+ The only program used during the build and install phases is +make+. Its path can be overriden
88
+ in the Autobuild.programs hash
89
+ Autobuild.programs['make'] = 'gnumake'
213
90
 
214
91
  == Available importers
215
- === CVS (<tt>type: cvs</tt>)
216
- *source*:: the source specification is a [ repository, module ] array
217
- *cvsup*:: options to add to cvs up. Defaults to '-dP'
218
- *cvsco*:: options to add to cvs ci, Defaults to -P
219
-
220
- === Subversion (<tt>type: svn</tt>)
221
- *source*:: the svn URL. To ease the Yaml nodes reference (the <tt>*ref</tt> form), it can be an array
222
- which is then converted into a path by joining the elements with '/'. For instance:
223
-
224
- packages:
225
- foo:
226
- import: svn
227
- source: [ $my_home_repository, /trunk/foo ]
228
-
229
- *svnup*:: options to add to svn up. Defaults to ''
230
- *svnco*:: options to add to svn co. Defaults to ''
92
+ You must set an importer object for each package. The package importer is the +importer+ attribute
93
+ and is set via <tt>package.importer = my_importer</tt>. An importer +foo+ is defined by the class
94
+ Autobuild::FooImporter and defines a Autobuild.foo method which creates a new importer object.
95
+ Importer classes files are in <tt>lib/autobuild/import/</tt>
231
96
 
232
- === Tar (<tt>type: tar</tt>)
233
- This importer gets a tarball file, which may be on a remote server, and un-tars
234
- it. For now, it cannot determine itself what is the directory included in the tarball,
235
- so you should set the srcdir: appropriately.
97
+ === CVS
236
98
 
237
- For instance, a tarball with one directory <tt>package-0.1</tt> in it will
238
- need a <tt>srcdir</tt> option of <tt>package-0.1</tt>. If you do
239
- not set +srcdir+, autobuild will untar the package in the global srcdir
240
- (as intended) but will search for <tt>$global_srcdir/package</tt>
99
+ package.importer = cvs(cvsroot, module[, options])
241
100
 
242
- *source*:: the source URL. For now, http, ftp and file URLs are supported
243
- *cachedir*:: the directory where the local copy of the file should be saved
244
- (for http and ftp URLs only)
101
+ Where +options+ is an option hash. See also Autobuild::CVSImporter and Autobuild.cvs
245
102
 
103
+ * the default CVS command is +cvs+. It can be changed by
104
+ Autobuild.programs['cvs'] = 'my_cvs_command'
105
+ * the default checkout option is <tt>-P</tt>. You can change that by giving a +cvsco+ option
106
+ cvs cvsroot, module, :cvsco => ['--my', '--cvs', '--options']
107
+ * the default update option is <tt>-dP</tt>. You can change that by giving a +cvsup+ option
108
+ cvs cvsroot, module, :cvsup => ['--my', '--cvs', '--options']
246
109
 
110
+ === Subversion
111
+ package.importer = svn(url[, options])
247
112
 
248
- == Available package types (<tt>packages/</tt><em>name</em><tt>/type</tt>)
249
- === Source only (<tt>type: import</tt>)
250
- Use +import+ if you need the package sources but don't need to build it. You just need
251
- to set up the importer and +srcdir+. +prefix+ is ignored.
252
-
253
- packages:
254
- bar:
255
- type: import
256
- import: cvs
257
- source: [ $my_repository, "bar" ]
258
- srcdir: bar
259
-
260
- === Autotools (<tt>type: autotools</tt>)
261
- Use this to build GNU autotools-based packages. This handles autoconf-only packages as
262
- well as automake-based packages.
263
-
264
- ==== Configuration programs
265
- The <tt>autotools</tt> packages use four programs: *autoheader*, *autoconf*, *aclocal*,
266
- *automake*. The default values can be overriden in the <tt>/programs</tt> section. For
267
- instance, to be sure that automake 1.9 is used, you set
268
-
269
- programs:
270
- automake: automake-1.9
271
-
272
- Autobuild tries to detect what tools it should run
273
- * +autoheader+ is never used by default
274
- * +autoconf+ is used if there is <tt>configure.ac</tt> or <tt>configure.in</tt> in the imported dir
275
- * +aclocal+ is used if +autoconf+ is enabled (either explicitely or by autodetection)
276
- * +automake+ is used if there is a <tt>Makefile.am</tt> file in the imported dir
277
- * you can force to enable or disable any of these four tools in each package config by setting the tool
278
- flag to true or false. For instance, if you don't want package +foo+ to use automake, you say
113
+ Where +options+ is an option hash. See also Autobuild::SVNImporter and Autobuild.svn
279
114
 
280
- packages:
281
- foo:
282
- automake: false
115
+ * the default Subversion command is +svn+. It can be changed by
116
+ Autobuild.programs['svn'] = 'my_svn_command'
117
+ * by default, no options are given to checkout. You add some by giving a +svnco+ option
118
+ svn url, :svnco => ['--my', '--svn', '--options']
119
+ * by default, no options are given to update. You can add some by giving a +svnup+ option
120
+ svn url, :svnup => ['--my', '--svn', '--options']
283
121
 
284
- ==== Build programs
285
- The only program used during the build phase is +make+. The make command can too be overriden in the
286
- <tt>programs</tt> section.
122
+ === *Darcs*
123
+ package.importer = darcs(url[, options])
287
124
 
288
- programs:
289
- make: gnumake
125
+ Where +options+ is a hash. See also Autobuild::DarcsImporter and Autobuild.darcs
290
126
 
291
- ==== Other options
292
- *builddir*:: the directory where the build takes place. For now, it has to be a relative path,
293
- which will be considered relative to the source directory.
294
- *configureflags*:: array of options to add to the +configure+ command line
295
- configureflags: [ --with-bar-source=$srcdir/$bar_srcdir ]
296
- depends: bar
127
+ * the default Darcs command is +darcs+. It can be changed by
128
+ Autobuild.programs['darcs'] = 'my_svn_command'
129
+ * by default, no options are given to get. You add some by giving a +get+ option
130
+ darcs url, :get => ['--my', '--darcs', '--options']
131
+ * by default, no options are given to pull. You can add some by giving a +pull+ option
132
+ darcs url, :pull => ['--my', '--darcs', '--options']
297
133
 
298
- = Running autobuild in daemon mode
299
- The <tt>--daemon</tt> command line options makes autobuild go into daemon mode.
300
-
301
134
  = Copyright and license
302
135
  Author:: Sylvain Joyeux <sylvain.joyeux@m4x.org>
303
- Copyright:: Copyright (c) 2005 Sylvain Joyeux
136
+ Copyright:: Copyright (c) 2005-2006 Sylvain Joyeux
304
137
  License:: GPL
305
138
 
data/Rakefile CHANGED
@@ -1,7 +1,5 @@
1
1
  # Rakefile for Autobuild
2
- # Copyright 2005 by Sylvain Joyeux (sylvain.joyeux@m4x.org)
3
2
 
4
- # Based on the Rakefile for MetaProject
5
3
  # Copyright 2005 by Aslak Hellesoy (aslak.hellesoy@gmail.org)
6
4
  # All rights reserved.
7
5
 
@@ -26,7 +24,8 @@ require 'rake/rdoctask'
26
24
  #
27
25
  # REMEMBER TO KEEP PKG_VERSION IN SYNC WITH THE CHANGES FILE!
28
26
  PKG_NAME = "autobuild"
29
- PKG_VERSION = "0.5.1"
27
+ UNIX_NAME = "autobuild"
28
+ PKG_VERSION = "0.6"
30
29
  PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
31
30
  PKG_FILES = FileList[
32
31
  'bin/*',
@@ -40,12 +39,9 @@ task :default => [:gem]
40
39
  # Create a task to build the RDOC documentation tree.
41
40
  rd = Rake::RDocTask.new("rdoc") do |rdoc|
42
41
  rdoc.rdoc_dir = 'html'
43
- # rdoc.template = 'kilmer'
44
- # rdoc.template = 'css2'
45
- # rdoc.template = 'doc/jamis.rb'
46
42
  rdoc.title = "Autobuild"
47
43
  rdoc.options << '--main' << 'README'
48
- rdoc.rdoc_files.include('README', 'CHANGES')
44
+ rdoc.rdoc_files.include('README', 'CHANGES', 'TODO')
49
45
  rdoc.rdoc_files.include('lib/**/*.rb', 'doc/**/*.rdoc')
50
46
  rdoc.rdoc_files.exclude('doc/**/*_attrs.rdoc')
51
47
  end
@@ -61,11 +57,11 @@ spec = Gem::Specification.new do |s|
61
57
  s.name = PKG_NAME
62
58
  s.version = PKG_VERSION
63
59
  s.summary = 'Rake-based utility to build and install multiple packages with dependencies'
64
- s.description = <<EOF
65
- Autobuild imports, configures, builds and installs various kinds of software packages.
66
- It can be used in software development to make sure that nothing is broken in the
67
- build process of a set of packages, or can be used as an automated installation tool.
68
- EOF
60
+ s.description = <<-EOF
61
+ Autobuild imports, configures, builds and installs various kinds of software packages.
62
+ It can be used in software development to make sure that nothing is broken in the
63
+ build process of a set of packages, or can be used as an automated installation tool.
64
+ EOF
69
65
 
70
66
  #### Documentation and testing.
71
67
 
@@ -85,7 +81,7 @@ EOF
85
81
  #### Advanced project information
86
82
  s.platform = Gem::Platform::RUBY
87
83
  s.require_paths << "lib"
88
- s.add_dependency('rake', '>= 0.6.0')
84
+ s.add_dependency('rake', '>= 0.7.0')
89
85
  s.add_dependency('rmail')
90
86
  s.add_dependency('daemons')
91
87
  s.files = PKG_FILES.to_a
@@ -125,7 +121,7 @@ task :verify_env_vars do
125
121
  end
126
122
 
127
123
  task :publish_doc do
128
- publisher = Rake::RubyForgePublisher.new('xforge', ENV['RUBYFORGE_USER'])
124
+ publisher = Rake::RubyForgePublisher.new(UNIX_NAME, ENV['RUBYFORGE_USER'])
129
125
  publisher.upload
130
126
  end
131
127
 
@@ -135,7 +131,7 @@ task :release_files => [:gem] do
135
131
  "pkg/#{PKG_FILE_NAME}.gem"
136
132
  ]
137
133
 
138
- Rake::XForge::Release.new(MetaProject::Project::XForge::RubyForge.new('xforge')) do |release|
134
+ Rake::XForge::Release.new(MetaProject::Project::XForge::RubyForge.new(UNIX_NAME)) do |release|
139
135
  # Never hardcode user name and password in the Rakefile!
140
136
  release.user_name = ENV['RUBYFORGE_USER']
141
137
  release.password = ENV['RUBYFORGE_PASSWORD']
@@ -151,7 +147,7 @@ task :publish_news => [:gem] do
151
147
  "pkg/#{PKG_FILE_NAME}.gem"
152
148
  ]
153
149
 
154
- Rake::XForge::NewsPublisher.new(MetaProject::Project::XForge::RubyForge.new('xforge')) do |news|
150
+ Rake::XForge::NewsPublisher.new(MetaProject::Project::XForge::RubyForge.new(UNIX_NAME)) do |news|
155
151
  # Never hardcode user name and password in the Rakefile!
156
152
  news.user_name = ENV['RUBYFORGE_USER']
157
153
  news.password = ENV['RUBYFORGE_PASSWORD']
@@ -160,10 +156,9 @@ end
160
156
 
161
157
  desc "Tag all the svn files with the latest release number (REL=x.y.z)"
162
158
  task :tag do
163
- reltag = "RELEASE_#{PKG_VERSION.gsub(/\./, '_')}"
164
- puts "Tagging svn with [#{reltag}]"
159
+ puts "Tagging release"
165
160
  base_url = %{svn+ssh://#{RUBYFORGE_USER}@rubyforge.org/var/svn/autobuild}
166
- sh %{svn cp #{base_url}/trunk/autobuild #{base_url}/tags/#{reltag}}
161
+ sh %{svn cp #{base_url}/trunk/autobuild #{base_url}/tags/release/#{PKG_VERSION}}
167
162
  end
168
163
 
169
164