embulk 0.8.39-java → 0.10.28-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 (604) 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 -762
  17. data/.gitignore +0 -15
  18. data/.ruby-version +0 -1
  19. data/.travis.yml +0 -28
  20. data/COPYING +0 -14
  21. data/Gemfile.lock +0 -30
  22. data/README.md +0 -229
  23. data/Rakefile +0 -26
  24. data/appveyor.yml +0 -28
  25. data/bin/embulk +0 -139
  26. data/build.gradle +0 -419
  27. data/embulk-cli/build.gradle +0 -9
  28. data/embulk-cli/src/main/bat/selfrun.bat +0 -107
  29. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkArguments.java +0 -54
  30. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkCommandLine.java +0 -227
  31. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkCommandLineException.java +0 -25
  32. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkExample.java +0 -86
  33. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkMigrate.java +0 -480
  34. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkNew.java +0 -419
  35. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkRun.java +0 -786
  36. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkSelfUpdate.java +0 -235
  37. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkSubcommand.java +0 -47
  38. data/embulk-cli/src/main/java/org/embulk/cli/Main.java +0 -31
  39. data/embulk-cli/src/main/java/org/embulk/cli/parse/AbstractHelpLineDefinition.java +0 -15
  40. data/embulk-cli/src/main/java/org/embulk/cli/parse/CliHelpFormatterWithHelpMessages.java +0 -141
  41. data/embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java +0 -45
  42. data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineHelpRequired.java +0 -10
  43. data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineParseException.java +0 -25
  44. data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineParser.java +0 -187
  45. data/embulk-cli/src/main/java/org/embulk/cli/parse/HelpMessageAsCliOption.java +0 -36
  46. data/embulk-cli/src/main/java/org/embulk/cli/parse/HelpMessageLineDefinition.java +0 -20
  47. data/embulk-cli/src/main/java/org/embulk/cli/parse/OptionBehavior.java +0 -39
  48. data/embulk-cli/src/main/java/org/embulk/cli/parse/OptionDefinition.java +0 -120
  49. data/embulk-cli/src/main/sh/selfrun.sh +0 -60
  50. data/embulk-cli/src/test/java/org/embulk/cli/DummyMain.java +0 -23
  51. data/embulk-cli/src/test/java/org/embulk/cli/SelfrunTest.java +0 -296
  52. data/embulk-core/build.gradle +0 -83
  53. data/embulk-core/src/main/java/org/embulk/EmbulkEmbed.java +0 -321
  54. data/embulk-core/src/main/java/org/embulk/EmbulkRunner.java +0 -531
  55. data/embulk-core/src/main/java/org/embulk/EmbulkService.java +0 -78
  56. data/embulk-core/src/main/java/org/embulk/EmbulkSetup.java +0 -49
  57. data/embulk-core/src/main/java/org/embulk/EmbulkVersion.java +0 -109
  58. data/embulk-core/src/main/java/org/embulk/command/PreviewPrinter.java +0 -87
  59. data/embulk-core/src/main/java/org/embulk/command/TablePreviewPrinter.java +0 -107
  60. data/embulk-core/src/main/java/org/embulk/command/VerticalPreviewPrinter.java +0 -47
  61. data/embulk-core/src/main/java/org/embulk/config/CommitReport.java +0 -36
  62. data/embulk-core/src/main/java/org/embulk/config/Config.java +0 -15
  63. data/embulk-core/src/main/java/org/embulk/config/ConfigDefault.java +0 -15
  64. data/embulk-core/src/main/java/org/embulk/config/ConfigDiff.java +0 -32
  65. data/embulk-core/src/main/java/org/embulk/config/ConfigException.java +0 -26
  66. data/embulk-core/src/main/java/org/embulk/config/ConfigInject.java +0 -14
  67. data/embulk-core/src/main/java/org/embulk/config/ConfigLoader.java +0 -149
  68. data/embulk-core/src/main/java/org/embulk/config/ConfigSource.java +0 -34
  69. data/embulk-core/src/main/java/org/embulk/config/DataSource.java +0 -41
  70. data/embulk-core/src/main/java/org/embulk/config/DataSourceImpl.java +0 -243
  71. data/embulk-core/src/main/java/org/embulk/config/DataSourceSerDe.java +0 -84
  72. data/embulk-core/src/main/java/org/embulk/config/GenericTypeReference.java +0 -20
  73. data/embulk-core/src/main/java/org/embulk/config/ModelManager.java +0 -123
  74. data/embulk-core/src/main/java/org/embulk/config/Task.java +0 -10
  75. data/embulk-core/src/main/java/org/embulk/config/TaskInvocationHandler.java +0 -180
  76. data/embulk-core/src/main/java/org/embulk/config/TaskReport.java +0 -32
  77. data/embulk-core/src/main/java/org/embulk/config/TaskSerDe.java +0 -349
  78. data/embulk-core/src/main/java/org/embulk/config/TaskSource.java +0 -34
  79. data/embulk-core/src/main/java/org/embulk/config/TaskValidationException.java +0 -38
  80. data/embulk-core/src/main/java/org/embulk/config/TaskValidator.java +0 -24
  81. data/embulk-core/src/main/java/org/embulk/config/UserDataException.java +0 -4
  82. data/embulk-core/src/main/java/org/embulk/config/UserDataExceptions.java +0 -17
  83. data/embulk-core/src/main/java/org/embulk/config/YamlTagResolver.java +0 -53
  84. data/embulk-core/src/main/java/org/embulk/exec/BufferFileInputPlugin.java +0 -88
  85. data/embulk-core/src/main/java/org/embulk/exec/BulkLoader.java +0 -754
  86. data/embulk-core/src/main/java/org/embulk/exec/ConfigurableGuessInputPlugin.java +0 -9
  87. data/embulk-core/src/main/java/org/embulk/exec/ExecModule.java +0 -53
  88. data/embulk-core/src/main/java/org/embulk/exec/ExecutionInterruptedException.java +0 -10
  89. data/embulk-core/src/main/java/org/embulk/exec/ExecutionResult.java +0 -33
  90. data/embulk-core/src/main/java/org/embulk/exec/ExtensionServiceLoaderModule.java +0 -43
  91. data/embulk-core/src/main/java/org/embulk/exec/ForGuess.java +0 -16
  92. data/embulk-core/src/main/java/org/embulk/exec/ForSystemConfig.java +0 -16
  93. data/embulk-core/src/main/java/org/embulk/exec/GuessExecutor.java +0 -309
  94. data/embulk-core/src/main/java/org/embulk/exec/LocalExecutorPlugin.java +0 -563
  95. data/embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java +0 -68
  96. data/embulk-core/src/main/java/org/embulk/exec/NoSampleException.java +0 -10
  97. data/embulk-core/src/main/java/org/embulk/exec/PartialExecutionException.java +0 -26
  98. data/embulk-core/src/main/java/org/embulk/exec/PooledBufferAllocator.java +0 -77
  99. data/embulk-core/src/main/java/org/embulk/exec/PreviewExecutor.java +0 -222
  100. data/embulk-core/src/main/java/org/embulk/exec/PreviewResult.java +0 -27
  101. data/embulk-core/src/main/java/org/embulk/exec/PreviewedNoticeError.java +0 -17
  102. data/embulk-core/src/main/java/org/embulk/exec/ResumeState.java +0 -100
  103. data/embulk-core/src/main/java/org/embulk/exec/SamplingParserPlugin.java +0 -215
  104. data/embulk-core/src/main/java/org/embulk/exec/SetCurrentThreadName.java +0 -22
  105. data/embulk-core/src/main/java/org/embulk/exec/SkipTransactionException.java +0 -23
  106. data/embulk-core/src/main/java/org/embulk/exec/SystemConfigModule.java +0 -24
  107. data/embulk-core/src/main/java/org/embulk/exec/TempFileAllocator.java +0 -35
  108. data/embulk-core/src/main/java/org/embulk/exec/TransactionStage.java +0 -27
  109. data/embulk-core/src/main/java/org/embulk/jruby/JRubyPluginSource.java +0 -76
  110. data/embulk-core/src/main/java/org/embulk/jruby/JRubyScriptingModule.java +0 -395
  111. data/embulk-core/src/main/java/org/embulk/plugin/BuiltinPluginSourceModule.java +0 -17
  112. data/embulk-core/src/main/java/org/embulk/plugin/DefaultPluginType.java +0 -50
  113. data/embulk-core/src/main/java/org/embulk/plugin/InjectedPluginSource.java +0 -100
  114. data/embulk-core/src/main/java/org/embulk/plugin/MavenPluginType.java +0 -112
  115. data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoader.java +0 -993
  116. data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderFactory.java +0 -16
  117. data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderModule.java +0 -102
  118. data/embulk-core/src/main/java/org/embulk/plugin/PluginManager.java +0 -78
  119. data/embulk-core/src/main/java/org/embulk/plugin/PluginSource.java +0 -49
  120. data/embulk-core/src/main/java/org/embulk/plugin/PluginSourceNotMatchException.java +0 -25
  121. data/embulk-core/src/main/java/org/embulk/plugin/PluginType.java +0 -122
  122. data/embulk-core/src/main/java/org/embulk/plugin/compat/InputPluginWrapper.java +0 -102
  123. data/embulk-core/src/main/java/org/embulk/plugin/compat/PluginWrappers.java +0 -30
  124. data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileInputWrapper.java +0 -96
  125. data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileOutputWrapper.java +0 -102
  126. data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalPageOutputWrapper.java +0 -95
  127. data/embulk-core/src/main/java/org/embulk/plugin/jar/InvalidJarPluginException.java +0 -14
  128. data/embulk-core/src/main/java/org/embulk/plugin/jar/JarPluginLoader.java +0 -232
  129. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenArtifactFinder.java +0 -134
  130. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenArtifactNotFoundException.java +0 -20
  131. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenPluginSource.java +0 -187
  132. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenPluginSourceModule.java +0 -22
  133. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenRepositoryNotFoundException.java +0 -31
  134. data/embulk-core/src/main/java/org/embulk/spi/AbortTransactionResource.java +0 -36
  135. data/embulk-core/src/main/java/org/embulk/spi/Buffer.java +0 -148
  136. data/embulk-core/src/main/java/org/embulk/spi/BufferAllocator.java +0 -8
  137. data/embulk-core/src/main/java/org/embulk/spi/CloseResource.java +0 -42
  138. data/embulk-core/src/main/java/org/embulk/spi/Column.java +0 -95
  139. data/embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java +0 -112
  140. data/embulk-core/src/main/java/org/embulk/spi/ColumnVisitor.java +0 -16
  141. data/embulk-core/src/main/java/org/embulk/spi/DataException.java +0 -23
  142. data/embulk-core/src/main/java/org/embulk/spi/DecoderPlugin.java +0 -16
  143. data/embulk-core/src/main/java/org/embulk/spi/EncoderPlugin.java +0 -16
  144. data/embulk-core/src/main/java/org/embulk/spi/Exec.java +0 -113
  145. data/embulk-core/src/main/java/org/embulk/spi/ExecAction.java +0 -6
  146. data/embulk-core/src/main/java/org/embulk/spi/ExecSession.java +0 -220
  147. data/embulk-core/src/main/java/org/embulk/spi/ExecutorPlugin.java +0 -19
  148. data/embulk-core/src/main/java/org/embulk/spi/Extension.java +0 -44
  149. data/embulk-core/src/main/java/org/embulk/spi/FileInput.java +0 -11
  150. data/embulk-core/src/main/java/org/embulk/spi/FileInputPlugin.java +0 -30
  151. data/embulk-core/src/main/java/org/embulk/spi/FileInputRunner.java +0 -169
  152. data/embulk-core/src/main/java/org/embulk/spi/FileOutput.java +0 -13
  153. data/embulk-core/src/main/java/org/embulk/spi/FileOutputPlugin.java +0 -28
  154. data/embulk-core/src/main/java/org/embulk/spi/FileOutputRunner.java +0 -199
  155. data/embulk-core/src/main/java/org/embulk/spi/FilterPlugin.java +0 -18
  156. data/embulk-core/src/main/java/org/embulk/spi/FormatterPlugin.java +0 -18
  157. data/embulk-core/src/main/java/org/embulk/spi/GuessPlugin.java +0 -9
  158. data/embulk-core/src/main/java/org/embulk/spi/InputPlugin.java +0 -33
  159. data/embulk-core/src/main/java/org/embulk/spi/OutputPlugin.java +0 -29
  160. data/embulk-core/src/main/java/org/embulk/spi/Page.java +0 -86
  161. data/embulk-core/src/main/java/org/embulk/spi/PageBuilder.java +0 -696
  162. data/embulk-core/src/main/java/org/embulk/spi/PageFormat.java +0 -47
  163. data/embulk-core/src/main/java/org/embulk/spi/PageOutput.java +0 -11
  164. data/embulk-core/src/main/java/org/embulk/spi/PageReader.java +0 -248
  165. data/embulk-core/src/main/java/org/embulk/spi/ParserPlugin.java +0 -17
  166. data/embulk-core/src/main/java/org/embulk/spi/ProcessState.java +0 -10
  167. data/embulk-core/src/main/java/org/embulk/spi/ProcessTask.java +0 -117
  168. data/embulk-core/src/main/java/org/embulk/spi/Schema.java +0 -139
  169. data/embulk-core/src/main/java/org/embulk/spi/SchemaConfig.java +0 -93
  170. data/embulk-core/src/main/java/org/embulk/spi/SchemaConfigException.java +0 -22
  171. data/embulk-core/src/main/java/org/embulk/spi/TaskState.java +0 -81
  172. data/embulk-core/src/main/java/org/embulk/spi/TempFileException.java +0 -19
  173. data/embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java +0 -88
  174. data/embulk-core/src/main/java/org/embulk/spi/Transactional.java +0 -10
  175. data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileInput.java +0 -17
  176. data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileOutput.java +0 -19
  177. data/embulk-core/src/main/java/org/embulk/spi/TransactionalPageOutput.java +0 -17
  178. data/embulk-core/src/main/java/org/embulk/spi/json/JsonParseException.java +0 -17
  179. data/embulk-core/src/main/java/org/embulk/spi/json/JsonParser.java +0 -233
  180. data/embulk-core/src/main/java/org/embulk/spi/json/RubyValueApi.java +0 -100
  181. data/embulk-core/src/main/java/org/embulk/spi/time/DateTimeZoneSerDe.java +0 -55
  182. data/embulk-core/src/main/java/org/embulk/spi/time/Timestamp.java +0 -180
  183. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormat.java +0 -158
  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 -247
  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 -109
  307. data/embulk-docs/src/release/release-0.1.0.rst +0 -8
  308. data/embulk-docs/src/release/release-0.2.0.rst +0 -16
  309. data/embulk-docs/src/release/release-0.2.1.rst +0 -19
  310. data/embulk-docs/src/release/release-0.3.0.rst +0 -34
  311. data/embulk-docs/src/release/release-0.3.1.rst +0 -11
  312. data/embulk-docs/src/release/release-0.3.2.rst +0 -15
  313. data/embulk-docs/src/release/release-0.4.0.rst +0 -74
  314. data/embulk-docs/src/release/release-0.4.1.rst +0 -18
  315. data/embulk-docs/src/release/release-0.4.10.rst +0 -17
  316. data/embulk-docs/src/release/release-0.4.2.rst +0 -18
  317. data/embulk-docs/src/release/release-0.4.3.rst +0 -34
  318. data/embulk-docs/src/release/release-0.4.4.rst +0 -39
  319. data/embulk-docs/src/release/release-0.4.5.rst +0 -24
  320. data/embulk-docs/src/release/release-0.4.6.rst +0 -30
  321. data/embulk-docs/src/release/release-0.4.7.rst +0 -16
  322. data/embulk-docs/src/release/release-0.4.8.rst +0 -15
  323. data/embulk-docs/src/release/release-0.4.9.rst +0 -23
  324. data/embulk-docs/src/release/release-0.5.0.rst +0 -89
  325. data/embulk-docs/src/release/release-0.5.1.rst +0 -13
  326. data/embulk-docs/src/release/release-0.5.2.rst +0 -30
  327. data/embulk-docs/src/release/release-0.5.3.rst +0 -22
  328. data/embulk-docs/src/release/release-0.5.4.rst +0 -24
  329. data/embulk-docs/src/release/release-0.5.5.rst +0 -18
  330. data/embulk-docs/src/release/release-0.6.0.rst +0 -34
  331. data/embulk-docs/src/release/release-0.6.1.rst +0 -11
  332. data/embulk-docs/src/release/release-0.6.10.rst +0 -15
  333. data/embulk-docs/src/release/release-0.6.11.rst +0 -19
  334. data/embulk-docs/src/release/release-0.6.12.rst +0 -31
  335. data/embulk-docs/src/release/release-0.6.13.rst +0 -23
  336. data/embulk-docs/src/release/release-0.6.14.rst +0 -47
  337. data/embulk-docs/src/release/release-0.6.15.rst +0 -26
  338. data/embulk-docs/src/release/release-0.6.16.rst +0 -26
  339. data/embulk-docs/src/release/release-0.6.17.rst +0 -39
  340. data/embulk-docs/src/release/release-0.6.18.rst +0 -14
  341. data/embulk-docs/src/release/release-0.6.19.rst +0 -18
  342. data/embulk-docs/src/release/release-0.6.2.rst +0 -17
  343. data/embulk-docs/src/release/release-0.6.20.rst +0 -19
  344. data/embulk-docs/src/release/release-0.6.21.rst +0 -20
  345. data/embulk-docs/src/release/release-0.6.22.rst +0 -26
  346. data/embulk-docs/src/release/release-0.6.23.rst +0 -17
  347. data/embulk-docs/src/release/release-0.6.24.rst +0 -13
  348. data/embulk-docs/src/release/release-0.6.25.rst +0 -12
  349. data/embulk-docs/src/release/release-0.6.26.rst +0 -17
  350. data/embulk-docs/src/release/release-0.6.27.rst +0 -11
  351. data/embulk-docs/src/release/release-0.6.3.rst +0 -23
  352. data/embulk-docs/src/release/release-0.6.4.rst +0 -13
  353. data/embulk-docs/src/release/release-0.6.5.rst +0 -17
  354. data/embulk-docs/src/release/release-0.6.6.rst +0 -17
  355. data/embulk-docs/src/release/release-0.6.7.rst +0 -17
  356. data/embulk-docs/src/release/release-0.6.8.rst +0 -24
  357. data/embulk-docs/src/release/release-0.6.9.rst +0 -24
  358. data/embulk-docs/src/release/release-0.7.0.rst +0 -96
  359. data/embulk-docs/src/release/release-0.7.1.rst +0 -22
  360. data/embulk-docs/src/release/release-0.7.10.rst +0 -13
  361. data/embulk-docs/src/release/release-0.7.11.rst +0 -12
  362. data/embulk-docs/src/release/release-0.7.2.rst +0 -25
  363. data/embulk-docs/src/release/release-0.7.3.rst +0 -21
  364. data/embulk-docs/src/release/release-0.7.4.rst +0 -14
  365. data/embulk-docs/src/release/release-0.7.5.rst +0 -22
  366. data/embulk-docs/src/release/release-0.7.6.rst +0 -18
  367. data/embulk-docs/src/release/release-0.7.7.rst +0 -13
  368. data/embulk-docs/src/release/release-0.7.8.rst +0 -14
  369. data/embulk-docs/src/release/release-0.7.9.rst +0 -14
  370. data/embulk-docs/src/release/release-0.8.0.rst +0 -74
  371. data/embulk-docs/src/release/release-0.8.1.rst +0 -18
  372. data/embulk-docs/src/release/release-0.8.10.rst +0 -35
  373. data/embulk-docs/src/release/release-0.8.11.rst +0 -12
  374. data/embulk-docs/src/release/release-0.8.12.rst +0 -12
  375. data/embulk-docs/src/release/release-0.8.13.rst +0 -12
  376. data/embulk-docs/src/release/release-0.8.14.rst +0 -31
  377. data/embulk-docs/src/release/release-0.8.15.rst +0 -17
  378. data/embulk-docs/src/release/release-0.8.16.rst +0 -43
  379. data/embulk-docs/src/release/release-0.8.17.rst +0 -11
  380. data/embulk-docs/src/release/release-0.8.18.rst +0 -27
  381. data/embulk-docs/src/release/release-0.8.19.rst +0 -43
  382. data/embulk-docs/src/release/release-0.8.2.rst +0 -19
  383. data/embulk-docs/src/release/release-0.8.20.rst +0 -11
  384. data/embulk-docs/src/release/release-0.8.21.rst +0 -17
  385. data/embulk-docs/src/release/release-0.8.22.rst +0 -15
  386. data/embulk-docs/src/release/release-0.8.23.rst +0 -14
  387. data/embulk-docs/src/release/release-0.8.24.rst +0 -15
  388. data/embulk-docs/src/release/release-0.8.25.rst +0 -14
  389. data/embulk-docs/src/release/release-0.8.26.rst +0 -16
  390. data/embulk-docs/src/release/release-0.8.27.rst +0 -15
  391. data/embulk-docs/src/release/release-0.8.28.rst +0 -14
  392. data/embulk-docs/src/release/release-0.8.29.rst +0 -14
  393. data/embulk-docs/src/release/release-0.8.3.rst +0 -15
  394. data/embulk-docs/src/release/release-0.8.30.rst +0 -14
  395. data/embulk-docs/src/release/release-0.8.31.rst +0 -12
  396. data/embulk-docs/src/release/release-0.8.32.rst +0 -14
  397. data/embulk-docs/src/release/release-0.8.33.rst +0 -13
  398. data/embulk-docs/src/release/release-0.8.34.rst +0 -12
  399. data/embulk-docs/src/release/release-0.8.35.rst +0 -12
  400. data/embulk-docs/src/release/release-0.8.36.rst +0 -32
  401. data/embulk-docs/src/release/release-0.8.37.rst +0 -20
  402. data/embulk-docs/src/release/release-0.8.38.rst +0 -12
  403. data/embulk-docs/src/release/release-0.8.39.rst +0 -12
  404. data/embulk-docs/src/release/release-0.8.4.rst +0 -18
  405. data/embulk-docs/src/release/release-0.8.5.rst +0 -11
  406. data/embulk-docs/src/release/release-0.8.6.rst +0 -14
  407. data/embulk-docs/src/release/release-0.8.7.rst +0 -18
  408. data/embulk-docs/src/release/release-0.8.8.rst +0 -18
  409. data/embulk-docs/src/release/release-0.8.9.rst +0 -14
  410. data/embulk-jruby-strptime/build.gradle +0 -3
  411. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/RubyDateParser.java +0 -121
  412. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeFormat.java +0 -53
  413. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeParser.java +0 -884
  414. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeToken.java +0 -111
  415. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/TimeZoneConverter.java +0 -466
  416. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/lexer/StrptimeLexer.flex +0 -62
  417. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/lexer/StrptimeLexer.java +0 -577
  418. data/embulk-standards/build.gradle +0 -7
  419. data/embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java +0 -55
  420. data/embulk-standards/src/main/java/org/embulk/standards/Bzip2FileEncoderPlugin.java +0 -67
  421. data/embulk-standards/src/main/java/org/embulk/standards/ConfigInputPlugin.java +0 -170
  422. data/embulk-standards/src/main/java/org/embulk/standards/CsvFormatterPlugin.java +0 -295
  423. data/embulk-standards/src/main/java/org/embulk/standards/CsvParserPlugin.java +0 -416
  424. data/embulk-standards/src/main/java/org/embulk/standards/CsvTokenizer.java +0 -545
  425. data/embulk-standards/src/main/java/org/embulk/standards/GzipFileDecoderPlugin.java +0 -55
  426. data/embulk-standards/src/main/java/org/embulk/standards/GzipFileEncoderPlugin.java +0 -71
  427. data/embulk-standards/src/main/java/org/embulk/standards/JsonParserPlugin.java +0 -235
  428. data/embulk-standards/src/main/java/org/embulk/standards/LocalFileInputPlugin.java +0 -232
  429. data/embulk-standards/src/main/java/org/embulk/standards/LocalFileOutputPlugin.java +0 -148
  430. data/embulk-standards/src/main/java/org/embulk/standards/NullOutputPlugin.java +0 -59
  431. data/embulk-standards/src/main/java/org/embulk/standards/RemoveColumnsFilterPlugin.java +0 -268
  432. data/embulk-standards/src/main/java/org/embulk/standards/RenameFilterPlugin.java +0 -479
  433. data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginExtension.java +0 -16
  434. data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginModule.java +0 -60
  435. data/embulk-standards/src/main/java/org/embulk/standards/StdoutOutputPlugin.java +0 -91
  436. data/embulk-standards/src/main/resources/META-INF/services/org.embulk.spi.Extension +0 -1
  437. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvFormatterPlugin.java +0 -312
  438. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvParserPlugin.java +0 -75
  439. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvTokenizer.java +0 -457
  440. data/embulk-standards/src/test/java/org/embulk/standards/TestJsonParserPlugin.java +0 -351
  441. data/embulk-standards/src/test/java/org/embulk/standards/TestRemoveColumnsFilterPlugin.java +0 -121
  442. data/embulk-standards/src/test/java/org/embulk/standards/TestRenameFilterPlugin.java +0 -1020
  443. data/embulk-standards/src/test/java/org/embulk/standards/guess/TestCsvAllStringsGuessPlugin.java +0 -38
  444. data/embulk-standards/src/test/java/org/embulk/standards/guess/TestCsvGuessPlugin.java +0 -248
  445. data/embulk-standards/src/test/java/org/embulk/standards/preview/TestFilePreview.java +0 -73
  446. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row.csv +0 -1
  447. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header.csv +0 -2
  448. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header_guessed.yml +0 -12
  449. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header_seed.yml +0 -1
  450. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_guessed.yml +0 -12
  451. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_seed.yml +0 -1
  452. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows.csv +0 -1
  453. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header.csv +0 -2
  454. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_guessed.yml +0 -16
  455. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_seed.yml +0 -1
  456. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed.csv +0 -2
  457. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed_guessed.yml +0 -16
  458. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed_seed.yml +0 -1
  459. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_guessed.yml +0 -16
  460. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_seed.yml +0 -1
  461. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed.csv +0 -1
  462. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed_guessed.yml +0 -16
  463. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed_seed.yml +0 -1
  464. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row.csv +0 -1
  465. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header.csv +0 -2
  466. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header_guessed.yml +0 -12
  467. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header_seed.yml +0 -1
  468. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_guessed.yml +0 -12
  469. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_seed.yml +0 -1
  470. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows.csv +0 -2
  471. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows_guessed.yml +0 -12
  472. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows_seed.yml +0 -1
  473. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows.csv +0 -2
  474. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header.csv +0 -3
  475. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header_guessed.yml +0 -16
  476. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header_seed.yml +0 -1
  477. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_guessed.yml +0 -16
  478. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_seed.yml +0 -1
  479. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows.csv +0 -2
  480. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows_guessed.yml +0 -12
  481. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows_seed.yml +0 -1
  482. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape.csv +0 -5
  483. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape_guessed.yml +0 -17
  484. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape_seed.yml +0 -1
  485. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column.csv +0 -12
  486. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column_guessed.yml +0 -12
  487. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column_seed.yml +0 -1
  488. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column.csv +0 -4
  489. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_guessed.yml +0 -12
  490. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_seed.yml +0 -1
  491. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header.csv +0 -5
  492. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header_guessed.yml +0 -12
  493. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header_seed.yml +0 -1
  494. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter.csv +0 -5
  495. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter_guessed.yml +0 -17
  496. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter_seed.yml +0 -1
  497. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple.csv +0 -5
  498. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple_guessed.yml +0 -17
  499. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple_seed.yml +0 -1
  500. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote.csv +0 -5
  501. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote_guessed.yml +0 -17
  502. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote_seed.yml +0 -1
  503. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records.csv +0 -5
  504. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records_guessed.yml +0 -2
  505. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records_seed.yml +0 -1
  506. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column.csv +0 -4
  507. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_guessed.yml +0 -12
  508. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_seed.yml +0 -1
  509. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header.csv +0 -5
  510. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header_guessed.yml +0 -12
  511. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header_seed.yml +0 -1
  512. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter.csv +0 -4
  513. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter_guessed.yml +0 -16
  514. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter_seed.yml +0 -1
  515. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple.csv +0 -5
  516. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple_guessed.yml +0 -17
  517. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple_seed.yml +0 -1
  518. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes.csv +0 -5
  519. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_exec.yml +0 -1
  520. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_load.yml +0 -19
  521. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_previewed.csv +0 -1
  522. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple.csv +0 -5
  523. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple_load.yml +0 -19
  524. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple_previewed.csv +0 -4
  525. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep.csv +0 -5
  526. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_expected.csv +0 -4
  527. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_filter.yml +0 -2
  528. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_in.yml +0 -18
  529. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names.csv +0 -5
  530. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names.yml +0 -2
  531. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names_expected.csv +0 -4
  532. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names_in.yml +0 -17
  533. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_unmatched_filter.yml +0 -3
  534. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_without_unmatched_filter.yml +0 -2
  535. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove.csv +0 -5
  536. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_expected.csv +0 -4
  537. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_filter.yml +0 -2
  538. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_in.yml +0 -18
  539. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_with_unmatched_filter.yml +0 -3
  540. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_without_unmatched_filter.yml +0 -2
  541. data/embulk-test/build.gradle +0 -6
  542. data/embulk-test/src/main/java/org/embulk/test/EmbulkTests.java +0 -75
  543. data/embulk-test/src/main/java/org/embulk/test/PreviewResultInputPlugin.java +0 -65
  544. data/embulk-test/src/main/java/org/embulk/test/TestingBulkLoader.java +0 -129
  545. data/embulk-test/src/main/java/org/embulk/test/TestingEmbulk.java +0 -710
  546. data/gradle/wrapper/gradle-wrapper.jar +0 -0
  547. data/gradle/wrapper/gradle-wrapper.properties +0 -5
  548. data/gradlew +0 -172
  549. data/gradlew.bat +0 -84
  550. data/lib/embulk/data/bundle/.bundle/config +0 -3
  551. data/lib/embulk/data/bundle/.ruby-version +0 -1
  552. data/lib/embulk/data/bundle/Gemfile +0 -31
  553. data/lib/embulk/data/bundle/embulk/filter/example.rb +0 -42
  554. data/lib/embulk/data/bundle/embulk/input/example.rb +0 -54
  555. data/lib/embulk/data/bundle/embulk/output/example.rb +0 -58
  556. data/lib/embulk/data/new/LICENSE.txt +0 -21
  557. data/lib/embulk/data/new/README.md.vm +0 -106
  558. data/lib/embulk/data/new/gitignore.vm +0 -17
  559. data/lib/embulk/data/new/java/build.gradle.vm +0 -96
  560. data/lib/embulk/data/new/java/config/checkstyle/checkstyle.xml +0 -128
  561. data/lib/embulk/data/new/java/config/checkstyle/default.xml +0 -108
  562. data/lib/embulk/data/new/java/decoder.java.vm +0 -86
  563. data/lib/embulk/data/new/java/encoder.java.vm +0 -88
  564. data/lib/embulk/data/new/java/file_input.java.vm +0 -145
  565. data/lib/embulk/data/new/java/file_output.java.vm +0 -95
  566. data/lib/embulk/data/new/java/filter.java.vm +0 -57
  567. data/lib/embulk/data/new/java/formatter.java.vm +0 -55
  568. data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.jar +0 -0
  569. data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.properties +0 -5
  570. data/lib/embulk/data/new/java/gradlew +0 -172
  571. data/lib/embulk/data/new/java/gradlew.bat +0 -84
  572. data/lib/embulk/data/new/java/input.java.vm +0 -89
  573. data/lib/embulk/data/new/java/output.java.vm +0 -79
  574. data/lib/embulk/data/new/java/parser.java.vm +0 -61
  575. data/lib/embulk/data/new/java/plugin_loader.rb.vm +0 -3
  576. data/lib/embulk/data/new/java/test.java.vm +0 -5
  577. data/lib/embulk/data/new/ruby/.ruby-version +0 -1
  578. data/lib/embulk/data/new/ruby/Gemfile +0 -2
  579. data/lib/embulk/data/new/ruby/Rakefile +0 -3
  580. data/lib/embulk/data/new/ruby/decoder_guess.rb.vm +0 -25
  581. data/lib/embulk/data/new/ruby/filter.rb.vm +0 -50
  582. data/lib/embulk/data/new/ruby/formatter.rb.vm +0 -49
  583. data/lib/embulk/data/new/ruby/gemspec.vm +0 -20
  584. data/lib/embulk/data/new/ruby/input.rb.vm +0 -59
  585. data/lib/embulk/data/new/ruby/output.rb.vm +0 -61
  586. data/lib/embulk/data/new/ruby/parser.rb.vm +0 -44
  587. data/lib/embulk/data/new/ruby/parser_guess.rb.vm +0 -65
  588. data/lib/embulk/data/package_data.rb +0 -59
  589. data/lib/embulk/guess/bzip2.rb +0 -23
  590. data/lib/embulk/guess/csv.rb +0 -374
  591. data/lib/embulk/guess/csv_all_strings.rb +0 -13
  592. data/lib/embulk/guess/gzip.rb +0 -18
  593. data/lib/embulk/guess/json.rb +0 -50
  594. data/lib/embulk/runner.rb +0 -53
  595. data/settings.gradle +0 -8
  596. data/test/helper.rb +0 -23
  597. data/test/monkey_strptime/mri/date/test_date_strptime.rb +0 -515
  598. data/test/monkey_strptime/run-test.rb +0 -29
  599. data/test/vanilla/guess/test_csv_all_strings.rb +0 -43
  600. data/test/vanilla/guess/test_csv_guess.rb +0 -170
  601. data/test/vanilla/guess/test_schema_guess.rb +0 -47
  602. data/test/vanilla/guess/test_time_format_guess.rb +0 -135
  603. data/test/vanilla/run-test.rb +0 -14
  604. data/test/vanilla/time/test_timestamp_parser.rb +0 -117
