embulk 0.8.38-java → 0.10.27-java

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 (603) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +1 -1
  3. data/LICENSE +202 -0
  4. data/embulk.gemspec +34 -33
  5. data/lib/embulk.rb +5 -61
  6. data/lib/embulk/buffer.rb +1 -2
  7. data/lib/embulk/gem_version.rb +3 -0
  8. data/lib/embulk/guess/charset.rb +2 -11
  9. data/lib/embulk/java/bootstrap.rb +0 -1
  10. data/lib/embulk/java_plugin.rb +9 -1
  11. data/lib/embulk/logger.rb +2 -1
  12. data/lib/embulk/page_builder.rb +2 -2
  13. data/lib/embulk/plugin.rb +2 -2
  14. data/lib/embulk/schema.rb +3 -4
  15. data/lib/embulk/version.rb +43 -19
  16. metadata +23 -761
  17. data/.gitignore +0 -15
  18. data/.ruby-version +0 -1
  19. data/.travis.yml +0 -28
  20. data/COPYING +0 -14
  21. data/Gemfile.lock +0 -30
  22. data/README.md +0 -229
  23. data/Rakefile +0 -26
  24. data/appveyor.yml +0 -28
  25. data/bin/embulk +0 -139
  26. data/build.gradle +0 -419
  27. data/embulk-cli/build.gradle +0 -9
  28. data/embulk-cli/src/main/bat/selfrun.bat +0 -107
  29. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkArguments.java +0 -54
  30. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkCommandLine.java +0 -227
  31. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkCommandLineException.java +0 -25
  32. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkExample.java +0 -86
  33. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkMigrate.java +0 -480
  34. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkNew.java +0 -419
  35. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkRun.java +0 -786
  36. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkSelfUpdate.java +0 -235
  37. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkSubcommand.java +0 -47
  38. data/embulk-cli/src/main/java/org/embulk/cli/Main.java +0 -31
  39. data/embulk-cli/src/main/java/org/embulk/cli/parse/AbstractHelpLineDefinition.java +0 -15
  40. data/embulk-cli/src/main/java/org/embulk/cli/parse/CliHelpFormatterWithHelpMessages.java +0 -141
  41. data/embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java +0 -45
  42. data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineHelpRequired.java +0 -10
  43. data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineParseException.java +0 -25
  44. data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineParser.java +0 -187
  45. data/embulk-cli/src/main/java/org/embulk/cli/parse/HelpMessageAsCliOption.java +0 -36
  46. data/embulk-cli/src/main/java/org/embulk/cli/parse/HelpMessageLineDefinition.java +0 -20
  47. data/embulk-cli/src/main/java/org/embulk/cli/parse/OptionBehavior.java +0 -39
  48. data/embulk-cli/src/main/java/org/embulk/cli/parse/OptionDefinition.java +0 -120
  49. data/embulk-cli/src/main/sh/selfrun.sh +0 -60
  50. data/embulk-cli/src/test/java/org/embulk/cli/DummyMain.java +0 -23
  51. data/embulk-cli/src/test/java/org/embulk/cli/SelfrunTest.java +0 -296
  52. data/embulk-core/build.gradle +0 -83
  53. data/embulk-core/src/main/java/org/embulk/EmbulkEmbed.java +0 -321
  54. data/embulk-core/src/main/java/org/embulk/EmbulkRunner.java +0 -531
  55. data/embulk-core/src/main/java/org/embulk/EmbulkService.java +0 -78
  56. data/embulk-core/src/main/java/org/embulk/EmbulkSetup.java +0 -49
  57. data/embulk-core/src/main/java/org/embulk/EmbulkVersion.java +0 -109
  58. data/embulk-core/src/main/java/org/embulk/command/PreviewPrinter.java +0 -87
  59. data/embulk-core/src/main/java/org/embulk/command/TablePreviewPrinter.java +0 -107
  60. data/embulk-core/src/main/java/org/embulk/command/VerticalPreviewPrinter.java +0 -47
  61. data/embulk-core/src/main/java/org/embulk/config/CommitReport.java +0 -36
  62. data/embulk-core/src/main/java/org/embulk/config/Config.java +0 -15
  63. data/embulk-core/src/main/java/org/embulk/config/ConfigDefault.java +0 -15
  64. data/embulk-core/src/main/java/org/embulk/config/ConfigDiff.java +0 -32
  65. data/embulk-core/src/main/java/org/embulk/config/ConfigException.java +0 -26
  66. data/embulk-core/src/main/java/org/embulk/config/ConfigInject.java +0 -14
  67. data/embulk-core/src/main/java/org/embulk/config/ConfigLoader.java +0 -149
  68. data/embulk-core/src/main/java/org/embulk/config/ConfigSource.java +0 -34
  69. data/embulk-core/src/main/java/org/embulk/config/DataSource.java +0 -41
  70. data/embulk-core/src/main/java/org/embulk/config/DataSourceImpl.java +0 -243
  71. data/embulk-core/src/main/java/org/embulk/config/DataSourceSerDe.java +0 -84
  72. data/embulk-core/src/main/java/org/embulk/config/GenericTypeReference.java +0 -20
  73. data/embulk-core/src/main/java/org/embulk/config/ModelManager.java +0 -123
  74. data/embulk-core/src/main/java/org/embulk/config/Task.java +0 -10
  75. data/embulk-core/src/main/java/org/embulk/config/TaskInvocationHandler.java +0 -180
  76. data/embulk-core/src/main/java/org/embulk/config/TaskReport.java +0 -32
  77. data/embulk-core/src/main/java/org/embulk/config/TaskSerDe.java +0 -349
  78. data/embulk-core/src/main/java/org/embulk/config/TaskSource.java +0 -34
  79. data/embulk-core/src/main/java/org/embulk/config/TaskValidationException.java +0 -38
  80. data/embulk-core/src/main/java/org/embulk/config/TaskValidator.java +0 -24
  81. data/embulk-core/src/main/java/org/embulk/config/UserDataException.java +0 -4
  82. data/embulk-core/src/main/java/org/embulk/config/UserDataExceptions.java +0 -17
  83. data/embulk-core/src/main/java/org/embulk/config/YamlTagResolver.java +0 -53
  84. data/embulk-core/src/main/java/org/embulk/exec/BufferFileInputPlugin.java +0 -88
  85. data/embulk-core/src/main/java/org/embulk/exec/BulkLoader.java +0 -754
  86. data/embulk-core/src/main/java/org/embulk/exec/ConfigurableGuessInputPlugin.java +0 -9
  87. data/embulk-core/src/main/java/org/embulk/exec/ExecModule.java +0 -53
  88. data/embulk-core/src/main/java/org/embulk/exec/ExecutionInterruptedException.java +0 -10
  89. data/embulk-core/src/main/java/org/embulk/exec/ExecutionResult.java +0 -33
  90. data/embulk-core/src/main/java/org/embulk/exec/ExtensionServiceLoaderModule.java +0 -43
  91. data/embulk-core/src/main/java/org/embulk/exec/ForGuess.java +0 -16
  92. data/embulk-core/src/main/java/org/embulk/exec/ForSystemConfig.java +0 -16
  93. data/embulk-core/src/main/java/org/embulk/exec/GuessExecutor.java +0 -309
  94. data/embulk-core/src/main/java/org/embulk/exec/LocalExecutorPlugin.java +0 -563
  95. data/embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java +0 -68
  96. data/embulk-core/src/main/java/org/embulk/exec/NoSampleException.java +0 -10
  97. data/embulk-core/src/main/java/org/embulk/exec/PartialExecutionException.java +0 -26
  98. data/embulk-core/src/main/java/org/embulk/exec/PooledBufferAllocator.java +0 -77
  99. data/embulk-core/src/main/java/org/embulk/exec/PreviewExecutor.java +0 -222
  100. data/embulk-core/src/main/java/org/embulk/exec/PreviewResult.java +0 -27
  101. data/embulk-core/src/main/java/org/embulk/exec/PreviewedNoticeError.java +0 -17
  102. data/embulk-core/src/main/java/org/embulk/exec/ResumeState.java +0 -100
  103. data/embulk-core/src/main/java/org/embulk/exec/SamplingParserPlugin.java +0 -215
  104. data/embulk-core/src/main/java/org/embulk/exec/SetCurrentThreadName.java +0 -22
  105. data/embulk-core/src/main/java/org/embulk/exec/SkipTransactionException.java +0 -23
  106. data/embulk-core/src/main/java/org/embulk/exec/SystemConfigModule.java +0 -24
  107. data/embulk-core/src/main/java/org/embulk/exec/TempFileAllocator.java +0 -35
  108. data/embulk-core/src/main/java/org/embulk/exec/TransactionStage.java +0 -27
  109. data/embulk-core/src/main/java/org/embulk/jruby/JRubyPluginSource.java +0 -76
  110. data/embulk-core/src/main/java/org/embulk/jruby/JRubyScriptingModule.java +0 -395
  111. data/embulk-core/src/main/java/org/embulk/plugin/BuiltinPluginSourceModule.java +0 -17
  112. data/embulk-core/src/main/java/org/embulk/plugin/DefaultPluginType.java +0 -50
  113. data/embulk-core/src/main/java/org/embulk/plugin/InjectedPluginSource.java +0 -100
  114. data/embulk-core/src/main/java/org/embulk/plugin/MavenPluginType.java +0 -112
  115. data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoader.java +0 -993
  116. data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderFactory.java +0 -16
  117. data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderModule.java +0 -102
  118. data/embulk-core/src/main/java/org/embulk/plugin/PluginManager.java +0 -78
  119. data/embulk-core/src/main/java/org/embulk/plugin/PluginSource.java +0 -49
  120. data/embulk-core/src/main/java/org/embulk/plugin/PluginSourceNotMatchException.java +0 -25
  121. data/embulk-core/src/main/java/org/embulk/plugin/PluginType.java +0 -122
  122. data/embulk-core/src/main/java/org/embulk/plugin/compat/InputPluginWrapper.java +0 -102
  123. data/embulk-core/src/main/java/org/embulk/plugin/compat/PluginWrappers.java +0 -30
  124. data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileInputWrapper.java +0 -96
  125. data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileOutputWrapper.java +0 -102
  126. data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalPageOutputWrapper.java +0 -95
  127. data/embulk-core/src/main/java/org/embulk/plugin/jar/InvalidJarPluginException.java +0 -14
  128. data/embulk-core/src/main/java/org/embulk/plugin/jar/JarPluginLoader.java +0 -232
  129. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenArtifactFinder.java +0 -134
  130. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenArtifactNotFoundException.java +0 -20
  131. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenPluginSource.java +0 -187
  132. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenPluginSourceModule.java +0 -22
  133. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenRepositoryNotFoundException.java +0 -31
  134. data/embulk-core/src/main/java/org/embulk/spi/AbortTransactionResource.java +0 -36
  135. data/embulk-core/src/main/java/org/embulk/spi/Buffer.java +0 -148
  136. data/embulk-core/src/main/java/org/embulk/spi/BufferAllocator.java +0 -8
  137. data/embulk-core/src/main/java/org/embulk/spi/CloseResource.java +0 -42
  138. data/embulk-core/src/main/java/org/embulk/spi/Column.java +0 -95
  139. data/embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java +0 -112
  140. data/embulk-core/src/main/java/org/embulk/spi/ColumnVisitor.java +0 -16
  141. data/embulk-core/src/main/java/org/embulk/spi/DataException.java +0 -23
  142. data/embulk-core/src/main/java/org/embulk/spi/DecoderPlugin.java +0 -16
  143. data/embulk-core/src/main/java/org/embulk/spi/EncoderPlugin.java +0 -16
  144. data/embulk-core/src/main/java/org/embulk/spi/Exec.java +0 -113
  145. data/embulk-core/src/main/java/org/embulk/spi/ExecAction.java +0 -6
  146. data/embulk-core/src/main/java/org/embulk/spi/ExecSession.java +0 -220
  147. data/embulk-core/src/main/java/org/embulk/spi/ExecutorPlugin.java +0 -19
  148. data/embulk-core/src/main/java/org/embulk/spi/Extension.java +0 -44
  149. data/embulk-core/src/main/java/org/embulk/spi/FileInput.java +0 -11
  150. data/embulk-core/src/main/java/org/embulk/spi/FileInputPlugin.java +0 -30
  151. data/embulk-core/src/main/java/org/embulk/spi/FileInputRunner.java +0 -169
  152. data/embulk-core/src/main/java/org/embulk/spi/FileOutput.java +0 -13
  153. data/embulk-core/src/main/java/org/embulk/spi/FileOutputPlugin.java +0 -28
  154. data/embulk-core/src/main/java/org/embulk/spi/FileOutputRunner.java +0 -199
  155. data/embulk-core/src/main/java/org/embulk/spi/FilterPlugin.java +0 -18
  156. data/embulk-core/src/main/java/org/embulk/spi/FormatterPlugin.java +0 -18
  157. data/embulk-core/src/main/java/org/embulk/spi/GuessPlugin.java +0 -9
  158. data/embulk-core/src/main/java/org/embulk/spi/InputPlugin.java +0 -33
  159. data/embulk-core/src/main/java/org/embulk/spi/OutputPlugin.java +0 -29
  160. data/embulk-core/src/main/java/org/embulk/spi/Page.java +0 -86
  161. data/embulk-core/src/main/java/org/embulk/spi/PageBuilder.java +0 -696
  162. data/embulk-core/src/main/java/org/embulk/spi/PageFormat.java +0 -47
  163. data/embulk-core/src/main/java/org/embulk/spi/PageOutput.java +0 -11
  164. data/embulk-core/src/main/java/org/embulk/spi/PageReader.java +0 -248
  165. data/embulk-core/src/main/java/org/embulk/spi/ParserPlugin.java +0 -17
  166. data/embulk-core/src/main/java/org/embulk/spi/ProcessState.java +0 -10
  167. data/embulk-core/src/main/java/org/embulk/spi/ProcessTask.java +0 -117
  168. data/embulk-core/src/main/java/org/embulk/spi/Schema.java +0 -139
  169. data/embulk-core/src/main/java/org/embulk/spi/SchemaConfig.java +0 -93
  170. data/embulk-core/src/main/java/org/embulk/spi/SchemaConfigException.java +0 -22
  171. data/embulk-core/src/main/java/org/embulk/spi/TaskState.java +0 -81
  172. data/embulk-core/src/main/java/org/embulk/spi/TempFileException.java +0 -19
  173. data/embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java +0 -88
  174. data/embulk-core/src/main/java/org/embulk/spi/Transactional.java +0 -10
  175. data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileInput.java +0 -17
  176. data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileOutput.java +0 -19
  177. data/embulk-core/src/main/java/org/embulk/spi/TransactionalPageOutput.java +0 -17
  178. data/embulk-core/src/main/java/org/embulk/spi/json/JsonParseException.java +0 -17
  179. data/embulk-core/src/main/java/org/embulk/spi/json/JsonParser.java +0 -233
  180. data/embulk-core/src/main/java/org/embulk/spi/json/RubyValueApi.java +0 -100
  181. data/embulk-core/src/main/java/org/embulk/spi/time/DateTimeZoneSerDe.java +0 -55
  182. data/embulk-core/src/main/java/org/embulk/spi/time/Timestamp.java +0 -180
  183. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormat.java +0 -127
  184. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormatter.java +0 -125
  185. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParseException.java +0 -12
  186. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParser.java +0 -310
  187. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampSerDe.java +0 -49
  188. data/embulk-core/src/main/java/org/embulk/spi/type/AbstractType.java +0 -58
  189. data/embulk-core/src/main/java/org/embulk/spi/type/BooleanType.java +0 -12
  190. data/embulk-core/src/main/java/org/embulk/spi/type/DoubleType.java +0 -12
  191. data/embulk-core/src/main/java/org/embulk/spi/type/JsonType.java +0 -14
  192. data/embulk-core/src/main/java/org/embulk/spi/type/LongType.java +0 -12
  193. data/embulk-core/src/main/java/org/embulk/spi/type/StringType.java +0 -12
  194. data/embulk-core/src/main/java/org/embulk/spi/type/TimestampType.java +0 -41
  195. data/embulk-core/src/main/java/org/embulk/spi/type/Type.java +0 -15
  196. data/embulk-core/src/main/java/org/embulk/spi/type/TypeDeserializer.java +0 -45
  197. data/embulk-core/src/main/java/org/embulk/spi/type/Types.java +0 -16
  198. data/embulk-core/src/main/java/org/embulk/spi/unit/ByteSize.java +0 -156
  199. data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFile.java +0 -106
  200. data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFileSerDe.java +0 -113
  201. data/embulk-core/src/main/java/org/embulk/spi/unit/ToString.java +0 -54
  202. data/embulk-core/src/main/java/org/embulk/spi/unit/ToStringMap.java +0 -34
  203. data/embulk-core/src/main/java/org/embulk/spi/util/CharsetSerDe.java +0 -55
  204. data/embulk-core/src/main/java/org/embulk/spi/util/Decoders.java +0 -81
  205. data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnNotFoundException.java +0 -10
  206. data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetter.java +0 -21
  207. data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetterFactory.java +0 -134
  208. data/embulk-core/src/main/java/org/embulk/spi/util/DynamicPageBuilder.java +0 -200
  209. data/embulk-core/src/main/java/org/embulk/spi/util/Encoders.java +0 -81
  210. data/embulk-core/src/main/java/org/embulk/spi/util/Executors.java +0 -93
  211. data/embulk-core/src/main/java/org/embulk/spi/util/FileInputInputStream.java +0 -111
  212. data/embulk-core/src/main/java/org/embulk/spi/util/FileOutputOutputStream.java +0 -119
  213. data/embulk-core/src/main/java/org/embulk/spi/util/Filters.java +0 -100
  214. data/embulk-core/src/main/java/org/embulk/spi/util/InputStreamFileInput.java +0 -189
  215. data/embulk-core/src/main/java/org/embulk/spi/util/InputStreamTransactionalFileInput.java +0 -25
  216. data/embulk-core/src/main/java/org/embulk/spi/util/Inputs.java +0 -65
  217. data/embulk-core/src/main/java/org/embulk/spi/util/LineDecoder.java +0 -157
  218. data/embulk-core/src/main/java/org/embulk/spi/util/LineEncoder.java +0 -123
  219. data/embulk-core/src/main/java/org/embulk/spi/util/ListFileInput.java +0 -52
  220. data/embulk-core/src/main/java/org/embulk/spi/util/Newline.java +0 -38
  221. data/embulk-core/src/main/java/org/embulk/spi/util/OutputStreamFileOutput.java +0 -88
  222. data/embulk-core/src/main/java/org/embulk/spi/util/PagePrinter.java +0 -126
  223. data/embulk-core/src/main/java/org/embulk/spi/util/Pages.java +0 -149
  224. data/embulk-core/src/main/java/org/embulk/spi/util/ResumableInputStream.java +0 -168
  225. data/embulk-core/src/main/java/org/embulk/spi/util/RetryExecutor.java +0 -130
  226. data/embulk-core/src/main/java/org/embulk/spi/util/Timestamps.java +0 -53
  227. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/AbstractDynamicColumnSetter.java +0 -94
  228. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/BooleanColumnSetter.java +0 -71
  229. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DefaultValueSetter.java +0 -20
  230. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java +0 -68
  231. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/JsonColumnSetter.java +0 -64
  232. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/LongColumnSetter.java +0 -78
  233. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/NullDefaultValueSetter.java +0 -39
  234. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/SkipColumnSetter.java +0 -68
  235. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/StringColumnSetter.java +0 -63
  236. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java +0 -72
  237. data/embulk-core/src/main/resources/embulk/logback-color.xml +0 -72
  238. data/embulk-core/src/main/resources/embulk/logback-console.xml +0 -14
  239. data/embulk-core/src/main/resources/embulk/logback-file.xml +0 -23
  240. data/embulk-core/src/main/resources/embulk/parent_first_packages.properties +0 -73
  241. data/embulk-core/src/main/resources/embulk/parent_first_resources.properties +0 -29
  242. data/embulk-core/src/test/java/org/embulk/EmbulkTestRuntime.java +0 -122
  243. data/embulk-core/src/test/java/org/embulk/GuiceBinder.java +0 -72
  244. data/embulk-core/src/test/java/org/embulk/RandomManager.java +0 -53
  245. data/embulk-core/src/test/java/org/embulk/TestPluginSourceModule.java +0 -23
  246. data/embulk-core/src/test/java/org/embulk/TestUtilityModule.java +0 -17
  247. data/embulk-core/src/test/java/org/embulk/config/TestConfigLoader.java +0 -66
  248. data/embulk-core/src/test/java/org/embulk/config/TestConfigSource.java +0 -114
  249. data/embulk-core/src/test/java/org/embulk/config/TestTaskSource.java +0 -70
  250. data/embulk-core/src/test/java/org/embulk/plugin/MockPluginSource.java +0 -58
  251. data/embulk-core/src/test/java/org/embulk/plugin/TestPluginType.java +0 -83
  252. data/embulk-core/src/test/java/org/embulk/plugin/TestPluginTypeSerDe.java +0 -67
  253. data/embulk-core/src/test/java/org/embulk/plugin/jar/ExampleJarSpiV0.java +0 -9
  254. data/embulk-core/src/test/java/org/embulk/plugin/jar/JarBuilder.java +0 -101
  255. data/embulk-core/src/test/java/org/embulk/plugin/jar/TestJarPluginLoader.java +0 -60
  256. data/embulk-core/src/test/java/org/embulk/plugin/maven/TestMavenArtifactFinder.java +0 -41
  257. data/embulk-core/src/test/java/org/embulk/spi/MockFileOutput.java +0 -63
  258. data/embulk-core/src/test/java/org/embulk/spi/MockFormatterPlugin.java +0 -108
  259. data/embulk-core/src/test/java/org/embulk/spi/MockParserPlugin.java +0 -80
  260. data/embulk-core/src/test/java/org/embulk/spi/PageTestUtils.java +0 -59
  261. data/embulk-core/src/test/java/org/embulk/spi/TestBuffer.java +0 -24
  262. data/embulk-core/src/test/java/org/embulk/spi/TestFileInputInputStream.java +0 -89
  263. data/embulk-core/src/test/java/org/embulk/spi/TestFileInputRunner.java +0 -199
  264. data/embulk-core/src/test/java/org/embulk/spi/TestFileOutputRunner.java +0 -221
  265. data/embulk-core/src/test/java/org/embulk/spi/TestInputStreamFileInput.java +0 -188
  266. data/embulk-core/src/test/java/org/embulk/spi/TestPageBuilderReader.java +0 -411
  267. data/embulk-core/src/test/java/org/embulk/spi/json/TestJsonParser.java +0 -102
  268. data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestamp.java +0 -116
  269. data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParser.java +0 -75
  270. data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParserDeprecated.java +0 -67
  271. data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampParser.java +0 -232
  272. data/embulk-core/src/test/java/org/embulk/spi/type/TestTypeSerDe.java +0 -45
  273. data/embulk-core/src/test/java/org/embulk/spi/unit/TestByteSize.java +0 -79
  274. data/embulk-core/src/test/java/org/embulk/spi/util/TestLineDecoder.java +0 -237
  275. data/embulk-core/src/test/java/org/embulk/spi/util/TestLineEncoder.java +0 -123
  276. data/embulk-core/src/test/resources/m2.test/.gitignore +0 -1
  277. data/embulk-core/src/test/resources/m2.test/org/embulk/example/embulk-example-maven-artifact/0.1.2/embulk-example-maven-artifact-0.1.2.jar +0 -0
  278. data/embulk-core/src/test/resources/m2.test/org/embulk/example/embulk-example-maven-artifact/0.1.2/embulk-example-maven-artifact-0.1.2.jar.sha1 +0 -1
  279. data/embulk-core/src/test/resources/m2.test/org/embulk/example/embulk-example-maven-artifact/0.1.2/embulk-example-maven-artifact-0.1.2.pom +0 -9
  280. data/embulk-core/src/test/resources/m2.test/org/embulk/example/embulk-example-maven-artifact/0.1.2/embulk-example-maven-artifact-0.1.2.pom.sha1 +0 -1
  281. data/embulk-docs/Makefile +0 -178
  282. data/embulk-docs/build.gradle +0 -41
  283. data/embulk-docs/make.bat +0 -243
  284. data/embulk-docs/push-gh-pages.sh +0 -49
  285. data/embulk-docs/src/_static/embulk-architecture.png +0 -0
  286. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-oneline-tr.png +0 -0
  287. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-oneline-wt.png +0 -0
  288. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-oneline.ai +0 -396
  289. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq-tr-small.png +0 -0
  290. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq-tr.png +0 -0
  291. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq-wt.png +0 -0
  292. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq.ai +0 -417
  293. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq.svg +0 -1
  294. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-symbol-tr.png +0 -0
  295. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-symbol-wt.png +0 -0
  296. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-symbol.ai +1 -394
  297. data/embulk-docs/src/_static/embulk-logo.svg +0 -133
  298. data/embulk-docs/src/built-in.rst +0 -1017
  299. data/embulk-docs/src/conf.py +0 -260
  300. data/embulk-docs/src/customization.rst +0 -184
  301. data/embulk-docs/src/developers/index.rst +0 -45
  302. data/embulk-docs/src/index.rst +0 -102
  303. data/embulk-docs/src/logo.rst +0 -27
  304. data/embulk-docs/src/recipe.rst +0 -8
  305. data/embulk-docs/src/recipe/scheduled-csv-load-to-elasticsearch-kibana5.rst +0 -163
  306. data/embulk-docs/src/release.rst +0 -108
  307. data/embulk-docs/src/release/release-0.1.0.rst +0 -8
  308. data/embulk-docs/src/release/release-0.2.0.rst +0 -16
  309. data/embulk-docs/src/release/release-0.2.1.rst +0 -19
  310. data/embulk-docs/src/release/release-0.3.0.rst +0 -34
  311. data/embulk-docs/src/release/release-0.3.1.rst +0 -11
  312. data/embulk-docs/src/release/release-0.3.2.rst +0 -15
  313. data/embulk-docs/src/release/release-0.4.0.rst +0 -74
  314. data/embulk-docs/src/release/release-0.4.1.rst +0 -18
  315. data/embulk-docs/src/release/release-0.4.10.rst +0 -17
  316. data/embulk-docs/src/release/release-0.4.2.rst +0 -18
  317. data/embulk-docs/src/release/release-0.4.3.rst +0 -34
  318. data/embulk-docs/src/release/release-0.4.4.rst +0 -39
  319. data/embulk-docs/src/release/release-0.4.5.rst +0 -24
  320. data/embulk-docs/src/release/release-0.4.6.rst +0 -30
  321. data/embulk-docs/src/release/release-0.4.7.rst +0 -16
  322. data/embulk-docs/src/release/release-0.4.8.rst +0 -15
  323. data/embulk-docs/src/release/release-0.4.9.rst +0 -23
  324. data/embulk-docs/src/release/release-0.5.0.rst +0 -89
  325. data/embulk-docs/src/release/release-0.5.1.rst +0 -13
  326. data/embulk-docs/src/release/release-0.5.2.rst +0 -30
  327. data/embulk-docs/src/release/release-0.5.3.rst +0 -22
  328. data/embulk-docs/src/release/release-0.5.4.rst +0 -24
  329. data/embulk-docs/src/release/release-0.5.5.rst +0 -18
  330. data/embulk-docs/src/release/release-0.6.0.rst +0 -34
  331. data/embulk-docs/src/release/release-0.6.1.rst +0 -11
  332. data/embulk-docs/src/release/release-0.6.10.rst +0 -15
  333. data/embulk-docs/src/release/release-0.6.11.rst +0 -19
  334. data/embulk-docs/src/release/release-0.6.12.rst +0 -31
  335. data/embulk-docs/src/release/release-0.6.13.rst +0 -23
  336. data/embulk-docs/src/release/release-0.6.14.rst +0 -47
  337. data/embulk-docs/src/release/release-0.6.15.rst +0 -26
  338. data/embulk-docs/src/release/release-0.6.16.rst +0 -26
  339. data/embulk-docs/src/release/release-0.6.17.rst +0 -39
  340. data/embulk-docs/src/release/release-0.6.18.rst +0 -14
  341. data/embulk-docs/src/release/release-0.6.19.rst +0 -18
  342. data/embulk-docs/src/release/release-0.6.2.rst +0 -17
  343. data/embulk-docs/src/release/release-0.6.20.rst +0 -19
  344. data/embulk-docs/src/release/release-0.6.21.rst +0 -20
  345. data/embulk-docs/src/release/release-0.6.22.rst +0 -26
  346. data/embulk-docs/src/release/release-0.6.23.rst +0 -17
  347. data/embulk-docs/src/release/release-0.6.24.rst +0 -13
  348. data/embulk-docs/src/release/release-0.6.25.rst +0 -12
  349. data/embulk-docs/src/release/release-0.6.26.rst +0 -17
  350. data/embulk-docs/src/release/release-0.6.27.rst +0 -11
  351. data/embulk-docs/src/release/release-0.6.3.rst +0 -23
  352. data/embulk-docs/src/release/release-0.6.4.rst +0 -13
  353. data/embulk-docs/src/release/release-0.6.5.rst +0 -17
  354. data/embulk-docs/src/release/release-0.6.6.rst +0 -17
  355. data/embulk-docs/src/release/release-0.6.7.rst +0 -17
  356. data/embulk-docs/src/release/release-0.6.8.rst +0 -24
  357. data/embulk-docs/src/release/release-0.6.9.rst +0 -24
  358. data/embulk-docs/src/release/release-0.7.0.rst +0 -96
  359. data/embulk-docs/src/release/release-0.7.1.rst +0 -22
  360. data/embulk-docs/src/release/release-0.7.10.rst +0 -13
  361. data/embulk-docs/src/release/release-0.7.11.rst +0 -12
  362. data/embulk-docs/src/release/release-0.7.2.rst +0 -25
  363. data/embulk-docs/src/release/release-0.7.3.rst +0 -21
  364. data/embulk-docs/src/release/release-0.7.4.rst +0 -14
  365. data/embulk-docs/src/release/release-0.7.5.rst +0 -22
  366. data/embulk-docs/src/release/release-0.7.6.rst +0 -18
  367. data/embulk-docs/src/release/release-0.7.7.rst +0 -13
  368. data/embulk-docs/src/release/release-0.7.8.rst +0 -14
  369. data/embulk-docs/src/release/release-0.7.9.rst +0 -14
  370. data/embulk-docs/src/release/release-0.8.0.rst +0 -74
  371. data/embulk-docs/src/release/release-0.8.1.rst +0 -18
  372. data/embulk-docs/src/release/release-0.8.10.rst +0 -35
  373. data/embulk-docs/src/release/release-0.8.11.rst +0 -12
  374. data/embulk-docs/src/release/release-0.8.12.rst +0 -12
  375. data/embulk-docs/src/release/release-0.8.13.rst +0 -12
  376. data/embulk-docs/src/release/release-0.8.14.rst +0 -31
  377. data/embulk-docs/src/release/release-0.8.15.rst +0 -17
  378. data/embulk-docs/src/release/release-0.8.16.rst +0 -43
  379. data/embulk-docs/src/release/release-0.8.17.rst +0 -11
  380. data/embulk-docs/src/release/release-0.8.18.rst +0 -27
  381. data/embulk-docs/src/release/release-0.8.19.rst +0 -43
  382. data/embulk-docs/src/release/release-0.8.2.rst +0 -19
  383. data/embulk-docs/src/release/release-0.8.20.rst +0 -11
  384. data/embulk-docs/src/release/release-0.8.21.rst +0 -17
  385. data/embulk-docs/src/release/release-0.8.22.rst +0 -15
  386. data/embulk-docs/src/release/release-0.8.23.rst +0 -14
  387. data/embulk-docs/src/release/release-0.8.24.rst +0 -15
  388. data/embulk-docs/src/release/release-0.8.25.rst +0 -14
  389. data/embulk-docs/src/release/release-0.8.26.rst +0 -16
  390. data/embulk-docs/src/release/release-0.8.27.rst +0 -15
  391. data/embulk-docs/src/release/release-0.8.28.rst +0 -14
  392. data/embulk-docs/src/release/release-0.8.29.rst +0 -14
  393. data/embulk-docs/src/release/release-0.8.3.rst +0 -15
  394. data/embulk-docs/src/release/release-0.8.30.rst +0 -14
  395. data/embulk-docs/src/release/release-0.8.31.rst +0 -12
  396. data/embulk-docs/src/release/release-0.8.32.rst +0 -14
  397. data/embulk-docs/src/release/release-0.8.33.rst +0 -13
  398. data/embulk-docs/src/release/release-0.8.34.rst +0 -12
  399. data/embulk-docs/src/release/release-0.8.35.rst +0 -12
  400. data/embulk-docs/src/release/release-0.8.36.rst +0 -32
  401. data/embulk-docs/src/release/release-0.8.37.rst +0 -20
  402. data/embulk-docs/src/release/release-0.8.38.rst +0 -12
  403. data/embulk-docs/src/release/release-0.8.4.rst +0 -18
  404. data/embulk-docs/src/release/release-0.8.5.rst +0 -11
  405. data/embulk-docs/src/release/release-0.8.6.rst +0 -14
  406. data/embulk-docs/src/release/release-0.8.7.rst +0 -18
  407. data/embulk-docs/src/release/release-0.8.8.rst +0 -18
  408. data/embulk-docs/src/release/release-0.8.9.rst +0 -14
  409. data/embulk-jruby-strptime/build.gradle +0 -3
  410. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/RubyDateParser.java +0 -121
  411. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeFormat.java +0 -53
  412. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeParser.java +0 -884
  413. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeToken.java +0 -111
  414. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/TimeZoneConverter.java +0 -466
  415. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/lexer/StrptimeLexer.flex +0 -62
  416. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/lexer/StrptimeLexer.java +0 -577
  417. data/embulk-standards/build.gradle +0 -7
  418. data/embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java +0 -55
  419. data/embulk-standards/src/main/java/org/embulk/standards/Bzip2FileEncoderPlugin.java +0 -67
  420. data/embulk-standards/src/main/java/org/embulk/standards/ConfigInputPlugin.java +0 -170
  421. data/embulk-standards/src/main/java/org/embulk/standards/CsvFormatterPlugin.java +0 -295
  422. data/embulk-standards/src/main/java/org/embulk/standards/CsvParserPlugin.java +0 -416
  423. data/embulk-standards/src/main/java/org/embulk/standards/CsvTokenizer.java +0 -545
  424. data/embulk-standards/src/main/java/org/embulk/standards/GzipFileDecoderPlugin.java +0 -55
  425. data/embulk-standards/src/main/java/org/embulk/standards/GzipFileEncoderPlugin.java +0 -71
  426. data/embulk-standards/src/main/java/org/embulk/standards/JsonParserPlugin.java +0 -235
  427. data/embulk-standards/src/main/java/org/embulk/standards/LocalFileInputPlugin.java +0 -232
  428. data/embulk-standards/src/main/java/org/embulk/standards/LocalFileOutputPlugin.java +0 -148
  429. data/embulk-standards/src/main/java/org/embulk/standards/NullOutputPlugin.java +0 -59
  430. data/embulk-standards/src/main/java/org/embulk/standards/RemoveColumnsFilterPlugin.java +0 -268
  431. data/embulk-standards/src/main/java/org/embulk/standards/RenameFilterPlugin.java +0 -479
  432. data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginExtension.java +0 -16
  433. data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginModule.java +0 -60
  434. data/embulk-standards/src/main/java/org/embulk/standards/StdoutOutputPlugin.java +0 -91
  435. data/embulk-standards/src/main/resources/META-INF/services/org.embulk.spi.Extension +0 -1
  436. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvFormatterPlugin.java +0 -312
  437. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvParserPlugin.java +0 -75
  438. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvTokenizer.java +0 -457
  439. data/embulk-standards/src/test/java/org/embulk/standards/TestJsonParserPlugin.java +0 -351
  440. data/embulk-standards/src/test/java/org/embulk/standards/TestRemoveColumnsFilterPlugin.java +0 -121
  441. data/embulk-standards/src/test/java/org/embulk/standards/TestRenameFilterPlugin.java +0 -1020
  442. data/embulk-standards/src/test/java/org/embulk/standards/guess/TestCsvAllStringsGuessPlugin.java +0 -38
  443. data/embulk-standards/src/test/java/org/embulk/standards/guess/TestCsvGuessPlugin.java +0 -248
  444. data/embulk-standards/src/test/java/org/embulk/standards/preview/TestFilePreview.java +0 -73
  445. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row.csv +0 -1
  446. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header.csv +0 -2
  447. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header_guessed.yml +0 -12
  448. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header_seed.yml +0 -1
  449. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_guessed.yml +0 -12
  450. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_seed.yml +0 -1
  451. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows.csv +0 -1
  452. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header.csv +0 -2
  453. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_guessed.yml +0 -16
  454. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_seed.yml +0 -1
  455. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed.csv +0 -2
  456. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed_guessed.yml +0 -16
  457. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed_seed.yml +0 -1
  458. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_guessed.yml +0 -16
  459. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_seed.yml +0 -1
  460. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed.csv +0 -1
  461. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed_guessed.yml +0 -16
  462. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed_seed.yml +0 -1
  463. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row.csv +0 -1
  464. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header.csv +0 -2
  465. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header_guessed.yml +0 -12
  466. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header_seed.yml +0 -1
  467. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_guessed.yml +0 -12
  468. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_seed.yml +0 -1
  469. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows.csv +0 -2
  470. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows_guessed.yml +0 -12
  471. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows_seed.yml +0 -1
  472. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows.csv +0 -2
  473. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header.csv +0 -3
  474. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header_guessed.yml +0 -16
  475. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header_seed.yml +0 -1
  476. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_guessed.yml +0 -16
  477. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_seed.yml +0 -1
  478. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows.csv +0 -2
  479. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows_guessed.yml +0 -12
  480. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows_seed.yml +0 -1
  481. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape.csv +0 -5
  482. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape_guessed.yml +0 -17
  483. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape_seed.yml +0 -1
  484. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column.csv +0 -12
  485. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column_guessed.yml +0 -12
  486. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column_seed.yml +0 -1
  487. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column.csv +0 -4
  488. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_guessed.yml +0 -12
  489. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_seed.yml +0 -1
  490. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header.csv +0 -5
  491. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header_guessed.yml +0 -12
  492. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header_seed.yml +0 -1
  493. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter.csv +0 -5
  494. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter_guessed.yml +0 -17
  495. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter_seed.yml +0 -1
  496. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple.csv +0 -5
  497. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple_guessed.yml +0 -17
  498. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple_seed.yml +0 -1
  499. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote.csv +0 -5
  500. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote_guessed.yml +0 -17
  501. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote_seed.yml +0 -1
  502. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records.csv +0 -5
  503. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records_guessed.yml +0 -2
  504. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records_seed.yml +0 -1
  505. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column.csv +0 -4
  506. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_guessed.yml +0 -12
  507. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_seed.yml +0 -1
  508. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header.csv +0 -5
  509. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header_guessed.yml +0 -12
  510. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header_seed.yml +0 -1
  511. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter.csv +0 -4
  512. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter_guessed.yml +0 -16
  513. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter_seed.yml +0 -1
  514. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple.csv +0 -5
  515. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple_guessed.yml +0 -17
  516. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple_seed.yml +0 -1
  517. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes.csv +0 -5
  518. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_exec.yml +0 -1
  519. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_load.yml +0 -19
  520. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_previewed.csv +0 -1
  521. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple.csv +0 -5
  522. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple_load.yml +0 -19
  523. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple_previewed.csv +0 -4
  524. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep.csv +0 -5
  525. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_expected.csv +0 -4
  526. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_filter.yml +0 -2
  527. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_in.yml +0 -18
  528. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names.csv +0 -5
  529. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names.yml +0 -2
  530. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names_expected.csv +0 -4
  531. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names_in.yml +0 -17
  532. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_unmatched_filter.yml +0 -3
  533. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_without_unmatched_filter.yml +0 -2
  534. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove.csv +0 -5
  535. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_expected.csv +0 -4
  536. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_filter.yml +0 -2
  537. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_in.yml +0 -18
  538. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_with_unmatched_filter.yml +0 -3
  539. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_without_unmatched_filter.yml +0 -2
  540. data/embulk-test/build.gradle +0 -6
  541. data/embulk-test/src/main/java/org/embulk/test/EmbulkTests.java +0 -75
  542. data/embulk-test/src/main/java/org/embulk/test/PreviewResultInputPlugin.java +0 -65
  543. data/embulk-test/src/main/java/org/embulk/test/TestingBulkLoader.java +0 -129
  544. data/embulk-test/src/main/java/org/embulk/test/TestingEmbulk.java +0 -710
  545. data/gradle/wrapper/gradle-wrapper.jar +0 -0
  546. data/gradle/wrapper/gradle-wrapper.properties +0 -5
  547. data/gradlew +0 -172
  548. data/gradlew.bat +0 -84
  549. data/lib/embulk/data/bundle/.bundle/config +0 -3
  550. data/lib/embulk/data/bundle/.ruby-version +0 -1
  551. data/lib/embulk/data/bundle/Gemfile +0 -31
  552. data/lib/embulk/data/bundle/embulk/filter/example.rb +0 -42
  553. data/lib/embulk/data/bundle/embulk/input/example.rb +0 -54
  554. data/lib/embulk/data/bundle/embulk/output/example.rb +0 -58
  555. data/lib/embulk/data/new/LICENSE.txt +0 -21
  556. data/lib/embulk/data/new/README.md.vm +0 -106
  557. data/lib/embulk/data/new/gitignore.vm +0 -17
  558. data/lib/embulk/data/new/java/build.gradle.vm +0 -96
  559. data/lib/embulk/data/new/java/config/checkstyle/checkstyle.xml +0 -128
  560. data/lib/embulk/data/new/java/config/checkstyle/default.xml +0 -108
  561. data/lib/embulk/data/new/java/decoder.java.vm +0 -86
  562. data/lib/embulk/data/new/java/encoder.java.vm +0 -88
  563. data/lib/embulk/data/new/java/file_input.java.vm +0 -145
  564. data/lib/embulk/data/new/java/file_output.java.vm +0 -95
  565. data/lib/embulk/data/new/java/filter.java.vm +0 -57
  566. data/lib/embulk/data/new/java/formatter.java.vm +0 -55
  567. data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.jar +0 -0
  568. data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.properties +0 -5
  569. data/lib/embulk/data/new/java/gradlew +0 -172
  570. data/lib/embulk/data/new/java/gradlew.bat +0 -84
  571. data/lib/embulk/data/new/java/input.java.vm +0 -89
  572. data/lib/embulk/data/new/java/output.java.vm +0 -79
  573. data/lib/embulk/data/new/java/parser.java.vm +0 -61
  574. data/lib/embulk/data/new/java/plugin_loader.rb.vm +0 -3
  575. data/lib/embulk/data/new/java/test.java.vm +0 -5
  576. data/lib/embulk/data/new/ruby/.ruby-version +0 -1
  577. data/lib/embulk/data/new/ruby/Gemfile +0 -2
  578. data/lib/embulk/data/new/ruby/Rakefile +0 -3
  579. data/lib/embulk/data/new/ruby/decoder_guess.rb.vm +0 -25
  580. data/lib/embulk/data/new/ruby/filter.rb.vm +0 -50
  581. data/lib/embulk/data/new/ruby/formatter.rb.vm +0 -49
  582. data/lib/embulk/data/new/ruby/gemspec.vm +0 -20
  583. data/lib/embulk/data/new/ruby/input.rb.vm +0 -59
  584. data/lib/embulk/data/new/ruby/output.rb.vm +0 -61
  585. data/lib/embulk/data/new/ruby/parser.rb.vm +0 -44
  586. data/lib/embulk/data/new/ruby/parser_guess.rb.vm +0 -65
  587. data/lib/embulk/data/package_data.rb +0 -59
  588. data/lib/embulk/guess/bzip2.rb +0 -23
  589. data/lib/embulk/guess/csv.rb +0 -374
  590. data/lib/embulk/guess/csv_all_strings.rb +0 -13
  591. data/lib/embulk/guess/gzip.rb +0 -18
  592. data/lib/embulk/guess/json.rb +0 -50
  593. data/lib/embulk/runner.rb +0 -53
  594. data/settings.gradle +0 -8
  595. data/test/helper.rb +0 -23
  596. data/test/monkey_strptime/mri/date/test_date_strptime.rb +0 -515
  597. data/test/monkey_strptime/run-test.rb +0 -29
  598. data/test/vanilla/guess/test_csv_all_strings.rb +0 -43
  599. data/test/vanilla/guess/test_csv_guess.rb +0 -170
  600. data/test/vanilla/guess/test_schema_guess.rb +0 -47
  601. data/test/vanilla/guess/test_time_format_guess.rb +0 -135
  602. data/test/vanilla/run-test.rb +0 -14
  603. data/test/vanilla/time/test_timestamp_parser.rb +0 -102
