embulk 0.8.37-java → 0.10.26-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (597) 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 -755
  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 -582
  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 -107
  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.4.rst +0 -18
  403. data/embulk-docs/src/release/release-0.8.5.rst +0 -11
  404. data/embulk-docs/src/release/release-0.8.6.rst +0 -14
  405. data/embulk-docs/src/release/release-0.8.7.rst +0 -18
  406. data/embulk-docs/src/release/release-0.8.8.rst +0 -18
  407. data/embulk-docs/src/release/release-0.8.9.rst +0 -14
  408. data/embulk-jruby-strptime/build.gradle +0 -3
  409. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/RubyDateParser.java +0 -121
  410. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeFormat.java +0 -53
  411. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeParser.java +0 -884
  412. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeToken.java +0 -111
  413. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/TimeZoneConverter.java +0 -466
  414. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/lexer/StrptimeLexer.flex +0 -62
  415. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/lexer/StrptimeLexer.java +0 -577
  416. data/embulk-standards/build.gradle +0 -7
  417. data/embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java +0 -55
  418. data/embulk-standards/src/main/java/org/embulk/standards/Bzip2FileEncoderPlugin.java +0 -67
  419. data/embulk-standards/src/main/java/org/embulk/standards/ConfigInputPlugin.java +0 -170
  420. data/embulk-standards/src/main/java/org/embulk/standards/CsvFormatterPlugin.java +0 -295
  421. data/embulk-standards/src/main/java/org/embulk/standards/CsvParserPlugin.java +0 -416
  422. data/embulk-standards/src/main/java/org/embulk/standards/CsvTokenizer.java +0 -545
  423. data/embulk-standards/src/main/java/org/embulk/standards/GzipFileDecoderPlugin.java +0 -55
  424. data/embulk-standards/src/main/java/org/embulk/standards/GzipFileEncoderPlugin.java +0 -71
  425. data/embulk-standards/src/main/java/org/embulk/standards/JsonParserPlugin.java +0 -235
  426. data/embulk-standards/src/main/java/org/embulk/standards/LocalFileInputPlugin.java +0 -232
  427. data/embulk-standards/src/main/java/org/embulk/standards/LocalFileOutputPlugin.java +0 -148
  428. data/embulk-standards/src/main/java/org/embulk/standards/NullOutputPlugin.java +0 -59
  429. data/embulk-standards/src/main/java/org/embulk/standards/RemoveColumnsFilterPlugin.java +0 -268
  430. data/embulk-standards/src/main/java/org/embulk/standards/RenameFilterPlugin.java +0 -479
  431. data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginExtension.java +0 -16
  432. data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginModule.java +0 -60
  433. data/embulk-standards/src/main/java/org/embulk/standards/StdoutOutputPlugin.java +0 -91
  434. data/embulk-standards/src/main/resources/META-INF/services/org.embulk.spi.Extension +0 -1
  435. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvFormatterPlugin.java +0 -312
  436. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvParserPlugin.java +0 -75
  437. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvTokenizer.java +0 -457
  438. data/embulk-standards/src/test/java/org/embulk/standards/TestJsonParserPlugin.java +0 -351
  439. data/embulk-standards/src/test/java/org/embulk/standards/TestRemoveColumnsFilterPlugin.java +0 -121
  440. data/embulk-standards/src/test/java/org/embulk/standards/TestRenameFilterPlugin.java +0 -1020
  441. data/embulk-standards/src/test/java/org/embulk/standards/guess/TestCsvAllStringsGuessPlugin.java +0 -38
  442. data/embulk-standards/src/test/java/org/embulk/standards/guess/TestCsvGuessPlugin.java +0 -248
  443. data/embulk-standards/src/test/java/org/embulk/standards/preview/TestFilePreview.java +0 -73
  444. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row.csv +0 -1
  445. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header.csv +0 -2
  446. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header_guessed.yml +0 -12
  447. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header_seed.yml +0 -1
  448. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_guessed.yml +0 -12
  449. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_seed.yml +0 -1
  450. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows.csv +0 -1
  451. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header.csv +0 -2
  452. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_guessed.yml +0 -16
  453. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_seed.yml +0 -1
  454. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed.csv +0 -2
  455. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed_guessed.yml +0 -16
  456. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed_seed.yml +0 -1
  457. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_guessed.yml +0 -16
  458. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_seed.yml +0 -1
  459. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed.csv +0 -1
  460. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed_guessed.yml +0 -16
  461. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed_seed.yml +0 -1
  462. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row.csv +0 -1
  463. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header.csv +0 -2
  464. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header_guessed.yml +0 -12
  465. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header_seed.yml +0 -1
  466. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_guessed.yml +0 -12
  467. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_seed.yml +0 -1
  468. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows.csv +0 -2
  469. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows_guessed.yml +0 -12
  470. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows_seed.yml +0 -1
  471. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows.csv +0 -2
  472. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header.csv +0 -3
  473. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header_guessed.yml +0 -16
  474. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header_seed.yml +0 -1
  475. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_guessed.yml +0 -16
  476. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_seed.yml +0 -1
  477. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows.csv +0 -2
  478. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows_guessed.yml +0 -12
  479. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows_seed.yml +0 -1
  480. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape.csv +0 -5
  481. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape_guessed.yml +0 -17
  482. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape_seed.yml +0 -1
  483. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column.csv +0 -12
  484. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column_guessed.yml +0 -12
  485. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column_seed.yml +0 -1
  486. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column.csv +0 -4
  487. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_guessed.yml +0 -12
  488. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_seed.yml +0 -1
  489. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header.csv +0 -5
  490. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header_guessed.yml +0 -12
  491. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header_seed.yml +0 -1
  492. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter.csv +0 -5
  493. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter_guessed.yml +0 -17
  494. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter_seed.yml +0 -1
  495. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple.csv +0 -5
  496. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple_guessed.yml +0 -17
  497. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple_seed.yml +0 -1
  498. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote.csv +0 -5
  499. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote_guessed.yml +0 -17
  500. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote_seed.yml +0 -1
  501. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records.csv +0 -5
  502. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records_guessed.yml +0 -2
  503. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records_seed.yml +0 -1
  504. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column.csv +0 -4
  505. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_guessed.yml +0 -12
  506. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_seed.yml +0 -1
  507. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header.csv +0 -5
  508. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header_guessed.yml +0 -12
  509. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header_seed.yml +0 -1
  510. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter.csv +0 -4
  511. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter_guessed.yml +0 -16
  512. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter_seed.yml +0 -1
  513. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple.csv +0 -5
  514. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple_guessed.yml +0 -17
  515. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple_seed.yml +0 -1
  516. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes.csv +0 -5
  517. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_exec.yml +0 -1
  518. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_load.yml +0 -19
  519. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_previewed.csv +0 -1
  520. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple.csv +0 -5
  521. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple_load.yml +0 -19
  522. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple_previewed.csv +0 -4
  523. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep.csv +0 -5
  524. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_expected.csv +0 -4
  525. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_filter.yml +0 -2
  526. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_in.yml +0 -18
  527. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names.csv +0 -5
  528. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names.yml +0 -2
  529. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names_expected.csv +0 -4
  530. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names_in.yml +0 -17
  531. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_unmatched_filter.yml +0 -3
  532. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_without_unmatched_filter.yml +0 -2
  533. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove.csv +0 -5
  534. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_expected.csv +0 -4
  535. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_filter.yml +0 -2
  536. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_in.yml +0 -18
  537. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_with_unmatched_filter.yml +0 -3
  538. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_without_unmatched_filter.yml +0 -2
  539. data/embulk-test/build.gradle +0 -6
  540. data/embulk-test/src/main/java/org/embulk/test/EmbulkTests.java +0 -75
  541. data/embulk-test/src/main/java/org/embulk/test/PreviewResultInputPlugin.java +0 -65
  542. data/embulk-test/src/main/java/org/embulk/test/TestingBulkLoader.java +0 -129
  543. data/embulk-test/src/main/java/org/embulk/test/TestingEmbulk.java +0 -710
  544. data/gradle/wrapper/gradle-wrapper.jar +0 -0
  545. data/gradle/wrapper/gradle-wrapper.properties +0 -5
  546. data/gradlew +0 -172
  547. data/gradlew.bat +0 -84
  548. data/lib/embulk/data/bundle/.bundle/config +0 -3
  549. data/lib/embulk/data/bundle/.ruby-version +0 -1
  550. data/lib/embulk/data/bundle/Gemfile +0 -31
  551. data/lib/embulk/data/bundle/embulk/filter/example.rb +0 -42
  552. data/lib/embulk/data/bundle/embulk/input/example.rb +0 -54
  553. data/lib/embulk/data/bundle/embulk/output/example.rb +0 -58
  554. data/lib/embulk/data/new/LICENSE.txt +0 -21
  555. data/lib/embulk/data/new/README.md.vm +0 -106
  556. data/lib/embulk/data/new/gitignore.vm +0 -17
  557. data/lib/embulk/data/new/java/build.gradle.vm +0 -96
  558. data/lib/embulk/data/new/java/config/checkstyle/checkstyle.xml +0 -128
  559. data/lib/embulk/data/new/java/config/checkstyle/default.xml +0 -108
  560. data/lib/embulk/data/new/java/decoder.java.vm +0 -86
  561. data/lib/embulk/data/new/java/encoder.java.vm +0 -88
  562. data/lib/embulk/data/new/java/file_input.java.vm +0 -145
  563. data/lib/embulk/data/new/java/file_output.java.vm +0 -95
  564. data/lib/embulk/data/new/java/filter.java.vm +0 -57
  565. data/lib/embulk/data/new/java/formatter.java.vm +0 -55
  566. data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.jar +0 -0
  567. data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.properties +0 -5
  568. data/lib/embulk/data/new/java/gradlew +0 -172
  569. data/lib/embulk/data/new/java/gradlew.bat +0 -84
  570. data/lib/embulk/data/new/java/input.java.vm +0 -89
  571. data/lib/embulk/data/new/java/output.java.vm +0 -79
  572. data/lib/embulk/data/new/java/parser.java.vm +0 -61
  573. data/lib/embulk/data/new/java/plugin_loader.rb.vm +0 -3
  574. data/lib/embulk/data/new/java/test.java.vm +0 -5
  575. data/lib/embulk/data/new/ruby/.ruby-version +0 -1
  576. data/lib/embulk/data/new/ruby/Gemfile +0 -2
  577. data/lib/embulk/data/new/ruby/Rakefile +0 -3
  578. data/lib/embulk/data/new/ruby/decoder_guess.rb.vm +0 -25
  579. data/lib/embulk/data/new/ruby/filter.rb.vm +0 -50
  580. data/lib/embulk/data/new/ruby/formatter.rb.vm +0 -49
  581. data/lib/embulk/data/new/ruby/gemspec.vm +0 -20
  582. data/lib/embulk/data/new/ruby/input.rb.vm +0 -59
  583. data/lib/embulk/data/new/ruby/output.rb.vm +0 -61
  584. data/lib/embulk/data/new/ruby/parser.rb.vm +0 -44
  585. data/lib/embulk/data/new/ruby/parser_guess.rb.vm +0 -65
  586. data/lib/embulk/data/package_data.rb +0 -59
  587. data/lib/embulk/runner.rb +0 -53
  588. data/settings.gradle +0 -8
  589. data/test/helper.rb +0 -23
  590. data/test/monkey_strptime/mri/date/test_date_strptime.rb +0 -515
  591. data/test/monkey_strptime/run-test.rb +0 -29
  592. data/test/vanilla/guess/test_csv_all_strings.rb +0 -43
  593. data/test/vanilla/guess/test_csv_guess.rb +0 -170
  594. data/test/vanilla/guess/test_schema_guess.rb +0 -47
  595. data/test/vanilla/guess/test_time_format_guess.rb +0 -135
  596. data/test/vanilla/run-test.rb +0 -14
  597. data/test/vanilla/time/test_timestamp_parser.rb +0 -102
