lobot 2.0.0pre → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (297) hide show
  1. data/.gitignore +7 -10
  2. data/.gitmodules +1 -1
  3. data/.pairs +15 -0
  4. data/.rvmrc +1 -1
  5. data/.travis.yml +5 -0
  6. data/Gemfile +2 -2
  7. data/LICENSE.txt +1 -1
  8. data/README.md +67 -29
  9. data/Rakefile +11 -6
  10. data/Vagrantfile +8 -5
  11. data/bin/lobot +2 -4
  12. data/chef/cookbooks/pivotal_ci/attributes/jenkins.rb +1 -0
  13. data/chef/cookbooks/pivotal_ci/files/default/tests/minitest/default_test.rb +40 -2
  14. data/chef/cookbooks/pivotal_ci/recipes/id_rsa.rb +5 -0
  15. data/chef/cookbooks/pivotal_ci/recipes/jenkins_config.rb +5 -2
  16. data/chef/cookbooks/pivotal_ci/recipes/limited_travis_ci_environment.rb +4 -0
  17. data/chef/cookbooks/pivotal_ci/templates/default/jenkins-job-config.xml.erb +8 -6
  18. data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/attributes/default.rb +0 -1
  19. data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/recipes/bootstrap.rb +41 -0
  20. data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/recipes/default.rb +1 -41
  21. data/chef/travis-cookbooks/ci_environment/apt/recipes/default.rb +8 -7
  22. data/chef/travis-cookbooks/ci_environment/bazaar/recipes/default.rb +1 -1
  23. data/chef/travis-cookbooks/ci_environment/cassandra/attributes/default.rb +6 -3
  24. data/chef/travis-cookbooks/ci_environment/cassandra/recipes/datastax.rb +1 -1
  25. data/chef/travis-cookbooks/ci_environment/cassandra/recipes/package.rb +1 -1
  26. data/chef/travis-cookbooks/ci_environment/cassandra/recipes/tarball.rb +6 -2
  27. data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/cassandra.init.erb +58 -131
  28. data/chef/travis-cookbooks/ci_environment/chromium/recipes/default.rb +1 -1
  29. data/chef/travis-cookbooks/ci_environment/clang/attributes/tarball.rb +2 -7
  30. data/chef/travis-cookbooks/ci_environment/clang/recipes/default.rb +1 -1
  31. data/chef/travis-cookbooks/ci_environment/clang/recipes/tarball.rb +2 -4
  32. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/default.rb +1 -1
  33. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ppa.rb +1 -1
  34. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu-12.04.rb +1 -1
  35. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu1110_ppa.rb +1 -1
  36. data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu1204_ppa.rb +1 -1
  37. data/chef/travis-cookbooks/ci_environment/doxygen/recipes/default.rb +24 -0
  38. data/chef/travis-cookbooks/ci_environment/elasticsearch/attributes/default.rb +4 -1
  39. data/chef/travis-cookbooks/ci_environment/elasticsearch/recipes/default.rb +8 -5
  40. data/chef/travis-cookbooks/ci_environment/emacs/recipes/nox.rb +1 -1
  41. data/chef/travis-cookbooks/ci_environment/firefox/recipes/default.rb +1 -1
  42. data/chef/travis-cookbooks/ci_environment/git/recipes/default.rb +1 -1
  43. data/chef/travis-cookbooks/ci_environment/git/recipes/ppa.rb +1 -1
  44. data/chef/travis-cookbooks/ci_environment/golang/attributes/default.rb +3 -3
  45. data/chef/travis-cookbooks/ci_environment/gradle/attributes/tarball.rb +1 -1
  46. data/chef/travis-cookbooks/ci_environment/haskell/recipes/default.rb +1 -1
  47. data/chef/travis-cookbooks/ci_environment/haskell/recipes/ghc_package.rb +1 -1
  48. data/chef/travis-cookbooks/ci_environment/haskell/recipes/ghc_source.rb +1 -1
  49. data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_package.rb +1 -1
  50. data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_ppa.rb +1 -1
  51. data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_source.rb +1 -1
  52. data/chef/travis-cookbooks/ci_environment/haskell/recipes/source.rb +1 -1
  53. data/chef/travis-cookbooks/ci_environment/hbase/recipes/cdh4.rb +1 -1
  54. data/chef/travis-cookbooks/ci_environment/java/attributes/default.rb +4 -2
  55. data/chef/travis-cookbooks/ci_environment/java/recipes/default.rb +1 -1
  56. data/chef/travis-cookbooks/ci_environment/java/recipes/oraclejdk7.rb +6 -1
  57. data/chef/travis-cookbooks/ci_environment/kerl/attributes/source.rb +1 -1
  58. data/chef/travis-cookbooks/ci_environment/kerl/files/default/erlang.cookie +1 -0
  59. data/chef/travis-cookbooks/ci_environment/kerl/recipes/source.rb +8 -0
  60. data/chef/travis-cookbooks/ci_environment/kestrel/recipes/tarball.rb +1 -1
  61. data/chef/travis-cookbooks/ci_environment/leiningen/attributes/default.rb +1 -1
  62. data/chef/travis-cookbooks/ci_environment/leiningen/recipes/default.rb +1 -1
  63. data/chef/travis-cookbooks/ci_environment/leiningen/recipes/lein1x.rb +1 -1
  64. data/chef/travis-cookbooks/ci_environment/leiningen/recipes/lein2x.rb +1 -1
  65. data/chef/travis-cookbooks/ci_environment/libffi/recipes/default.rb +1 -1
  66. data/chef/travis-cookbooks/ci_environment/libgdbm/recipes/default.rb +1 -1
  67. data/chef/travis-cookbooks/ci_environment/libncurses/recipes/default.rb +1 -1
  68. data/chef/travis-cookbooks/ci_environment/libossp-uuid/recipes/default.rb +1 -1
  69. data/chef/travis-cookbooks/ci_environment/libreadline/recipes/default.rb +1 -1
  70. data/chef/travis-cookbooks/ci_environment/libssl/recipes/098.rb +1 -1
  71. data/chef/travis-cookbooks/ci_environment/libssl/recipes/default.rb +1 -1
  72. data/chef/travis-cookbooks/ci_environment/libxml/recipes/default.rb +1 -1
  73. data/chef/travis-cookbooks/ci_environment/lighttpd/recipes/default.rb +1 -1
  74. data/chef/travis-cookbooks/ci_environment/maven3/recipes/default.rb +5 -2
  75. data/chef/travis-cookbooks/ci_environment/maven3/recipes/package.rb +1 -1
  76. data/chef/travis-cookbooks/ci_environment/maven3/recipes/ppa.rb +1 -1
  77. data/chef/travis-cookbooks/ci_environment/maven3/recipes/tarball.rb +1 -1
  78. data/chef/travis-cookbooks/ci_environment/memcached/attributes/default.rb +1 -1
  79. data/chef/travis-cookbooks/ci_environment/memcached/attributes/ppa.rb +1 -1
  80. data/chef/travis-cookbooks/ci_environment/memcached/recipes/default.rb +1 -1
  81. data/chef/travis-cookbooks/ci_environment/memcached/recipes/ppa.rb +1 -1
  82. data/chef/travis-cookbooks/ci_environment/mercurial/recipes/default.rb +1 -1
  83. data/chef/travis-cookbooks/ci_environment/mercurial/recipes/ppa.rb +36 -0
  84. data/chef/travis-cookbooks/ci_environment/mongodb/attributes/mongodb.rb +1 -1
  85. data/chef/travis-cookbooks/ci_environment/mongodb/files/default/mongodb.sysvinit.sh +1 -1
  86. data/chef/travis-cookbooks/ci_environment/mongodb/recipes/apt.rb +5 -5
  87. data/chef/travis-cookbooks/ci_environment/mongodb/recipes/server.rb +5 -2
  88. data/chef/travis-cookbooks/ci_environment/mysql/attributes/default.rb +1 -3
  89. data/chef/travis-cookbooks/ci_environment/mysql/recipes/server_on_ramfs.rb +6 -1
  90. data/chef/travis-cookbooks/ci_environment/mysql/templates/default/my.cnf.erb +0 -2
  91. data/chef/travis-cookbooks/ci_environment/mysql/templates/default/ramfs/my.cnf.erb +0 -2
  92. data/chef/travis-cookbooks/ci_environment/neo4j-server/attributes/tarball.rb +13 -2
  93. data/chef/travis-cookbooks/ci_environment/neo4j-server/recipes/tarball.rb +26 -2
  94. data/chef/travis-cookbooks/ci_environment/networking_basic/recipes/default.rb +4 -1
  95. data/chef/travis-cookbooks/ci_environment/nodejs/attributes/multi.rb +3 -3
  96. data/chef/travis-cookbooks/ci_environment/nodejs/recipes/multi.rb +1 -1
  97. data/chef/travis-cookbooks/ci_environment/openssh/recipes/default.rb +1 -1
  98. data/chef/travis-cookbooks/ci_environment/perlbrew/attributes/multi.rb +1 -1
  99. data/chef/travis-cookbooks/ci_environment/phantomjs/attributes/default.rb +2 -2
  100. data/chef/travis-cookbooks/ci_environment/phantomjs/metadata.rb +3 -0
  101. data/chef/travis-cookbooks/ci_environment/phantomjs/recipes/default.rb +3 -1
  102. data/chef/travis-cookbooks/ci_environment/phantomjs/recipes/tarball.rb +3 -2
  103. data/chef/travis-cookbooks/ci_environment/php/attributes/default.rb +40 -2
  104. data/chef/travis-cookbooks/ci_environment/php/providers/pecl.rb +73 -0
  105. data/chef/travis-cookbooks/ci_environment/php/recipes/extensions.rb +25 -0
  106. data/chef/travis-cookbooks/ci_environment/php/recipes/multi.rb +5 -4
  107. data/chef/travis-cookbooks/ci_environment/php/resources/pecl.rb +10 -0
  108. data/chef/travis-cookbooks/ci_environment/phpbuild/attributes/default.rb +2 -2
  109. data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/after-install.d/phpunit.sh +58 -0
  110. data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/definitions/5.2.17 +3 -1
  111. data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/definitions/5.3.3 +2 -1
  112. data/chef/travis-cookbooks/ci_environment/phpbuild/providers/build.rb +1 -1
  113. data/chef/travis-cookbooks/ci_environment/phpbuild/recipes/default.rb +8 -10
  114. data/chef/travis-cookbooks/ci_environment/phpbuild/templates/default/default_configure_options.erb +4 -0
  115. data/chef/travis-cookbooks/ci_environment/phpenv/attributes/default.rb +6 -0
  116. data/chef/travis-cookbooks/ci_environment/phpenv/recipes/default.rb +11 -7
  117. data/chef/travis-cookbooks/ci_environment/postgresql/recipes/server_on_ramfs.rb +2 -2
  118. data/chef/travis-cookbooks/ci_environment/python/attributes/default.rb +2 -2
  119. data/chef/travis-cookbooks/ci_environment/python/recipes/multi.rb +10 -3
  120. data/chef/travis-cookbooks/ci_environment/rabbitmq/attributes/default.rb +3 -0
  121. data/chef/travis-cookbooks/ci_environment/rabbitmq/recipes/default.rb +6 -2
  122. data/chef/travis-cookbooks/ci_environment/ragel/recipes/custom.rb +1 -1
  123. data/chef/travis-cookbooks/ci_environment/ragel/recipes/default.rb +1 -1
  124. data/chef/travis-cookbooks/ci_environment/redis/attributes/default.rb +3 -0
  125. data/chef/travis-cookbooks/ci_environment/redis/recipes/default.rb +6 -3
  126. data/chef/travis-cookbooks/ci_environment/redis/recipes/ppa.rb +1 -1
  127. data/chef/travis-cookbooks/ci_environment/riak/attributes/default.rb +1 -0
  128. data/chef/travis-cookbooks/ci_environment/riak/attributes/package.rb +3 -3
  129. data/chef/travis-cookbooks/{messaging_broker/openssl/recipes/default.rb → ci_environment/riak/attributes/service.rb} +4 -3
  130. data/chef/travis-cookbooks/ci_environment/riak/recipes/config.rb +2 -2
  131. data/chef/travis-cookbooks/ci_environment/riak/recipes/default.rb +12 -5
  132. data/chef/travis-cookbooks/ci_environment/rvm/attributes/default.rb +1 -1
  133. data/chef/travis-cookbooks/ci_environment/rvm/attributes/multi.rb +2 -0
  134. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/global.gems +1 -1
  135. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/jruby/global.gems +1 -1
  136. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/ruby/2.0.0/global.gems +2 -0
  137. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/ruby/head/global.gems +2 -0
  138. data/chef/travis-cookbooks/ci_environment/rvm/recipes/default.rb +23 -1
  139. data/chef/travis-cookbooks/ci_environment/rvm/recipes/multi.rb +2 -2
  140. data/chef/travis-cookbooks/ci_environment/rvm/templates/default/bundler_config.yml.erb +2 -0
  141. data/chef/travis-cookbooks/ci_environment/sbt/CHANGELOG.md +20 -0
  142. data/chef/travis-cookbooks/ci_environment/sbt/LICENSE +201 -0
  143. data/chef/travis-cookbooks/ci_environment/sbt/README.md +78 -2
  144. data/chef/travis-cookbooks/ci_environment/sbt/attributes/default.rb +36 -10
  145. data/chef/travis-cookbooks/ci_environment/sbt/metadata.json +27 -17
  146. data/chef/travis-cookbooks/ci_environment/sbt/metadata.rb +13 -6
  147. data/chef/travis-cookbooks/ci_environment/sbt/recipes/default.rb +101 -51
  148. data/chef/travis-cookbooks/ci_environment/sbt/templates/default/jvmopts.erb +7 -0
  149. data/chef/travis-cookbooks/ci_environment/sbt/templates/default/sbtopts.erb +54 -0
  150. data/chef/travis-cookbooks/ci_environment/sphinx/attributes/default.rb +2 -2
  151. data/chef/travis-cookbooks/ci_environment/sphinx/metadata.rb +4 -4
  152. data/chef/travis-cookbooks/ci_environment/sphinx/recipes/all.rb +1 -1
  153. data/chef/travis-cookbooks/ci_environment/sphinx/recipes/default.rb +1 -1
  154. data/chef/travis-cookbooks/{messaging_broker/build-essential/recipes/default.rb → ci_environment/sqlite/recipes/ppa.rb} +13 -24
  155. data/chef/travis-cookbooks/ci_environment/subversion/recipes/default.rb +1 -1
  156. data/chef/travis-cookbooks/ci_environment/sweeper/recipes/default.rb +1 -1
  157. data/chef/travis-cookbooks/ci_environment/travis_build_environment/attributes/default.rb +2 -0
  158. data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/ci_user.rb +2 -2
  159. data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/default.rb +1 -3
  160. data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/root.rb +5 -1
  161. data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/ci_user/{dot_bashrc.sh → dot_bashrc.sh.erb} +0 -4
  162. data/chef/travis-cookbooks/ci_environment/unarchivers/recipes/default.rb +1 -1
  163. data/chef/travis-cookbooks/ci_environment/xserver/metadata.rb +3 -0
  164. data/chef/travis-cookbooks/ci_environment/xserver/recipes/default.rb +1 -1
  165. data/chef/travis-cookbooks/ci_environment/zeromq/recipes/default.rb +6 -23
  166. data/chef/travis-cookbooks/ci_environment/zeromq/recipes/{20x.rb → ppa.rb} +14 -14
  167. data/chef/travis-cookbooks/ci_environment/zookeeper/recipes/cdh4.rb +1 -1
  168. data/chef/travis-cookbooks/worker_host/java/metadata.rb +1 -1
  169. data/chef/travis-cookbooks/worker_host/java/recipes/openjdk.rb +6 -0
  170. data/chef/travis-cookbooks/worker_host/jruby/attributes/default.rb +1 -1
  171. data/chef/travis-cookbooks/worker_host/jruby/metadata.rb +1 -1
  172. data/chef/travis-cookbooks/worker_host/jruby/recipes/default.rb +1 -0
  173. data/chef/travis-cookbooks/worker_host/monit/recipes/default.rb +21 -17
  174. data/chef/travis-cookbooks/worker_host/networking_basic/metadata.rb +1 -1
  175. data/chef/travis-cookbooks/worker_host/networking_basic/recipes/default.rb +0 -6
  176. data/chef/travis-cookbooks/worker_host/ntp/.gitignore +1 -0
  177. data/chef/travis-cookbooks/worker_host/ntp/.travis.yml +6 -0
  178. data/chef/travis-cookbooks/worker_host/ntp/CHANGELOG.md +35 -0
  179. data/chef/travis-cookbooks/worker_host/ntp/CONTRIBUTING +29 -0
  180. data/chef/travis-cookbooks/worker_host/ntp/LICENSE +201 -0
  181. data/chef/travis-cookbooks/worker_host/ntp/README.md +163 -0
  182. data/chef/travis-cookbooks/worker_host/ntp/Rakefile +19 -0
  183. data/chef/travis-cookbooks/worker_host/ntp/TESTING.md +213 -0
  184. data/chef/travis-cookbooks/worker_host/ntp/attributes/default.rb +54 -0
  185. data/chef/travis-cookbooks/{messaging_broker/rabbitmq/resources/vhost.rb → worker_host/ntp/attributes/ntpdate.rb} +6 -7
  186. data/chef/travis-cookbooks/worker_host/ntp/chefignore +19 -0
  187. data/chef/travis-cookbooks/worker_host/ntp/files/default/ntp.leapseconds +222 -0
  188. data/chef/travis-cookbooks/worker_host/ntp/metadata.json +117 -0
  189. data/chef/travis-cookbooks/worker_host/ntp/metadata.rb +45 -0
  190. data/chef/travis-cookbooks/worker_host/ntp/recipes/default.rb +50 -0
  191. data/chef/travis-cookbooks/worker_host/ntp/recipes/disable.rb +22 -0
  192. data/chef/travis-cookbooks/worker_host/ntp/recipes/ntpdate.rb +36 -0
  193. data/chef/travis-cookbooks/{messaging_broker/openssl/libraries/secure_password.rb → worker_host/ntp/recipes/undo.rb} +17 -18
  194. data/chef/travis-cookbooks/worker_host/ntp/templates/default/ntp.conf.erb +55 -0
  195. data/chef/travis-cookbooks/worker_host/ntp/templates/default/ntpdate.erb +14 -0
  196. data/chef/travis-cookbooks/worker_host/rvm/recipes/multi.rb +1 -1
  197. data/chef/travis-cookbooks/worker_host/travis_worker/attributes/default.rb +10 -3
  198. data/chef/travis-cookbooks/worker_host/travis_worker/files/default/signal_wrapper.rb +22 -0
  199. data/chef/travis-cookbooks/worker_host/travis_worker/metadata.rb +2 -2
  200. data/chef/travis-cookbooks/worker_host/travis_worker/recipes/bluebox.rb +97 -0
  201. data/chef/travis-cookbooks/worker_host/travis_worker/recipes/default.rb +25 -15
  202. data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/sv-travis-worker-run.erb +1 -1
  203. data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/worker-bluebox.yml.erb +21 -0
  204. data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/worker.yml.erb +0 -4
  205. data/chef/travis-cookbooks/worker_host/travis_worker_collectd/metadata.rb +1 -0
  206. data/chef/travis-cookbooks/worker_host/travis_worker_collectd/recipes/bluebox.rb +15 -0
  207. data/chef/travis-cookbooks/worker_host/travis_worker_collectd/recipes/default.rb +1 -0
  208. data/chef/travis-cookbooks/worker_host/users/recipes/default.rb +5 -0
  209. data/cookbooks/.gitkeep +3 -0
  210. data/lib/lobot.rb +8 -4
  211. data/lib/lobot/amazon.rb +33 -19
  212. data/lib/lobot/cli.rb +70 -46
  213. data/lib/lobot/config.rb +151 -19
  214. data/lib/lobot/configuration_wizard.rb +117 -0
  215. data/lib/lobot/keychain.rb +36 -0
  216. data/lib/lobot/password.rb +13 -0
  217. data/lib/lobot/sobo.rb +57 -13
  218. data/lib/lobot/templates/default_rails_build_script.sh +13 -0
  219. data/lib/lobot/version.rb +2 -2
  220. data/lobot.gemspec +4 -5
  221. data/script/bootstrap_server.sh +1 -1
  222. data/script/ci_build.sh +13 -0
  223. data/spec/assets/test_cert.crt +18 -0
  224. data/spec/fixtures/ssh_keys/vagrant_test_key +27 -0
  225. data/spec/fixtures/ssh_keys/vagrant_test_key.pub +1 -0
  226. data/spec/lib/lobot/amazon_spec.rb +80 -39
  227. data/spec/lib/lobot/cli_spec.rb +223 -154
  228. data/spec/lib/lobot/config_spec.rb +207 -5
  229. data/spec/lib/lobot/configuration_wizard_spec.rb +347 -0
  230. data/spec/lib/lobot/keychain_spec.rb +33 -0
  231. data/spec/lib/lobot/password_spec.rb +15 -0
  232. data/spec/spec_helper.rb +19 -1
  233. data/templates/Gemfile-remote +4 -0
  234. metadata +83 -100
  235. data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/ruby/1.8.6/global.gems +0 -2
  236. data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/root/dot_bashrc.sh +0 -86
  237. data/chef/travis-cookbooks/ci_environment/zeromq/attributes/default.rb +0 -7
  238. data/chef/travis-cookbooks/messaging_broker/build-essential/README.md +0 -24
  239. data/chef/travis-cookbooks/messaging_broker/build-essential/metadata.rb +0 -10
  240. data/chef/travis-cookbooks/messaging_broker/emacs/metadata.rb +0 -11
  241. data/chef/travis-cookbooks/messaging_broker/emacs/recipes/default.rb +0 -21
  242. data/chef/travis-cookbooks/messaging_broker/erlang/attributes/default.rb +0 -1
  243. data/chef/travis-cookbooks/messaging_broker/erlang/metadata.rb +0 -11
  244. data/chef/travis-cookbooks/messaging_broker/erlang/recipes/default.rb +0 -27
  245. data/chef/travis-cookbooks/messaging_broker/git/README.rdoc +0 -37
  246. data/chef/travis-cookbooks/messaging_broker/git/metadata.rb +0 -16
  247. data/chef/travis-cookbooks/messaging_broker/git/recipes/default.rb +0 -24
  248. data/chef/travis-cookbooks/messaging_broker/git/recipes/server.rb +0 -34
  249. data/chef/travis-cookbooks/messaging_broker/git/templates/default/sv-git-daemon-log-run.erb +0 -2
  250. data/chef/travis-cookbooks/messaging_broker/git/templates/default/sv-git-daemon-run.erb +0 -3
  251. data/chef/travis-cookbooks/messaging_broker/haproxy/README.md +0 -79
  252. data/chef/travis-cookbooks/messaging_broker/haproxy/attributes/default.rb +0 -22
  253. data/chef/travis-cookbooks/messaging_broker/haproxy/metadata.rb +0 -13
  254. data/chef/travis-cookbooks/messaging_broker/haproxy/recipes/app_lb.rb +0 -50
  255. data/chef/travis-cookbooks/messaging_broker/haproxy/recipes/default.rb +0 -42
  256. data/chef/travis-cookbooks/messaging_broker/haproxy/templates/default/haproxy-app_lb.cfg.erb +0 -34
  257. data/chef/travis-cookbooks/messaging_broker/haproxy/templates/default/haproxy-default.erb +0 -4
  258. data/chef/travis-cookbooks/messaging_broker/haproxy/templates/default/haproxy.cfg.erb +0 -27
  259. data/chef/travis-cookbooks/messaging_broker/iptables/definitions/iptables_rule.rb +0 -35
  260. data/chef/travis-cookbooks/messaging_broker/iptables/files/default/rebuild-iptables +0 -284
  261. data/chef/travis-cookbooks/messaging_broker/iptables/metadata.rb +0 -10
  262. data/chef/travis-cookbooks/messaging_broker/iptables/recipes/default.rb +0 -50
  263. data/chef/travis-cookbooks/messaging_broker/iptables/templates/default/all_established.erb +0 -2
  264. data/chef/travis-cookbooks/messaging_broker/iptables/templates/default/all_icmp.erb +0 -2
  265. data/chef/travis-cookbooks/messaging_broker/iptables/templates/default/iptables_load.erb +0 -3
  266. data/chef/travis-cookbooks/messaging_broker/openssl/README.md +0 -37
  267. data/chef/travis-cookbooks/messaging_broker/openssl/metadata.rb +0 -8
  268. data/chef/travis-cookbooks/messaging_broker/rabbitmq/README.md +0 -86
  269. data/chef/travis-cookbooks/messaging_broker/rabbitmq/attributes/default.rb +0 -10
  270. data/chef/travis-cookbooks/messaging_broker/rabbitmq/metadata.rb +0 -63
  271. data/chef/travis-cookbooks/messaging_broker/rabbitmq/providers/user.rb +0 -66
  272. data/chef/travis-cookbooks/messaging_broker/rabbitmq/providers/vhost.rb +0 -34
  273. data/chef/travis-cookbooks/messaging_broker/rabbitmq/recipes/cluster.rb +0 -35
  274. data/chef/travis-cookbooks/messaging_broker/rabbitmq/recipes/default.rb +0 -51
  275. data/chef/travis-cookbooks/messaging_broker/rabbitmq/resources/user.rb +0 -25
  276. data/chef/travis-cookbooks/messaging_broker/rabbitmq/templates/default/doterlang.cookie.erb +0 -1
  277. data/chef/travis-cookbooks/messaging_broker/rabbitmq/templates/default/rabbitmq-env.conf.erb +0 -10
  278. data/chef/travis-cookbooks/messaging_broker/rabbitmq/templates/default/rabbitmq_cluster.config.erb +0 -5
  279. data/ci_build.sh +0 -20
  280. data/docs/ci_yml.md +0 -39
  281. data/features/ci.feature +0 -29
  282. data/features/config/secrets.yml.example +0 -4
  283. data/features/step_definitions/ci_steps.rb +0 -137
  284. data/features/support/env.rb +0 -12
  285. data/lib/generators/lobot/USAGE +0 -15
  286. data/lib/generators/lobot/config_generator.rb +0 -141
  287. data/lib/generators/lobot/install_generator.rb +0 -25
  288. data/lib/generators/lobot/templates/Capfile +0 -6
  289. data/lib/generators/lobot/templates/ci.yml +0 -22
  290. data/lib/generators/lobot/templates/ci_build.sh +0 -22
  291. data/lib/generators/lobot/templates/deploy-ci.rb +0 -7
  292. data/lib/generators/lobot/templates/soloistrc +0 -23
  293. data/lib/lobot/jenkins.rb +0 -17
  294. data/lib/lobot/railtie.rb +0 -20
  295. data/lib/lobot/recipes/ci.rb +0 -78
  296. data/lib/lobot/tasks/ci.rake +0 -93
  297. data/spec/lib/lobot/jenkins_spec.rb +0 -14
