embulk 0.6.2 → 0.6.3

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