@@ -1,321 +0,0 @@
1
- package org.embulk;
2
-
3
- import java.util.ArrayList;
4
- import java.util.Arrays;
5
- import java.util.List;
6
- import com.google.common.base.Function;
7
- import com.google.common.base.Throwables;
8
- import com.google.common.collect.ImmutableList;
9
- import com.google.common.collect.Iterables;
10
- import com.google.inject.Injector;
11
- import com.google.inject.Module;
12
- import com.fasterxml.jackson.databind.ObjectMapper;
13
- import org.embulk.config.ModelManager;
14
- import org.embulk.config.ConfigSource;
15
- import org.embulk.config.ConfigDiff;
16
- import org.embulk.config.ConfigLoader;
17
- import org.embulk.exec.BulkLoader;
18
- import org.embulk.exec.GuessExecutor;
19
- import org.embulk.exec.PreviewExecutor;
20
- import org.embulk.exec.PreviewResult;
21
- import org.embulk.exec.ExecutionResult;
22
- import org.embulk.exec.PartialExecutionException;
23
- import org.embulk.exec.ResumeState;
24
- import org.embulk.exec.TransactionStage;
25
- import org.embulk.spi.BufferAllocator;
26
- import org.embulk.spi.ExecSession;
27
- import org.embulk.guice.Bootstrap;
28
- import org.embulk.guice.LifeCycleInjector;
29
- import static com.google.common.base.Preconditions.checkState;
30
- import static com.google.common.base.Preconditions.checkNotNull;
31
-
32
- public class EmbulkEmbed
33
- {
34
- public static ConfigLoader newSystemConfigLoader()
35
- {
36
- return new ConfigLoader(new ModelManager(null, new ObjectMapper()));
37
- }
38
-
39
- public static class Bootstrap
40
- {
41
- private final ConfigLoader systemConfigLoader;
42
-
43
- private ConfigSource systemConfig;
44
-
45
- private final List<Function<? super List<Module>, ? extends Iterable<? extends Module>>> moduleOverrides;
46
-
47
- public Bootstrap()
48
- {
49
- this.systemConfigLoader = newSystemConfigLoader();
50
- this.systemConfig = systemConfigLoader.newConfigSource();
51
- this.moduleOverrides = new ArrayList<>();
52
- }
53
-
54
- public ConfigLoader getSystemConfigLoader()
55
- {
56
- return systemConfigLoader;
57
- }
58
-
59
- public Bootstrap setSystemConfig(ConfigSource systemConfig)
60
- {
61
- this.systemConfig = systemConfig.deepCopy();
62
- return this;
63
- }
64
-
65
- public Bootstrap addModules(Module... additionalModules)
66
- {
67
- return addModules(Arrays.asList(additionalModules));
68
- }
69
-
70
- public Bootstrap addModules(Iterable<? extends Module> additionalModules)
71
- {
72
- final List<Module> copy = ImmutableList.copyOf(additionalModules);
73
- return overrideModules(
74
- new Function<List<Module>, Iterable<Module>>()
75
- {
76
- public Iterable<Module> apply(List<Module> modules)
77
- {
78
- return Iterables.concat(modules, copy);
79
- }
80
- });
81
- }
82
-
83
- public Bootstrap overrideModules(Function<? super List<Module>, ? extends Iterable<? extends Module>> function)
84
- {
85
- moduleOverrides.add(function);
86
- return this;
87
- }
88
-
89
- public EmbulkEmbed initialize()
90
- {
91
- return build(true);
92
- }
93
-
94
- public EmbulkEmbed initializeCloseable()
95
- {
96
- return build(false);
97
- }
98
-
99
- private EmbulkEmbed build(boolean destroyOnShutdownHook)
100
- {
101
- org.embulk.guice.Bootstrap bootstrap = new org.embulk.guice.Bootstrap()
102
- .requireExplicitBindings(false)
103
- .addModules(EmbulkService.standardModuleList(systemConfig));
104
-
105
- for (Function<? super List<Module>, ? extends Iterable<? extends Module>> override : moduleOverrides) {
106
- bootstrap = bootstrap.overrideModules(override);
107
- }
108
-
109
- LifeCycleInjector injector;
110
- if (destroyOnShutdownHook) {
111
- injector = bootstrap.initialize();
112
- } else {
113
- injector = bootstrap.initializeCloseable();
114
- }
115
-
116
- return new EmbulkEmbed(systemConfig, injector);
117
- }
118
- }
119
-
120
- private final LifeCycleInjector injector;
121
- private final BulkLoader bulkLoader;
122
- private final GuessExecutor guessExecutor;
123
- private final PreviewExecutor previewExecutor;
124
-
125
- EmbulkEmbed(ConfigSource systemConfig, LifeCycleInjector injector)
126
- {
127
- this.injector = injector;
128
- injector.getInstance(org.slf4j.ILoggerFactory.class);
129
- this.bulkLoader = injector.getInstance(BulkLoader.class);
130
- this.guessExecutor = injector.getInstance(GuessExecutor.class);
131
- this.previewExecutor = injector.getInstance(PreviewExecutor.class);
132
- }
133
-
134
- public Injector getInjector()
135
- {
136
- return injector;
137
- }
138
-
139
- public ModelManager getModelManager()
140
- {
141
- return injector.getInstance(ModelManager.class);
142
- }
143
-
144
- public BufferAllocator getBufferAllocator()
145
- {
146
- return injector.getInstance(BufferAllocator.class);
147
- }
148
-
149
- public ConfigLoader newConfigLoader()
150
- {
151
- return injector.getInstance(ConfigLoader.class);
152
- }
153
-
154
- public ConfigDiff guess(ConfigSource config)
155
- {
156
- ExecSession exec = newExecSession(config);
157
- try {
158
- return guessExecutor.guess(exec, config);
159
- }
160
- finally {
161
- exec.cleanup();
162
- }
163
- }
164
-
165
- public PreviewResult preview(ConfigSource config)
166
- {
167
- ExecSession exec = newExecSession(config);
168
- try {
169
- return previewExecutor.preview(exec, config);
170
- }
171
- finally {
172
- exec.cleanup();
173
- }
174
- }
175
-
176
- public ExecutionResult run(ConfigSource config)
177
- {
178
- ExecSession exec = newExecSession(config);
179
- try {
180
- return bulkLoader.run(exec, config);
181
- }
182
- catch (PartialExecutionException partial) {
183
- try {
184
- bulkLoader.cleanup(config, partial.getResumeState());
185
- } catch (Throwable ex) {
186
- partial.addSuppressed(ex);
187
- }
188
- throw partial;
189
- }
190
- finally {
191
- try {
192
- exec.cleanup();
193
- }
194
- catch (Exception ex) {
195
- // TODO add this exception to ExecutionResult.getIgnoredExceptions
196
- // or partial.addSuppressed
197
- ex.printStackTrace(System.err);
198
- }
199
- }
200
- }
201
-
202
- public ResumableResult runResumable(ConfigSource config)
203
- {
204
- ExecSession exec = newExecSession(config);
205
- try {
206
- ExecutionResult result;
207
- try {
208
- result = bulkLoader.run(exec, config);
209
- } catch (PartialExecutionException partial) {
210
- return new ResumableResult(partial);
211
- }
212
- return new ResumableResult(result);
213
- }
214
- finally {
215
- try {
216
- exec.cleanup();
217
- }
218
- catch (Exception ex) {
219
- // TODO add this exception to ExecutionResult.getIgnoredExceptions
220
- // or partial.addSuppressed
221
- ex.printStackTrace(System.err);
222
- }
223
- }
224
- }
225
-
226
- private ExecSession newExecSession(ConfigSource config)
227
- {
228
- ConfigSource execConfig = config.deepCopy().getNestedOrGetEmpty("exec");
229
- return ExecSession.builder(injector).fromExecConfig(execConfig).build();
230
- }
231
-
232
- public ResumeStateAction resumeState(ConfigSource config, ConfigSource resumeStateConfig)
233
- {
234
- ResumeState resumeState = resumeStateConfig.loadConfig(ResumeState.class);
235
- return new ResumeStateAction(config, resumeState);
236
- }
237
-
238
- public static class ResumableResult
239
- {
240
- private final ExecutionResult successfulResult;
241
- private final PartialExecutionException partialExecutionException;
242
-
243
- public ResumableResult(PartialExecutionException partialExecutionException)
244
- {
245
- this.successfulResult = null;
246
- this.partialExecutionException = checkNotNull(partialExecutionException);
247
- }
248
-
249
- public ResumableResult(ExecutionResult successfulResult)
250
- {
251
- this.successfulResult = checkNotNull(successfulResult);
252
- this.partialExecutionException = null;
253
- }
254
-
255
- public boolean isSuccessful()
256
- {
257
- return successfulResult != null;
258
- }
259
-
260
- public ExecutionResult getSuccessfulResult()
261
- {
262
- checkState(successfulResult != null);
263
- return successfulResult;
264
- }
265
-
266
- public Throwable getCause()
267
- {
268
- checkState(partialExecutionException != null);
269
- return partialExecutionException.getCause();
270
- }
271
-
272
- public ResumeState getResumeState()
273
- {
274
- checkState(partialExecutionException != null);
275
- return partialExecutionException.getResumeState();
276
- }
277
-
278
- public TransactionStage getTransactionStage()
279
- {
280
- return partialExecutionException.getTransactionStage();
281
- }
282
- }
283
-
284
- public class ResumeStateAction
285
- {
286
- private final ConfigSource config;
287
- private final ResumeState resumeState;
288
-
289
- public ResumeStateAction(ConfigSource config, ResumeState resumeState)
290
- {
291
- this.config = config;
292
- this.resumeState = resumeState;
293
- }
294
-
295
- public ResumableResult resume()
296
- {
297
- ExecutionResult result;
298
- try {
299
- result = bulkLoader.resume(config, resumeState);
300
- } catch (PartialExecutionException partial) {
301
- return new ResumableResult(partial);
302
- }
303
- return new ResumableResult(result);
304
- }
305
-
306
- public void cleanup()
307
- {
308
- bulkLoader.cleanup(config, resumeState);
309
- }
310
- }
311
-
312
- public void destroy()
313
- {
314
- try {
315
- injector.destroy();
316
- }
317
- catch (Exception ex) {
318
- throw Throwables.propagate(ex);
319
- }
320
- }
321
- }
@@ -1,582 +0,0 @@
1
- package org.embulk;
2
-
3
- import java.io.IOException;
4
- import java.io.OutputStream;
5
- import java.nio.charset.StandardCharsets;
6
- import java.nio.file.Files;
7
- import java.nio.file.Path;
8
- import java.nio.file.Paths;
9
- import java.nio.file.StandardOpenOption;
10
- import java.util.Collections;
11
- import java.util.List;
12
- import java.util.Map;
13
- import java.util.regex.Pattern;
14
- import org.embulk.command.PreviewPrinter;
15
- import org.embulk.command.TablePreviewPrinter;
16
- import org.embulk.command.VerticalPreviewPrinter;
17
- import org.embulk.config.ConfigDiff;
18
- import org.embulk.config.ConfigException;
19
- import org.embulk.config.ConfigSource;
20
- import org.embulk.config.DataSource;
21
- import org.embulk.config.ModelManager;
22
- import org.embulk.exec.ExecutionResult;
23
- import org.embulk.exec.PreviewResult;
24
- import org.embulk.exec.ResumeState;
25
- import org.embulk.exec.TransactionStage;
26
- import org.jruby.embed.LocalContextScope;
27
- import org.jruby.embed.LocalVariableBehavior;
28
- import org.jruby.embed.ScriptingContainer;
29
- import org.slf4j.Logger;
30
- import org.slf4j.LoggerFactory;
31
-
32
- /**
33
- * EmbulkRunner runs the guess, preview, or run subcommand.
34
- *
35
- * NOTE: Developers should not depend on this EmbulkRunner class. This class is created tentatively, and may be
36
- * re-implemented again in a different style.
37
- */
38
- public class EmbulkRunner
39
- {
40
- // |EmbulkSetup.setup| initializes:
41
- // new EmbulkRunner(embed)
42
- public EmbulkRunner(final EmbulkEmbed embed)
43
- {
44
- this.embed = embed; // org.embulk.EmbulkEmbed
45
- }
46
-
47
- /**
48
- * Runs the guess subcommand.
49
- *
50
- * It receives Java Paths to be called from Java EmbulkRun in embulk-cli.
51
- */
52
- public void guess(final Path configFilePath, final Path outputPath)
53
- {
54
- // TODO: Utilize |templateParams| and |templateIncludePath|.
55
- // They have not been used from embulk-cli while |template_params| and |template_include_path| are implemented
56
- // in Ruby Embulk::EmbulkRunner.
57
- final ConfigSource configSource;
58
- try {
59
- configSource = readConfig(configFilePath, Collections.<String, Object>emptyMap(), null);
60
- }
61
- catch (IOException ex) {
62
- throw new RuntimeException(ex);
63
- }
64
-
65
- try {
66
- guessInternal(configSource, outputPath);
67
- }
68
- catch (IOException ex) {
69
- throw new RuntimeException(ex);
70
- }
71
- }
72
-
73
- /**
74
- * Runs the guess subcommand.
75
- *
76
- * It receives Strings as parameters to be called from Ruby (embulk/runner.rb).
77
- */
78
- public void guess(final String configFilePathString, final String outputPathString)
79
- {
80
- final Path outputPath = (outputPathString == null ? null : Paths.get(outputPathString));
81
- guess(Paths.get(configFilePathString), outputPath);
82
- }
83
-
84
- /**
85
- * Runs the guess subcommand.
86
- *
87
- * It receives a ConfigSource and a String as parameters to be called from Ruby (embulk/runner.rb).
88
- */
89
- public void guess(final ConfigSource configSource, final String outputPathString)
90
- {
91
- final Path outputPath = (outputPathString == null ? null : Paths.get(outputPathString));
92
- try {
93
- guessInternal(configSource, outputPath);
94
- }
95
- catch (IOException ex) {
96
- throw new RuntimeException(ex);
97
- }
98
- }
99
-
100
- /**
101
- * Runs the guess subcommand.
102
- *
103
- * It receives a Java Path and a String to be called from Java's EmbulkRun in embulk-cli.
104
- */
105
- public void preview(final Path configFilePath, final String format)
106
- {
107
- // TODO: Utilize |templateParams| and |templateIncludePath|.
108
- // They have not been used from embulk-cli while |template_params| and |template_include_path| are implemented
109
- // in Ruby Embulk::EmbulkRunner.
110
- final ConfigSource configSource;
111
- try {
112
- configSource = readConfig(configFilePath, Collections.<String, Object>emptyMap(), null);
113
- }
114
- catch (IOException ex) {
115
- throw new RuntimeException(ex);
116
- }
117
-
118
- try {
119
- previewInternal(configSource, format);
120
- }
121
- catch (IOException ex) {
122
- throw new RuntimeException(ex);
123
- }
124
- }
125
-
126
- /**
127
- * Runs the preview subcommand.
128
- *
129
- * It receives Strings as parameters to be called from Ruby (embulk/runner.rb).
130
- */
131
- public void preview(final String configFilePathString, final String format)
132
- {
133
- preview(Paths.get(configFilePathString), format);
134
- }
135
-
136
- /**
137
- * Runs the preview subcommand.
138
- *
139
- * It receives a ConfigSource and a String as parameters to be called from Ruby (embulk/runner.rb).
140
- */
141
- public void preview(final ConfigSource configSource, final String format)
142
- {
143
- try {
144
- previewInternal(configSource, format);
145
- }
146
- catch (IOException ex) {
147
- throw new RuntimeException(ex);
148
- }
149
- }
150
-
151
- /**
152
- * Runs the run subcommand.
153
- *
154
- * It receives Java Paths to be called from Java EmbulkRun in embulk-cli.
155
- */
156
- public void run(
157
- final Path configFilePath,
158
- final Path configDiffPath,
159
- final Path outputPath,
160
- final Path resumeStatePath)
161
- {
162
- // TODO: Utilize |templateParams| and |templateIncludePath|.
163
- // They have not been used from embulk-cli while |template_params| and |template_include_path| are implemented
164
- // in Ruby Embulk::EmbulkRunner.
165
- final ConfigSource configSource;
166
- try {
167
- configSource = readConfig(configFilePath, Collections.<String, Object>emptyMap(), null);
168
- }
169
- catch (IOException ex) {
170
- throw new RuntimeException(ex);
171
- }
172
-
173
- try {
174
- runInternal(configSource, configDiffPath, outputPath, resumeStatePath);
175
- }
176
- catch (IOException ex) {
177
- throw new RuntimeException(ex);
178
- }
179
- }
180
-
181
- /**
182
- * Runs the run subcommand.
183
- *
184
- * It receives Strings as parameters to be called from Ruby (embulk/runner.rb).
185
- */
186
- public void run(final String configFilePathString,
187
- final String configDiffPathString,
188
- final String outputPathString,
189
- final String resumeStatePathString)
190
- {
191
- final Path configDiffPath = (configDiffPathString == null ? null : Paths.get(configDiffPathString));
192
- final Path outputPath = (outputPathString == null ? null : Paths.get(outputPathString));
193
- final Path resumeStatePath = (resumeStatePathString == null ? null : Paths.get(resumeStatePathString));
194
- run(Paths.get(configFilePathString), configDiffPath, outputPath, resumeStatePath);
195
- }
196
-
197
- /**
198
- * Runs the run subcommand.
199
- *
200
- * It receives a ConfigSource and a String as parameters to be called from Ruby (embulk/runner.rb).
201
- */
202
- public void run(final ConfigSource configSource,
203
- final String configDiffPathString,
204
- final String outputPathString,
205
- final String resumeStatePathString)
206
- {
207
- final Path configDiffPath = (configDiffPathString == null ? null : Paths.get(configDiffPathString));
208
- final Path outputPath = (outputPathString == null ? null : Paths.get(outputPathString));
209
- final Path resumeStatePath = (resumeStatePathString == null ? null : Paths.get(resumeStatePathString));
210
- try {
211
- runInternal(configSource, configDiffPath, outputPath, resumeStatePath);
212
- }
213
- catch (IOException ex) {
214
- throw new RuntimeException(ex);
215
- }
216
- }
217
-
218
- private void guessInternal(final ConfigSource configSource, final Path outputPath)
219
- throws IOException
220
- {
221
- initializeGlobalJRubyScriptingContainer();
222
-
223
- try {
224
- checkFileWritable(outputPath);
225
- }
226
- catch (IOException ex) {
227
- throw new RuntimeException("Not writable: " + outputPath.toString());
228
- }
229
-
230
- final ConfigDiff configDiff = this.embed.guess(configSource);
231
- final ConfigSource guessedConfigSource = configSource.merge(configDiff);
232
- final String yaml = writeConfig(outputPath, guessedConfigSource);
233
- System.err.println(yaml);
234
- if (outputPath != null) {
235
- System.out.println("Created '" + outputPath + "' file.");
236
- }
237
- else {
238
- System.out.println("Use -o PATH option to write the guessed config file to a file.");
239
- }
240
- }
241
-
242
- private void previewInternal(final ConfigSource configSource, final String format)
243
- throws IOException
244
- {
245
- initializeGlobalJRubyScriptingContainer();
246
-
247
- final PreviewResult previewResult = this.embed.preview(configSource);
248
- final ModelManager modelManager = this.embed.getModelManager();
249
-
250
- final PreviewPrinter printer;
251
- switch (format != null ? format : "table") {
252
- case "table":
253
- printer = new TablePreviewPrinter(System.out, modelManager, previewResult.getSchema());
254
- break;
255
- case "vertical":
256
- printer = new VerticalPreviewPrinter(System.out, modelManager, previewResult.getSchema());
257
- break;
258
- default:
259
- throw new IllegalArgumentException(
260
- "Unknown preview output format '" + format + "'. Supported formats: table, vertical");
261
- }
262
-
263
- printer.printAllPages(previewResult.getPages());
264
- printer.finish();
265
- }
266
-
267
- private void runInternal(
268
- final ConfigSource originalConfigSource,
269
- final Path configDiffPath,
270
- final Path outputPath, // deprecated
271
- final Path resumeStatePath)
272
- throws IOException
273
- {
274
- initializeGlobalJRubyScriptingContainer();
275
-
276
- try {
277
- checkFileWritable(outputPath);
278
- }
279
- catch (IOException ex) {
280
- throw new RuntimeException("Not writable: " + outputPath.toString());
281
- }
282
- try {
283
- checkFileWritable(configDiffPath);
284
- }
285
- catch (IOException ex) {
286
- throw new RuntimeException("Not writable: " + configDiffPath.toString());
287
- }
288
- try {
289
- checkFileWritable(resumeStatePath);
290
- }
291
- catch (IOException ex) {
292
- throw new RuntimeException("Not writable: " + resumeStatePath.toString());
293
- }
294
-
295
- final ConfigSource configSource;
296
- if (configDiffPath != null && Files.size(configDiffPath) > 0L) {
297
- configSource = originalConfigSource.merge(
298
- readConfig(configDiffPath, Collections.<String, Object>emptyMap(), null));
299
- }
300
- else {
301
- configSource = originalConfigSource;
302
- }
303
-
304
- final ConfigSource resumeConfig;
305
- if (resumeStatePath != null) {
306
- ConfigSource resumeConfigTemp = null;
307
- try {
308
- resumeConfigTemp = readYamlConfigFile(resumeStatePath);
309
- }
310
- catch (Throwable ex) {
311
- // TODO log?
312
- resumeConfigTemp = null;
313
- }
314
- if (resumeConfigTemp == null || resumeConfigTemp.isEmpty()) {
315
- resumeConfig = null;
316
- }
317
- else {
318
- resumeConfig = resumeConfigTemp;
319
- }
320
- }
321
- else {
322
- resumeConfig = null;
323
- }
324
-
325
- final EmbulkEmbed.ResumableResult resumableResult;
326
- final ExecutionResult executionResultTemp;
327
- if (resumeConfig != null) {
328
- resumableResult = this.embed.resumeState(configSource, resumeConfig).resume();
329
- executionResultTemp = null;
330
- }
331
- else if (resumeStatePath != null) {
332
- resumableResult = this.embed.runResumable(configSource);
333
- executionResultTemp = null;
334
- }
335
- else {
336
- resumableResult = null;
337
- executionResultTemp = this.embed.run(configSource);
338
- }
339
-
340
- final ExecutionResult executionResult;
341
- if (executionResultTemp == null) {
342
- if (!resumableResult.isSuccessful()) {
343
- if (resumableResult.getTransactionStage().isBefore(TransactionStage.RUN)) {
344
- // retry without resume state file if no tasks started yet
345
- // delete resume file
346
- if (resumeStatePath != null) {
347
- try {
348
- Files.deleteIfExists(resumeStatePath);
349
- }
350
- catch (Throwable ex) {
351
- System.err.println("Failed to delete: " + resumeStatePath.toString());
352
- }
353
- }
354
- }
355
- else {
356
- rootLogger.info("Writing resume state to '" + resumeStatePath.toString() + "'");
357
- try {
358
- writeResumeState(resumeStatePath, resumableResult.getResumeState());
359
- }
360
- catch (IOException ex) {
361
- throw new RuntimeException(ex);
362
- }
363
- rootLogger.info("Resume state is written. Run the transaction again with -r option to resume or use \"cleanup\" subcommand to delete intermediate data.");
364
- }
365
- throw new RuntimeException(resumableResult.getCause());
366
- }
367
- executionResult = resumableResult.getSuccessfulResult();
368
- }
369
- else {
370
- executionResult = executionResultTemp;
371
- }
372
-
373
- // delete resume file
374
- if (resumeStatePath != null) {
375
- try {
376
- Files.deleteIfExists(resumeStatePath);
377
- }
378
- catch (Throwable ex) {
379
- System.err.println("Failed to delete: " + resumeStatePath.toString());
380
- }
381
- }
382
-
383
- final ConfigDiff configDiff = executionResult.getConfigDiff();
384
- rootLogger.info("Committed.");
385
- rootLogger.info("Next config diff: " + configDiff.toString());
386
-
387
- writeConfig(configDiffPath, configDiff);
388
- writeConfig(outputPath, configSource.merge(configDiff)); // deprecated
389
- }
390
-
391
- // def resume_state(config, options={})
392
- // configSource = read_config(config, options)
393
- // Resumed.new(self, DataSource.from_java(configSource), options)
394
- // end
395
-
396
- private ConfigSource readConfig(
397
- final Path configFilePath,
398
- final Map<String, Object> templateParams,
399
- final String templateIncludePath)
400
- throws IOException
401
- {
402
- final String configString = configFilePath.toString();
403
- if (EXT_YAML_LIQUID.matcher(configFilePath.toString()).matches()) {
404
- return this.embed.newConfigLoader().fromYamlString(
405
- runLiquid(new String(Files.readAllBytes(configFilePath), StandardCharsets.UTF_8),
406
- templateParams,
407
- (templateIncludePath == null
408
- ? configFilePath.toAbsolutePath().getParent().toString()
409
- : templateIncludePath)));
410
- }
411
- else if (EXT_YAML.matcher(configFilePath.toString()).matches()) {
412
- return this.embed.newConfigLoader().fromYamlString(
413
- new String(Files.readAllBytes(configFilePath), StandardCharsets.UTF_8));
414
- }
415
- else {
416
- throw new ConfigException(
417
- "Unsupported file extension. Supported file extensions are .yml and .yml.liquid: " +
418
- configFilePath.toString());
419
- }
420
- }
421
-
422
- private ConfigSource readYamlConfigFile(final Path path)
423
- throws IOException
424
- {
425
- return this.embed.newConfigLoader().fromYamlString(
426
- new String(Files.readAllBytes(path), StandardCharsets.UTF_8));
427
- }
428
-
429
- private String runLiquid(
430
- final String templateSource,
431
- final Map<String, Object> templateParams,
432
- final String templateIncludePath)
433
- {
434
- // TODO: Check if it is required to process JRuby options.
435
- // Not |LocalContextScope.SINGLETON| to narrow down considerations.
436
- final ScriptingContainer localJRubyContainer =
437
- new ScriptingContainer(LocalContextScope.SINGLETHREAD, LocalVariableBehavior.PERSISTENT);
438
-
439
- localJRubyContainer.runScriptlet("require 'liquid'");
440
-
441
- localJRubyContainer.put("__internal_liquid_template_source__", templateSource);
442
- localJRubyContainer.runScriptlet("template = Liquid::Template.parse(__internal_liquid_template_source__, :error_mode => :strict)");
443
- localJRubyContainer.remove("__internal_liquid_template_source__");
444
-
445
- if (templateIncludePath != null) {
446
- localJRubyContainer.put("__internal_liquid_template_include_path_java__", templateIncludePath);
447
- localJRubyContainer.runScriptlet("__internal_liquid_template_include_path__ = File.expand_path(__internal_liquid_template_include_path_java__ || File.dirname(config)) unless __internal_liquid_template_include_path_java__ == false");
448
- localJRubyContainer.runScriptlet("template.registers[:file_system] = Liquid::LocalFileSystem.new(__internal_liquid_template_include_path__, \"_%s.yml.liquid\")");
449
- localJRubyContainer.remove("__internal_liquid_template_include_path__");
450
- }
451
-
452
- // TODO: Convert |templateParams| recursively to Ruby's Hash.
453
- localJRubyContainer.put("__internal_liquid_template_params__", templateParams);
454
- localJRubyContainer.runScriptlet("__internal_liquid_template_data__ = { 'env' => ENV.to_h }.merge(__internal_liquid_template_params__)");
455
- localJRubyContainer.remove("__internal_liquid_template_params__");
456
-
457
- final Object renderedObject =
458
- localJRubyContainer.runScriptlet("template.render(__internal_liquid_template_data__)");
459
- return renderedObject.toString();
460
- }
461
-
462
- private boolean checkFileWritable(final Path path)
463
- throws IOException
464
- {
465
- if (path != null) {
466
- // Open file with append mode and do nothing.
467
- // If file is not writable, it throws an exception.
468
- // NOTE: |Files.isWritable| does not work for the purpose as it expects the file exists.
469
- // Using |Files.newOutputStream| for the binary mode.
470
- try (final OutputStream output =
471
- Files.newOutputStream(path, StandardOpenOption.APPEND, StandardOpenOption.CREATE)) {
472
- ;
473
- }
474
- }
475
- return true;
476
- }
477
-
478
- private String writeConfig(final Path path, final DataSource modelObject)
479
- throws IOException
480
- {
481
- final String yamlString = dumpDataSourceInYaml(modelObject);
482
- if (path != null) {
483
- Files.write(path, yamlString.getBytes(), StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING);
484
- }
485
- return yamlString;
486
- }
487
-
488
- private String writeResumeState(final Path path, final ResumeState modelObject)
489
- throws IOException
490
- {
491
- final String yamlString = dumpResumeStateInYaml(modelObject);
492
- if (path != null) {
493
- Files.write(path, yamlString.getBytes(), StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING);
494
- }
495
- return yamlString;
496
- }
497
-
498
- private String dumpDataSourceInYaml(final DataSource modelObject)
499
- {
500
- final ModelManager modelManager = this.embed.getModelManager();
501
- final Object object = modelManager.readObject(Object.class, modelManager.writeObject(modelObject));
502
- return (new org.yaml.snakeyaml.Yaml()).dump(object);
503
- }
504
-
505
- private String dumpResumeStateInYaml(final ResumeState modelObject)
506
- {
507
- final ModelManager modelManager = this.embed.getModelManager();
508
- final Object object = modelManager.readObject(Object.class, modelManager.writeObject(modelObject));
509
- return (new org.yaml.snakeyaml.Yaml()).dump(object);
510
- }
511
-
512
- // class Runnable
513
- // def initialize(runner, config, options)
514
- // @runner = runner
515
- // @config = config
516
- // @options = options
517
- // end
518
- //
519
- // attr_reader :config
520
- //
521
- // def preview(options={})
522
- // @runner.preview(@config, @options.merge(options))
523
- // end
524
- //
525
- // def run(options={})
526
- // @runner.run(@config, @options.merge(options))
527
- // end
528
- // end
529
-
530
- // TODO: Check if it is required to process JRuby options.
531
- private void initializeGlobalJRubyScriptingContainer()
532
- {
533
- final ScriptingContainer globalJRubyContainer =
534
- new ScriptingContainer(LocalContextScope.SINGLETON, LocalVariableBehavior.PERSISTENT);
535
-
536
- // TODO: Remove the Embulk::Runner definition after confirming nobody uses Embulk::Runner from Java.
537
- globalJRubyContainer.put("__internal_runner_java__", this);
538
- globalJRubyContainer.runScriptlet(
539
- "class DummyEmbulkRunner\n" +
540
- " def initialize(runner_orig)\n" +
541
- " @runner_orig = runner_orig\n" +
542
- " end\n" +
543
- " def guess(config, options={})\n" +
544
- " STDERR.puts '################################################################################'\n" +
545
- " STDERR.puts '[WARN] Embulk::Runner will be no longer defined when Embulk runs from Java.'\n" +
546
- " STDERR.puts '[WARN] Comment at https://github.com/embulk/embulk/issues/766 if you see this.'\n" +
547
- " STDERR.puts '################################################################################'\n" +
548
- " STDERR.puts ''\n" +
549
- " @runner_orig.guess(config, options)\n" +
550
- " end\n" +
551
- " def preview(config, options={})\n" +
552
- " STDERR.puts '################################################################################'\n" +
553
- " STDERR.puts '[WARN] Embulk::Runner will be no longer defined when Embulk runs from Java.'\n" +
554
- " STDERR.puts '[WARN] Comment at https://github.com/embulk/embulk/issues/766 if you see this.'\n" +
555
- " STDERR.puts '################################################################################'\n" +
556
- " STDERR.puts ''\n" +
557
- " @runner_orig.preview(config, options)\n" +
558
- " end\n" +
559
- " def run(config, options={})\n" +
560
- " STDERR.puts '################################################################################'\n" +
561
- " STDERR.puts '[WARN] Embulk::Runner will be no longer defined when Embulk runs from Java.'\n" +
562
- " STDERR.puts '[WARN] Comment at https://github.com/embulk/embulk/issues/766 if you see this.'\n" +
563
- " STDERR.puts '################################################################################'\n" +
564
- " STDERR.puts ''\n" +
565
- " @runner_orig.run(config, options)\n" +
566
- " end\n" +
567
- "end\n" +
568
- "\n" +
569
- "unless Embulk.const_defined?(:Runner)\n" +
570
- " Embulk.const_set :Runner, DummyEmbulkRunner.new(Embulk::EmbulkRunner.new(__internal_runner_java__))\n" +
571
- "end\n");
572
- globalJRubyContainer.remove("__internal_runner_java__");
573
- }
574
-
575
- // NOTE: The root logger directly from |LoggerFactory|, not from |Exec.getLogger| as it's outside of |Exec.doWith|.
576
- private static final Logger rootLogger = LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
577
-
578
- private final Pattern EXT_YAML = Pattern.compile(".*\\.ya?ml$");
579
- private final Pattern EXT_YAML_LIQUID = Pattern.compile(".*\\.ya?ml\\.liquid$");
580
-
581
- private final EmbulkEmbed embed;
582
- }