nlmt-wrappers 0.0.1

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 (227) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +4 -0
  3. data/.travis.yml +27 -0
  4. data/Changelog.md +81 -0
  5. data/Gemfile +16 -0
  6. data/LICENSE +13 -0
  7. data/README.md +98 -0
  8. data/Rakefile +9 -0
  9. data/ext/wrapper_generator/Makefile +4 -0
  10. data/ext/wrapper_generator/extconf.rb +27 -0
  11. data/ext/wrapper_generator/make +1 -0
  12. data/ext/wrapper_generator/nmake.bat +0 -0
  13. data/ext/wrapper_generator/wrapper_generator.dll +0 -0
  14. data/ext/wrapper_generator/wrapper_generator.so +0 -0
  15. data/lib/nlmt-wrappers.rb +80 -0
  16. data/lib/nlmt-wrappers/command.rb +76 -0
  17. data/lib/nlmt-wrappers/command/file_exist.rb +7 -0
  18. data/lib/nlmt-wrappers/environment.rb +56 -0
  19. data/lib/nlmt-wrappers/installer.rb +110 -0
  20. data/lib/nlmt-wrappers/specification.rb +19 -0
  21. data/lib/nlmt-wrappers/version.rb +3 -0
  22. data/lib/rubygems_plugin.rb +23 -0
  23. data/nlmt-wrappers.gemspec +21 -0
  24. data/test/gem-wrappers/command_test.rb +92 -0
  25. data/test/gem-wrappers/environment_test.rb +82 -0
  26. data/test/gem-wrappers/fakes.rb +71 -0
  27. data/test/gem-wrappers/installer_test.rb +182 -0
  28. data/test/gem-wrappers/specification_and_version_test.rb +23 -0
  29. data/test/gem-wrappers_test.rb +124 -0
  30. data/test/test_helper.rb +21 -0
  31. data/vendor/bundle/ruby/2.6.0/bin/rake +27 -0
  32. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/.autotest +34 -0
  33. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/History.rdoc +1380 -0
  34. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/Manifest.txt +27 -0
  35. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/README.rdoc +764 -0
  36. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/Rakefile +72 -0
  37. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/design_rationale.rb +52 -0
  38. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/hoe/minitest.rb +32 -0
  39. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest.rb +1053 -0
  40. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/assertions.rb +807 -0
  41. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/autorun.rb +13 -0
  42. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/benchmark.rb +455 -0
  43. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/expectations.rb +303 -0
  44. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/hell.rb +11 -0
  45. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/mock.rb +240 -0
  46. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/parallel.rb +70 -0
  47. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/pride.rb +4 -0
  48. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/pride_plugin.rb +142 -0
  49. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/spec.rb +342 -0
  50. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/test.rb +220 -0
  51. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib/minitest/unit.rb +45 -0
  52. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/metametameta.rb +117 -0
  53. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_assertions.rb +1567 -0
  54. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_benchmark.rb +137 -0
  55. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_mock.rb +872 -0
  56. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_reporter.rb +299 -0
  57. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_spec.rb +1041 -0
  58. data/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test/minitest/test_minitest_test.rb +1080 -0
  59. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/.autotest +7 -0
  60. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/.rubocop.yml +27 -0
  61. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/.togglerc +7 -0
  62. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/CONTRIBUTING.rdoc +38 -0
  63. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/History.rdoc +659 -0
  64. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/MIT-LICENSE +21 -0
  65. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/Manifest.txt +166 -0
  66. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/README.rdoc +139 -0
  67. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/Rakefile +81 -0
  68. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/bin/rake +33 -0
  69. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/command_line_usage.rdoc +158 -0
  70. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/example/Rakefile1 +38 -0
  71. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/example/Rakefile2 +35 -0
  72. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/example/a.c +6 -0
  73. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/example/b.c +6 -0
  74. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/example/main.c +11 -0
  75. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/glossary.rdoc +42 -0
  76. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/jamis.rb +591 -0
  77. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/proto_rake.rdoc +127 -0
  78. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/rake.1 +141 -0
  79. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/rakefile.rdoc +624 -0
  80. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/rational.rdoc +151 -0
  81. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
  82. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
  83. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
  84. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
  85. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
  86. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
  87. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
  88. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
  89. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
  90. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
  91. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
  92. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
  93. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
  94. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
  95. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
  96. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +37 -0
  97. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
  98. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
  99. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
  100. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  101. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
  102. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
  103. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +60 -0
  104. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +55 -0
  105. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +64 -0
  106. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
  107. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +58 -0
  108. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +53 -0
  109. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
  110. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
  111. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake.rb +79 -0
  112. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/alt_system.rb +110 -0
  113. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/application.rb +790 -0
  114. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/backtrace.rb +23 -0
  115. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/clean.rb +76 -0
  116. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/cloneable.rb +16 -0
  117. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/.document +1 -0
  118. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +21 -0
  119. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +137 -0
  120. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +81 -0
  121. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  122. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +61 -0
  123. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/sys.rb +4 -0
  124. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/cpu_counter.rb +125 -0
  125. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/default_loader.rb +14 -0
  126. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/dsl_definition.rb +201 -0
  127. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/early_time.rb +21 -0
  128. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/core.rb +25 -0
  129. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/module.rb +2 -0
  130. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/pathname.rb +25 -0
  131. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/string.rb +175 -0
  132. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/time.rb +18 -0
  133. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_creation_task.rb +24 -0
  134. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_list.rb +428 -0
  135. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_task.rb +46 -0
  136. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_utils.rb +128 -0
  137. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +144 -0
  138. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/gempackagetask.rb +4 -0
  139. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/invocation_chain.rb +56 -0
  140. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +16 -0
  141. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/late_time.rb +17 -0
  142. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/linked_list.rb +103 -0
  143. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +53 -0
  144. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/multi_task.rb +13 -0
  145. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/name_space.rb +38 -0
  146. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/packagetask.rb +199 -0
  147. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/pathmap.rb +3 -0
  148. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/phony.rb +15 -0
  149. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/private_reader.rb +20 -0
  150. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/promise.rb +99 -0
  151. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/pseudo_status.rb +29 -0
  152. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/rake_module.rb +38 -0
  153. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +22 -0
  154. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/rdoctask.rb +4 -0
  155. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +29 -0
  156. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +20 -0
  157. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/runtest.rb +27 -0
  158. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/scope.rb +42 -0
  159. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/task.rb +383 -0
  160. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/task_argument_error.rb +7 -0
  161. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/task_arguments.rb +98 -0
  162. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/task_manager.rb +307 -0
  163. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/tasklib.rb +24 -0
  164. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/testtask.rb +213 -0
  165. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/thread_history_display.rb +48 -0
  166. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/thread_pool.rb +164 -0
  167. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/trace_output.rb +22 -0
  168. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/version.rb +7 -0
  169. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/lib/rake/win32.rb +56 -0
  170. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/rakelib/publish.rake +20 -0
  171. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/rakelib/test_times.rake +25 -0
  172. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/file_creation.rb +34 -0
  173. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/helper.rb +129 -0
  174. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/support/rakefile_definitions.rb +478 -0
  175. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/support/ruby_runner.rb +34 -0
  176. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_private_reader.rb +42 -0
  177. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake.rb +40 -0
  178. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_application.rb +643 -0
  179. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_application_options.rb +468 -0
  180. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_backtrace.rb +119 -0
  181. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_clean.rb +61 -0
  182. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +68 -0
  183. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_definitions.rb +84 -0
  184. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_directory_task.rb +76 -0
  185. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_dsl.rb +40 -0
  186. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_early_time.rb +31 -0
  187. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_extension.rb +59 -0
  188. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +56 -0
  189. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_list.rb +670 -0
  190. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +8 -0
  191. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_task.rb +197 -0
  192. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_utils.rb +314 -0
  193. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_ftp_file.rb +74 -0
  194. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_functional.rb +482 -0
  195. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +64 -0
  196. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_late_time.rb +18 -0
  197. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_linked_list.rb +84 -0
  198. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +46 -0
  199. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_multi_task.rb +64 -0
  200. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_name_space.rb +57 -0
  201. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_package_task.rb +79 -0
  202. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_path_map.rb +168 -0
  203. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +34 -0
  204. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +18 -0
  205. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +15 -0
  206. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +21 -0
  207. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +20 -0
  208. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +26 -0
  209. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_require.rb +40 -0
  210. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_rules.rb +388 -0
  211. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_scope.rb +44 -0
  212. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task.rb +393 -0
  213. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +119 -0
  214. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_arguments.rb +127 -0
  215. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_lib.rb +9 -0
  216. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_manager.rb +178 -0
  217. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +19 -0
  218. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +172 -0
  219. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_test_task.rb +146 -0
  220. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_thread_pool.rb +145 -0
  221. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +71 -0
  222. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_win32.rb +72 -0
  223. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_thread_history_display.rb +101 -0
  224. data/vendor/bundle/ruby/2.6.0/gems/rake-10.5.0/test/test_trace_output.rb +52 -0
  225. data/vendor/bundle/ruby/2.6.0/specifications/minitest-5.14.0.gemspec +38 -0
  226. data/vendor/bundle/ruby/2.6.0/specifications/rake-10.5.0.gemspec +39 -0
  227. metadata +305 -0