@@ -1,3 +1,79 @@
1
- # DESCRIPTION:
1
+ Description
2
+ -----------
2
3
 
3
- Installs SBT (Simple Build Tool) for building Scala and Java projects.
4
+ This cookbook will install [sbt-extras](https://github.com/paulp/sbt-extras), an alternative script for running [sbt](https://github.com/harrah/xsbt). sbt-extras works with sbt 0.7.x projects as well as 0.10+. If you're in an sbt project directory, the runner will figure out the versions of sbt and scala required by the project and download them if necessary.
5
+
6
+ The **default** recipe of this Chef cookbook will:
7
+
8
+ * Download and install the sbt-extras script (e.g. from a github commit/branch/tag)
9
+ * Potentially grant some (or even all) users to download/install on demand the required sbt/scala versions.
10
+ * Optionally deploy some system-wide configuration files (`/etc/sbt/sbtopts` and `/etc/sbt/jvmopts`)
11
+ * Optionally trigger the installation of some sbt/scala dependencies for specific users (see the *'Optional Attributes'* section below)
12
+
13
+ Requirements
14
+ ------------
15
+
16
+ * Depends on **opscode/java** cookbook
17
+ * Conflicts with **gildegoma/typesafe-stack** cookbook
18
+
19
+ Attributes
20
+ ----------
21
+
22
+ * `node['sbt-extras']['download_url']` - URL to obtain a specific version of sbt-extras script.
23
+ * **Note:** we currently refer to an sbt-extras fork version, in order to get **/etc**-style default config files, which is not (yet) a standard feature. See related [pull request](https://github.com/paulp/sbt-extras/pull/36) ...
24
+ * `node['sbt-extras']['default_sbt_version']` - non-DRY attribute introduced to improve idempotence of default recipe. Such parameter should always match with the default sbt version of sbt-extra script currently installed.
25
+ * `node['sbt-extras']['setup_dir']` - Target directory for installation (default: `/opt/sbt-extras`)
26
+ * `node['sbt-extras']['script_name']` - Name of the installed script (default: `sbt`).
27
+ * `node['sbt-extras']['bin_symlink']` - (optional) sbt-extras script will be linked from this location, *only if this attribute is defined!* (enabled by default to: `/usr/bin/sbt`)
28
+ * `node['sbt-extras']['owner']` - user owner of installed resources (default: `root`)
29
+ * `node['sbt-extras']['group']` - group owner of installed resources (default: `sbt`). **Important:** Members of this group are granted to auto-download/setup on demand any missing versions of sbt (setgid flag is set on `node['sbt-extras']['setup_dir']/.lib` and download files are ``002` umasked.
30
+ * `node['sbt-extras']['group_new_members']` - Members of `node['sbt-extras']['group']`, *to be appended if the group already exists*.
31
+ * `node['sbt-extras']['sbtopts']['mem']` - sbt-extras `-mem <mem>` is used when executing sbt script during chef provisioning. This parameter is also used when installing `/etc/sbt/sbtopts` template (see below)
32
+ * `node['sbt-extras']['config_dir']` - Target directory for global configuration files (default: `/etc/sbt`). The default recipe can potentially install 2 templates in this directory if their filename attribute is not empty (`''`)
33
+ * `node['sbt-extras']['sbtopts_filename']` - default sbt arguments can be globally set in this file (default: `sbtopts`)
34
+ * `node['sbt-extras']['jvmopts_filename']` - default jvm arguments can be globally set in this file (disabled by default: `''`, recommended name is `jvmopts`)
35
+ * `node['sbt-extras']['preinstall_cmd']['timeout']` - timeout value when executing sbt to download 'boot' dependencies (default: `300` - 5 minutes)
36
+ * `node['sbt-extras']['preinstall_matrix'][<user_name>][<array of sbt versions>]` - (optional) **user/sbt-versions** matrix to pre-install in `~/.sbt` during chef provisioning. Examples:
37
+
38
+ ```ruby
39
+ node['sbt-extras']['preinstall_matrix']['scala_lover'] = %w{ 0.12.1 0.12.0 0.11.3 0.11.2 0.11.1 }
40
+ node['sbt-extras']['preinstall_matrix']['sbt_tester'] = %w{ 0.12.1-RC2 0.12.1-RC1 }
41
+ ```
42
+
43
+ Installation and Usage
44
+ ----------------------
45
+
46
+ * Find your favourite way (Librarian-Chef, knife-github-cookbooks, Git submodule, Opscode community API or even tarball download) to install this cookbook (and its dependency). **[Librarian](https://github.com/applicationsonline/librarian#readme) is a very nice cookbook bundler!**
47
+ * Include the `sbt-extras::default` recipe to your run list or inside your cookbook.
48
+ * Provision!
49
+
50
+ Quality Assurance
51
+ -----------------
52
+
53
+ Cookbook is frequently being _tasted_ by:
54
+
55
+ * a [foodcritic](http://acrmp.github.com/foodcritic/)
56
+ * Ubuntu 12.10 64-bit, ChefSolo 10.16.2 and java cookbook 1.6.0 (openjdk)
57
+ * CentOS 6.3 64-bit, ChefSolo 10.14.2 and java cookbook 1.6.0 (openjdk)
58
+
59
+ How to Contribute
60
+ -----------------
61
+
62
+ *Feel free to open issues, fork repo and send pull request (based on a custom branch, not master)!*
63
+
64
+ License
65
+ -------
66
+
67
+ * Copyright:: 2012, Gilles Cornu
68
+
69
+ Licensed under the Apache License, Version 2.0 (the "License");
70
+ you may not use this file except in compliance with the License.
71
+ You may obtain a copy of the License at
72
+
73
+ http://www.apache.org/licenses/LICENSE-2.0
74
+
75
+ Unless required by applicable law or agreed to in writing, software
76
+ distributed under the License is distributed on an "AS IS" BASIS,
77
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
78
+ See the License for the specific language governing permissions and
79
+ limitations under the License.
@@ -1,10 +1,36 @@
1
- default[:sbt] = {
2
- :version => "0.11.3",
3
- :boot => {
4
- # 5 minutes to install sbt's own dependencies under ~/.sbt/boot. MK.
5
- :timeout => 300
6
- },
7
- :scala => {
8
- :versions => ["2.9.2", "2.9.1", "2.9.0-1", "2.8.2", "2.8.1"]
9
- }
10
- }
1
+ include_attribute 'travis_build_environment'
2
+
3
+ case platform
4
+ when 'mac_os_x'
5
+ set['sbt-extras']['user_home_basedir'] = '/Users'
6
+ else # usual base directory on unix systems:
7
+ set['sbt-extras']['user_home_basedir'] = '/home'
8
+ end
9
+ override['sbt-extras']['user_home_basedir'] = node['travis_build_environment']['home'].split("/#{node['travis_build_environment']['user']}").first
10
+
11
+ default['sbt-extras']['download_url'] = 'https://raw.github.com/gildegoma/sbt-extras/travis-ci/sbt'
12
+ # Refer to this forked 'travis-ci' branch, waiting for https://github.com/paulp/sbt-extras/pull/36 to be accepted and merged into master project.
13
+ default['sbt-extras']['default_sbt_version'] = '0.12.2' # ATTENTION: It must match with effective default sbt of installed script.
14
+ # Note: ideally, the default sbt version should be 'found' in downloaded script content (see issue #7)
15
+
16
+ default['sbt-extras']['setup_dir'] = '/opt/sbt-extras'
17
+ default['sbt-extras']['script_name'] = 'sbt'
18
+ default['sbt-extras']['owner'] = node['travis_build_environment']['user']
19
+ default['sbt-extras']['group'] = node['travis_build_environment']['group']
20
+ default['sbt-extras']['group_new_members'] = []
21
+ default['sbt-extras']['bin_symlink'] = '/usr/bin/sbt'
22
+
23
+ default['sbt-extras']['config_dir'] = '/etc/sbt'
24
+ #Template installation is disabled if filename is an empty string:
25
+ default['sbt-extras']['sbtopts_filename'] = 'sbtopts'
26
+ default['sbt-extras']['jvmopts_filename'] = 'jvmopts'
27
+
28
+ # Following Parameters will be used during recipe execution and also when installing /etc/sbt/sbtopts template
29
+ default['sbt-extras']['sbtopts']['mem'] = 1024 # in megabytes, Tuning of JVM -Xmx and -Xms
30
+
31
+ default['sbt-extras']['preinstall_cmd']['timeout'] = 300 # A maximum of 5 minutes is allowed to download dependencies of a specific scala version.
32
+
33
+ # Optionally pre-install dependant libraries of requested sbt versions in user own environment
34
+ default['sbt-extras']['preinstall_matrix'][node['travis_build_environment']['user']] = %w{ 0.12.2 0.12.1 0.12.0 0.11.3 0.11.2 0.11.1 }
35
+ # Known Problem: sbt 'boot' libraries are correclty installed since 0.11+
36
+ # (see https://github.com/gildegoma/chef-sbt-extras/issues/5#issuecomment-10576361)
@@ -1,32 +1,42 @@
1
1
  {
2
2
  "recipes": {
3
+ "sbt": "Downloads and installs sbt-extras script"
3
4
  },
5
+ "attributes": {
6
+ },
7
+ "maintainer_email": "git@gilles.cornu.name",
4
8
  "conflicting": {
9
+ "typesafe-stack": ">= 0.0.0"
5
10
  },
6
11
  "license": "Apache 2.0",
7
- "long_description": "Installs SBT (Simple Build Tool) 0.10.x for building Scala and Java projects.\n",
8
- "providing": {
12
+ "dependencies": {
13
+ "java": ">= 0.0.0"
9
14
  },
15
+ "maintainer": "Gilles Cornu",
16
+ "description": "Installs sbt-extras to build scala projects with any sbt version you need",
10
17
  "platforms": {
18
+ "mac_os_x": ">= 0.0.0",
19
+ "freebsd": ">= 0.0.0",
20
+ "amazon": ">= 0.0.0",
21
+ "scientific": ">= 0.0.0",
22
+ "suse": ">= 0.0.0",
23
+ "fedora": ">= 0.0.0",
24
+ "ubuntu": ">= 0.0.0",
25
+ "debian": ">= 0.0.0",
26
+ "redhat": ">= 0.0.0",
27
+ "centos": ">= 0.0.0"
11
28
  },
12
- "maintainer": "Michael S. Klishin",
13
29
  "replacing": {
14
30
  },
15
- "attributes": {
16
- },
17
- "maintainer_email": "michael.s.klishin@gmail.com",
18
- "description": "Installs SBT (Simple Build Tool) 0.11.2 for building Scala and Java projects.",
31
+ "name": "sbt-extras",
19
32
  "groupings": {
20
33
  },
21
- "version": "1.1.2",
22
- "recommendations": {
23
- },
24
- "name": "sbt",
25
- "dependencies": {
26
- "java": [
27
-
28
- ]
34
+ "providing": {
29
35
  },
30
36
  "suggestions": {
31
- }
32
- }
37
+ },
38
+ "recommendations": {
39
+ },
40
+ "long_description": "Description\n-----------\n\nThis cookbook will install [sbt-extras](https://github.com/paulp/sbt-extras), an alternative script for running [sbt](https://github.com/harrah/xsbt). sbt-extras works with sbt 0.7.x projects as well as 0.10+. If you're in an sbt project directory, the runner will figure out the versions of sbt and scala required by the project and download them if necessary.\n\nThe **default** recipe of this Chef cookbook will:\n\n* Download and install the sbt-extras script (e.g. from a github commit/branch/tag) \n* Potentially grant some (or even all) users to download/install on demand the required sbt/scala versions.\n* Optionally deploy some system-wide configuration files (`/etc/sbt/sbtopts` and `/etc/sbt/jvmopts`)\n* Optionally trigger the installation of some sbt/scala dependencies for specific users (see the *'Optional Attributes'* section below)\n\nRequirements\n------------\n\n* Depends on **opscode/java** cookbook\n* Conflicts with **gildegoma/typesafe-stack** cookbook\n\nAttributes\n----------\n\n* `node['sbt-extras']['download_url']` - URL to obtain a specific version of sbt-extras script. \n * **Note:** we currently refer to an sbt-extras fork version, in order to get **/etc**-style default config files, which is not (yet) a standard feature. See related [pull request](https://github.com/paulp/sbt-extras/pull/36) ...\n * `node['sbt-extras']['default_sbt_version']` - non-DRY attribute introduced to improve idempotence of default recipe. Such parameter should always match with the default sbt version of sbt-extra script currently installed.\n* `node['sbt-extras']['setup_dir']` - Target directory for installation (default: `/opt/sbt-extras`)\n* `node['sbt-extras']['script_name']` - Name of the installed script (default: `sbt`).\n* `node['sbt-extras']['bin_symlink']` - (optional) sbt-extras script will be linked from this location, *only if this attribute is defined!* (enabled by default to: `/usr/bin/sbt`)\n* `node['sbt-extras']['owner']` - user owner of installed resources (default: `root`)\n* `node['sbt-extras']['group']` - group owner of installed resources (default: `sbt`). **Important:** Members of this group are granted to auto-download/setup on demand any missing versions of sbt (setgid flag is set on `node['sbt-extras']['setup_dir']/.lib` and download files are ``002` umasked.\n* `node['sbt-extras']['group_new_members']` - Members of `node['sbt-extras']['group']`, *to be appended if the group already exists*.\n* `node['sbt-extras']['sbtopts']['mem']` - sbt-extras `-mem <mem>` is used when executing sbt script during chef provisioning. This parameter is also used when installing `/etc/sbt/sbtopts` template (see below)\n* `node['sbt-extras']['config_dir']` - Target directory for global configuration files (default: `/etc/sbt`). The default recipe can potentially install 2 templates in this directory if their filename attribute is not empty (`''`)\n * `node['sbt-extras']['sbtopts_filename']` - default sbt arguments can be globally set in this file (default: `sbtopts`)\n * `node['sbt-extras']['jvmopts_filename']` - default jvm arguments can be globally set in this file (disabled by default: `''`, recommended name is `jvmopts`)\n* `node['sbt-extras']['preinstall_cmd']['timeout']` - timeout value when executing sbt to download 'boot' dependencies (default: `300` - 5 minutes)\n* `node['sbt-extras']['preinstall_matrix'][<user_name>][<array of sbt versions>]` - (optional) **user/sbt-versions** matrix to pre-install in `~/.sbt` during chef provisioning. Examples: \n\n```ruby\nnode['sbt-extras']['preinstall_matrix']['scala_lover'] = %w{ 0.12.1 0.12.0 0.11.3 0.11.2 0.11.1 }\nnode['sbt-extras']['preinstall_matrix']['sbt_tester'] = %w{ 0.12.1-RC2 0.12.1-RC1 }\n``` \n\nInstallation and Usage\n----------------------\n\n* Find your favourite way (Librarian-Chef, knife-github-cookbooks, Git submodule, Opscode community API or even tarball download) to install this cookbook (and its dependency). **[Librarian](https://github.com/applicationsonline/librarian#readme) is a very nice cookbook bundler!**\n* Include the `sbt-extras::default` recipe to your run list or inside your cookbook.\n* Provision!\n\nQuality Assurance\n-----------------\n\nCookbook is frequently being _tasted_ by:\n\n* a [foodcritic](http://acrmp.github.com/foodcritic/)\n* Ubuntu 12.10 64-bit, ChefSolo 10.16.2 and java cookbook 1.6.0 (openjdk)\n* CentOS 6.3 64-bit, ChefSolo 10.14.2 and java cookbook 1.6.0 (openjdk)\n\nHow to Contribute\n-----------------\n\n*Feel free to open issues, fork repo and send pull request (based on a custom branch, not master)!*\n\nLicense\n-------\n\n* Copyright:: 2012, Gilles Cornu\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
41
+ "version": "0.2.2"
42
+ }
@@ -1,8 +1,15 @@
1
- maintainer "Michael S. Klishin"
2
- maintainer_email "michael.s.klishin@gmail.com"
1
+ maintainer "Gilles Cornu"
2
+ maintainer_email "git@gilles.cornu.name"
3
3
  license "Apache 2.0"
4
- description "Installs SBT (Simple Build Tool) 0.11.x for building Scala and Java projects."
4
+ description "Installs sbt-extras to build scala projects with any sbt version you need"
5
5
  long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
6
- version "1.1.2"
7
- platforms
8
- depends "java"
6
+ version "0.2.2"
7
+
8
+ depends "java"
9
+ conflicts "typesafe-stack"
10
+
11
+ %w{ debian ubuntu centos redhat fedora scientific suse amazon freebsd mac_os_x }.each do |os|
12
+ supports os
13
+ end
14
+
15
+ recipe "sbt", "Downloads and installs sbt-extras script"
@@ -1,69 +1,119 @@
1
1
  #
2
- # Cookbook Name:: sbt
2
+ # Cookbook Name:: sbt-extras
3
3
  # Recipe:: default
4
4
  #
5
- # Copyright 2011-2012, Michael S. Klishin
6
- # Copyright 2011-2012, Travis CI Development Team
5
+ # Copyright 2012, Gilles Cornu
7
6
  #
8
- # Licensed under the Apache License, Version 2.0 (the "License");
9
- # you may not use this file except in compliance with the License.
10
- # You may obtain a copy of the License at
11
- #
12
- # http://www.apache.org/licenses/LICENSE-2.0
13
- #
14
- # Unless required by applicable law or agreed to in writing, software
15
- # distributed under the License is distributed on an "AS IS" BASIS,
16
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- # See the License for the specific language governing permissions and
18
- # limitations under the License.
19
7
 
20
8
  include_recipe "java"
21
9
 
22
- require "tmpdir"
23
-
24
- include_recipe "libssl::098"
10
+ script_absolute_path = File.join(node['sbt-extras']['setup_dir'], node['sbt-extras']['script_name'])
11
+ tmp_project_dir = File.join(Chef::Config[:file_cache_path], 'setup-sbt-extras-tmp-project')
25
12
 
26
- # This recipe uses homegrown .deb package built with sbt-installer-ubuntizer scripts
27
- # originally developed by Przemek Pokrywka.
28
- # See https://github.com/michaelklishin/sbt-installer-ubuntizer
29
-
30
- tmp = Dir.tmpdir
31
- case node[:platform]
32
- when "debian", "ubuntu"
33
- ["sbt-#{node.sbt.version}.deb"].each do |deb|
34
- path = File.join(tmp, deb)
13
+ # Create (or modify) the group of sbt-extras power users (allowed to install new versions of sbt)
14
+ group node['sbt-extras']['group'] do
15
+ members node['sbt-extras']['group_new_members']
16
+ append true # add new members, if the group already exists
17
+ end
35
18
 
36
- remote_file(path) do
37
- v = node.sbt.version
19
+ directory File.join(node['sbt-extras']['setup_dir'], '.lib') do
20
+ recursive true
21
+ owner node['sbt-extras']['owner']
22
+ group node['sbt-extras']['group']
23
+ mode '2775' # enable 'setgid' flag to force group ID inheritance on sub-elements
24
+ end
38
25
 
39
- owner node.travis_build_environment.user
40
- group node.travis_build_environment.group
41
- source "http://files.travis-ci.org/packages/deb/sbt/#{deb}"
26
+ # Download sbt-extras script
27
+ remote_file script_absolute_path do
28
+ source node['sbt-extras']['download_url']
29
+ backup false
30
+ mode '0755'
31
+ owner node['sbt-extras']['owner']
32
+ group node['sbt-extras']['group']
33
+ end
42
34
 
43
- not_if "which sbt"
44
- end
35
+ # Optionally create a symlink (typically to be part of default PATH, example: /usr/bin/sbt)
36
+ link node['sbt-extras']['bin_symlink'] do
37
+ to script_absolute_path
38
+ owner node['sbt-extras']['owner']
39
+ group node['sbt-extras']['group']
40
+ not_if { node['sbt-extras']['bin_symlink'].nil? }
41
+ end
45
42
 
46
- package(deb) do
47
- action :install
48
- source path
49
- provider Chef::Provider::Package::Dpkg
43
+ # Install default config files
44
+ directory node['sbt-extras']['config_dir'] do
45
+ owner node['sbt-extras']['owner']
46
+ group node['sbt-extras']['group']
47
+ mode '0755'
48
+ end
49
+ template File.join(node['sbt-extras']['config_dir'], node['sbt-extras']['sbtopts_filename']) do
50
+ source "sbtopts.erb"
51
+ owner node['sbt-extras']['owner']
52
+ group node['sbt-extras']['group']
53
+ mode '0664'
54
+ variables(
55
+ :arg_mem => node['sbt-extras']['sbtopts']['mem']
56
+ )
57
+ end
58
+ template File.join(node['sbt-extras']['config_dir'], node['sbt-extras']['jvmopts_filename']) do
59
+ source "jvmopts.erb"
60
+ owner node['sbt-extras']['owner']
61
+ group node['sbt-extras']['group']
62
+ mode '0664'
63
+ not_if do
64
+ node['sbt-extras']['jvmopts_filename'].empty?
65
+ end
66
+ end
50
67
 
51
- not_if "which sbt"
52
- end
53
- end # each
54
- end # case
68
+ # Start sbt, to force download and setup of default sbt-laucher
69
+ unless File.directory?(File.join(node['sbt-extras']['setup_dir'], '.lib', node['sbt-extras']['default_sbt_version']))
70
+ directory tmp_project_dir do
71
+ # Create a very-temporary folder to store dummy project files, created by '-sbt-create' arg
72
+ mode '0777'
73
+ end
74
+ execute "Forcing sbt-extras to install its default sbt version" do
75
+ command "#{script_absolute_path} -mem #{node['sbt-extras']['sbtopts']['mem']} -batch -sbt-create"
76
+ user node['sbt-extras']['owner']
77
+ group node['sbt-extras']['group']
78
+ umask '002' # grant write permission to group.
79
+ cwd tmp_project_dir
80
+ timeout node['sbt-extras']['preinstall_cmd']['timeout']
81
+ # ATTENTION: chef-execute switch to user, but keep original environment variables (e.g. HOME=/root)
82
+ environment ( { 'HOME' => tmp_project_dir } ) # .sbt/.ivy2 files won't be kept.
83
+ end
84
+ directory tmp_project_dir do
85
+ action :delete
86
+ recursive true
87
+ end
88
+ end
55
89
 
90
+ # Optionally download and pre-install libraries of sbt version-matrix in user own environment
91
+ if node['sbt-extras']['preinstall_matrix']
92
+ node['sbt-extras']['preinstall_matrix'].keys.each do |sbt_user|
93
+ node['sbt-extras']['preinstall_matrix'][sbt_user].each do |sbt_version|
94
+ unless File.directory?(File.join(node['sbt-extras']['user_home_basedir'], sbt_user, '.sbt', sbt_version))
95
+ directory tmp_project_dir do
96
+ # Create a very-temporary folder to store dummy project files, created by '-sbt-create' arg
97
+ mode '0777'
98
+ end
99
+ execute "running sbt-extras as user #{sbt_user} to pre-install libraries of sbt #{sbt_version}" do
56
100
 
57
- node[:sbt][:scala][:versions].each do |version|
58
- execute "force sbt to download its own dependencies (for scala #{version})" do
59
- # we have to use "help" here because many other commands will cause
60
- # sbt to start its interactive REPL session and that will block the entire
61
- # chef run. We also must set cwd or the run will stall. MK.
62
- command "sbt ++#{version} help compile < /dev/null"
63
- user node.travis_build_environment.user
64
- cwd node.travis_build_environment.home
101
+ # ATTENTION: current command only supports sbt 0.11+. See Issues #9 and #10.
102
+ command "#{script_absolute_path} -mem #{node['sbt-extras']['sbtopts']['mem']} -batch -sbt-version #{sbt_version} -sbt-create"
103
+ user sbt_user
104
+ group node['sbt-extras']['group']
105
+ umask '002' # grant write permission to group.
106
+ cwd tmp_project_dir
107
+ timeout node['sbt-extras']['preinstall_cmd']['timeout']
65
108
 
66
- timeout node[:sbt][:boot][:timeout]
67
- action :run
109
+ # ATTENTION: chef-execute switch to user, but keep original environment variables (e.g. HOME=/root)
110
+ environment ( { 'HOME' => File.join(node['sbt-extras']['user_home_basedir'], sbt_user) } )
111
+ end
112
+ directory tmp_project_dir do
113
+ action :delete
114
+ recursive true
115
+ end
116
+ end
117
+ end
68
118
  end
69
119
  end
@@ -0,0 +1,7 @@
1
+ -XX:ReservedCodeCacheSize=256M
2
+ -Xms2048M
3
+ -Xmx2048M
4
+ -Xss6M
5
+ -XX:+CMSClassUnloadingEnabled
6
+ -XX:+UseConcMarkSweepGC
7
+ -XX:MaxPermSize=512M
@@ -0,0 +1,54 @@
1
+ # ------------------------------------------------ #
2
+ # The SBT Configuration file. #
3
+ # ------------------------------------------------ #
4
+
5
+ # in Travis CI, never prompt!
6
+ -batch
7
+
8
+ # Disable ANSI color codes
9
+ #
10
+ #-no-colors
11
+
12
+ # Starts sbt even if the current directory contains no sbt project.
13
+ #
14
+ #-sbt-create
15
+
16
+ # Path to global settings/plugins directory (default: ~/.sbt)
17
+ #
18
+ #-sbt-dir /etc/sbt
19
+
20
+ # Path to shared boot directory (default: ~/.sbt/boot in 0.11 series)
21
+ #
22
+ #-sbt-boot ~/.sbt/boot
23
+
24
+ # Path to local Ivy repository (default: ~/.ivy2)
25
+ #
26
+ #-ivy ~/.ivy2
27
+
28
+ # set memory options
29
+ #
30
+ #-mem <integer>
31
+
32
+ <% if @arg_mem %>
33
+ -mem <%= @arg_mem %>
34
+ <% end %>
35
+
36
+ # Use local caches for projects, no sharing.
37
+ #
38
+ #-no-share
39
+
40
+ # Put SBT in offline mode.
41
+ #
42
+ #-offline
43
+
44
+ # Sets the SBT version to use.
45
+ #-sbt-version 0.11.3
46
+
47
+ # Scala version (default: latest release)
48
+ #
49
+ #-scala-home <path>
50
+ #-scala-version <version>
51
+
52
+ # java version (default: java from PATH, currently $(java -version |& grep version))
53
+ #
54
+ #-java-home <path>
@@ -1,8 +1,8 @@
1
1
  default[:sphinx] = {
2
2
  :versions => {
3
- '2.0.1-beta' => '/usr/local/sphinx-2.0.1',
3
+ '2.0.4-release' => '/usr/local/sphinx-2.0.4',
4
4
  '1.10-beta' => '/usr/local/sphinx-1.10',
5
5
  '0.9.9' => '/usr/local/sphinx-0.9.9'
6
6
  },
7
- :linked => "2.0.1"
7
+ :linked => "2.0.4"
8
8
  }