@@ -1,76 +0,0 @@
1
- package org.embulk.jruby;
2
-
3
- import com.google.inject.Inject;
4
- import org.jruby.embed.ScriptingContainer;
5
- import org.jruby.embed.InvokeFailedException;
6
- import org.embulk.plugin.PluginType;
7
- import org.embulk.plugin.PluginSource;
8
- import org.embulk.plugin.PluginSourceNotMatchException;
9
- import org.embulk.spi.InputPlugin;
10
- import org.embulk.spi.OutputPlugin;
11
- import org.embulk.spi.ParserPlugin;
12
- import org.embulk.spi.FormatterPlugin;
13
- import org.embulk.spi.DecoderPlugin;
14
- import org.embulk.spi.EncoderPlugin;
15
- import org.embulk.spi.FilterPlugin;
16
- import org.embulk.spi.GuessPlugin;
17
- import org.embulk.spi.ExecutorPlugin;
18
-
19
- public class JRubyPluginSource
20
- implements PluginSource
21
- {
22
- private final ScriptingContainer jruby;
23
- private final Object rubyPluginManager;
24
-
25
- @Inject
26
- public JRubyPluginSource(ScriptingContainer jruby)
27
- {
28
- this.jruby = jruby;
29
-
30
- // get Embulk::Plugin
31
- //this.rubyPluginManager = ((RubyModule) jruby.get("Embulk")).const_get(
32
- // RubySymbol.newSymbol(
33
- // jruby.getProvider().getRuntime(), "Plugin"));
34
- this.rubyPluginManager = jruby.runScriptlet("Embulk::Plugin");
35
- }
36
-
37
- public <T> T newPlugin(Class<T> iface, PluginType type) throws PluginSourceNotMatchException
38
- {
39
- if (type.getSourceType() != PluginSource.Type.DEFAULT) {
40
- throw new PluginSourceNotMatchException();
41
- }
42
-
43
- final String name = type.getName();
44
-
45
- final String category;
46
- if (InputPlugin.class.isAssignableFrom(iface)) {
47
- category = "input";
48
- } else if (OutputPlugin.class.isAssignableFrom(iface)) {
49
- category = "output";
50
- } else if (ParserPlugin.class.isAssignableFrom(iface)) {
51
- category = "parser";
52
- } else if (FormatterPlugin.class.isAssignableFrom(iface)) {
53
- category = "formatter";
54
- } else if (DecoderPlugin.class.isAssignableFrom(iface)) {
55
- category = "decoder";
56
- } else if (EncoderPlugin.class.isAssignableFrom(iface)) {
57
- category = "encoder";
58
- } else if (FilterPlugin.class.isAssignableFrom(iface)) {
59
- category = "filter";
60
- } else if (GuessPlugin.class.isAssignableFrom(iface)) {
61
- category = "guess";
62
- } else if (ExecutorPlugin.class.isAssignableFrom(iface)) {
63
- category = "executor";
64
- } else {
65
- // unsupported plugin category
66
- throw new PluginSourceNotMatchException("Plugin interface "+iface+" is not supported in JRuby");
67
- }
68
-
69
- String methodName = "new_java_" + category;
70
- try {
71
- return jruby.callMethod(rubyPluginManager, methodName, name, iface);
72
- } catch (InvokeFailedException ex) {
73
- throw new PluginSourceNotMatchException(ex.getCause());
74
- }
75
- }
76
- }
@@ -1,395 +0,0 @@
1
- package org.embulk.jruby;
2
-
3
- import java.net.URISyntaxException;
4
- import java.net.URL;
5
- import java.nio.file.Files;
6
- import java.nio.file.Path;
7
- import java.nio.file.Paths;
8
- import java.security.CodeSource;
9
- import java.security.ProtectionDomain;
10
- import java.util.List;
11
- import java.util.ArrayList;
12
- import java.util.Collections;
13
- import java.util.Set;
14
- import org.slf4j.Logger;
15
- import org.slf4j.ILoggerFactory;
16
- import com.google.common.collect.ImmutableSet;
17
- import com.google.inject.Module;
18
- import com.google.inject.Binder;
19
- import com.google.inject.Scopes;
20
- import com.google.inject.multibindings.Multibinder;
21
- import com.google.inject.Inject;
22
- import com.google.inject.Injector;
23
- import com.google.inject.Key;
24
- import com.google.inject.spi.Dependency;
25
- import com.google.inject.spi.ProviderWithDependencies;
26
- import org.jruby.RubyInstanceConfig;
27
- import org.jruby.embed.LocalContextScope;
28
- import org.jruby.embed.LocalVariableBehavior;
29
- import org.jruby.embed.ScriptingContainer;
30
- import org.jruby.util.cli.Options;
31
- import org.embulk.plugin.PluginSource;
32
- import org.embulk.config.ConfigSource;
33
- import org.embulk.config.ModelManager;
34
- import org.embulk.exec.ForSystemConfig;
35
- import org.embulk.spi.BufferAllocator;
36
-
37
- public class JRubyScriptingModule
38
- implements Module
39
- {
40
- public JRubyScriptingModule(ConfigSource systemConfig)
41
- {
42
- }
43
-
44
- @Override
45
- public void configure(Binder binder)
46
- {
47
- binder.bind(ScriptingContainer.class).toProvider(ScriptingContainerProvider.class).in(Scopes.SINGLETON);
48
-
49
- Multibinder<PluginSource> multibinder = Multibinder.newSetBinder(binder, PluginSource.class);
50
- multibinder.addBinding().to(JRubyPluginSource.class);
51
- }
52
-
53
- private static class ScriptingContainerProvider
54
- implements ProviderWithDependencies<ScriptingContainer>
55
- {
56
- private final Injector injector;
57
- private final boolean useGlobalRubyRuntime;
58
- private final String gemHome;
59
- private final boolean useDefaultEmbulkGemHome;
60
- private final List<String> jrubyClasspath;
61
- private final List<String> jrubyLoadPath;
62
- private final List<String> jrubyOptions;
63
- private final String jrubyBundlerPluginSourceDirectory;
64
-
65
- @Inject
66
- public ScriptingContainerProvider(Injector injector, @ForSystemConfig ConfigSource systemConfig)
67
- {
68
- this.injector = injector;
69
-
70
- // use_global_ruby_runtime is valid only when it's guaranteed that just one Injector is
71
- // instantiated in this JVM.
72
- this.useGlobalRubyRuntime = systemConfig.get(boolean.class, "use_global_ruby_runtime", false);
73
-
74
- this.gemHome = systemConfig.get(String.class, "gem_home", null);
75
- this.useDefaultEmbulkGemHome =
76
- systemConfig.get(String.class, "jruby_use_default_embulk_gem_home", "false").equals("true");
77
-
78
- // TODO get jruby-home from systemConfig to call jruby.container.setHomeDirectory
79
-
80
- final List jrubyLoadPathNonGeneric = systemConfig.get(List.class, "jruby_load_path", null);
81
- final ArrayList<String> jrubyLoadPathBuilt = new ArrayList<String>();
82
- if (jrubyLoadPathNonGeneric != null) {
83
- for (final Object oneJRubyLoadPath : jrubyLoadPathNonGeneric) {
84
- if (oneJRubyLoadPath instanceof String) {
85
- jrubyLoadPathBuilt.add((String) oneJRubyLoadPath);
86
- }
87
- else {
88
- // It should happen only in very irregular cases. Okay to create |Logger| every time.
89
- Logger logger = injector.getInstance(ILoggerFactory.class).getLogger("init");
90
- logger.warn("System config \"jruby_load_path\" contains non-String.");
91
- jrubyLoadPathBuilt.add(oneJRubyLoadPath.toString());
92
- }
93
- }
94
- }
95
- this.jrubyLoadPath = Collections.unmodifiableList(jrubyLoadPathBuilt);
96
-
97
- final List jrubyClasspathNonGeneric = systemConfig.get(List.class, "jruby_classpath", new ArrayList());
98
- final ArrayList<String> jrubyClasspathBuilt = new ArrayList<String>();
99
- if (jrubyClasspathNonGeneric != null) {
100
- for (final Object oneJRubyClasspath : jrubyClasspathNonGeneric) {
101
- if (oneJRubyClasspath instanceof String) {
102
- jrubyClasspathBuilt.add((String) oneJRubyClasspath);
103
- }
104
- else {
105
- // It should happen only in very irregular cases. Okay to create |Logger| every time.
106
- Logger logger = injector.getInstance(ILoggerFactory.class).getLogger("init");
107
- logger.warn("System config \"jruby_classpath\" contains non-String.");
108
- jrubyClasspathBuilt.add(oneJRubyClasspath.toString());
109
- }
110
- }
111
- }
112
- this.jrubyClasspath = Collections.unmodifiableList(jrubyClasspathBuilt);
113
-
114
- final List jrubyOptionsNonGeneric = systemConfig.get(List.class, "jruby_command_line_options", null);
115
- final ArrayList<String> jrubyOptionsBuilt = new ArrayList<String>();
116
- if (jrubyOptionsNonGeneric != null) {
117
- for (final Object oneJRubyOption : jrubyOptionsNonGeneric) {
118
- if (oneJRubyOption instanceof String) {
119
- jrubyOptionsBuilt.add((String) oneJRubyOption);
120
- }
121
- else {
122
- // It should happen only in very irregular cases. Okay to create |Logger| every time.
123
- Logger logger = injector.getInstance(ILoggerFactory.class).getLogger("init");
124
- logger.warn("System config \"jruby_command_line_options\" contains non-String.");
125
- jrubyOptionsBuilt.add(oneJRubyOption.toString());
126
- }
127
- }
128
- }
129
- this.jrubyOptions = Collections.unmodifiableList(jrubyOptionsBuilt);
130
-
131
- this.jrubyBundlerPluginSourceDirectory =
132
- systemConfig.get(String.class, "jruby_global_bundler_plugin_source_directory", null);
133
- }
134
-
135
- public ScriptingContainer get()
136
- {
137
- LocalContextScope scope = (useGlobalRubyRuntime ? LocalContextScope.SINGLETON : LocalContextScope.SINGLETHREAD);
138
- ScriptingContainer jruby = new ScriptingContainer(scope, LocalVariableBehavior.PERSISTENT);
139
- if (this.useDefaultEmbulkGemHome) {
140
- // NOTE: Same done in "gem", "exec", and "irb" subcommands.
141
- // Remember to update |org.embulk.cli.EmbulkRun| as well when these environment variables are changed.
142
- jruby.runScriptlet("ENV.delete('BUNDLE_GEMFILE')");
143
- jruby.runScriptlet("ENV['GEM_HOME'] = File.expand_path File.join(Java::java.lang.System.properties['user.home'], '.embulk', Gem.ruby_engine, RbConfig::CONFIG['ruby_version'])");
144
- jruby.runScriptlet("ENV['GEM_PATH'] = ''");
145
- }
146
- final RubyInstanceConfig jrubyInstanceConfig = jruby.getProvider().getRubyInstanceConfig();
147
- for (final String jrubyOption : this.jrubyOptions) {
148
- try {
149
- processJRubyOption(jrubyOption, jrubyInstanceConfig);
150
- }
151
- catch (UnrecognizedJRubyOptionException ex) {
152
- final Logger logger = this.injector.getInstance(ILoggerFactory.class).getLogger("init");
153
- logger.error("The \"-R\" option(s) are not recognized in Embulk: -R" + jrubyOption +
154
- ". Please add your requests at: https://github.com/embulk/embulk/issues/707", ex);
155
- throw new RuntimeException(ex);
156
-
157
- }
158
- catch (NotWorkingJRubyOptionException ex) {
159
- final Logger logger = this.injector.getInstance(ILoggerFactory.class).getLogger("init");
160
- logger.warn("The \"-R\" option(s) do not work in Embulk: -R" + jrubyOption + ".", ex);
161
- }
162
- }
163
-
164
- setBundlerPluginSourceDirectory(jruby, this.jrubyBundlerPluginSourceDirectory);
165
-
166
- for (final String oneJRubyLoadPath : this.jrubyLoadPath) {
167
- // ruby script directory (use unshift to make it highest priority)
168
- jruby.put("__internal_load_path__", oneJRubyLoadPath);
169
- // TODO: Check if $LOAD_PATH already contains it.
170
- jruby.runScriptlet("$LOAD_PATH.unshift File.expand_path(__internal_load_path__)");
171
- jruby.remove("__internal_load_path__");
172
- }
173
-
174
- for (final String oneJRubyClasspath : this.jrubyClasspath) {
175
- jruby.put("__internal_classpath__", oneJRubyClasspath);
176
- // $CLASSPATH object doesn't have concat method
177
- // TODO: Check if $CLASSPATH already contains it.
178
- jruby.runScriptlet("$CLASSPATH << __internal_classpath__");
179
- jruby.remove("__internal_classpath__");
180
- }
181
-
182
- // Search embulk/java/bootstrap.rb from a $LOAD_PATH.
183
- // $LOAD_PATH is set by lib/embulk/command/embulk_run.rb if Embulk starts
184
- // using embulk-cli but it's not set if Embulk is embedded in an application.
185
- // Here adds this jar's internal resources to $LOAD_PATH for those applciations.
186
-
187
- // List<String> loadPaths = new ArrayList<String>(jruby.getLoadPaths());
188
- // String coreJarPath = JRubyScriptingModule.class.getProtectionDomain().getCodeSource().getLocation().getPath();
189
- // if (!loadPaths.contains(coreJarPath)) {
190
- // loadPaths.add(coreJarPath);
191
- // }
192
- // jruby.setLoadPaths(loadPaths);
193
-
194
- if (gemHome != null) {
195
- // Overwrites GEM_HOME and GEM_PATH. GEM_PATH becomes same with GEM_HOME. Therefore
196
- // with this code, there're no ways to set extra GEM_PATHs in addition to GEM_HOME.
197
- // Here doesn't modify ENV['GEM_HOME'] so that a JVM process can create multiple
198
- // JRubyScriptingModule instances. However, because Gem loads ENV['GEM_HOME'] when
199
- // Gem.clear_paths is called, applications may use unexpected GEM_HOME if clear_path
200
- // is used.
201
- jruby.callMethod(
202
- jruby.runScriptlet("Gem"),
203
- "use_paths", gemHome, gemHome);
204
- }
205
-
206
- // load embulk.rb
207
- jruby.runScriptlet("require 'embulk'");
208
-
209
- // jruby searches embulk/java/bootstrap.rb from the beginning of $LOAD_PATH.
210
- jruby.runScriptlet("require 'embulk/java/bootstrap'");
211
-
212
- // TODO validate Embulk::Java::Injected::Injector doesn't exist? If it already exists,
213
- // Injector is created more than once in this JVM although use_global_ruby_runtime
214
- // is set to true.
215
-
216
- // set some constants
217
- jruby.callMethod(
218
- jruby.runScriptlet("Embulk::Java::Injected"),
219
- "const_set", "Injector", injector);
220
- jruby.callMethod(
221
- jruby.runScriptlet("Embulk::Java::Injected"),
222
- "const_set", "ModelManager", injector.getInstance(ModelManager.class));
223
- jruby.callMethod(
224
- jruby.runScriptlet("Embulk::Java::Injected"),
225
- "const_set", "BufferAllocator", injector.getInstance(BufferAllocator.class));
226
-
227
- // initialize logger
228
- jruby.callMethod(
229
- jruby.runScriptlet("Embulk"),
230
- "logger=",
231
- jruby.callMethod(
232
- jruby.runScriptlet("Embulk::Logger"),
233
- "new", injector.getInstance(ILoggerFactory.class).getLogger("ruby")));
234
-
235
- return jruby;
236
- }
237
-
238
- public Set<Dependency<?>> getDependencies()
239
- {
240
- // get() depends on other modules
241
- return ImmutableSet.of(
242
- Dependency.get(Key.get(ModelManager.class)),
243
- Dependency.get(Key.get(BufferAllocator.class)));
244
- }
245
-
246
- private static final class UnrecognizedJRubyOptionException extends Exception {}
247
- private static final class NotWorkingJRubyOptionException extends Exception {}
248
- private static final class UnrecognizedJRubyLoadPathException extends Exception {
249
- public UnrecognizedJRubyLoadPathException(final String message)
250
- {
251
- super(message);
252
- }
253
-
254
- public UnrecognizedJRubyLoadPathException(final String message, final Throwable cause)
255
- {
256
- super(message, cause);
257
- }
258
- }
259
-
260
- private void setBundlerPluginSourceDirectory(final ScriptingContainer jruby, final String directory)
261
- {
262
- if (directory != null) {
263
- jruby.put("__internal_bundler_plugin_source_directory__", directory);
264
- jruby.runScriptlet("ENV['BUNDLE_GEMFILE'] = File.expand_path File.join(__internal_bundler_plugin_source_directory__, 'Gemfile')");
265
-
266
- // bundler is included in embulk-core.jar
267
- jruby.runScriptlet("ENV.delete('GEM_HOME')");
268
- jruby.runScriptlet("ENV.delete('GEM_PATH')");
269
- jruby.runScriptlet("Gem.clear_paths");
270
- jruby.runScriptlet("require 'bundler'");
271
-
272
- jruby.runScriptlet("Bundler.load.setup_environment");
273
- jruby.runScriptlet("require 'bundler/setup'");
274
- // since here, `require` may load files of different (newer) embulk versions
275
- // especially following 'embulk/command/embulk_main'.
276
-
277
- // NOTE: It is intentionally not done by building a Ruby statement string from |directory|.
278
- // It can cause insecure injections.
279
- //
280
- // add bundle directory path to load local plugins at ./embulk
281
- jruby.runScriptlet("$LOAD_PATH << File.expand_path(__internal_bundler_plugin_source_directory__)");
282
- jruby.remove("__internal_bundler_plugin_source_directory__");
283
- }
284
- else {
285
- /* Environment variables are set in ScriptingContainerProvider#get():
286
- * ENV['BUNDLE_GEMFILE']: unset
287
- * ENV['GEM_HOME']: set for "~/.embulk/jruby/${ruby-version}"
288
- * ENV['GEM_PATH']: set for ""
289
- */
290
-
291
- jruby.runScriptlet("Gem.clear_paths"); // force rubygems to reload GEM_HOME
292
-
293
- // NOTE: The path from |buildJRubyLoadPath()| is added in $LOAD_PATH just in case.
294
- // Though it is not mandatory just to run "embulk_main.rb", it may be required in later steps.
295
- //
296
- // NOTE: It is intentionally not done by building a Ruby statement string from |buildJRubyLoadPath()|.
297
- // It can cause insecure injections.
298
- //
299
- // NOTE: It was written in Ruby as follows:
300
- // $LOAD_PATH << File.expand_path('../../', File.dirname(__FILE__))
301
- final String jrubyLoadPath;
302
- try {
303
- jrubyLoadPath = buildJRubyLoadPath();
304
- }
305
- catch (UnrecognizedJRubyLoadPathException ex) {
306
- final Logger logger = this.injector.getInstance(ILoggerFactory.class).getLogger("init");
307
- logger.error("Failed to retrieve Embulk's location.", ex);
308
- throw new RuntimeException(ex);
309
- }
310
- jruby.put("__internal_load_path__", jrubyLoadPath);
311
- jruby.runScriptlet("$LOAD_PATH << File.expand_path(__internal_load_path__)");
312
- jruby.remove("__internal_load_path__");
313
- }
314
- }
315
-
316
- private static void processJRubyOption(final String jrubyOption, final RubyInstanceConfig jrubyInstanceConfig)
317
- throws UnrecognizedJRubyOptionException, NotWorkingJRubyOptionException
318
- {
319
- if (jrubyOption.charAt(0) != '-') {
320
- throw new UnrecognizedJRubyOptionException();
321
- }
322
-
323
- for (int index = 1; index < jrubyOption.length(); ++index) {
324
- switch (jrubyOption.charAt(index)) {
325
- case '-':
326
- if (jrubyOption.equals("--dev")) {
327
- // They are not all of "--dev", but they are most possible configurations after JVM boot.
328
- Options.COMPILE_INVOKEDYNAMIC.force("false"); // NOTE: Options is global.
329
- jrubyInstanceConfig.setCompileMode(RubyInstanceConfig.CompileMode.OFF);
330
- return;
331
- }
332
- else if (jrubyOption.equals("--client")) {
333
- throw new NotWorkingJRubyOptionException();
334
- }
335
- else if (jrubyOption.equals("--server")) {
336
- throw new NotWorkingJRubyOptionException();
337
- }
338
- throw new UnrecognizedJRubyOptionException();
339
- default:
340
- throw new UnrecognizedJRubyOptionException();
341
- }
342
- }
343
- }
344
-
345
- /**
346
- * Returns a path to be added in JRuby's $LOAD_PATH.
347
- *
348
- * In case Embulk runs from the Embulk JAR file (normal case):
349
- * "file:/some/directory/embulk.jar!"
350
- *
351
- * In case Embulk runs out of a JAR file (irregular case):
352
- * "/some/directory"
353
- */
354
- private static String buildJRubyLoadPath()
355
- throws UnrecognizedJRubyLoadPathException
356
- {
357
- final ProtectionDomain protectionDomain;
358
- try {
359
- protectionDomain = JRubyScriptingModule.class.getProtectionDomain();
360
- }
361
- catch (SecurityException ex) {
362
- throw new UnrecognizedJRubyLoadPathException("Failed to achieve ProtectionDomain", ex);
363
- }
364
-
365
- final CodeSource codeSource = protectionDomain.getCodeSource();
366
- if (codeSource == null) {
367
- throw new UnrecognizedJRubyLoadPathException("Failed to achieve CodeSource");
368
- }
369
-
370
- final URL locationUrl = codeSource.getLocation();
371
- if (locationUrl == null) {
372
- throw new UnrecognizedJRubyLoadPathException("Failed to achieve location");
373
- }
374
- else if (!locationUrl.getProtocol().equals("file")) {
375
- throw new UnrecognizedJRubyLoadPathException("Invalid location: " + locationUrl.toString());
376
- }
377
-
378
- final Path locationPath;
379
- try {
380
- locationPath = Paths.get(locationUrl.toURI());
381
- }
382
- catch (URISyntaxException ex) {
383
- throw new UnrecognizedJRubyLoadPathException("Invalid location: " + locationUrl.toString(), ex);
384
- }
385
-
386
- if (Files.isDirectory(locationPath)) { // Out of a JAR file
387
- System.err.println("[WARN] Embulk looks running out of the Embulk jar file. It is unsupported.");
388
- return locationPath.toString();
389
- }
390
-
391
- // TODO: Consider checking the file is really a JAR file.
392
- return locationUrl.toString() + "!"; // Inside the Embulk JAR file
393
- }
394
- }
395
- }