@@ -0,0 +1,7 @@
1
+ class WrappersCommand
2
+ class FileExist
3
+ def self.===(file)
4
+ File.exist?(file)
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,56 @@
1
+ require 'erb'
2
+ require 'fileutils'
3
+
4
+ module NlmtWrappers
5
+ class Environment
6
+
7
+ def self.file_name
8
+ path = Gem.configuration && Gem.configuration[:wrappers_environment_file]
9
+ if path.nil? || path == ""
10
+ path = File.join(Gem.dir, 'environment')
11
+ end
12
+ path
13
+ end
14
+
15
+ def file_name
16
+ @file_name ||= self.class.file_name
17
+ end
18
+
19
+ def path_take
20
+ return @path_take if defined? @path_take
21
+ @path_take = Gem.configuration && Gem.configuration[:wrappers_path_take] || 1
22
+ @path_take += gem_path.size
23
+ end
24
+
25
+ def ensure
26
+ return if File.exist?(file_name)
27
+ FileUtils.mkdir_p(File.dirname(file_name)) unless File.exist?(File.dirname(file_name))
28
+ content = ERB.new(template).result(binding)
29
+ File.open(file_name, 'w') do |file|
30
+ file.write(content)
31
+ end
32
+ File.chmod(0644, file_name)
33
+ end
34
+
35
+ def template
36
+ @template ||= <<-TEMPLATE
37
+ export PATH="<%= path.join(":") %>:$PATH"
38
+ export GEM_PATH="<%= gem_path.join(":") %>"
39
+ export GEM_HOME="<%= gem_home %>"
40
+ TEMPLATE
41
+ end
42
+
43
+ def gem_path
44
+ @gem_path ||= Gem.path
45
+ end
46
+
47
+ def gem_home
48
+ @gem_home ||= Gem.dir
49
+ end
50
+
51
+ def path(base = ENV['PATH'])
52
+ @path ||= base.split(":").take(path_take)
53
+ end
54
+
55
+ end
56
+ end
@@ -0,0 +1,110 @@
1
+ require 'erb'
2
+ require 'fileutils'
3
+
4
+ module NlmtWrappers
5
+ class Installer
6
+ attr_reader :environment_file
7
+
8
+ def initialize(environment_file = nil, executable_format = Gem.default_exec_format)
9
+ @environment_file = environment_file
10
+ @executable_format = executable_format
11
+ end
12
+
13
+ def self.wrappers_path
14
+ Gem.configuration && Gem.configuration[:wrappers_path] ||
15
+ File.join(Gem.dir, 'wrappers')
16
+ end
17
+
18
+ def wrappers_path
19
+ @wrappers_path ||= self.class.wrappers_path
20
+ end
21
+
22
+ def ensure
23
+ FileUtils.mkdir_p(wrappers_path) unless File.exist?(wrappers_path)
24
+ # exception based on Gem::Installer.generate_bin
25
+ unless File.writable?(wrappers_path)
26
+ raise Gem::FilePermissionError.new(wrappers_path)
27
+ end
28
+ unless @environment_file
29
+ raise "Missing environment file for initialize!"
30
+ end
31
+ end
32
+
33
+ def uninstall(executable)
34
+ file_name = File.join(wrappers_path, executable)
35
+ File.delete(file_name) if File.exist?(file_name)
36
+ end
37
+
38
+ def install(executable)
39
+ target_path = find_executable_path(executable)
40
+ unless target_path
41
+ warn "NlmtWrappers: Can not wrap missing file: #{executable}"
42
+ return
43
+ end
44
+ unless File.executable?(target_path)
45
+ warn "NlmtWrappers: Can not wrap not executable file: #{target_path}"
46
+ return
47
+ end
48
+ @executable = executable
49
+ content = ERB.new(template).result(binding)
50
+ install_file(executable, content)
51
+ install_to_formatted(executable, content)
52
+ end
53
+
54
+ def find_executable_path(executable)
55
+ return executable if File.exist?(executable)
56
+ ENV['PATH'].split(File::PATH_SEPARATOR).each { |dir|
57
+ full_path = File.join(dir, executable)
58
+ return full_path if File.exist?(full_path)
59
+ }
60
+ nil
61
+ end
62
+
63
+ def install_to_formatted(executable, content)
64
+ formatted_executable = @executable_format % executable
65
+ if
66
+ formatted_executable != executable
67
+ then
68
+ install_file(formatted_executable, content)
69
+ end
70
+ end
71
+
72
+ def install_file(executable, content)
73
+ file_name = File.join(wrappers_path, File.basename(executable))
74
+ File.open(file_name, 'w') do |file|
75
+ file.write(content)
76
+ end
77
+ file_set_executable(file_name)
78
+ end
79
+
80
+ def executable_expanded
81
+ if File.extname(@executable) == ".rb"
82
+ then "ruby #{@executable}"
83
+ else @executable
84
+ end
85
+ end
86
+
87
+ def template
88
+ @template ||= <<-TEMPLATE
89
+ #!/usr/bin/env bash
90
+
91
+ if
92
+ [[ -s "<%= environment_file %>" ]]
93
+ then
94
+ source "<%= environment_file %>"
95
+ exec <%= executable_expanded %> "$@"
96
+ else
97
+ echo "ERROR: Missing RVM environment file: '<%= environment_file %>'" >&2
98
+ exit 1
99
+ fi
100
+ TEMPLATE
101
+ end
102
+
103
+ private
104
+ def file_set_executable(file_name)
105
+ stat = File.stat(file_name)
106
+ File.chmod(stat.mode|0111, file_name) unless stat.mode&0111 == 0111
107
+ end
108
+
109
+ end
110
+ end
@@ -0,0 +1,19 @@
1
+ module NlmtWrappers
2
+ module Specification
3
+ def self.installed_gems
4
+ if Gem::VERSION > '1.8' then
5
+ Gem::Specification.to_a
6
+ else
7
+ Gem.source_index.map{|name,spec| spec}
8
+ end
9
+ end
10
+
11
+ def self.find(name = "nlmt-wrappers")
12
+ @gem_wrappers_spec ||= installed_gems.find{|spec| spec.name == name }
13
+ end
14
+
15
+ def self.version
16
+ find ? find.version.to_s : nil
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,3 @@
1
+ module NlmtWrappers
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,23 @@
1
+ # Simulate require_relative - it's required as the plugin can be called in wrong version or from bundler.
2
+ require File.expand_path('../nlmt-wrappers/specification.rb', __FILE__)
3
+
4
+ called_path, called_version = __FILE__.match(/^(.*\/nlmt-wrappers-([^\/]+)\/lib).*$/)[1..2]
5
+
6
+ # continue only if loaded and called versions all the same, and not shared gems disabled in bundler
7
+ if
8
+ ( $:.include?(called_path) || NlmtWrappers::Specification.version == called_version ) and
9
+ ( !defined?(Bundler) || ( defined?(Bundler) && Bundler::SharedHelpers.in_bundle? && !Bundler.settings[:disable_shared_gems]) )
10
+
11
+ require 'nlmt-wrappers'
12
+ require 'nlmt-wrappers/command'
13
+
14
+ Gem.post_install do |installer|
15
+ NlmtWrappers.install(installer.spec.executables)
16
+ end
17
+
18
+ Gem.post_uninstall do |installer|
19
+ NlmtWrappers.uninstall(installer.spec.executables)
20
+ end
21
+
22
+ Gem::CommandManager.instance.register_command :wrappers
23
+ end
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env ruby
2
+ # -*- encoding: utf-8 -*-
3
+
4
+ require File.expand_path("../lib/nlmt-wrappers/version.rb", __FILE__)
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "nlmt-wrappers"
8
+ s.version = NlmtWrappers::VERSION
9
+ s.authors = ["Shaikhraznova"]
10
+ s.email = ["ilmirashaikhraznova@gmail.com"]
11
+ s.homepage = "https://rubygems.org/gems/nlmt-wrappers"
12
+ s.metadata = { "source_code_uri" => "https://github.com/angry-boss/nlmt-wrappers" }
13
+ s.summary = "Create gem wrappers for easy use of gems in cron and other system locations."
14
+ s.license = "Apache 2.0"
15
+ s.extensions = %w( ext/wrapper_generator/extconf.rb )
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.add_development_dependency("rake", "<11")
19
+ s.add_development_dependency("minitest", "<6")
20
+ # s.add_development_dependency("smf-gem")
21
+ end
@@ -0,0 +1,92 @@
1
+ require 'test_helper'
2
+ require 'pathname'
3
+ require 'tempfile'
4
+ require 'nlmt-wrappers/command'
5
+ require 'nlmt-wrappers/fakes'
6
+
7
+ describe WrappersCommand do
8
+ subject do
9
+ WrappersCommand.new
10
+ end
11
+
12
+ let(:gems) { %w[rake ruby] }
13
+
14
+ before do
15
+ @fake_wrappers = NlmtWrappers::Fake.new(gems)
16
+ subject.instance_variable_set(:@gem_wrappers, @fake_wrappers)
17
+ $stdout = StringIO.new
18
+ $stderr = StringIO.new
19
+ end
20
+
21
+ after do
22
+ $stdout = STDOUT
23
+ $stderr = STDERR
24
+ end
25
+
26
+ it "has some strings" do
27
+ subject.arguments.class.must_equal(String)
28
+ subject.usage.class.must_equal(String)
29
+ subject.defaults_str.class.must_equal(String)
30
+ subject.description.class.must_equal(String)
31
+ subject.program_name.class.must_equal(String)
32
+ end
33
+
34
+ it "shows help on unknown command" do
35
+ subject.options[:args] = ['wrong']
36
+ subject.execute
37
+ $stderr.string.must_equal("Unknown wrapper subcommand: wrong\n")
38
+ $stdout.string.must_equal(subject.description)
39
+ end
40
+
41
+ it "does show" do
42
+ subject.options[:args] = ["show"]
43
+ subject.execute
44
+
45
+ $stderr.string.must_equal("")
46
+ $stdout.string.must_match(%r{\
47
+ #{Regexp.escape(subject.description.strip)}
48
+ Wrappers path: /path/to/wrappers
49
+ Environment file: /path/to/environment
50
+ Executables: rake, ruby
51
+ })
52
+ end
53
+
54
+ it "does show rake" do
55
+ subject.options[:args] = ["show", "rake"]
56
+ subject.execute
57
+
58
+ $stderr.string.must_equal("")
59
+ $stdout.string.must_equal("/path/to/wrappers/rake\n")
60
+ end
61
+
62
+ it "regenerates wrappers" do
63
+ subject.options[:args] = %w{regenerate rake}
64
+ subject.execute
65
+ @fake_wrappers.executables.must_equal(%w{rake})
66
+ end
67
+
68
+ describe "script wrappers" do
69
+ before do
70
+ @file = Tempfile.new('command-wrappers')
71
+ end
72
+
73
+ after do
74
+ @file.close
75
+ @file.unlink
76
+ end
77
+
78
+ it "generates script wrapper full path" do
79
+ subject.options[:args] = [@file.path]
80
+ subject.execute
81
+ @fake_wrappers.executables.must_equal([@file.path])
82
+ end
83
+
84
+ it "generates script wrapper relative" do
85
+ Dir.chdir(File.dirname(@file.path)) do
86
+ subject.options[:args] = [File.basename(@file.path)]
87
+ subject.execute
88
+ @fake_wrappers.executables.must_equal([Pathname.new(@file.path).realpath.to_s])
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,82 @@
1
+ require 'test_helper'
2
+ require 'tempfile'
3
+ require 'nlmt-wrappers/environment'
4
+
5
+ describe NlmtWrappers::Environment do
6
+ describe "configuration" do
7
+ it "uses default file" do
8
+ Gem.configuration[:wrappers_environment_file] = nil
9
+ NlmtWrappers::Environment.file_name.must_equal(File.join(Gem.dir, "environment"))
10
+ NlmtWrappers::Environment.new.file_name.must_equal(NlmtWrappers::Environment.file_name)
11
+ end
12
+ it "reads configured file" do
13
+ Gem.configuration[:wrappers_environment_file] = "/path/to/environment"
14
+ NlmtWrappers::Environment.file_name.must_equal("/path/to/environment")
15
+ NlmtWrappers::Environment.new.file_name.must_equal("/path/to/environment")
16
+ Gem.configuration[:wrappers_environment_file] = nil
17
+ end
18
+ it "uses default take" do
19
+ Gem.configuration[:wrappers_path_take] = nil
20
+ NlmtWrappers::Environment.new.path_take.must_equal(Gem.path.size + 1)
21
+ end
22
+ it "reads configured take" do
23
+ Gem.configuration[:wrappers_path_take] = 0
24
+ NlmtWrappers::Environment.new.path_take.must_equal(Gem.path.size)
25
+ Gem.configuration[:wrappers_path_take] = nil
26
+ end
27
+ end
28
+
29
+ describe "instance" do
30
+ subject do
31
+ NlmtWrappers::Environment.new
32
+ end
33
+
34
+ before do
35
+ @test_file = Tempfile.new('environment-file')
36
+ end
37
+
38
+ after do
39
+ @test_file.close
40
+ @test_file.unlink if @test_file.path
41
+ end
42
+
43
+ it "calculates path part 1" do
44
+ subject.instance_variable_set(:@path_take, 1)
45
+ subject.path("/one/bin:/two/bin:/three/bin:/four/bin").must_equal(["/one/bin"])
46
+ end
47
+
48
+ it "calculates path part 3" do
49
+ subject.instance_variable_set(:@path_take, 3)
50
+ subject.path("/one/bin:/two/bin:/three/bin:/four/bin").must_equal(["/one/bin", "/two/bin", "/three/bin"])
51
+ end
52
+
53
+ it "does not overwrite existing file" do
54
+ subject.instance_variable_set(:@file_name, @test_file.path)
55
+ File.open(subject.file_name, "w") do |file|
56
+ file.write("something")
57
+ end
58
+ subject.ensure
59
+ File.open(subject.file_name, "r") do |file|
60
+ file.read.must_equal("something")
61
+ end
62
+ end
63
+
64
+ it "creates environment file" do
65
+ subject.instance_variable_set(:@path, ["/one/bin", "/two/bin"])
66
+ subject.instance_variable_set(:@gem_path, ["/one", "/two"])
67
+ subject.instance_variable_set(:@gem_home, "/one")
68
+ subject.instance_variable_set(:@file_name, @test_file.path)
69
+ @test_file.close
70
+ @test_file.unlink
71
+ subject.ensure
72
+ File.open(subject.file_name, "r") do |file|
73
+ file.read.must_equal(<<-EXPECTED)
74
+ export PATH="/one/bin:/two/bin:$PATH"
75
+ export GEM_PATH="/one:/two"
76
+ export GEM_HOME="/one"
77
+ EXPECTED
78
+ end
79
+ end
80
+
81
+ end
82
+ end
@@ -0,0 +1,71 @@
1
+ module NlmtWrappers
2
+ class FakeInstaller
3
+ def initialize
4
+ @executables = []
5
+ end
6
+ def install(executable)
7
+ @executables << executable
8
+ end
9
+ def uninstall(executable)
10
+ @executables.delete(executable)
11
+ end
12
+ def executables
13
+ @executables.uniq
14
+ end
15
+ def ensure
16
+ @ensure = true
17
+ end
18
+ def ensure?
19
+ @ensure
20
+ end
21
+ def wrappers_path
22
+ "/path/to/wrappers"
23
+ end
24
+ end
25
+ class FakeEnvironment
26
+ def ensure
27
+ @ensure = true
28
+ end
29
+ def ensure?
30
+ @ensure
31
+ end
32
+ def file_name
33
+ "/path/to/environment"
34
+ end
35
+ end
36
+ class Fake
37
+ def initialize(gems)
38
+ @gems = gems
39
+ @executables = []
40
+ end
41
+ def install(executables)
42
+ @executables += executables
43
+ end
44
+ def uninstall(executables)
45
+ @executables -= executables
46
+ end
47
+ def executables
48
+ @executables
49
+ end
50
+ def environment_file
51
+ "/path/to/environment"
52
+ end
53
+ def wrappers_path
54
+ "/path/to/wrappers"
55
+ end
56
+ def wrapper_path(exe)
57
+ file = File.join(wrappers_path, exe)
58
+ if @gems.include?(exe)
59
+ file
60
+ else
61
+ raise NlmtWrappers::NoWrapper, "No wrapper: #{file}"
62
+ end
63
+ end
64
+ def installed_wrappers
65
+ @gems
66
+ end
67
+ def gems_executables
68
+ @gems
69
+ end
70
+ end
71
+ end