embulk 0.6.21 → 0.6.22

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 (37) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/build.gradle +27 -15
  4. data/embulk-core/build.gradle +17 -1
  5. data/embulk-core/src/main/java/org/embulk/EmbulkEmbed.java +216 -0
  6. data/embulk-core/src/main/java/org/embulk/EmbulkService.java +13 -7
  7. data/embulk-core/src/main/java/org/embulk/command/LiquidTemplate.java +8 -0
  8. data/embulk-core/src/main/java/org/embulk/command/Runner.java +63 -27
  9. data/embulk-core/src/main/java/org/embulk/config/ConfigLoader.java +5 -0
  10. data/embulk-core/src/main/java/org/embulk/config/DataSourceImpl.java +3 -3
  11. data/embulk-core/src/main/java/org/embulk/exec/ExecModule.java +1 -1
  12. data/embulk-core/src/main/java/org/embulk/exec/PooledBufferAllocator.java +3 -1
  13. data/embulk-core/src/main/java/org/embulk/guice/Bootstrap.java +150 -0
  14. data/embulk-core/src/main/java/org/embulk/guice/CloseableInjector.java +22 -0
  15. data/embulk-core/src/main/java/org/embulk/guice/CloseableInjectorProxy.java +47 -0
  16. data/embulk-core/src/main/java/org/embulk/guice/InjectorProxy.java +145 -0
  17. data/embulk-core/src/main/java/org/embulk/guice/LifeCycleManager.java +187 -0
  18. data/embulk-core/src/main/java/org/embulk/guice/LifeCycleMethods.java +89 -0
  19. data/embulk-core/src/main/java/org/embulk/guice/LifeCycleMethodsMap.java +38 -0
  20. data/embulk-core/src/main/java/org/embulk/guice/LifeCycleModule.java +97 -0
  21. data/embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java +41 -7
  22. data/embulk-docs/build.gradle +3 -2
  23. data/embulk-docs/src/built-in.rst +30 -1
  24. data/embulk-docs/src/index.rst +1 -1
  25. data/embulk-docs/src/release.rst +1 -0
  26. data/embulk-docs/src/release/release-0.6.22.rst +26 -0
  27. data/gradle/wrapper/gradle-wrapper.jar +0 -0
  28. data/gradle/wrapper/gradle-wrapper.properties +2 -2
  29. data/lib/embulk/command/embulk_run.rb +11 -5
  30. data/lib/embulk/data_source.rb +28 -8
  31. data/lib/embulk/error.rb +7 -1
  32. data/lib/embulk/gems.rb +29 -0
  33. data/lib/embulk/java/bootstrap.rb +4 -0
  34. data/lib/embulk/java/liquid_helper.rb +17 -0
  35. data/lib/embulk/version.rb +1 -1
  36. data/test/helper.rb +11 -2
  37. metadata +46 -33
@@ -1,6 +1,12 @@
1
1
 
2
2
  module Embulk
3
- class ConfigError < StandardError
3
+ if java?
4
+ config_exception = org.embulk.config.ConfigException
5
+ else
6
+ config_exception = StandardError
7
+ end
8
+
9
+ class ConfigError < config_exception
4
10
  end
5
11
 
6
12
  class PluginLoadError < StandardError
@@ -0,0 +1,29 @@
1
+ module Embulk
2
+ def self.add_embedded_gem_path
3
+ begin
4
+ resource_class = org.embulk.command.Runner.java_class
5
+ rescue NameError
6
+ begin
7
+ Embulk.require_classpath
8
+ resource_class = org.embulk.command.Runner.java_class
9
+ rescue NameError
10
+ return nil
11
+ end
12
+ end
13
+
14
+ gem_path = resource_class.resource("/embulk/gems").to_s.sub(/^jar:/, '')
15
+ unless gem_path.empty?
16
+ # GEM_PATH can't include ':'
17
+ gem_path = gem_path.gsub(/\w{0,5}:(?:\/(?=\/))*/, "")
18
+ orig = ENV['GEM_PATH'].to_s
19
+ if orig.empty?
20
+ ENV['GEM_PATH'] = gem_path
21
+ elsif !orig.split(Gem.path_separator).include?(gem_path)
22
+ ENV['GEM_PATH'] = "#{gem_path}:#{orig}"
23
+ end
24
+ Gem.clear_paths
25
+ return ENV['GEM_PATH']
26
+ end
27
+ return nil
28
+ end
29
+ end
@@ -1,7 +1,11 @@
1
1
  module Embulk
2
2
  module Java
3
+ require 'embulk/gems'
4
+ Embulk.add_embedded_gem_path
5
+
3
6
  require 'embulk/java/imports'
4
7
  require 'embulk/java/time_helper'
8
+ require 'embulk/java/liquid_helper'
5
9
 
6
10
  module Injected
7
11
  # Following constats are set by org.embulk.jruby.JRubyScriptingModule:
@@ -0,0 +1,17 @@
1
+ module Embulk
2
+ module Java
3
+ require 'liquid'
4
+
5
+ class LiquidTemplateHelper
6
+ include org.embulk.command.LiquidTemplate
7
+
8
+ def render(source, params)
9
+ template = Liquid::Template.parse(source)
10
+ data = {
11
+ "env" => ENV.to_h,
12
+ }.merge(params)
13
+ template.render(data)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,3 +1,3 @@
1
1
  module Embulk
2
- VERSION = '0.6.21'
2
+ VERSION = '0.6.22'
3
3
  end
@@ -6,7 +6,16 @@ jars.each do |jar|
6
6
  require File.join(classpath_dir, jar)
7
7
  end
8
8
 
9
+ require 'simplecov'
10
+ # fix inaccurate coverage
11
+ # see: https://github.com/colszowka/simplecov/blob/82920ca1502be78ccde4fd315634066093bb855d/lib/simplecov.rb#L7
12
+ ENV['JRUBY_OPTS'] = '-Xcli.debug=true --debug'
13
+ SimpleCov.profiles.define 'embulk' do
14
+ add_filter 'test/'
15
+
16
+ add_group 'Libraries', 'lib'
17
+ end
18
+ SimpleCov.start 'embulk'
19
+
9
20
  require 'embulk/java/bootstrap'
10
21
  require 'embulk'
11
-
12
- # TODO simplecov
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.21
4
+ version: 0.6.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-05 00:00:00.000000000 Z
11
+ date: 2015-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -97,13 +97,45 @@ files:
97
97
  - Rakefile
98
98
  - bin/embulk
99
99
  - build.gradle
100
+ - classpath/annotations-3.0.0.jar
101
+ - classpath/aopalliance-1.0.jar
102
+ - classpath/bval-core-0.5.jar
103
+ - classpath/bval-jsr303-0.5.jar
104
+ - classpath/commons-beanutils-core-1.8.3.jar
105
+ - classpath/commons-lang3-3.1.jar
106
+ - classpath/embulk-core-0.6.22.jar
107
+ - classpath/embulk-standards-0.6.22.jar
108
+ - classpath/guava-18.0.jar
109
+ - classpath/guice-4.0.jar
110
+ - classpath/guice-multibindings-4.0.jar
111
+ - classpath/icu4j-54.1.1.jar
112
+ - classpath/jackson-annotations-2.5.3.jar
113
+ - classpath/jackson-core-2.5.3.jar
114
+ - classpath/jackson-databind-2.5.3.jar
115
+ - classpath/jackson-datatype-guava-2.5.3.jar
116
+ - classpath/jackson-datatype-joda-2.5.3.jar
117
+ - classpath/jackson-module-guice-2.5.3.jar
118
+ - classpath/jansi-1.11.jar
119
+ - classpath/javax.inject-1.jar
120
+ - classpath/joda-time-2.8.1.jar
121
+ - classpath/jruby-complete-1.7.21.jar
122
+ - classpath/logback-classic-1.1.3.jar
123
+ - classpath/logback-core-1.1.3.jar
124
+ - classpath/netty-buffer-5.0.0.Alpha1.jar
125
+ - classpath/netty-common-5.0.0.Alpha1.jar
126
+ - classpath/slf4j-api-1.7.12.jar
127
+ - classpath/slice-0.9.jar
128
+ - classpath/snakeyaml-1.14.jar
129
+ - classpath/validation-api-1.1.0.Final.jar
100
130
  - embulk-cli/build.gradle
101
131
  - embulk-cli/src/main/java/org/embulk/cli/Main.java
102
132
  - embulk-cli/src/main/sh/selfrun.sh
103
133
  - embulk-cli/src/test/java/org/embulk/cli/DummyMain.java
104
134
  - embulk-cli/src/test/java/org/embulk/cli/SelfrunTest.java
105
135
  - embulk-core/build.gradle
136
+ - embulk-core/src/main/java/org/embulk/EmbulkEmbed.java
106
137
  - embulk-core/src/main/java/org/embulk/EmbulkService.java
138
+ - embulk-core/src/main/java/org/embulk/command/LiquidTemplate.java
107
139
  - embulk-core/src/main/java/org/embulk/command/PreviewPrinter.java
108
140
  - embulk-core/src/main/java/org/embulk/command/Runner.java
109
141
  - embulk-core/src/main/java/org/embulk/command/TablePreviewPrinter.java
@@ -149,6 +181,14 @@ files:
149
181
  - embulk-core/src/main/java/org/embulk/exec/SetCurrentThreadName.java
150
182
  - embulk-core/src/main/java/org/embulk/exec/SystemConfigModule.java
151
183
  - embulk-core/src/main/java/org/embulk/exec/TempFileAllocator.java
