embulk 0.6.2 → 0.6.3

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 (34) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/bin/embulk +2 -2
  4. data/build.gradle +11 -2
  5. data/embulk-cli/src/main/java/org/embulk/cli/Main.java +0 -2
  6. data/embulk-core/build.gradle +1 -1
  7. data/embulk-core/src/main/java/org/embulk/command/Runner.java +10 -0
  8. data/embulk-core/src/main/java/org/embulk/exec/GuessExecutor.java +3 -2
  9. data/embulk-core/src/main/java/org/embulk/exec/PreviewExecutor.java +1 -1
  10. data/embulk-core/src/main/java/org/embulk/jruby/JRubyScriptingModule.java +18 -6
  11. data/embulk-core/src/main/java/org/embulk/plugin/PluginManager.java +14 -11
  12. data/embulk-core/src/main/java/org/embulk/spi/Column.java +5 -5
  13. data/embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java +4 -4
  14. data/embulk-core/src/main/java/org/embulk/spi/Exec.java +6 -0
  15. data/embulk-core/src/main/java/org/embulk/spi/FileInputRunner.java +1 -1
  16. data/embulk-core/src/main/java/org/embulk/spi/Schema.java +2 -2
  17. data/embulk-core/src/main/java/org/embulk/spi/SchemaConfig.java +2 -2
  18. data/embulk-core/src/main/java/org/embulk/spi/unit/ByteSize.java +148 -0
  19. data/embulk-core/src/test/java/org/embulk/spi/unit/TestByteSize.java +79 -0
  20. data/embulk-docs/build.gradle +5 -1
  21. data/embulk-docs/src/customization.rst +184 -0
  22. data/embulk-docs/src/index.rst +10 -1
  23. data/embulk-docs/src/release.rst +1 -0
  24. data/embulk-docs/src/release/release-0.6.3.rst +23 -0
  25. data/lib/embulk/command/embulk_run.rb +41 -3
  26. data/lib/embulk/data/new/gitignore.erb +1 -0
  27. data/lib/embulk/data/new/java/build.gradle.erb +20 -4
  28. data/lib/embulk/java/bootstrap.rb +2 -2
  29. data/lib/embulk/plugin.rb +1 -1
  30. data/lib/embulk/version.rb +1 -1
  31. data/test/helper.rb +7 -0
  32. metadata +8 -6
  33. data/embulk-docs/plugins/index.html.erb +0 -73
  34. data/embulk-docs/plugins/plugins.css +0 -148
@@ -26,15 +26,29 @@ task classpath(type: Copy, dependsOn: ["jar"]) {
26
26
  from (configurations.runtime - configurations.provided + files(jar.archivePath))
27
27
  into "classpath"
28
28
  }
29
- clean { delete 'classpath' }
29
+ clean { delete "classpath" }
30
30
 
