jets 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. checksums.yaml +4 -4
  2. data/.codebuild/scripts/install-java.sh +7 -5
  3. data/CHANGELOG.md +5 -0
  4. data/Gemfile.lock +2 -2
  5. data/README.md +1 -1
  6. data/jets.gemspec +3 -1
  7. data/lib/jets/commands/templates/skeleton/config/application.rb.tt +1 -1
  8. data/lib/jets/dotenv.rb +1 -1
  9. data/lib/jets/internal/app/jobs/jets/preheat_job.rb +0 -1
  10. data/lib/jets/version.rb +1 -1
  11. data/vendor/dynomite/CHANGELOG.md +34 -0
  12. data/vendor/dynomite/Gemfile +6 -0
  13. data/vendor/dynomite/README.md +141 -0
  14. data/vendor/dynomite/Rakefile +2 -0
  15. data/vendor/dynomite/bin/console +14 -0
  16. data/vendor/dynomite/bin/setup +8 -0
  17. data/vendor/dynomite/docs/migrations/long-example.rb +123 -0
  18. data/vendor/dynomite/docs/migrations/short-example.rb +36 -0
  19. data/vendor/dynomite/dynomite.gemspec +29 -0
  20. data/vendor/dynomite/lib/dynomite.rb +23 -0
  21. data/vendor/dynomite/lib/dynomite/core.rb +25 -0
  22. data/vendor/dynomite/lib/dynomite/db_config.rb +101 -0
  23. data/vendor/dynomite/lib/dynomite/erb.rb +53 -0
  24. data/vendor/dynomite/lib/dynomite/item.rb +291 -0
  25. data/vendor/dynomite/lib/dynomite/log.rb +15 -0
  26. data/vendor/dynomite/lib/dynomite/migration.rb +27 -0
  27. data/vendor/dynomite/lib/dynomite/migration/common.rb +86 -0
  28. data/vendor/dynomite/lib/dynomite/migration/dsl.rb +172 -0
  29. data/vendor/dynomite/lib/dynomite/migration/dsl/base_secondary_index.rb +72 -0
  30. data/vendor/dynomite/lib/dynomite/migration/dsl/global_secondary_index.rb +4 -0
  31. data/vendor/dynomite/lib/dynomite/migration/dsl/local_secondary_index.rb +8 -0
  32. data/vendor/dynomite/lib/dynomite/migration/executor.rb +30 -0
  33. data/vendor/dynomite/lib/dynomite/migration/generator.rb +68 -0
  34. data/vendor/dynomite/lib/dynomite/migration/templates/create_table.rb +32 -0
  35. data/vendor/dynomite/lib/dynomite/migration/templates/update_table.rb +26 -0
  36. data/vendor/dynomite/lib/dynomite/version.rb +3 -0
  37. data/vendor/dynomite/spec/fixtures/app_root/config/dynamodb.yml +7 -0
  38. data/vendor/dynomite/spec/lib/dynomite/item_spec.rb +89 -0
  39. data/vendor/dynomite/spec/lib/dynomite/migration/dsl/global_secondary_index_spec.rb +106 -0
  40. data/vendor/dynomite/spec/lib/dynomite/migration/dsl/local_secondary_index_spec.rb +72 -0
  41. data/vendor/dynomite/spec/lib/dynomite/migration/dsl_spec.rb +76 -0
  42. data/vendor/dynomite/spec/lib/dynomite/migration/generator_spec.rb +23 -0
  43. data/vendor/dynomite/spec/lib/dynomite/migration_spec.rb +60 -0
  44. data/vendor/dynomite/spec/spec_helper.rb +110 -0
  45. data/vendor/lambdagem/CHANGELOG.md +24 -0
  46. data/vendor/lambdagem/Gemfile +6 -0
  47. data/vendor/lambdagem/Gemfile.lock +73 -0
  48. data/vendor/lambdagem/Guardfile +12 -0
  49. data/vendor/lambdagem/LICENSE.txt +22 -0
  50. data/vendor/lambdagem/README.md +143 -0
  51. data/vendor/lambdagem/Rakefile +6 -0
  52. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-10.0.0/byebug/byebug.so +0 -0
  53. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-10.0.0/gem.build_complete +0 -0
  54. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-10.0.0/gem_make.out +19 -0
  55. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/LICENSE +23 -0
  56. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/exe/byebug +6 -0
  57. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/Makefile +263 -0
  58. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/breakpoint.c +517 -0
  59. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/breakpoint.o +0 -0
  60. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.c +905 -0
  61. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.h +143 -0
  62. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.o +0 -0
  63. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.so +0 -0
  64. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/context.c +673 -0
  65. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/context.o +0 -0
  66. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/extconf.rb +12 -0
  67. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/locker.c +96 -0
  68. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/locker.o +0 -0
  69. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/threads.c +230 -0
  70. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/threads.o +0 -0
  71. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug.rb +3 -0
  72. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/attacher.rb +48 -0
  73. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/breakpoint.rb +111 -0
  74. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/byebug.so +0 -0
  75. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/command.rb +111 -0
  76. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/command_list.rb +34 -0
  77. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands.rb +39 -0
  78. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/break.rb +116 -0
  79. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/catch.rb +82 -0
  80. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/condition.rb +57 -0
  81. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/continue.rb +50 -0
  82. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/debug.rb +38 -0
  83. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/delete.rb +57 -0
  84. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable.rb +33 -0
  85. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable/breakpoints.rb +42 -0
  86. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable/display.rb +43 -0
  87. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/display.rb +66 -0
  88. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/down.rb +45 -0
  89. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/edit.rb +68 -0
  90. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable.rb +33 -0
  91. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable/breakpoints.rb +42 -0
  92. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable/display.rb +43 -0
  93. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/finish.rb +57 -0
  94. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/frame.rb +57 -0
  95. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/help.rb +64 -0
  96. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/history.rb +39 -0
  97. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info.rb +37 -0
  98. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/breakpoints.rb +67 -0
  99. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/display.rb +51 -0
  100. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/file.rb +82 -0
  101. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/line.rb +35 -0
  102. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/program.rb +49 -0
  103. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/interrupt.rb +34 -0
  104. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/irb.rb +52 -0
  105. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/kill.rb +47 -0
  106. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/list.rb +159 -0
  107. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/method.rb +53 -0
  108. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/next.rb +40 -0
  109. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/pry.rb +43 -0
  110. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/quit.rb +42 -0
  111. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/restart.rb +64 -0
  112. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/save.rb +72 -0
  113. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/set.rb +79 -0
  114. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/show.rb +45 -0
  115. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/source.rb +42 -0
  116. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/step.rb +40 -0
  117. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread.rb +34 -0
  118. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/current.rb +37 -0
  119. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/list.rb +43 -0
  120. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/resume.rb +47 -0
  121. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/stop.rb +43 -0
  122. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/switch.rb +46 -0
  123. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/tracevar.rb +57 -0
  124. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/undisplay.rb +52 -0
  125. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/untracevar.rb +36 -0
  126. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/up.rb +45 -0
  127. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var.rb +37 -0
  128. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/all.rb +41 -0
  129. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/args.rb +39 -0
  130. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/const.rb +51 -0
  131. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/global.rb +37 -0
  132. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/instance.rb +39 -0
  133. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/local.rb +39 -0
  134. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/where.rb +53 -0
  135. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/context.rb +157 -0
  136. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/core.rb +114 -0
  137. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/errors.rb +29 -0
  138. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/frame.rb +185 -0
  139. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/bin.rb +47 -0
  140. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/eval.rb +126 -0
  141. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/file.rb +63 -0
  142. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/frame.rb +75 -0
  143. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/parse.rb +77 -0
  144. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/path.rb +40 -0
  145. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/reflection.rb +19 -0
  146. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/string.rb +36 -0
  147. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/thread.rb +67 -0
  148. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/toggle.rb +64 -0
  149. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/var.rb +54 -0
  150. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/history.rb +130 -0
  151. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interface.rb +146 -0
  152. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/local_interface.rb +44 -0
  153. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/remote_interface.rb +50 -0
  154. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/script_interface.rb +32 -0
  155. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/test_interface.rb +67 -0
  156. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/option_setter.rb +95 -0
  157. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/base.rb +69 -0
  158. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/plain.rb +44 -0
  159. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/texts/base.yml +115 -0
  160. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/texts/plain.yml +33 -0
  161. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/command_processor.rb +173 -0
  162. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/control_processor.rb +24 -0
  163. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/post_mortem_processor.rb +18 -0
  164. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/script_processor.rb +49 -0
  165. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote.rb +85 -0
  166. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote/client.rb +55 -0
  167. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote/server.rb +47 -0
  168. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/runner.rb +198 -0
  169. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/setting.rb +79 -0
  170. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autoirb.rb +29 -0
  171. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autolist.rb +29 -0
  172. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autopry.rb +29 -0
  173. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autosave.rb +17 -0
  174. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/basename.rb +16 -0
  175. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/callstyle.rb +20 -0
  176. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/fullpath.rb +16 -0
  177. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/histfile.rb +20 -0
  178. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/histsize.rb +20 -0
  179. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/linetrace.rb +22 -0
  180. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/listsize.rb +21 -0
  181. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/post_mortem.rb +27 -0
  182. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/savefile.rb +20 -0
  183. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/stack_on_error.rb +15 -0
  184. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/width.rb +20 -0
  185. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/source_file_formatter.rb +71 -0
  186. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/subcommands.rb +54 -0
  187. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/version.rb +8 -0
  188. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/specifications/byebug-10.0.0.gemspec +39 -0
  189. data/vendor/lambdagem/exe/lambdagem +14 -0
  190. data/vendor/lambdagem/lambdagem.gemspec +32 -0
  191. data/vendor/lambdagem/lib/lambdagem.rb +16 -0
  192. data/vendor/lambdagem/lib/lambdagem/base.rb +51 -0
  193. data/vendor/lambdagem/lib/lambdagem/build.rb +202 -0
  194. data/vendor/lambdagem/lib/lambdagem/clean.rb +8 -0
  195. data/vendor/lambdagem/lib/lambdagem/cli.rb +62 -0
  196. data/vendor/lambdagem/lib/lambdagem/command.rb +38 -0
  197. data/vendor/lambdagem/lib/lambdagem/exist.rb +50 -0
  198. data/vendor/lambdagem/lib/lambdagem/extract.rb +8 -0
  199. data/vendor/lambdagem/lib/lambdagem/extract/base.rb +62 -0
  200. data/vendor/lambdagem/lib/lambdagem/extract/class_methods.rb +50 -0
  201. data/vendor/lambdagem/lib/lambdagem/extract/gem.rb +95 -0
  202. data/vendor/lambdagem/lib/lambdagem/extract/ruby.rb +62 -0
  203. data/vendor/lambdagem/lib/lambdagem/help.rb +9 -0
  204. data/vendor/lambdagem/lib/lambdagem/help/all.md +11 -0
  205. data/vendor/lambdagem/lib/lambdagem/help/build.md +14 -0
  206. data/vendor/lambdagem/lib/lambdagem/help/clean.md +5 -0
  207. data/vendor/lambdagem/lib/lambdagem/help/extract_gem.md +5 -0
  208. data/vendor/lambdagem/lib/lambdagem/help/extract_ruby.md +5 -0
  209. data/vendor/lambdagem/lib/lambdagem/help/package.md +20 -0
  210. data/vendor/lambdagem/lib/lambdagem/help/upload.md +7 -0
  211. data/vendor/lambdagem/lib/lambdagem/package.rb +33 -0
  212. data/vendor/lambdagem/lib/lambdagem/upload.rb +39 -0
  213. data/vendor/lambdagem/lib/lambdagem/version.rb +3 -0
  214. data/vendor/lambdagem/spec/lib/build_spec.rb +32 -0
  215. data/vendor/lambdagem/spec/lib/cli_spec.rb +24 -0
  216. data/vendor/lambdagem/spec/lib/upload_spec.rb +25 -0
  217. data/vendor/lambdagem/spec/spec_helper.rb +24 -0
  218. metadata +212 -2