@@ -1,710 +0,0 @@
1
- package org.embulk.test;
2
-
3
- import com.google.common.base.Throwables;
4
- import com.google.common.collect.ImmutableList;
5
- import com.google.common.collect.Lists;
6
- import com.google.common.io.ByteStreams;
7
- import com.google.inject.Binder;
8
- import com.google.inject.Injector;
9
- import com.google.inject.Module;
10
-
11
- import java.io.BufferedReader;
12
- import java.io.IOException;
13
- import java.io.InputStream;
14
- import java.io.OutputStream;
15
- import java.nio.file.DirectoryStream;
16
- import java.nio.file.Files;
17
- import java.nio.file.Path;
18
- import java.util.ArrayList;
19
- import java.util.Collections;
20
- import java.util.List;
21
-
22
- import org.embulk.EmbulkEmbed;
23
- import org.embulk.config.ConfigDiff;
24
- import org.embulk.config.ConfigLoader;
25
- import org.embulk.config.ConfigSource;
26
- import org.embulk.config.ModelManager;
27
- import org.embulk.config.TaskReport;
28
- import org.embulk.exec.PreviewResult;
29
- import org.embulk.plugin.PluginClassLoader;
30
- import org.embulk.spi.ColumnConfig;
31
- import org.embulk.spi.FileOutputRunner;
32
- import org.embulk.spi.Page;
33
- import org.embulk.spi.Schema;
34
- import org.embulk.spi.SchemaConfig;
35
- import org.embulk.spi.TempFileException;
36
- import org.embulk.spi.TempFileSpace;
37
- import org.embulk.spi.type.Type;
38
- import org.junit.rules.TestRule;
39
- import org.junit.rules.TestWatcher;
40
- import org.junit.runner.Description;
41
- import org.junit.runners.model.Statement;
42
- import static com.google.common.base.Preconditions.checkArgument;
43
- import static java.nio.charset.StandardCharsets.UTF_8;
44
- import static java.nio.file.Files.newBufferedReader;
45
- import static java.util.Locale.ENGLISH;
46
- import static com.google.common.base.Preconditions.checkNotNull;
47
- import static com.google.common.base.Preconditions.checkState;
48
- import static java.nio.charset.StandardCharsets.UTF_8;
49
- import static java.nio.file.Files.newBufferedReader;
50
- import static org.embulk.plugin.InjectedPluginSource.registerPluginTo;
51
- import static org.embulk.test.EmbulkTests.copyResource;
52
-
53
- public class TestingEmbulk
54
- implements TestRule
55
- {
56
- public static class Builder
57
- {
58
- private List<Module> modules = new ArrayList<>();
59
-
60
- Builder()
61
- { }
62
-
63
- public <T> Builder registerPlugin(final Class<T> iface, final String name, final Class<?> impl)
64
- {
65
- modules.add(new Module() {
66
- public void configure(Binder binder)
67
- {
68
- registerPluginTo(binder, iface, name, impl);
69
- }
70
- });
71
- return this;
72
- }
73
-
74
- public TestingEmbulk build()
75
- {
76
- return new TestingEmbulk(this);
77
- }
78
- }
79
-
80
- public static Builder builder()
81
- {
82
- return new Builder();
83
- }
84
-
85
- private final List<Module> modules;
86
-
87
- private EmbulkEmbed embed;
88
- private TempFileSpace tempFiles;
89
-
90
- TestingEmbulk(Builder builder)
91
- {
92
- this.modules = ImmutableList.copyOf(builder.modules);
93
- reset();
94
- }
95
-
96
- public void reset()
97
- {
98
- destroy();
99
-
100
- this.embed = new EmbulkEmbed.Bootstrap()
101
- .addModules(modules)
102
- .overrideModules(TestingBulkLoader.override())
103
- .initializeCloseable();
104
-
105
- try {
106
- this.tempFiles = new TempFileSpace(Files.createTempDirectory("embulk-test-temp-").toFile());
107
- }
108
- catch (IOException ex) {
109
- throw new TempFileException(ex);
110
- }
111
- }
112
-
113
- public void destroy()
114
- {
115
- if (embed != null) {
116
- embed.destroy();
117
- embed = null;
118
- }
119
- if (tempFiles != null) {
120
- tempFiles.cleanup();
121
- tempFiles = null;
122
- }
123
- }
124
-
125
- @Override
126
- public Statement apply(Statement base, Description description)
127
- {
128
- return new EmbulkTestingEmbedWatcher().apply(base, description);
129
- }
130
-
131
- private class EmbulkTestingEmbedWatcher
132
- extends TestWatcher
133
- {
134
- @Override
135
- protected void starting(Description description)
136
- {
137
- reset();
138
- }
139
-
140
- @Override
141
- protected void finished(Description description)
142
- {
143
- destroy();
144
- }
145
- }
146
-
147
- public Path createTempFile(String suffix)
148
- {
149
- return tempFiles.createTempFile(suffix).toPath();
150
- }
151
-
152
- public Injector injector()
153
- {
154
- return embed.getInjector();
155
- }
156
-
157
- public ConfigLoader configLoader()
158
- {
159
- return embed.newConfigLoader();
160
- }
161
-
162
- public ConfigSource newConfig()
163
- {
164
- return configLoader().newConfigSource();
165
- }
166
-
167
- public ConfigSource loadYamlResource(String name)
168
- {
169
- return configLoader()
170
- .fromYamlString(EmbulkTests.readResource(name));
171
- }
172
-
173
- private static final List<String> SUPPORTED_TYPES = ImmutableList.of(
174
- "boolean", "long", "double", "string", "timestamp", "json"
175
- );
176
-
177
- public static interface RunResult
178
- {
179
- ConfigDiff getConfigDiff();
180
-
181
- List<Throwable> getIgnoredExceptions();
182
-
183
- Schema getInputSchema();
184
-
185
- Schema getOutputSchema();
186
-
187
- List<TaskReport> getInputTaskReports();
188
-
189
- List<TaskReport> getOutputTaskReports();
190
- }
191
-
192
- public class InputBuilder
193
- {
194
- private ConfigSource inConfig = null;
195
- private List<ConfigSource> filtersConfig = ImmutableList.of();
196
- private ConfigSource execConfig = newConfig();
197
- private Path outputPath = null;
198
-
199
- private InputBuilder()
200
- { }
201
-
202
- public InputBuilder in(ConfigSource inConfig)
203
- {
204
- checkNotNull(inConfig, "inConfig");
205
- this.inConfig = inConfig.deepCopy();
206
- return this;
207
- }
208
-
209
- public InputBuilder filters(List<ConfigSource> filtersConfig)
210
- {
211
- checkNotNull(filtersConfig, "filtersConfig");
212
- ImmutableList.Builder<ConfigSource> builder = ImmutableList.builder();
213
- for (ConfigSource filter : filtersConfig) {
214
- builder.add(filter.deepCopy());
215
- }
216
- this.filtersConfig = builder.build();
217
- return this;
218
- }
219
-
220
- public InputBuilder exec(ConfigSource execConfig)
221
- {
222
- checkNotNull(execConfig, "execConfig");
223
- this.execConfig = execConfig.deepCopy();
224
- return this;
225
- }
226
-
227
- public InputBuilder outputPath(Path outputPath)
228
- {
229
- checkNotNull(outputPath, "outputPath");
230
- this.outputPath = outputPath;
231
- return this;
232
- }
233
-
234
- public ConfigDiff guess()
235
- {
236
- checkState(inConfig != null, "in config must be set");
237
-
238
- // config = {exec: execConfig, in: inConfig}
239
- ConfigSource config = newConfig()
240
- .set("exec", execConfig)
241
- .set("in", inConfig)
242
- .set("filters", filtersConfig);
243
-
244
- // embed.guess returns GuessExecutor.ConfigDiff
245
- return embed.guess(config).getNested("in");
246
- }
247
-
248
- /**
249
- * This method returns PreviewResult.
250
- *
251
- * @return PreviewResult returns the result by PreviewExecutor
252
- * @throws IOException
253
- */
254
- public PreviewResult preview()
255
- throws IOException
256
- {
257
- checkState(inConfig != null, "inputPath must be set");
258
- checkState(outputPath != null, "outputPath must be set");
259
-
260
- // Execute preview to get PreviewResult
261
- ConfigSource previewConfig = newConfig()
262
- .set("exec", execConfig.set("min_output_tasks", 1)) // exec: config
263
- .set("in", inConfig)
264
- .set("filters", filtersConfig);
265
- PreviewResult result = embed.preview(previewConfig);
266
- PreviewResultInputPlugin.setPreviewResult(result);
267
-
268
- String fileName = outputPath.getFileName().toString();
269
- checkArgument(fileName.endsWith(".csv"), "outputPath must end with .csv");
270
- Path dir = outputPath.getParent().resolve(fileName.substring(0, fileName.length() - 4));
271
- Files.createDirectories(dir);
272
-
273
- // Execute run to write PreviewResult's Page objects to output files
274
- ConfigSource runConfig = newConfig()
275
- .set("in", newConfig().set("type", "preview_result")) // in: config
276
- .set("out", newConfig() // out: config
277
- .set("type", "file")
278
- .set("path_prefix", dir.resolve("fragments_").toString())
279
- .set("file_ext", "csv")
280
- .set("formatter", newConfig()
281
- .set("type", "csv")
282
- .set("header_line", false)
283
- .set("newline", "LF")));
284
- embed.run(runConfig);
285
-
286
- return buildPreviewResultWithOutput(result, dir, outputPath);
287
- }
288
-
289
- public RunResult run()
290
- throws IOException
291
- {
292
- checkState(inConfig != null, "in config must be set");
293
- checkState(outputPath != null, "outputPath must be set");
294
-
295
- String fileName = outputPath.getFileName().toString();
296
- checkArgument(fileName.endsWith(".csv"), "outputPath must end with .csv");
297
- Path dir = outputPath.getParent().resolve(fileName.substring(0, fileName.length() - 4));
298
-
299
- Files.createDirectories(dir);
300
-
301
- // exec: config
302
- execConfig.set("min_output_tasks", 1);
303
-
304
- // out: config
305
- ConfigSource outConfig = newConfig()
306
- .set("type", "file")
307
- .set("path_prefix", dir.resolve("fragments_").toString())
308
- .set("file_ext", "csv")
309
- .set("formatter", newConfig()
310
- .set("type", "csv")
311
- .set("header_line", false)
312
- .set("newline", "LF"));
313
-
314
- // combine exec:, out: and in:
315
- ConfigSource config = newConfig()
316
- .set("exec", execConfig)
317
- .set("in", inConfig)
318
- .set("filters", filtersConfig)
319
- .set("out", outConfig);
320
-
321
- // embed.run returns TestingBulkLoader.TestingExecutionResult because
322
- // LoaderState.buildExecuteResultWithWarningException is overridden.
323
- RunResult result = (RunResult) embed.run(config);
324
-
325
- return buildRunResultWithOutput(result, dir, outputPath);
326
- }
327
- }
328
-
329
- public class ParserBuilder
330
- {
331
- private ConfigSource parserConfig = newConfig();
332
- private ConfigSource execConfig = newConfig();
333
- private Path inputPath = null;
334
- private Path outputPath = null;
335
-
336
- private ParserBuilder()
337
- { }
338
-
339
- public ParserBuilder parser(ConfigSource parserConfig)
340
- {
341
- checkNotNull(parserConfig, "parserConfig");
342
- this.parserConfig = parserConfig.deepCopy();
343
- return this;
344
- }
345
-
346
- public ParserBuilder exec(ConfigSource execConfig)
347
- {
348
- checkNotNull(execConfig, "execConfig");
349
- this.execConfig = execConfig.deepCopy();
350
- return this;
351
- }
352
-
353
- public ParserBuilder inputPath(Path inputPath)
354
- {
355
- checkNotNull(inputPath, "inputPath");
356
- this.inputPath = inputPath;
357
- return this;
358
- }
359
-
360
- public ParserBuilder inputResource(String resourceName)
361
- throws IOException
362
- {
363
- checkNotNull(resourceName, "resourceName");
364
- Path path = createTempFile("csv");
365
- copyResource(resourceName, path);
366
- return inputPath(path);
367
- }
368
-
369
- public ParserBuilder outputPath(Path outputPath)
370
- {
371
- checkNotNull(outputPath, "outputPath");
372
- this.outputPath = outputPath;
373
- return this;
374
- }
375
-
376
- public ConfigDiff guess()
377
- {
378
- checkState(inputPath != null, "inputPath must be set");
379
-
380
- // in: config
381
- ConfigSource inConfig = newConfig()
382
- .set("type", "file")
383
- .set("path_prefix", inputPath.toAbsolutePath().toString());
384
- inConfig.set("parser", parserConfig);
385
-
386
- // config = {exec: execConfig, in: inConfig}
387
- ConfigSource config = newConfig()
388
- .set("exec", execConfig)
389
- .set("in", inConfig);
390
-
391
- // embed.guess calls GuessExecutor and returns ConfigDiff
392
- return embed.guess(config).getNested("in").getNested("parser");
393
- }
394
-
395
- public RunResult run()
396
- throws IOException
397
- {
398
- checkState(parserConfig != null, "parser config must be set");
399
- checkState(inputPath != null, "inputPath must be set");
400
- checkState(outputPath != null, "outputPath must be set");
401
-
402
- String fileName = outputPath.getFileName().toString();
403
- checkArgument(fileName.endsWith(".csv"), "outputPath must end with .csv");
404
- Path dir = outputPath.getParent().resolve(fileName.substring(0, fileName.length() - 4));
405
-
406
- Files.createDirectories(dir);
407
-
408
- // in: config
409
- ConfigSource inConfig = newConfig()
410
- .set("type", "file")
411
- .set("path_prefix", inputPath.toAbsolutePath().toString());
412
- inConfig.set("parser", parserConfig);
413
-
414
- // exec: config
415
- execConfig.set("min_output_tasks", 1);
416
-
417
- // out: config
418
- ConfigSource outConfig = newConfig()
419
- .set("type", "file")
420
- .set("path_prefix", dir.resolve("fragments_").toString())
421
- .set("file_ext", "csv")
422
- .set("formatter", newConfig()
423
- .set("type", "csv")
424
- .set("header_line", false)
425
- .set("newline", "LF"));
426
-
427
- // config = {exec: execConfig, in: inConfig, out: outConfig}
428
- ConfigSource config = newConfig()
429
- .set("exec", execConfig)
430
- .set("in", inConfig)
431
- .set("out", outConfig);
432
-
433
- // embed.run returns TestingBulkLoader.TestingExecutionResult because
434
- // LoaderState.buildExecuteResultWithWarningException is overridden.
435
- RunResult result = (RunResult) embed.run(config);
436
-
437
- return buildRunResultWithOutput(result, dir, outputPath);
438
- }
439
- }
440
-
441
- public class OutputBuilder
442
- {
443
- private ConfigSource outConfig = null;
444
- private ConfigSource execConfig = newConfig();
445
- private Path inputPath;
446
- private SchemaConfig inputSchema;
447
-
448
- public OutputBuilder()
449
- { }
450
-
451
- public OutputBuilder out(ConfigSource outConfig)
452
- {
453
- checkNotNull(outConfig, "outConfig");
454
- this.outConfig = outConfig;
455
- return this;
456
- }
457
-
458
- public OutputBuilder exec(ConfigSource execConfig)
459
- {
460
- checkNotNull(execConfig, "execConfig");
461
- this.execConfig = execConfig;
462
- return this;
463
- }
464
-
465
- public OutputBuilder inputPath(Path inputPath)
466
- {
467
- checkNotNull(inputPath, "inputPath");
468
- this.inputPath = inputPath;
469
- return this;
470
- }
471
-
472
- public OutputBuilder inputResource(String resourceName)
473
- throws IOException
474
- {
475
- checkNotNull(resourceName, "resourceName");
476
- Path path = createTempFile("csv");
477
- copyResource(resourceName, path);
478
- return inputPath(path);
479
- }
480
-
481
- public OutputBuilder inputSchema(SchemaConfig inputSchema)
482
- {
483
- checkNotNull(inputSchema, "inputSchema");
484
- this.inputSchema = inputSchema;
485
- return this;
486
- }
487
-
488
- public RunResult run()
489
- throws IOException
490
- {
491
- checkState(outConfig != null, "out config must be set");
492
- checkState(inputPath != null, "inputPath must be set");
493
-
494
- String fileName = inputPath.toAbsolutePath().toString();
495
- checkArgument(fileName.endsWith(".csv"), "inputPath must end with .csv");
496
-
497
- // exec: config
498
- execConfig.set("min_output_tasks", 1);
499
-
500
- // in: config
501
- ConfigSource inConfig = newConfig()
502
- .set("type", "file")
503
- .set("path_prefix", fileName)
504
- .set("parser", newParserConfig());
505
-
506
- // config = {exec: execConfig, in: inConfig, out: outConfig}
507
- ConfigSource config = newConfig()
508
- .set("exec", execConfig)
509
- .set("in", inConfig)
510
- .set("out", outConfig);
511
-
512
- // embed.run returns TestingBulkLoader.TestingExecutionResult because
513
- // LoaderState.buildExecuteResultWithWarningException is overridden.
514
- return (RunResult) embed.run(config);
515
- }
516
-
517
- private ConfigSource newParserConfig()
518
- {
519
- return newConfig()
520
- .set("charset", "UTF-8")
521
- .set("newline", "LF")
522
- .set("type", "csv")
523
- .set("delimiter", ",")
524
- .set("quote", "\"")
525
- .set("escape", "\"")
526
- .set("columns", newSchemaConfig());
527
- }
528
-
529
- private SchemaConfig newSchemaConfig()
530
- {
531
- ImmutableList.Builder<ColumnConfig> schema = ImmutableList.builder();
532
- try (BufferedReader reader = newBufferedReader(inputPath, UTF_8)) {
533
- for (String column : reader.readLine().split(",")) {
534
- ColumnConfig columnConfig = newColumnConfig(column);
535
- if (columnConfig != null) {
536
- schema.add(columnConfig);
537
- }
538
- }
539
- return new SchemaConfig(schema.build());
540
- }
541
- catch (IOException e) {
542
- throw Throwables.propagate(e);
543
- }
544
- }
545
-
546
- private ColumnConfig newColumnConfig(String column)
547
- {
548
- String[] tuple = column.split(":", 2);
549
- checkArgument(tuple.length == 2, "tuple must be a pair of column name and type");
550
- String type = tuple[1];
551
- if (!SUPPORTED_TYPES.contains(type)) {
552
- throw new IllegalArgumentException(String.format(ENGLISH,
553
- "Unknown column type %s. Supported types are boolean, long, double, string, timestamp and json: %s",
554
- tuple[1], column));
555
- }
556
- return new ColumnConfig(newConfig()
557
- .set("name", tuple[0])
558
- .set("type", type));
559
- }
560
- }
561
-
562
- private PreviewResult buildPreviewResultWithOutput(PreviewResult result, Path outputDir, Path outputPath)
563
- throws IOException
564
- {
565
- copyToPath(outputDir, outputPath);
566
- return result;
567
- }
568
-
569
- private RunResult buildRunResultWithOutput(RunResult result, Path outputDir, Path outputPath)
570
- throws IOException
571
- {
572
- copyToPath(outputDir, outputPath);
573
- return result;
574
- }
575
-
576
- private void copyToPath(Path outputDir, Path outputPath)
577
- throws IOException
578
- {
579
- try (OutputStream out = Files.newOutputStream(outputPath)) {
580
- List<Path> fragments = new ArrayList<Path>();
581
- try (DirectoryStream<Path> stream = Files.newDirectoryStream(outputDir, "fragments_*.csv")) {
582
- for (Path fragment : stream) {
583
- fragments.add(fragment);
584
- }
585
- }
586
- Collections.sort(fragments);
587
- for (Path fragment : fragments) {
588
- try (InputStream in = Files.newInputStream(fragment)) {
589
- ByteStreams.copy(in, out);
590
- }
591
- }
592
- }
593
- }
594
-
595
- public InputBuilder inputBuilder()
596
- {
597
- return new InputBuilder();
598
- }
599
-
600
- public ParserBuilder parserBuilder()
601
- {
602
- return new ParserBuilder();
603
- }
604
-
605
- public OutputBuilder outputBuilder()
606
- {
607
- return new OutputBuilder();
608
- }
609
-
610
- public RunResult runParser(ConfigSource parserConfig, Path inputPath, Path outputPath)
611
- throws IOException
612
- {
613
- return parserBuilder()
614
- .parser(parserConfig)
615
- .inputPath(inputPath)
616
- .outputPath(outputPath)
617
- .run();
618
- }
619
-
620
- public RunResult runParser(ConfigSource parserConfig, Path inputPath, Path outputPath, ConfigSource execConfig)
621
- throws IOException
622
- {
623
- return parserBuilder()
624
- .parser(parserConfig)
625
- .inputPath(inputPath)
626
- .outputPath(outputPath)
627
- .exec(execConfig)
628
- .run();
629
- }
630
-
631
- public RunResult runInput(ConfigSource inConfig, Path outputPath)
632
- throws IOException
633
- {
634
- return inputBuilder()
635
- .in(inConfig)
636
- .outputPath(outputPath)
637
- .run();
638
- }
639
-
640
- public RunResult runInput(ConfigSource inConfig, Path outputPath, ConfigSource execConfig)
641
- throws IOException
642
- {
643
- return inputBuilder()
644
- .exec(execConfig)
645
- .in(inConfig)
646
- .outputPath(outputPath)
647
- .run();
648
- }
649
-
650
- public RunResult runOutput(ConfigSource outConfig, Path inputPath)
651
- throws IOException
652
- {
653
- return outputBuilder()
654
- .out(outConfig)
655
- .inputPath(inputPath)
656
- .run();
657
- }
658
-
659
- public RunResult runOutput(ConfigSource outConfig, Path inputPath, ConfigSource execConfig)
660
- throws IOException
661
- {
662
- return outputBuilder()
663
- .exec(execConfig)
664
- .out(outConfig)
665
- .inputPath(inputPath)
666
- .run();
667
- }
668
-
669
- public ConfigDiff guessInput(ConfigSource inSeedConfig)
670
- {
671
- return inputBuilder()
672
- .in(inSeedConfig)
673
- .guess();
674
- }
675
-
676
- public ConfigDiff guessInput(ConfigSource inSeedConfig, ConfigSource execConfig)
677
- {
678
- return inputBuilder()
679
- .exec(execConfig)
680
- .in(inSeedConfig)
681
- .guess();
682
- }
683
-
684
- public ConfigDiff guessParser(Path inputPath)
685
- {
686
- return parserBuilder()
687
- .inputPath(inputPath)
688
- .guess();
689
- }
690
-
691
- public ConfigDiff guessParser(ConfigSource parserSeedConfig, Path inputPath)
692
- {
693
- return parserBuilder()
694
- .parser(parserSeedConfig)
695
- .inputPath(inputPath)
696
- .guess();
697
- }
698
-
699
- public ConfigDiff guessParser(ConfigSource parserSeedConfig, Path inputPath, ConfigSource execConfig)
700
- {
701
- return parserBuilder()
702
- .parser(parserSeedConfig)
703
- .inputPath(inputPath)
704
- .exec(execConfig)
705
- .guess();
706
- }
707
-
708
- // TODO add runFilter(ConfigSource filterConfig, Path inputPath, Path outputPath) where inputPath is a path to
709
- // a CSV file whose column types can be naturally guessed using csv guess plugin.
710
- }