31
- task gem(type: JRubyExec, dependsOn: ["build", "gemspec", "classpath"]) {
31
+ task gem(type: JRubyExec, dependsOn: ["gemspec", "classpath"]) {
32
32
  jrubyArgs "-rrubygems/gem_runner", "-eGem::GemRunner.new.run(ARGV)", "build"
33
- script "build/gemspec"
33
+ script "${project.name}.gemspec"
34
34
  doLast { ant.move(file: "${project.name}-${project.version}.gem", todir: "pkg") }
35
35
  }
36
36
 
37
- task gemspec << { file("build/gemspec").write($/
37
+ task gemPush(type: JRubyExec, dependsOn: ["gem"]) {
38
+ jrubyArgs "-rrubygems/gem_runner", "-eGem::GemRunner.new.run(ARGV)", "push"
39
+ script "${project.name}-${project.version}.gem"
40
+ }
41
+
42
+ task "package"(dependsOn: ["gemspec", "classpath"]) << {
43
+ println "> Build succeeded."
44
+ println "> You can run embulk with '-L ${file(".").absolutePath}' argument."
45
+ }
46
+
47
+ task gemspec {
48
+ ext.gemspecFile = file("${project.name}.gemspec")
49
+ inputs.file "build.gradle"
50
+ outputs.file gemspecFile
51
+ doLast { gemspecFile.write($/
38
52
  Gem::Specification.new do |spec|
39
53
  spec.name = "${project.name}"
40
54
  spec.version = "${project.version}"
@@ -54,4 +68,6 @@ Gem::Specification.new do |spec|
54
68
  spec.add_development_dependency 'rake', ['>= 10.0']
55
69
  end
56
70
  /$)
71
+ }
57
72
  }
73
+ clean { delete "${project.name}.gemspec" }
@@ -5,13 +5,13 @@ module Embulk
5
5
 
6
6
  module Injected
7
7
  # Following constats are set by org.embulk.jruby.JRubyScriptingModule:
8
+ # Injector
8
9
  # ModelManager
9
10
  # BufferAllocator
10
11
  end
11
12
 
12
13
  def self.injector
13
- # TODO use org.embulk.spi.Exec.getInjector
14
- Injector
14
+ Injected::Injector
15
15
  end
16
16
  end
17
17
  end
@@ -190,7 +190,7 @@ module Embulk
190
190
 
191
191
  # TODO lookup should fallback to Java PluginSource
192
192
  # if not found so that ruby plugins can call java plugins.
193
- # call injector.newPlugin and wrap the instance in a reverse bridge object.
193
+ # call Java.injector.newPlugin and wrap the instance in a reverse bridge object.
194
194
 
195
195
  def lookup(category, type)
196
196
  @registries[category].lookup(type)
@@ -1,3 +1,3 @@
1
1
  module Embulk
2
- VERSION = '0.6.2'
2
+ VERSION = '0.6.3'
3
3
  end
@@ -1,5 +1,12 @@
1
1
  require 'test/unit'
2
2
 
3
+ classpath_dir = File.expand_path('../classpath', File.dirname(__FILE__))
4
+ jars = Dir.entries(classpath_dir).select {|f| f =~ /\.jar$/ }.sort
5
+ jars.each do |jar|
6
+ require File.join(classpath_dir, jar)
7
+ end
8
+
9
+ require 'embulk/java/bootstrap'
3
10
  require 'embulk'
4
11
 
5
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.2
4
+ version: 0.6.3
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-04-14 00:00:00.000000000 Z
11
+ date: 2015-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -211,6 +211,7 @@ files:
211
211
  - embulk-core/src/main/java/org/embulk/spi/type/Type.java
212
212
  - embulk-core/src/main/java/org/embulk/spi/type/TypeDeserializer.java
213
213
  - embulk-core/src/main/java/org/embulk/spi/type/Types.java
214
+ - embulk-core/src/main/java/org/embulk/spi/unit/ByteSize.java
214
215
  - embulk-core/src/main/java/org/embulk/spi/util/CharsetSerDe.java
215
216
  - embulk-core/src/main/java/org/embulk/spi/util/Decoders.java
216
217
  - embulk-core/src/main/java/org/embulk/spi/util/Encoders.java
@@ -249,18 +250,18 @@ files:
249
250
  - embulk-core/src/test/java/org/embulk/spi/time/TestTimestamp.java
250
251
  - embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParser.java
251
252
  - embulk-core/src/test/java/org/embulk/spi/type/TestTypeSerDe.java
253
+ - embulk-core/src/test/java/org/embulk/spi/unit/TestByteSize.java
252
254
  - embulk-core/src/test/java/org/embulk/spi/util/TestLineDecoder.java
253
255
  - embulk-core/src/test/java/org/embulk/spi/util/TestLineEncoder.java
254
256
  - embulk-docs/Makefile
255
257
  - embulk-docs/build.gradle
256
258
  - embulk-docs/make.bat
257
- - embulk-docs/plugins/index.html.erb
258
- - embulk-docs/plugins/plugins.css
259
259
  - embulk-docs/push-gh-pages.sh
260
260
  - embulk-docs/src/_static/embulk-architecture.png
261
261
  - embulk-docs/src/_static/embulk-logo.png
262
262
  - embulk-docs/src/built-in.rst
263
263
  - embulk-docs/src/conf.py
264
+ - embulk-docs/src/customization.rst
264
265
  - embulk-docs/src/index.rst
265
266
  - embulk-docs/src/recipe.rst
266
267
  - embulk-docs/src/recipe/scheduled-csv-load-to-elasticsearch-kibana4.rst
@@ -291,6 +292,7 @@ files:
291
292
  - embulk-docs/src/release/release-0.6.0.rst
292
293
  - embulk-docs/src/release/release-0.6.1.rst
293
294
  - embulk-docs/src/release/release-0.6.2.rst
295
+ - embulk-docs/src/release/release-0.6.3.rst
294
296
  - embulk-standards/build.gradle
295
297
  - embulk-standards/src/main/java/org/embulk/standards/CsvFormatterPlugin.java
296
298
  - embulk-standards/src/main/java/org/embulk/standards/CsvParserPlugin.java
@@ -396,8 +398,8 @@ files:
396
398
  - classpath/bval-jsr303-0.5.jar
397
399
  - classpath/commons-beanutils-core-1.8.3.jar
398
400
  - classpath/commons-lang3-3.1.jar
399
- - classpath/embulk-core-0.6.2.jar
400
- - classpath/embulk-standards-0.6.2.jar
401
+ - classpath/embulk-core-0.6.3.jar
402
+ - classpath/embulk-standards-0.6.3.jar
401
403
  - classpath/guava-18.0.jar
402
404
  - classpath/guice-3.0.jar
403
405
  - classpath/guice-multibindings-3.0.jar
@@ -1,73 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml">
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
- <title>List of Embulk Plugins by Category | Embulk</title>
7
- <link rel="stylesheet" href="../docs/_static/haiku.css" type="text/css" />
8
- <link rel="stylesheet" href="../docs/_static/pygments.css" type="text/css" />
9
- <link rel="stylesheet" href="plugins.css" type="text/css" />
10
- <link rel="top" title="Embulk 0.4 documentation" href="../docs/index.html" />
11
- </head>
12
- <body>
13
- <div class="header"><h1 class="heading"><a href="../docs/index.html">
14
- <span>Embulk plugins</span></a></h1>
15
- <h2 class="heading"><span>Embulk plugins by category</span></h2>
16
- </div>
17
-
18
- <div class="content">
19
- <div class="section">
20
- <h1>List of Plugins by Category</h1>
21
-
22
- <% categories.each do |category,gems| %>
23
- <div class="section">
24
- <h2 id="<%= category.gsub(/[^a-zA-Z0-9]/, '-') %>"><%= category.upcase %></h2>
25
- <table class="plugins">
26
- <thead>
27
- <tr>
28
- <th>Star</th>
29
- <th>Name</th>
30
- <th>Author</th>
31
- <th>About</th>
32
- <th>Download</th>
33
- </tr>
34
- </thead>
35
- <tbody>
36
- <% gems.each do |gem| %>
37
- <tr>
38
- <td style="width:80px">
39
- <div class="github-btn-container">
40
- <span class="github-btn" class="github-stargazers">
41
- <a class="gh-btn" href="https://github.com/<%=e gem[:owner] %>/<%=e gem[:repo] %>" target="_blank">
42
- <span class="gh-ico"></span>
43
- <span class="gh-text">Star</span>
44
- </a>
45
- <a class="gh-count" href="https://github.com/<%=e gem[:owner] %>/<%=e gem[:repo] %>/stargazers" target="_blank" style="display: block"><%=h gem[:stargazers_count] %></a>
46
- </span>
47
- </div>
48
- </td>
49
- <td style="min-width:9em"><a href="<%=h gem[:url] %>"><%=h gem[:name] %></a><pre class="install">$ embulk gem install <%=h gem[:gem_name] %></pre></td>
50
- <td style="min-width:13em"><%=h gem[:author] %>
51
- <% if gem[:avatar_url] %>
52
- <img src="<%=h gem[:avatar_url] %>" height=32 width=32></img>
53
- <% else %>
54
- </td>
55
- <% end %>
56
- <td><%=h gem[:info] %></td>
57
- <td style="width:3em"><%=h gem[:downloads] %></td>
58
- </tr>
59
- <% end %>
60
- </tbody>
61
- </table>
62
- </div>
63
- <% end %>
64
-
65
- </div>
66
- </div>
67
-
68
- <div class="footer">
69
- &copy; Copyright 2015, Embulk Project.
70
- Created using <a href="https://github.com/embulk/plugin-crawler">Embulk plugin crawler</a>.
71
- </div>
72
- </body>
73
- </html>
@@ -1,148 +0,0 @@
1
- body {
2
- max-width: 90em;
3
- font-size: 105%;
4
- }
5
- .plugins {
6
- border-collapse: collapse
7
- }
8
- .plugins th, td {
9
- padding: 8px 20px;
10
- border: 1px solid #eee;
11
- vertical-align: middle;
12
- }
13
- .plugins pre.install {
14
- font-size: 50%;
15
- padding: 7px 0 2px 0;
16
- margin: 0;
17
- background: none;
18
- border: none;
19
- color: #999;
20
- }
21
-
22
- .github-btn-container {
23
- padding: 0;
24
- margin: 0;
25
- font: bold 11px/14px "Helvetica Neue", Helvetica, Arial, sans-serif;
26
- overflow: hidden;
27
- color: black
28
- }
29
- .github-btn-container a {
30
- color: black;
31
- }
32
- .github-btn-container a:hover {
33
- text-decoration: none;
34
- }
35
-
36
- .github-btn {
37
- height: 20px;
38
- overflow: hidden;
39
- }
40
- .gh-btn,
41
- .gh-count,
42
- .gh-ico {
43
- float: left;
44
- }
45
- .gh-btn,
46
- .gh-count {
47
- padding: 2px 5px 2px 4px;
48
- color: #333;
49
- text-decoration: none;
50
- text-shadow: 0 1px 0 #fff;
51
- white-space: nowrap;
52
- cursor: pointer;
53
- border-radius: 3px;
54
- }
55
- .gh-btn {
56
- background-color: #eee;
57
- background-image: -moz-linear-gradient(#fcfcfc, #eee);
58
- background-image: -webkit-linear-gradient(#fcfcfc, #eee);
59
- background-image: linear-gradient(#fcfcfc, #eee);
60
- background-repeat: no-repeat;
61
- border: 1px solid #d5d5d5;
62
- }
63
- .gh-btn:hover,
64
- .gh-btn:focus {
65
- text-decoration: none;
66
- background-color: #ddd;
67
- background-image: -moz-linear-gradient(#eee, #ddd);
68
- background-image: -webkit-linear-gradient(#eee, #ddd);
69
- background-image: linear-gradient(#eee, #ddd);
70
- border-color: #ccc;
71
- }
72
- .gh-btn:active {
73
- background-image: none;
74
- background-color: #dcdcdc;
75
- border-color: #b5b5b5;
76
- box-shadow: inset 0 2px 4px rgba(0,0,0,0.15);
77
- }
78
- .gh-ico {
79
- width: 14px;
80
- height: 14px;
81
- margin-right: 4px;
82
- background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIxMiAxMiA0MCA0MCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAxMiAxMiA0MCA0MCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBmaWxsPSIjMzMzMzMzIiBkPSJNMzIsMTMuNGMtMTAuNSwwLTE5LDguNS0xOSwxOWMwLDguNCw1LjUsMTUuNSwxMywxOGMxLDAuMiwxLjMtMC40LDEuMy0wLjljMC0wLjUsMC0xLjcsMC0zLjINCgljLTUuMywxLjEtNi40LTIuNi02LjQtMi42QzIwLDQxLjYsMTguOCw0MSwxOC44LDQxYy0xLjctMS4yLDAuMS0xLjEsMC4xLTEuMWMxLjksMC4xLDIuOSwyLDIuOSwyYzEuNywyLjksNC41LDIuMSw1LjUsMS42DQoJYzAuMi0xLjIsMC43LTIuMSwxLjItMi42Yy00LjItMC41LTguNy0yLjEtOC43LTkuNGMwLTIuMSwwLjctMy43LDItNS4xYy0wLjItMC41LTAuOC0yLjQsMC4yLTVjMCwwLDEuNi0wLjUsNS4yLDINCgljMS41LTAuNCwzLjEtMC43LDQuOC0wLjdjMS42LDAsMy4zLDAuMiw0LjcsMC43YzMuNi0yLjQsNS4yLTIsNS4yLTJjMSwyLjYsMC40LDQuNiwwLjIsNWMxLjIsMS4zLDIsMywyLDUuMWMwLDcuMy00LjUsOC45LTguNyw5LjQNCgljMC43LDAuNiwxLjMsMS43LDEuMywzLjVjMCwyLjYsMCw0LjYsMCw1LjJjMCwwLjUsMC40LDEuMSwxLjMsMC45YzcuNS0yLjYsMTMtOS43LDEzLTE4LjFDNTEsMjEuOSw0Mi41LDEzLjQsMzIsMTMuNHoiLz4NCjwvc3ZnPg0K);
83
- background-size: 100% 100%;
84
- background-repeat: no-repeat;
85
- }
86
- .gh-count {
87
- position: relative;
88
- display: none; /* hidden to start */
89
- margin-left: 4px;
90
- background-color: #fafafa;
91
- border: 1px solid #d4d4d4;
92
- }
93
- .gh-count:hover,
94
- .gh-count:focus {
95
- color: #4183C4;
96
- }
97
- .gh-count:before,
98
- .gh-count:after {
99
- content: '';
100
- position: absolute;
101
- display: inline-block;
102
- width: 0;
103
- height: 0;
104
- border-color: transparent;
105
- border-style: solid;
106
- }
107
- .gh-count:before {
108
- top: 50%;
109
- left: -3px;
110
- margin-top: -4px;
111
- border-width: 4px 4px 4px 0;
112
- border-right-color: #fafafa;
113
- }
114
- .gh-count:after {
115
- top: 50%;
116
- left: -4px;
117
- z-index: -1;
118
- margin-top: -5px;
119
- border-width: 5px 5px 5px 0;
120
- border-right-color: #d4d4d4;
121
- }
122
- .github-btn-large {
123
- height: 30px;
124
- }
125
- .github-btn-large .gh-btn,
126
- .github-btn-large .gh-count {
127
- padding: 3px 10px 3px 8px;
128
- font-size: 16px;
129
- line-height: 22px;
130
- border-radius: 4px;
131
- }
132
- .github-btn-large .gh-ico {
133
- width: 20px;
134
- height: 20px;
135
- }
136
- .github-btn-large .gh-count {
137
- margin-left: 6px;
138
- }
139
- .github-btn-large .gh-count:before {
140
- left: -5px;
141
- margin-top: -6px;
142
- border-width: 6px 6px 6px 0;
143
- }
144
- .github-btn-large .gh-count:after {
145
- left: -6px;
146
- margin-top: -7px;
147
- border-width: 7px 7px 7px 0;
148
- }