@@ -0,0 +1,110 @@
1
+ ENV['DYNOMITE_ENV'] = 'test'
2
+ ENV['DYNOMITE_CONFIG'] = 'spec/fixtures/app_root/config/dynamodb.yml'
3
+ ENV['JETS_ROOT'] = 'spec/fixtures'
4
+
5
+ root = File.expand_path("../../", __FILE__)
6
+ require "#{root}/lib/dynomite"
7
+
8
+ require "pp"
9
+ require "fileutils"
10
+
11
+ # This file was generated by the `rspec --init` command. Conventionally, all
12
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
13
+ # The generated `.rspec` file contains `--require spec_helper` which will cause
14
+ # this file to always be loaded, without a need to explicitly require it in any
15
+ # files.
16
+ #
17
+ # Given that it is always loaded, you are encouraged to keep this file as
18
+ # light-weight as possible. Requiring heavyweight dependencies from this file
19
+ # will add to the boot time of your test suite on EVERY test run, even for an
20
+ # individual file that may not need all of that loaded. Instead, consider making
21
+ # a separate helper file that requires the additional dependencies and performs
22
+ # the additional setup, and require it from the spec files that actually need
23
+ # it.
24
+ #
25
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
26
+ RSpec.configure do |config|
27
+ # rspec-expectations config goes here. You can use an alternate
28
+ # assertion/expectation library such as wrong or the stdlib/minitest
29
+ # assertions if you prefer.
30
+ config.expect_with :rspec do |expectations|
31
+ # This option will default to `true` in RSpec 4. It makes the `description`
32
+ # and `failure_message` of custom matchers include text for helper methods
33
+ # defined using `chain`, e.g.:
34
+ # be_bigger_than(2).and_smaller_than(4).description
35
+ # # => "be bigger than 2 and smaller than 4"
36
+ # ...rather than:
37
+ # # => "be bigger than 2"
38
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
39
+ end
40
+
41
+ # rspec-mocks config goes here. You can use an alternate test double
42
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
43
+ config.mock_with :rspec do |mocks|
44
+ # Prevents you from mocking or stubbing a method that does not exist on
45
+ # a real object. This is generally recommended, and will default to
46
+ # `true` in RSpec 4.
47
+ mocks.verify_partial_doubles = true
48
+ end
49
+
50
+ # This option will default to `:apply_to_host_groups` in RSpec 4 (and will
51
+ # have no way to turn it off -- the option exists only for backwards
52
+ # compatibility in RSpec 3). It causes shared context metadata to be
53
+ # inherited by the metadata hash of host groups and examples, rather than
54
+ # triggering implicit auto-inclusion in groups with matching metadata.
55
+ config.shared_context_metadata_behavior = :apply_to_host_groups
56
+
57
+ # The settings below are suggested to provide a good initial experience
58
+ # with RSpec, but feel free to customize to your heart's content.
59
+ =begin
60
+ # This allows you to limit a spec run to individual examples or groups
61
+ # you care about by tagging them with `:focus` metadata. When nothing
62
+ # is tagged with `:focus`, all examples get run. RSpec also provides
63
+ # aliases for `it`, `describe`, and `context` that include `:focus`
64
+ # metadata: `fit`, `fdescribe` and `fcontext`, respectively.
65
+ config.filter_run_when_matching :focus
66
+
67
+ # Allows RSpec to persist some state between runs in order to support
68
+ # the `--only-failures` and `--next-failure` CLI options. We recommend
69
+ # you configure your source control system to ignore this file.
70
+ config.example_status_persistence_file_path = "spec/examples.txt"
71
+
72
+ # Limits the available syntax to the non-monkey patched syntax that is
73
+ # recommended. For more details, see:
74
+ # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
75
+ # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
76
+ # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
77
+ config.disable_monkey_patching!
78
+
79
+ # This setting enables warnings. It's recommended, but in some cases may
80
+ # be too noisy due to issues in dependencies.
81
+ config.warnings = true
82
+
83
+ # Many RSpec users commonly either run the entire suite or an individual
84
+ # file, and it's useful to allow more verbose output when running an
85
+ # individual spec file.
86
+ if config.files_to_run.one?
87
+ # Use the documentation formatter for detailed output,
88
+ # unless a formatter has already been configured
89
+ # (e.g. via a command-line flag).
90
+ config.default_formatter = "doc"
91
+ end
92
+
93
+ # Print the 10 slowest examples and example groups at the
94
+ # end of the spec run, to help surface which specs are running
95
+ # particularly slow.
96
+ config.profile_examples = 10
97
+
98
+ # Run specs in random order to surface order dependencies. If you find an
99
+ # order dependency and want to debug it, you can fix the order by providing
100
+ # the seed, which is printed after each run.
101
+ # --seed 1234
102
+ config.order = :random
103
+
104
+ # Seed global randomization in this process using the `--seed` CLI option.
105
+ # Setting this allows you to use `--seed` to deterministically reproduce
106
+ # test failures related to randomization by passing the same `--seed` value
107
+ # as the one that triggered the failure.
108
+ Kernel.srand config.seed
109
+ =end
110
+ end
@@ -0,0 +1,24 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ This project *tries* to adhere to [Semantic Versioning](http://semver.org/), even before v1.0.
5
+
6
+ ## [0.5.0]
7
+ - add lambdagem_url support
8
+
9
+ ## [0.4.0]
10
+ - use jets ruby version 2.5.0 for 2.5.x ruby variants
11
+ - fix lambdagem ruby extraction
12
+
13
+ ## [0.3.0]
14
+ - default to lambdagems bucket
15
+ - allow extracting different ruby versions easily
16
+ - tidy up and remove unnecessary files from gems after building
17
+ - add lambda exist class: useful as an ruby api
18
+
19
+ ## [0.2.1]
20
+ - Fix gemspec.
21
+
22
+ ## [0.2.0]
23
+ - Initial release.
24
+ - lambdagem build, package, upload, all extract_gem, extract_ruby, clean commands
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem dependencies in lambdagem.gemspec
4
+ gemspec
5
+
6
+ gem "codeclimate-test-reporter", group: :test, require: nil
@@ -0,0 +1,73 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ lambdagem (0.5.0)
5
+ aws-sdk-s3
6
+ colorize
7
+ gems
8
+ hashie
9
+ thor
10
+
11
+ GEM
12
+ remote: https://rubygems.org/
13
+ specs:
14
+ aws-eventstream (1.0.1)
15
+ aws-partitions (1.98.0)
16
+ aws-sdk-core (3.24.0)
17
+ aws-eventstream (~> 1.0)
18
+ aws-partitions (~> 1.0)
19
+ aws-sigv4 (~> 1.0)
20
+ jmespath (~> 1.0)
21
+ aws-sdk-kms (1.7.0)
22
+ aws-sdk-core (~> 3)
23
+ aws-sigv4 (~> 1.0)
24
+ aws-sdk-s3 (1.17.0)
25
+ aws-sdk-core (~> 3, >= 3.21.2)
26
+ aws-sdk-kms (~> 1)
27
+ aws-sigv4 (~> 1.0)
28
+ aws-sigv4 (1.0.3)
29
+ byebug (10.0.2)
30
+ codeclimate-test-reporter (1.0.8)
31
+ simplecov (<= 0.13)
32
+ colorize (0.8.1)
33
+ diff-lcs (1.3)
34
+ docile (1.1.5)
35
+ gems (1.1.1)
36
+ json
37
+ hashie (3.6.0)
38
+ jmespath (1.4.0)
39
+ json (2.1.0)
40
+ rake (12.3.1)
41
+ rspec (3.8.0)
42
+ rspec-core (~> 3.8.0)
43
+ rspec-expectations (~> 3.8.0)
44
+ rspec-mocks (~> 3.8.0)
45
+ rspec-core (3.8.0)
46
+ rspec-support (~> 3.8.0)
47
+ rspec-expectations (3.8.1)
48
+ diff-lcs (>= 1.2.0, < 2.0)
49
+ rspec-support (~> 3.8.0)
50
+ rspec-mocks (3.8.0)
51
+ diff-lcs (>= 1.2.0, < 2.0)
52
+ rspec-support (~> 3.8.0)
53
+ rspec-support (3.8.0)
54
+ simplecov (0.13.0)
55
+ docile (~> 1.1.0)
56
+ json (>= 1.8, < 3)
57
+ simplecov-html (~> 0.10.0)
58
+ simplecov-html (0.10.2)
59
+ thor (0.20.0)
60
+
61
+ PLATFORMS
62
+ ruby
63
+
64
+ DEPENDENCIES
65
+ bundler
66
+ byebug
67
+ codeclimate-test-reporter
68
+ lambdagem!
69
+ rake
70
+ rspec
71
+
72
+ BUNDLED WITH
73
+ 1.16.3
@@ -0,0 +1,12 @@
1
+ guard "rspec" do
2
+ watch(%r{^spec/.+_spec\.rb$})
3
+ watch(%r{^lib/(.+)\.rb$}) { "spec/lambdagem_spec.rb" }
4
+ watch(%r{^lib/lambdagem/(.+)\.rb$}) { "spec/lambdagem_spec.rb" }
5
+ watch("spec/spec_helper.rb") { "spec/lambdagem_spec.rb" }
6
+ watch(%r{^lib/lambdagem/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
7
+ end
8
+
9
+ guard "bundler" do
10
+ watch("Gemfile")
11
+ watch(/^.+\.gemspec/)
12
+ end
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Tung Nguyen
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,143 @@
1
+ # Lambdagem
2
+
3
+ Tool to manage gems designed for AWS Lambda. Some gems require compiled binary dependencies. Lambdagem is useful for handling these types of gems. This tool does the following:
4
+
5
+ * Builds, packages, and uploads a gem artifact to s3.
6
+ * Downloads and extracts the gem from s3 in a consistent fashion.
7
+
8
+ ## Summary
9
+
10
+ Summary of the important folders and files:
11
+
12
+ Folder | Description
13
+ ------------- | -------------
14
+ /tmp/lambdagem | Original area where gem is built. You can find the generated Gemfile in here.
15
+ /tmp/lambdagem/bundled/gems | Where built gems are vendored.
16
+ /tmp/lambdagem/artifacts/byebug-9.1.0/bundled | Folder where the slimmed version of the artifacts are copied over. Care is taken to include only the necessary files to keep the size small.
17
+ /tmp/lambdagem/artifacts/byebug-9.1.0-x86_64-linux.tgz | The created tarball. The tarball contains "bundled" folder which contain the original underlying folder structure.
18
+ s3://lambdagems/gems/2.5.0/byebug/byebug-9.1.0-x86_64-linux.tgz | Example bucket path where the tarball gets uploaded. The tgz file contains the containing `bundled` folder.
19
+
20
+ ## Usage
21
+
22
+ ### Build Gem
23
+
24
+ The build command should be run on an AWS Lambda AMI EC2 instance. To build the latest version of a gem:
25
+
26
+ ```sh
27
+ lambdagem build byebug
28
+ ```
29
+
30
+ The gem gets built in the `/tmp/lambdagem` folder and is vendored to `/tmp/lambdagem/bundled/gems`. The `/tmp/lambdagem` folder is cleared out at the beginning of each run. To build a specific version append the version to the name like so:
31
+
32
+ ```sh
33
+ lambdagem build byebug-0.9.1
34
+ ```
35
+
36
+ The build command produces a `bundled` folder containing the gem and any compiled .so extensions belonging to the gem.
37
+
38
+ The bundled folder does not include system library files outside of the gem. The bundled folder is left in place though so that additional scripts can add system library dependencies to the same bundled folder. If there are no system dependencies to be added, move onto creating the tarball package.
39
+
40
+ To package up the bundled folder into a tarball:
41
+
42
+ ```sh
43
+ lambda package byebug
44
+ ```
45
+
46
+ The package command produces a compressed tarball that contains the bundled folder and its binary extensions. Lambdagem temporarily stores the tarball at:
47
+
48
+ ```
49
+ /tmp/lambdagem/artifacts/byebug-9.1.0-x86_64-linux.tar.gz
50
+ ```
51
+
52
+ Next, upload to s3:
53
+
54
+ ```sh
55
+ lambdagem upload byebug --s3 S3_BUCKET
56
+ ```
57
+
58
+ The file will be uploaded to s3 with this path structure:
59
+
60
+ ```
61
+ s3://S3_BUCKET/gems/MINOR_RUBY_VERSION/byebug/byebug-9.1.0-x86_64-linux.tgz
62
+ ```
63
+
64
+ Gems uploaded to s3 are public-read by default. You can override this behavior by setting the environment variable `LAMBDAGEM_S3_ACL=private`.
65
+
66
+ ### Extract Gem
67
+
68
+ The extract command can be run from any environment. Though the extracted gems will only work in an AWS Lambda Linux based environment.
69
+
70
+ The `--s3` option is required for the extract command. Here's an example how you would download a gem from s3 and extracts it in a standard way:
71
+
72
+ ```sh
73
+ lambdagem extract byebug-0.9.1 --s3 lambdagems
74
+ ```
75
+
76
+ This extracts the gem and produces a top-level `bundled` folder. This bundled folded is meant to be added to your project folder.
77
+
78
+ AWS Lambda extracts your code to `/var/task` so this will result in producing a final `/var/task/bundled` folder in the Lambda environment.
79
+
80
+ # Concepts to Understand
81
+
82
+ To understand how this tool works it is helpful to see how ruby structures gems on the file system. The `lambdagem build` command makes a lot more sense when you understand the underlying structure.
83
+
84
+ ## Bundling
85
+
86
+ There are 2 important folders to under the `bundled/gems` folder: gems and extensions. Here are their paths with some helpful surrounding context:
87
+
88
+ * bundled/gems/ruby/2.5.0/gems/byebug-9.1.0
89
+ * bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-9.1.0
90
+
91
+ Here are the relevant parts of the tree structure to help further understand:
92
+
93
+ ```sh
94
+ $ tree -L 4 bundled/gems/ruby/2.5.0 # deleted some info to keep short
95
+ bundled/gems/ruby/2.5.0
96
+ ├── extensions
97
+ │   └── x86_64-linux
98
+ │   └── 2.5.0-static
99
+ │   └── byebug-9.1.0
100
+ │── gems
101
+ │    └── byebug-9.1.0
102
+ └── specifications
103
+ $
104
+ ```
105
+
106
+ So the strategy we'll employ is to tarball up the relevant gem folders from underneath the `bundled/gems/ruby/2.5.0` folder:
107
+
108
+ * 2.5.0/gems/byebug-9.1.0
109
+ * 2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-9.1.0
110
+ * 2.5.0/specifications
111
+
112
+ We will then be able to extract the `bundled` folder and reproduce the `bundled/gems/ruby` path structure.
113
+
114
+ The tarball could be named `bundled.tgz` to be consistent with the `bundled` folder that is packaged up, but we elect to name the file with the gem info instead, example: `byebug-9.1.0-x86_64-linux.tgz`.
115
+
116
+ ## S3 Uploaded Path
117
+
118
+ The `byebug-9.1.0-x86_64-linux.tgz` file gets uploaded to s3 at following path:
119
+
120
+ * s3://S3_BUCKET/gems/2.5.0/byebug/byebug-9.1.0-x86_64-linux.tgz
121
+
122
+ ### Gem Extraction
123
+
124
+ To extract the gem and restore the directory structure, you can use the `lambdagem extract` command. Also understanding the underlying folder structure helps make clear what the `lambdagem extract` command does.
125
+
126
+ Reminder that 2 important folders to under the `bundled/gems/ruby/2.5.0` folder are: gems, extensions and specifications. Here are their paths with some helpful surrounding context:
127
+
128
+ * bundled/gems/ruby/2.5.0/gems/byebug-9.1.0
129
+ * bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-9.1.0
130
+ * specifications
131
+
132
+ The `lambdagem extract` command should be run at the root of the project because it contains files for `bundled` folder with the original path structure.
133
+
134
+ Lambdagem will untar the file and **replace** the relevant folders under the `bundle/gems/ruby/2.5.0` folder. For example, the existing gem folders will be deleted and replaced entirely:
135
+
136
+ * bundled/gems/ruby/2.5.0/gems/byebug-9.1.0
137
+ * bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-9.1.0
138
+
139
+ Only the gem the `byebug-9.1.0` gem folders get replaced, the other gems are left alone. Extra system dependencies added under the `bundled` folder are also left untouched.
140
+
141
+ ## Lambda Gem Build Stages Diagram
142
+
143
+ https://docs.google.com/drawings/d/10bEe2NrCwI4paliJdJ3XVbQhyI4XPCc9fwN0EV7e6U0/edit
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ task :default => :spec
5
+
6
+ RSpec::Core::RakeTask.new
@@ -0,0 +1,19 @@
1
+ current directory: /tmp/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug
2
+ /var/task/bundled/rbenv/versions/2.5.0/bin/ruby -r ./siteconf20180129-3007-1s55vnf.rb extconf.rb
3
+ creating Makefile
4
+
5
+ current directory: /tmp/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug
6
+ make "DESTDIR=" clean
7
+
8
+ current directory: /tmp/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug
9
+ make "DESTDIR="
10
+ compiling breakpoint.c
11
+ compiling byebug.c
12
+ compiling context.c
13
+ compiling locker.c
14
+ compiling threads.c
15
+ linking shared-object byebug/byebug.so
16
+
17
+ current directory: /tmp/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug
18
+ make "DESTDIR=" install
19
+ /usr/bin/install -c -m 0755 byebug.so ./.gem.20180129-3007-vsab69/byebug
@@ -0,0 +1,23 @@
1
+ Copyright (c) David Rodríguez <deivid.rodriguez@gmail.com>
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions
6
+ are met:
7
+ 1. Redistributions of source code must retain the above copyright
8
+ notice, this list of conditions and the following disclaimer.
9
+ 2. Redistributions in binary form must reproduce the above copyright
10
+ notice, this list of conditions and the following disclaimer in the
11
+ documentation and/or other materials provided with the distribution.
12
+
13
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
14
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
17
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23
+ SUCH DAMAGE.