embulk 0.6.21 → 0.6.22

Sign up to get free protection for your applications and to get access to all the features.
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