embulk 0.8.37-java → 0.10.26-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 (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
- }