184
+ - embulk-core/src/main/java/org/embulk/guice/Bootstrap.java
185
+ - embulk-core/src/main/java/org/embulk/guice/CloseableInjector.java
186
+ - embulk-core/src/main/java/org/embulk/guice/CloseableInjectorProxy.java
187
+ - embulk-core/src/main/java/org/embulk/guice/InjectorProxy.java
188
+ - embulk-core/src/main/java/org/embulk/guice/LifeCycleManager.java
189
+ - embulk-core/src/main/java/org/embulk/guice/LifeCycleMethods.java
190
+ - embulk-core/src/main/java/org/embulk/guice/LifeCycleMethodsMap.java
191
+ - embulk-core/src/main/java/org/embulk/guice/LifeCycleModule.java
152
192
  - embulk-core/src/main/java/org/embulk/jruby/JRubyPluginSource.java
153
193
  - embulk-core/src/main/java/org/embulk/jruby/JRubyScriptingModule.java
154
194
  - embulk-core/src/main/java/org/embulk/plugin/BuiltinPluginSourceModule.java
@@ -341,6 +381,7 @@ files:
341
381
  - embulk-docs/src/release/release-0.6.2.rst
342
382
  - embulk-docs/src/release/release-0.6.20.rst
343
383
  - embulk-docs/src/release/release-0.6.21.rst
384
+ - embulk-docs/src/release/release-0.6.22.rst
344
385
  - embulk-docs/src/release/release-0.6.3.rst
345
386
  - embulk-docs/src/release/release-0.6.4.rst
346
387
  - embulk-docs/src/release/release-0.6.5.rst
@@ -427,6 +468,7 @@ files:
427
468
  - lib/embulk/file_output_plugin.rb
428
469
  - lib/embulk/filter_plugin.rb
429
470
  - lib/embulk/formatter_plugin.rb
471
+ - lib/embulk/gems.rb
430
472
  - lib/embulk/guess/charset.rb
431
473
  - lib/embulk/guess/csv.rb
432
474
  - lib/embulk/guess/gzip.rb
@@ -437,6 +479,7 @@ files:
437
479
  - lib/embulk/input_plugin.rb
438
480
  - lib/embulk/java/bootstrap.rb
439
481
  - lib/embulk/java/imports.rb
482
+ - lib/embulk/java/liquid_helper.rb
440
483
  - lib/embulk/java/time_helper.rb
441
484
  - lib/embulk/java_plugin.rb
442
485
  - lib/embulk/logger.rb
@@ -452,36 +495,6 @@ files:
452
495
  - test/guess/test_schema_guess.rb
453
496
  - test/guess/test_time_format_guess.rb
454
497
  - test/helper.rb
455
- - classpath/annotations-3.0.0.jar
456
- - classpath/aopalliance-1.0.jar
457
- - classpath/bval-core-0.5.jar
458
- - classpath/bval-jsr303-0.5.jar
459
- - classpath/commons-beanutils-core-1.8.3.jar
460
- - classpath/commons-lang3-3.1.jar
461
- - classpath/embulk-core-0.6.21.jar
462
- - classpath/embulk-standards-0.6.21.jar
463
- - classpath/guava-18.0.jar
464
- - classpath/guice-4.0.jar
465
- - classpath/guice-multibindings-4.0.jar
466
- - classpath/icu4j-54.1.1.jar
467
- - classpath/jackson-annotations-2.5.3.jar
468
- - classpath/jackson-core-2.5.3.jar
469
- - classpath/jackson-databind-2.5.3.jar
470
- - classpath/jackson-datatype-guava-2.5.3.jar
471
- - classpath/jackson-datatype-joda-2.5.3.jar
472
- - classpath/jackson-module-guice-2.5.3.jar
473
- - classpath/jansi-1.11.jar
474
- - classpath/javax.inject-1.jar
475
- - classpath/joda-time-2.8.1.jar
476
- - classpath/jruby-complete-1.7.19.jar
477
- - classpath/logback-classic-1.1.3.jar
478
- - classpath/logback-core-1.1.3.jar
479
- - classpath/netty-buffer-5.0.0.Alpha1.jar
480
- - classpath/netty-common-5.0.0.Alpha1.jar
481
- - classpath/slf4j-api-1.7.12.jar
482
- - classpath/slice-0.9.jar
483
- - classpath/snakeyaml-1.14.jar
484
- - classpath/validation-api-1.1.0.Final.jar
485
498
  homepage: https://github.com/embulk/embulk
486
499
  licenses:
487
500
  - Apache 2.0
@@ -502,7 +515,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
502
515
  version: '0'
503
516
  requirements: []
504
517
  rubyforge_project:
505
- rubygems_version: 2.1.9
518
+ rubygems_version: 2.4.8
506
519
  signing_key:
507
520
  specification_version: 4
508
521
  summary: Embulk, a plugin-based parallel bulk data loader