embulk 0.7.0-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.
- checksums.yaml +7 -0
- data/.gitignore +15 -0
- data/.ruby-version +1 -0
- data/.travis.yml +18 -0
- data/COPYING +14 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +31 -0
- data/README.md +206 -0
- data/Rakefile +26 -0
- data/appveyor.yml +20 -0
- data/bin/embulk +106 -0
- data/build.gradle +338 -0
- data/embulk-cli/build.gradle +6 -0
- data/embulk-cli/src/main/java/org/embulk/cli/Main.java +22 -0
- data/embulk-cli/src/main/sh/selfrun.sh +158 -0
- data/embulk-cli/src/test/java/org/embulk/cli/DummyMain.java +23 -0
- data/embulk-cli/src/test/java/org/embulk/cli/SelfrunTest.java +281 -0
- data/embulk-core/build.gradle +59 -0
- data/embulk-core/src/main/java/org/embulk/EmbulkEmbed.java +315 -0
- data/embulk-core/src/main/java/org/embulk/EmbulkService.java +76 -0
- data/embulk-core/src/main/java/org/embulk/command/PreviewPrinter.java +84 -0
- data/embulk-core/src/main/java/org/embulk/command/TablePreviewPrinter.java +107 -0
- data/embulk-core/src/main/java/org/embulk/command/VerticalPreviewPrinter.java +47 -0
- data/embulk-core/src/main/java/org/embulk/config/CommitReport.java +33 -0
- data/embulk-core/src/main/java/org/embulk/config/Config.java +15 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigDefault.java +15 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigDiff.java +29 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigException.java +20 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigInject.java +14 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigLoader.java +141 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigSource.java +31 -0
- data/embulk-core/src/main/java/org/embulk/config/DataSource.java +39 -0
- data/embulk-core/src/main/java/org/embulk/config/DataSourceImpl.java +231 -0
- data/embulk-core/src/main/java/org/embulk/config/DataSourceSerDe.java +84 -0
- data/embulk-core/src/main/java/org/embulk/config/GenericTypeReference.java +20 -0
- data/embulk-core/src/main/java/org/embulk/config/ModelManager.java +123 -0
- data/embulk-core/src/main/java/org/embulk/config/Task.java +10 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskInvocationHandler.java +180 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskReport.java +29 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskSerDe.java +345 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskSource.java +31 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskValidationException.java +38 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskValidator.java +24 -0
- data/embulk-core/src/main/java/org/embulk/exec/BulkLoader.java +652 -0
- data/embulk-core/src/main/java/org/embulk/exec/ExecModule.java +52 -0
- data/embulk-core/src/main/java/org/embulk/exec/ExecutionInterruptedException.java +10 -0
- data/embulk-core/src/main/java/org/embulk/exec/ExecutionResult.java +26 -0
- data/embulk-core/src/main/java/org/embulk/exec/ExtensionServiceLoaderModule.java +43 -0
- data/embulk-core/src/main/java/org/embulk/exec/ForGuess.java +16 -0
- data/embulk-core/src/main/java/org/embulk/exec/ForSystemConfig.java +16 -0
- data/embulk-core/src/main/java/org/embulk/exec/GuessExecutor.java +373 -0
- data/embulk-core/src/main/java/org/embulk/exec/LocalExecutorPlugin.java +129 -0
- data/embulk-core/src/main/java/org/embulk/exec/LocalThreadExecutor.java +34 -0
- data/embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java +60 -0
- data/embulk-core/src/main/java/org/embulk/exec/NoSampleException.java +10 -0
- data/embulk-core/src/main/java/org/embulk/exec/PartialExecutionException.java +18 -0
- data/embulk-core/src/main/java/org/embulk/exec/PooledBufferAllocator.java +77 -0
- data/embulk-core/src/main/java/org/embulk/exec/PreviewExecutor.java +183 -0
- data/embulk-core/src/main/java/org/embulk/exec/PreviewResult.java +27 -0
- data/embulk-core/src/main/java/org/embulk/exec/PreviewedNoticeError.java +17 -0
- data/embulk-core/src/main/java/org/embulk/exec/ResumeState.java +100 -0
- data/embulk-core/src/main/java/org/embulk/exec/SamplingParserPlugin.java +136 -0
- data/embulk-core/src/main/java/org/embulk/exec/SetCurrentThreadName.java +19 -0
- data/embulk-core/src/main/java/org/embulk/exec/SystemConfigModule.java +24 -0
- data/embulk-core/src/main/java/org/embulk/exec/TempFileAllocator.java +35 -0
- data/embulk-core/src/main/java/org/embulk/guice/Bootstrap.java +157 -0
- data/embulk-core/src/main/java/org/embulk/guice/CloseableInjector.java +22 -0
- data/embulk-core/src/main/java/org/embulk/guice/InjectorProxy.java +145 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleInjector.java +26 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleInjectorProxy.java +61 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleManager.java +187 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleMethods.java +89 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleMethodsMap.java +38 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleModule.java +97 -0
- data/embulk-core/src/main/java/org/embulk/jruby/JRubyPluginSource.java +72 -0
- data/embulk-core/src/main/java/org/embulk/jruby/JRubyScriptingModule.java +119 -0
- data/embulk-core/src/main/java/org/embulk/plugin/BuiltinPluginSourceModule.java +17 -0
- data/embulk-core/src/main/java/org/embulk/plugin/InjectedPluginSource.java +96 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoader.java +168 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderFactory.java +9 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderModule.java +71 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginManager.java +78 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginSource.java +6 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginSourceNotMatchException.java +19 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginType.java +47 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/InputPluginWrapper.java +102 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/PluginWrappers.java +30 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileInputWrapper.java +96 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileOutputWrapper.java +102 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalPageOutputWrapper.java +95 -0
- data/embulk-core/src/main/java/org/embulk/spi/Buffer.java +148 -0
- data/embulk-core/src/main/java/org/embulk/spi/BufferAllocator.java +8 -0
- data/embulk-core/src/main/java/org/embulk/spi/Column.java +92 -0
- data/embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java +112 -0
- data/embulk-core/src/main/java/org/embulk/spi/ColumnVisitor.java +14 -0
- data/embulk-core/src/main/java/org/embulk/spi/DecoderPlugin.java +16 -0
- data/embulk-core/src/main/java/org/embulk/spi/EncoderPlugin.java +16 -0
- data/embulk-core/src/main/java/org/embulk/spi/Exec.java +113 -0
- data/embulk-core/src/main/java/org/embulk/spi/ExecAction.java +6 -0
- data/embulk-core/src/main/java/org/embulk/spi/ExecSession.java +217 -0
- data/embulk-core/src/main/java/org/embulk/spi/ExecutorPlugin.java +19 -0
- data/embulk-core/src/main/java/org/embulk/spi/Extension.java +44 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileInput.java +11 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileInputPlugin.java +30 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileInputRunner.java +162 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileOutput.java +13 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileOutputPlugin.java +28 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileOutputRunner.java +202 -0
- data/embulk-core/src/main/java/org/embulk/spi/FilterPlugin.java +18 -0
- data/embulk-core/src/main/java/org/embulk/spi/FormatterPlugin.java +18 -0
- data/embulk-core/src/main/java/org/embulk/spi/GuessPlugin.java +9 -0
- data/embulk-core/src/main/java/org/embulk/spi/InputPlugin.java +33 -0
- data/embulk-core/src/main/java/org/embulk/spi/OutputPlugin.java +29 -0
- data/embulk-core/src/main/java/org/embulk/spi/Page.java +51 -0
- data/embulk-core/src/main/java/org/embulk/spi/PageBuilder.java +338 -0
- data/embulk-core/src/main/java/org/embulk/spi/PageFormat.java +47 -0
- data/embulk-core/src/main/java/org/embulk/spi/PageOutput.java +11 -0
- data/embulk-core/src/main/java/org/embulk/spi/PageReader.java +226 -0
- data/embulk-core/src/main/java/org/embulk/spi/ParserPlugin.java +17 -0
- data/embulk-core/src/main/java/org/embulk/spi/ProcessState.java +10 -0
- data/embulk-core/src/main/java/org/embulk/spi/ProcessTask.java +117 -0
- data/embulk-core/src/main/java/org/embulk/spi/Schema.java +134 -0
- data/embulk-core/src/main/java/org/embulk/spi/SchemaConfig.java +93 -0
- data/embulk-core/src/main/java/org/embulk/spi/SchemaConfigException.java +22 -0
- data/embulk-core/src/main/java/org/embulk/spi/TaskState.java +81 -0
- data/embulk-core/src/main/java/org/embulk/spi/TempFileException.java +19 -0
- data/embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java +87 -0
- data/embulk-core/src/main/java/org/embulk/spi/Transactional.java +10 -0
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileInput.java +17 -0
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileOutput.java +19 -0
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalPageOutput.java +17 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/DateTimeZoneSerDe.java +55 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/JRubyTimeParserHelper.java +8 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/JRubyTimeParserHelperFactory.java +6 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/Timestamp.java +159 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormat.java +100 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormatter.java +97 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParseException.java +10 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParser.java +104 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampSerDe.java +49 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/AbstractType.java +58 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/BooleanType.java +12 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/DoubleType.java +12 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/LongType.java +12 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/StringType.java +12 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/TimestampType.java +41 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/Type.java +15 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/TypeDeserializer.java +44 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/Types.java +14 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/ByteSize.java +156 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFile.java +106 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFileSerDe.java +113 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/ToString.java +54 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/ToStringMap.java +34 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/CharsetSerDe.java +55 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Decoders.java +81 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnNotFoundException.java +10 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetter.java +18 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetterFactory.java +94 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicPageBuilder.java +161 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Encoders.java +81 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Executors.java +95 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/FileInputInputStream.java +111 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/FileOutputOutputStream.java +119 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Filters.java +100 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/InputStreamFileInput.java +190 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/InputStreamTransactionalFileInput.java +25 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Inputs.java +65 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/LineDecoder.java +118 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/LineEncoder.java +123 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/ListFileInput.java +52 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Newline.java +38 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/OutputStreamFileOutput.java +88 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/PagePrinter.java +102 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Pages.java +139 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/ResumableInputStream.java +128 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/RetryExecutor.java +130 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Timestamps.java +53 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/AbstractDynamicColumnSetter.java +79 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/BooleanColumnSetter.java +64 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DefaultValueSetter.java +18 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java +61 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/LongColumnSetter.java +69 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/NullDefaultValueSetter.java +34 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/SkipColumnSetter.java +52 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/StringColumnSetter.java +56 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java +64 -0
- data/embulk-core/src/main/resources/embulk/logback-color.xml +72 -0
- data/embulk-core/src/main/resources/embulk/logback-console.xml +14 -0
- data/embulk-core/src/main/resources/embulk/logback-file.xml +25 -0
- data/embulk-core/src/main/resources/embulk/parent_first_packages.properties +70 -0
- data/embulk-core/src/main/resources/embulk/parent_first_resources.properties +28 -0
- data/embulk-core/src/test/java/org/embulk/EmbulkTestRuntime.java +114 -0
- data/embulk-core/src/test/java/org/embulk/GuiceBinder.java +72 -0
- data/embulk-core/src/test/java/org/embulk/RandomManager.java +53 -0
- data/embulk-core/src/test/java/org/embulk/TestPluginSourceModule.java +23 -0
- data/embulk-core/src/test/java/org/embulk/TestUtilityModule.java +17 -0
- data/embulk-core/src/test/java/org/embulk/config/TestConfigLoader.java +66 -0
- data/embulk-core/src/test/java/org/embulk/config/TestConfigSource.java +114 -0
- data/embulk-core/src/test/java/org/embulk/config/TestTaskSource.java +70 -0
- data/embulk-core/src/test/java/org/embulk/plugin/MockPluginSource.java +58 -0
- data/embulk-core/src/test/java/org/embulk/plugin/TestPluginType.java +18 -0
- data/embulk-core/src/test/java/org/embulk/spi/MockFileOutput.java +63 -0
- data/embulk-core/src/test/java/org/embulk/spi/MockFormatterPlugin.java +101 -0
- data/embulk-core/src/test/java/org/embulk/spi/MockParserPlugin.java +73 -0
- data/embulk-core/src/test/java/org/embulk/spi/PageTestUtils.java +57 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestBuffer.java +24 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestFileInputInputStream.java +89 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestFileInputRunner.java +196 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestFileOutputRunner.java +207 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestInputStreamFileInput.java +188 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestPageBuilderReader.java +319 -0
- data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestamp.java +116 -0
- data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParser.java +63 -0
- data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParserDeprecated.java +67 -0
- data/embulk-core/src/test/java/org/embulk/spi/type/TestTypeSerDe.java +45 -0
- data/embulk-core/src/test/java/org/embulk/spi/unit/TestByteSize.java +79 -0
- data/embulk-core/src/test/java/org/embulk/spi/util/TestLineDecoder.java +132 -0
- data/embulk-core/src/test/java/org/embulk/spi/util/TestLineEncoder.java +123 -0
- data/embulk-docs/Makefile +178 -0
- data/embulk-docs/build.gradle +32 -0
- data/embulk-docs/make.bat +243 -0
- data/embulk-docs/push-gh-pages.sh +49 -0
- data/embulk-docs/src/_static/embulk-architecture.png +0 -0
- data/embulk-docs/src/_static/embulk-logo.png +0 -0
- data/embulk-docs/src/_static/embulk-logo.svg +133 -0
- data/embulk-docs/src/built-in.rst +440 -0
- data/embulk-docs/src/conf.py +260 -0
- data/embulk-docs/src/customization.rst +184 -0
- data/embulk-docs/src/index.rst +84 -0
- data/embulk-docs/src/recipe.rst +8 -0
- data/embulk-docs/src/recipe/scheduled-csv-load-to-elasticsearch-kibana4.rst +153 -0
- data/embulk-docs/src/release.rst +57 -0
- data/embulk-docs/src/release/release-0.1.0.rst +8 -0
- data/embulk-docs/src/release/release-0.2.0.rst +16 -0
- data/embulk-docs/src/release/release-0.2.1.rst +19 -0
- data/embulk-docs/src/release/release-0.3.0.rst +34 -0
- data/embulk-docs/src/release/release-0.3.1.rst +11 -0
- data/embulk-docs/src/release/release-0.3.2.rst +15 -0
- data/embulk-docs/src/release/release-0.4.0.rst +74 -0
- data/embulk-docs/src/release/release-0.4.1.rst +18 -0
- data/embulk-docs/src/release/release-0.4.10.rst +17 -0
- data/embulk-docs/src/release/release-0.4.2.rst +18 -0
- data/embulk-docs/src/release/release-0.4.3.rst +34 -0
- data/embulk-docs/src/release/release-0.4.4.rst +39 -0
- data/embulk-docs/src/release/release-0.4.5.rst +24 -0
- data/embulk-docs/src/release/release-0.4.6.rst +30 -0
- data/embulk-docs/src/release/release-0.4.7.rst +16 -0
- data/embulk-docs/src/release/release-0.4.8.rst +15 -0
- data/embulk-docs/src/release/release-0.4.9.rst +23 -0
- data/embulk-docs/src/release/release-0.5.0.rst +89 -0
- data/embulk-docs/src/release/release-0.5.1.rst +13 -0
- data/embulk-docs/src/release/release-0.5.2.rst +30 -0
- data/embulk-docs/src/release/release-0.5.3.rst +22 -0
- data/embulk-docs/src/release/release-0.5.4.rst +24 -0
- data/embulk-docs/src/release/release-0.5.5.rst +18 -0
- data/embulk-docs/src/release/release-0.6.0.rst +34 -0
- data/embulk-docs/src/release/release-0.6.1.rst +11 -0
- data/embulk-docs/src/release/release-0.6.10.rst +15 -0
- data/embulk-docs/src/release/release-0.6.11.rst +19 -0
- data/embulk-docs/src/release/release-0.6.12.rst +31 -0
- data/embulk-docs/src/release/release-0.6.13.rst +23 -0
- data/embulk-docs/src/release/release-0.6.14.rst +47 -0
- data/embulk-docs/src/release/release-0.6.15.rst +26 -0
- data/embulk-docs/src/release/release-0.6.16.rst +26 -0
- data/embulk-docs/src/release/release-0.6.17.rst +39 -0
- data/embulk-docs/src/release/release-0.6.18.rst +14 -0
- data/embulk-docs/src/release/release-0.6.19.rst +18 -0
- data/embulk-docs/src/release/release-0.6.2.rst +17 -0
- data/embulk-docs/src/release/release-0.6.20.rst +19 -0
- data/embulk-docs/src/release/release-0.6.21.rst +20 -0
- data/embulk-docs/src/release/release-0.6.22.rst +26 -0
- data/embulk-docs/src/release/release-0.6.23.rst +17 -0
- data/embulk-docs/src/release/release-0.6.24.rst +13 -0
- data/embulk-docs/src/release/release-0.6.25.rst +12 -0
- data/embulk-docs/src/release/release-0.6.3.rst +23 -0
- data/embulk-docs/src/release/release-0.6.4.rst +13 -0
- data/embulk-docs/src/release/release-0.6.5.rst +17 -0
- data/embulk-docs/src/release/release-0.6.6.rst +17 -0
- data/embulk-docs/src/release/release-0.6.7.rst +17 -0
- data/embulk-docs/src/release/release-0.6.8.rst +24 -0
- data/embulk-docs/src/release/release-0.6.9.rst +24 -0
- data/embulk-docs/src/release/release-0.7.0.rst +96 -0
- data/embulk-standards/build.gradle +5 -0
- data/embulk-standards/src/main/java/org/embulk/standards/CsvFormatterPlugin.java +284 -0
- data/embulk-standards/src/main/java/org/embulk/standards/CsvParserPlugin.java +379 -0
- data/embulk-standards/src/main/java/org/embulk/standards/CsvTokenizer.java +411 -0
- data/embulk-standards/src/main/java/org/embulk/standards/GzipFileDecoderPlugin.java +55 -0
- data/embulk-standards/src/main/java/org/embulk/standards/GzipFileEncoderPlugin.java +71 -0
- data/embulk-standards/src/main/java/org/embulk/standards/LocalFileInputPlugin.java +203 -0
- data/embulk-standards/src/main/java/org/embulk/standards/LocalFileOutputPlugin.java +148 -0
- data/embulk-standards/src/main/java/org/embulk/standards/NullOutputPlugin.java +59 -0
- data/embulk-standards/src/main/java/org/embulk/standards/RenameFilterPlugin.java +56 -0
- data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginExtension.java +16 -0
- data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginModule.java +53 -0
- data/embulk-standards/src/main/java/org/embulk/standards/StdoutOutputPlugin.java +85 -0
- data/embulk-standards/src/main/resources/META-INF/services/org.embulk.spi.Extension +1 -0
- data/embulk-standards/src/test/java/org/embulk/standards/TestCsvFormatterPlugin.java +312 -0
- data/embulk-standards/src/test/java/org/embulk/standards/TestCsvParserPlugin.java +75 -0
- data/embulk-standards/src/test/java/org/embulk/standards/TestCsvTokenizer.java +360 -0
- data/embulk-standards/src/test/java/org/embulk/standards/TestRenameFilterPlugin.java +88 -0
- data/embulk.gemspec +39 -0
- data/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/gradle/wrapper/gradle-wrapper.properties +6 -0
- data/gradlew +164 -0
- data/gradlew.bat +90 -0
- data/lib/embulk.rb +72 -0
- data/lib/embulk/buffer.rb +22 -0
- data/lib/embulk/column.rb +70 -0
- data/lib/embulk/command/embulk_bundle.rb +56 -0
- data/lib/embulk/command/embulk_example.rb +32 -0
- data/lib/embulk/command/embulk_generate_bin.rb +62 -0
- data/lib/embulk/command/embulk_main.rb +2 -0
- data/lib/embulk/command/embulk_migrate_plugin.rb +170 -0
- data/lib/embulk/command/embulk_new_plugin.rb +124 -0
- data/lib/embulk/command/embulk_run.rb +470 -0
- data/lib/embulk/command/embulk_selfupdate.rb +84 -0
- data/lib/embulk/data/bundle/.bundle/config +3 -0
- data/lib/embulk/data/bundle/.ruby-version +1 -0
- data/lib/embulk/data/bundle/Gemfile +26 -0
- data/lib/embulk/data/bundle/embulk/filter/example.rb +42 -0
- data/lib/embulk/data/bundle/embulk/input/example.rb +54 -0
- data/lib/embulk/data/bundle/embulk/output/example.rb +58 -0
- data/lib/embulk/data/new/LICENSE.txt +21 -0
- data/lib/embulk/data/new/README.md.erb +111 -0
- data/lib/embulk/data/new/gitignore.erb +13 -0
- data/lib/embulk/data/new/java/build.gradle.erb +73 -0
- data/lib/embulk/data/new/java/decoder.java.erb +84 -0
- data/lib/embulk/data/new/java/encoder.java.erb +86 -0
- data/lib/embulk/data/new/java/file_input.java.erb +143 -0
- data/lib/embulk/data/new/java/file_output.java.erb +93 -0
- data/lib/embulk/data/new/java/filter.java.erb +56 -0
- data/lib/embulk/data/new/java/formatter.java.erb +54 -0
- data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.properties +6 -0
- data/lib/embulk/data/new/java/gradlew +164 -0
- data/lib/embulk/data/new/java/gradlew.bat +90 -0
- data/lib/embulk/data/new/java/input.java.erb +87 -0
- data/lib/embulk/data/new/java/output.java.erb +77 -0
- data/lib/embulk/data/new/java/parser.java.erb +60 -0
- data/lib/embulk/data/new/java/plugin_loader.rb.erb +3 -0
- data/lib/embulk/data/new/java/test.java.erb +5 -0
- data/lib/embulk/data/new/ruby/.ruby-version +1 -0
- data/lib/embulk/data/new/ruby/Gemfile +2 -0
- data/lib/embulk/data/new/ruby/Rakefile +3 -0
- data/lib/embulk/data/new/ruby/decoder_guess.rb.erb +25 -0
- data/lib/embulk/data/new/ruby/filter.rb.erb +41 -0
- data/lib/embulk/data/new/ruby/formatter.rb.erb +49 -0
- data/lib/embulk/data/new/ruby/gemspec.erb +20 -0
- data/lib/embulk/data/new/ruby/input.rb.erb +59 -0
- data/lib/embulk/data/new/ruby/output.rb.erb +61 -0
- data/lib/embulk/data/new/ruby/parser.rb.erb +44 -0
- data/lib/embulk/data/new/ruby/parser_guess.rb.erb +65 -0
- data/lib/embulk/data/package_data.rb +50 -0
- data/lib/embulk/data_source.rb +220 -0
- data/lib/embulk/decoder_plugin.rb +27 -0
- data/lib/embulk/encoder_plugin.rb +27 -0
- data/lib/embulk/error.rb +8 -0
- data/lib/embulk/executor_plugin.rb +23 -0
- data/lib/embulk/file_input.rb +87 -0
- data/lib/embulk/file_input_plugin.rb +27 -0
- data/lib/embulk/file_output.rb +56 -0
- data/lib/embulk/file_output_plugin.rb +27 -0
- data/lib/embulk/filter_plugin.rb +105 -0
- data/lib/embulk/formatter_plugin.rb +105 -0
- data/lib/embulk/guess/charset.rb +44 -0
- data/lib/embulk/guess/csv.rb +327 -0
- data/lib/embulk/guess/gzip.rb +18 -0
- data/lib/embulk/guess/newline.rb +22 -0
- data/lib/embulk/guess/schema_guess.rb +118 -0
- data/lib/embulk/guess/time_format_guess.rb +394 -0
- data/lib/embulk/guess_plugin.rb +129 -0
- data/lib/embulk/input_plugin.rb +121 -0
- data/lib/embulk/java/bootstrap.rb +24 -0
- data/lib/embulk/java/imports.rb +69 -0
- data/lib/embulk/java/time_helper.rb +79 -0
- data/lib/embulk/java_plugin.rb +90 -0
- data/lib/embulk/logger.rb +154 -0
- data/lib/embulk/output_plugin.rb +150 -0
- data/lib/embulk/page.rb +30 -0
- data/lib/embulk/page_builder.rb +76 -0
- data/lib/embulk/parser_plugin.rb +78 -0
- data/lib/embulk/plugin.rb +239 -0
- data/lib/embulk/plugin_registry.rb +96 -0
- data/lib/embulk/runner.rb +184 -0
- data/lib/embulk/schema.rb +103 -0
- data/lib/embulk/version.rb +3 -0
- data/settings.gradle +6 -0
- data/test/guess/test_schema_guess.rb +11 -0
- data/test/guess/test_time_format_guess.rb +133 -0
- data/test/helper.rb +21 -0
- data/test/run-test.rb +14 -0
- metadata +566 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: d8c4435b7efc6bed5410df4855329fa2b4a10d2d
|
|
4
|
+
data.tar.gz: e6ca52300e459ab476be4d4c63d3e5288a5a4f5d
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 95e963ff9bb277488d64f17d8d79eed664d3200534508b63d0eb72c9f1cf0ea01643ac2c29a27fb316d9f811368de7ff4f0c235212462c9eba0d3c131423eb5e
|
|
7
|
+
data.tar.gz: 7a84fa41e977cc1d9be79d554ba3e8d91b3ce83bc204a9ff51a043ea779ed49eac893e6b442a26fba64fc01c35d48dd582b8072cc086947165f90c99f96dc7b3
|
data/.gitignore
ADDED
data/.ruby-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.2.2
|
data/.travis.yml
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
language: java
|
|
2
|
+
jdk:
|
|
3
|
+
- oraclejdk8
|
|
4
|
+
cache:
|
|
5
|
+
directories: # run "travis cache --delete" to delete caches
|
|
6
|
+
- $HOME/.gradle
|
|
7
|
+
sudo: false
|
|
8
|
+
install:
|
|
9
|
+
- pip install --user sphinx
|
|
10
|
+
script:
|
|
11
|
+
- ./gradlew --info check rubyTest
|
|
12
|
+
after_success:
|
|
13
|
+
- PATH="$HOME/.local/bin:$PATH" ./embulk-docs/push-gh-pages.sh
|
|
14
|
+
env:
|
|
15
|
+
global:
|
|
16
|
+
- GIT_USER_NAME=travis
|
|
17
|
+
- GIT_USER_EMAIL=travis@embulk.org
|
|
18
|
+
- secure: K5qT2PcCP/40dNW+1H4NZ6y1+GAZbyP/lMQ1tSMsAICGkMQ/A+Mp5wtnIGIsAf6JGcJ1PvpCoLE1V6wKFL5fEwxi4SRcTnZTh9PkeAk8dgezOMoX4EqeZiQAYv4MM2zKL+Gr6QivjmRA7I5jrZCo8JyaA5XfQ7ygjICKNJy8NaE=
|
data/COPYING
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Copyright (C) 2015 Sadayuki Furuhashi
|
|
2
|
+
|
|
3
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
you may not use this file except in compliance with the License.
|
|
5
|
+
You may obtain a copy of the License at
|
|
6
|
+
|
|
7
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
|
|
9
|
+
Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
See the License for the specific language governing permissions and
|
|
13
|
+
limitations under the License.
|
|
14
|
+
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
embulk (0.7.0)
|
|
5
|
+
jruby-jars (= 9.0.0.0)
|
|
6
|
+
|
|
7
|
+
GEM
|
|
8
|
+
remote: https://rubygems.org/
|
|
9
|
+
specs:
|
|
10
|
+
jruby-jars (9.0.0.0)
|
|
11
|
+
kramdown (1.5.0)
|
|
12
|
+
power_assert (0.2.2)
|
|
13
|
+
rake (10.4.2)
|
|
14
|
+
test-unit (3.0.9)
|
|
15
|
+
power_assert
|
|
16
|
+
yard (0.8.7.6)
|
|
17
|
+
|
|
18
|
+
PLATFORMS
|
|
19
|
+
java
|
|
20
|
+
ruby
|
|
21
|
+
|
|
22
|
+
DEPENDENCIES
|
|
23
|
+
bundler (>= 1.0)
|
|
24
|
+
embulk!
|
|
25
|
+
kramdown (~> 1.5.0)
|
|
26
|
+
rake (>= 0.10.0)
|
|
27
|
+
test-unit (~> 3.0.9)
|
|
28
|
+
yard (~> 0.8.7)
|
|
29
|
+
|
|
30
|
+
BUNDLED WITH
|
|
31
|
+
1.10.6
|
data/README.md
ADDED
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# What's Embulk?
|
|
2
|
+
|
|
3
|
+
Embulk is a parallel bulk data loader that **helps data transfer between various storages, databases, NoSQL and cloud services**.
|
|
4
|
+
|
|
5
|
+
**Embulk supports plugins** to add functions. You can [share the plugins](http://www.embulk.org/plugins/) to keep your custom scripts readable, maintainable, and reusable.
|
|
6
|
+
|
|
7
|
+
[](http://www.slideshare.net/frsyuki/embuk-making-data-integration-works-relaxed/12)
|
|
8
|
+
[Embulk, an open-source plugin-based parallel bulk data loader](http://www.slideshare.net/frsyuki/embuk-making-data-integration-works-relaxed) at Slideshare
|
|
9
|
+
|
|
10
|
+
# Document
|
|
11
|
+
|
|
12
|
+
Embulk documents: http://www.embulk.org/docs/
|
|
13
|
+
|
|
14
|
+
## Quick Start
|
|
15
|
+
|
|
16
|
+
### Linux & Mac & BSD
|
|
17
|
+
|
|
18
|
+
Embulk is a Java application. Please make sure that [Java](http://www.oracle.com/technetwork/java/javase/downloads/index.html) is installed.
|
|
19
|
+
|
|
20
|
+
Following 4 commands install embulk to your home directory:
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
curl --create-dirs -o ~/.embulk/bin/embulk -L "http://dl.embulk.org/embulk-latest.jar"
|
|
24
|
+
chmod +x ~/.embulk/bin/embulk
|
|
25
|
+
echo 'export PATH="$HOME/.embulk/bin:$PATH"' >> ~/.bashrc
|
|
26
|
+
source ~/.bashrc
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Next step: [Running example in 4 commands](#running-example)
|
|
30
|
+
|
|
31
|
+
### Windows
|
|
32
|
+
|
|
33
|
+
Embulk is a Java application. Please make sure that [Java](http://www.oracle.com/technetwork/java/javase/downloads/index.html) is installed.
|
|
34
|
+
|
|
35
|
+
You can download `embulk.bat` using this command on cmd.exe or PowerShell.exe:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
PowerShell -Command "& {Invoke-WebRequest http://dl.embulk.org/embulk-latest.jar -OutFile embulk.bat}"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Next step: [Running example in 4 commands](#running-example)
|
|
42
|
+
|
|
43
|
+
### Running example
|
|
44
|
+
|
|
45
|
+
`embulk example` command generates a sample CSV file so that you can try embulk quickly:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
embulk example ./try1
|
|
49
|
+
embulk guess ./try1/example.yml -o config.yml
|
|
50
|
+
embulk preview config.yml
|
|
51
|
+
embulk run config.yml
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Next step: [Using plugins](#using-plugins)
|
|
55
|
+
|
|
56
|
+
### Using plugins
|
|
57
|
+
|
|
58
|
+
You can use plugins to load data from/to various systems and file formats. Here is the list of publicly released plugins: [list of plugins by category](http://www.embulk.org/plugins/).
|
|
59
|
+
|
|
60
|
+
An example is [embulk-output-command](https://github.com/embulk/embulk-output-command) plugin. It executes an external command to output the records.
|
|
61
|
+
|
|
62
|
+
To install plugins, you can use `embulk gem install <name>` command:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
embulk gem install embulk-output-command
|
|
66
|
+
embulk gem list
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Embulk bundles some built-in plugins such as `embulk-encoder-gzip` or `embulk-formatter-csv`. You can use those plugins with following configuration file:
|
|
70
|
+
|
|
71
|
+
```yaml
|
|
72
|
+
in:
|
|
73
|
+
type: file
|
|
74
|
+
path_prefix: "./try1/csv/sample_"
|
|
75
|
+
out:
|
|
76
|
+
type: command
|
|
77
|
+
command: "cat - > task.$INDEX.$SEQID.csv.gz"
|
|
78
|
+
encoders:
|
|
79
|
+
- {type: gzip}
|
|
80
|
+
formatter:
|
|
81
|
+
type: csv
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Resuming a failed transaction
|
|
85
|
+
|
|
86
|
+
Embulk supports resuming failed transactions.
|
|
87
|
+
To enable resuming, you need to start transaction with `-r PATH` option:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
embulk run config.yml -r resume-state.yml
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
If the transaction fails, embulk stores state some states to the yaml file. You can retry the transaction using exactly same command:
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
embulk run config.yml -r resume-state.yml
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
If you give up on resuming the transaction, you can use `embulk cleanup` subcommand to delete intermediate data:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
embulk cleanup config.yml -r resume-state.yml
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Using plugin bundle
|
|
106
|
+
|
|
107
|
+
`embulk bundle new` subcommand creates (or updates if already exists) a private (isolated) bundle of a plugins.
|
|
108
|
+
You can use the bundle using `-b <bundle_dir>` option. `embulk bundle` also generates some example plugins to \<bundle_dir>/embulk/\*.rb directory.
|
|
109
|
+
|
|
110
|
+
See the generated \<bundle_dir>/Gemfile file how to plugin bundles work.
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
embulk bundle new ./embulk_bundle
|
|
114
|
+
embulk guess -b ./embulk_bundle ...
|
|
115
|
+
embulk run -b ./embulk_bundle ...
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Use cases
|
|
119
|
+
|
|
120
|
+
* [Scheduled bulk data loading to Elasticsearch + Kibana 4 from CSV files](http://www.embulk.org/docs/recipe/scheduled-csv-load-to-elasticsearch-kibana4.html)
|
|
121
|
+
|
|
122
|
+
For further details, visit [Embulk documentation](http://www.embulk.org/docs/).
|
|
123
|
+
|
|
124
|
+
## Upgrading to the latest version
|
|
125
|
+
|
|
126
|
+
Following command updates embulk itself to the latest released version.
|
|
127
|
+
|
|
128
|
+
```sh
|
|
129
|
+
embulk selfupdate
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Embulk Development
|
|
133
|
+
|
|
134
|
+
### Build
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
./gradlew cli # creates pkg/embulk-VERSION.jar
|
|
138
|
+
./gradlew gem # creates pkg/embulk-VERSION.gem
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
You can see JaCoCo's test coverage report at `${project}/build/reports/tests/index.html`
|
|
142
|
+
You can see Findbug's report at `${project}/build/reports/findbug/main.html` # FIXME coverage information is not included somehow
|
|
143
|
+
|
|
144
|
+
You can use `classpath` task to use `bundle exec ./bin/embulk` for development:
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
./gradlew -t classpath # -x test: skip test
|
|
148
|
+
./bin/embulk
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
To deploy artifacts to your local maven repository at ~/.m2/repository/:
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
./gradlew install
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
To compile the source code of embulk-core project only:
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
./gradlew :embulk-core:compileJava
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Task `dependencies` shows dependency tree of embulk-core project:
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
./gradlew :embulk-core:dependencies
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Documents
|
|
170
|
+
|
|
171
|
+
Embulk uses Sphinx, YARD (Ruby API) and JavaDoc (Java API) for document generation.
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
brew install python
|
|
175
|
+
pip install sphinx
|
|
176
|
+
gem install yard
|
|
177
|
+
./gradlew site
|
|
178
|
+
# documents are: embulk-docs/build/html
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Release
|
|
182
|
+
|
|
183
|
+
You need to add your bintray account information to ~/.gradle/gradle.properties
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
bintray_user=(bintray user name)
|
|
187
|
+
bintray_api_key=(bintray api key)
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Run following commands and follow its instruction:
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
./gradlew set_version -Pto=$VERSION
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
./gradlew releaseCheck
|
|
198
|
+
./gradlew release
|
|
199
|
+
git commit -am v$VERSION
|
|
200
|
+
git tag v$VERSION
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
See also:
|
|
204
|
+
* [Bintray](https://bintray.com)
|
|
205
|
+
* [How to acquire bintray API Keys](https://bintray.com/docs/usermanual/interacting/interacting_editingyouruserprofile.html#anchorAPIKEY)
|
|
206
|
+
|
data/Rakefile
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env rake
|
|
2
|
+
|
|
3
|
+
require 'bundler/gem_tasks'
|
|
4
|
+
require 'rake/testtask'
|
|
5
|
+
require 'rake/clean'
|
|
6
|
+
require 'bundler'
|
|
7
|
+
require 'yard'
|
|
8
|
+
|
|
9
|
+
desc 'Generate YARD document'
|
|
10
|
+
YARD::Rake::YardocTask.new(:doc) do |t|
|
|
11
|
+
t.files = ['lib/**/*.rb']
|
|
12
|
+
t.options = %w[-M kramdown]
|
|
13
|
+
t.options << '--debug' << '--verbose' if $trace
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
desc "Clean java code and copy files"
|
|
17
|
+
task :clean do
|
|
18
|
+
sh "./gradlew clean"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
desc "Build and copy jar files to ./classpath"
|
|
22
|
+
task :classpath do
|
|
23
|
+
sh "./gradlew classpath"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
task :default => :classpath
|
data/appveyor.yml
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
version: "{branch} {build}"
|
|
2
|
+
|
|
3
|
+
build:
|
|
4
|
+
verbosity: detailed
|
|
5
|
+
|
|
6
|
+
build_script:
|
|
7
|
+
- gradlew.bat --info --no-daemon check rubyTest
|
|
8
|
+
|
|
9
|
+
cache:
|
|
10
|
+
- C:\Users\appveyor\.gradle
|
|
11
|
+
|
|
12
|
+
environment:
|
|
13
|
+
matrix:
|
|
14
|
+
- JAVA_HOME: C:\Program Files\Java\jdk1.8.0
|
|
15
|
+
# - JAVA_HOME: C:\Program Files (x86)\Java\jdk1.8.0
|
|
16
|
+
|
|
17
|
+
test: off
|
|
18
|
+
|
|
19
|
+
matrix:
|
|
20
|
+
fast_finish: true
|
data/bin/embulk
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
if RUBY_PLATFORM =~ /java/i
|
|
4
|
+
# Enable embulk_bundle if run by CRuby.
|
|
5
|
+
# Disable embulk_bundle if run by JRuby.
|
|
6
|
+
if ENV['EMBULK_BIN_ENABLE_BUNDLE'] == File.expand_path(__FILE__)
|
|
7
|
+
ENV.delete('EMBULK_BIN_ENABLE_BUNDLE')
|
|
8
|
+
require_relative '../lib/embulk/command/embulk_bundle'
|
|
9
|
+
else
|
|
10
|
+
$LOAD_PATH << File.expand_path('../lib', File.dirname(__FILE__))
|
|
11
|
+
require 'embulk/command/embulk_main'
|
|
12
|
+
end
|
|
13
|
+
exit 0
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
java_args = []
|
|
17
|
+
jruby_args = []
|
|
18
|
+
default_optimize = false
|
|
19
|
+
overwrite_optimize = nil
|
|
20
|
+
|
|
21
|
+
until ARGV.empty?
|
|
22
|
+
v = ARGV[0]
|
|
23
|
+
case v
|
|
24
|
+
when "-J+O"
|
|
25
|
+
overwrite_optimize = true
|
|
26
|
+
ARGV.shift
|
|
27
|
+
when "-J-O"
|
|
28
|
+
overwrite_optimize = false
|
|
29
|
+
ARGV.shift
|
|
30
|
+
when "-J"
|
|
31
|
+
prop_path = ARGV[1]
|
|
32
|
+
unless prop_path
|
|
33
|
+
STDERR.puts "-J option requires an option"
|
|
34
|
+
exit 1
|
|
35
|
+
end
|
|
36
|
+
props = File.read(prop_path)
|
|
37
|
+
java_props = props.split("\n").reject {|prop| prop.strip.empty? }
|
|
38
|
+
java_args = java_props + java_args
|
|
39
|
+
ARGV.shift
|
|
40
|
+
ARGV.shift
|
|
41
|
+
when /-J(.*)/
|
|
42
|
+
java_args << v[2..-1]
|
|
43
|
+
ARGV.shift
|
|
44
|
+
when /-R(.*)/
|
|
45
|
+
jruby_args << v[2..-1]
|
|
46
|
+
ARGV.shift
|
|
47
|
+
when "run"
|
|
48
|
+
default_optimize = true
|
|
49
|
+
break
|
|
50
|
+
else
|
|
51
|
+
break
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# TODO cygwin check
|
|
56
|
+
cygwin = false
|
|
57
|
+
|
|
58
|
+
java_cmd = ENV['JAVACMD']
|
|
59
|
+
unless java_cmd
|
|
60
|
+
if java_home = ENV['JAVA_HOME']
|
|
61
|
+
if cygwin
|
|
62
|
+
java_cmd = "#{`cygpath -u "#{java_home}"`.strip}/bin/java"
|
|
63
|
+
else
|
|
64
|
+
java_cmd = "#{java_home}/bin/java"
|
|
65
|
+
end
|
|
66
|
+
else
|
|
67
|
+
java_cmd = "java"
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
if overwrite_optimize == true || (default_optimize == true && overwrite_optimize != false)
|
|
72
|
+
java_args = %w[-XX:+AggressiveOpts -XX:+UseConcMarkSweepGC] + java_args
|
|
73
|
+
else
|
|
74
|
+
java_args = %w[-XX:+AggressiveOpts -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xverify:none] + java_args
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# Disable bundler options of CRuby before starting JRuby
|
|
78
|
+
ENV.delete('GEM_HOME')
|
|
79
|
+
ENV.delete('GEM_PATH')
|
|
80
|
+
ENV.delete('BUNDLE_GEMFILE')
|
|
81
|
+
ENV.delete('BUNDLE_BIN_PATH')
|
|
82
|
+
ENV.delete('RUBYLIB')
|
|
83
|
+
ENV.delete('RUBYOPT')
|
|
84
|
+
|
|
85
|
+
env = {
|
|
86
|
+
'EMBULK_BIN_ENABLE_BUNDLE' => File.expand_path(__FILE__)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
begin
|
|
90
|
+
require 'jruby-jars'
|
|
91
|
+
rescue LoadError => e
|
|
92
|
+
STDERR.puts "Could not load jruby-jar.gem. Did you run with \"bundle exec\"?"
|
|
93
|
+
raise e
|
|
94
|
+
end
|
|
95
|
+
jruby_cp = "#{File.dirname(JRubyJars.core_jar_path)}/*"
|
|
96
|
+
|
|
97
|
+
# java ... -jar ruby-complete.jar bin/embulk "$@"
|
|
98
|
+
cmdline = [java_cmd]
|
|
99
|
+
cmdline.concat java_args
|
|
100
|
+
cmdline << '-cp' << jruby_cp << 'org.jruby.Main'
|
|
101
|
+
cmdline.concat jruby_args
|
|
102
|
+
cmdline << __FILE__
|
|
103
|
+
cmdline.concat ARGV
|
|
104
|
+
exec env, *cmdline
|
|
105
|
+
exit 127
|
|
106
|
+
|