jubilee 2.1.0.beta-java → 2.1.0.rc1-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +13 -1
  3. data/README.md +65 -54
  4. data/Rakefile +23 -21
  5. data/examples/chatapp/Gemfile +1 -2
  6. data/examples/chatapp/Gemfile.lock +2 -2
  7. data/examples/chatapp/README.md +14 -2
  8. data/examples/chatapp/app.rb +1 -0
  9. data/examples/chatapp/config.json +4 -0
  10. data/examples/chatapp/config.ru +0 -2
  11. data/jars/annotations-1.3.2.jar +0 -0
  12. data/jars/lang-jruby-2.1.0-final.jar +0 -0
  13. data/jars/log4j-1.2.16.jar +0 -0
  14. data/jars/slf4j-api-1.6.2.jar +0 -0
  15. data/jars/vertx-core-2.1.2.jar +0 -0
  16. data/jars/{vertx-hazelcast-2.1.1.jar → vertx-hazelcast-2.1.2.jar} +0 -0
  17. data/jars/{vertx-platform-2.1.1.jar → vertx-platform-2.1.2.jar} +0 -0
  18. data/lib/container.rb +117 -0
  19. data/lib/{vertx → core}/buffer.rb +1 -1
  20. data/lib/core/datagram.rb +280 -0
  21. data/lib/core/dns.rb +143 -0
  22. data/lib/{vertx → core}/event_bus.rb +79 -8
  23. data/lib/core/file_system.rb +479 -0
  24. data/lib/{vertx → core}/http.rb +635 -5
  25. data/lib/core/net.rb +251 -0
  26. data/lib/core/network_support.rb +77 -0
  27. data/lib/core/parsetools.rb +105 -0
  28. data/lib/{vertx → core}/shared_data.rb +2 -2
  29. data/lib/core/sock_js.rb +116 -0
  30. data/lib/{vertx → core}/ssl_support.rb +21 -1
  31. data/lib/{vertx → core}/streams.rb +32 -21
  32. data/lib/{vertx → core}/tcp_support.rb +22 -36
  33. data/lib/core/timers.rb +73 -0
  34. data/lib/core/vertx_require.rb +25 -0
  35. data/lib/{vertx → core}/wrapped_handler.rb +0 -0
  36. data/lib/jubilee.rb +5 -8
  37. data/lib/jubilee/cli.rb +1 -1
  38. data/lib/jubilee/jubilee.jar +0 -0
  39. data/lib/jubilee/jubilee_require.rb +24 -0
  40. data/lib/jubilee/version.rb +1 -1
  41. data/lib/test_utils.rb +66 -0
  42. data/lib/vertx.rb +13 -10
  43. data/lib/vertx_tests.rb +8 -0
  44. data/pom.xml +351 -0
  45. data/src/main/assembly/mod.xml +21 -0
  46. data/{java/src → src/main/java}/jubilee/JubileeService.java +0 -0
  47. data/{java/src → src/main/java}/org/jruby/jubilee/Const.java +0 -0
  48. data/{java/src → src/main/java}/org/jruby/jubilee/JubileeVerticle.java +12 -2
  49. data/src/main/java/org/jruby/jubilee/JubileeVerticleFactory.java +258 -0
  50. data/{java/src → src/main/java}/org/jruby/jubilee/RackApplication.java +3 -1
  51. data/{java/src → src/main/java}/org/jruby/jubilee/RackEnvironment.java +2 -2
  52. data/{java/src → src/main/java}/org/jruby/jubilee/RackEnvironmentHash.java +0 -0
  53. data/{java/src → src/main/java}/org/jruby/jubilee/RackInput.java +0 -0
  54. data/{java/src → src/main/java}/org/jruby/jubilee/RackResponse.java +0 -0
  55. data/{java/src → src/main/java}/org/jruby/jubilee/RubyCallable.java +0 -0
  56. data/{java/src → src/main/java}/org/jruby/jubilee/RubyHttpServerResponse.java +0 -0
  57. data/{java/src → src/main/java}/org/jruby/jubilee/RubyNetSocket.java +0 -0
  58. data/{java/src → src/main/java}/org/jruby/jubilee/RubyPlatformManager.java +0 -0
  59. data/{java/src → src/main/java}/org/jruby/jubilee/impl/RubyIORackInput.java +0 -0
  60. data/{java/src → src/main/java}/org/jruby/jubilee/impl/RubyNullIO.java +0 -0
  61. data/{java/src → src/main/java}/org/jruby/jubilee/utils/RubyHelper.java +0 -0
  62. data/{java/src → src/main/java}/org/jruby/jubilee/vertx/JubileeVertx.java +0 -0
  63. data/{java → src/main}/resources/META-INF/services/org.vertx.java.core.spi.cluster.ClusterManagerFactory +0 -0
  64. data/src/main/resources/META-INF/services/org.vertx.java.deploy.impl.jruby.JubileeVerticleFactory +1 -0
  65. data/{java → src/main}/resources/default-cluster.xml +0 -0
  66. data/src/main/resources/mod.json +11 -0
  67. data/test/jubilee/test_upload.rb +3 -1
  68. data/vertx_classpath.txt +12 -0
  69. metadata +69 -47
  70. data/Guardfile +0 -24
  71. data/jars/vertx-core-2.1.1.jar +0 -0
  72. data/java/src/org/jruby/jubilee/RubyChannel.java +0 -89
  73. data/lib/vertx/README.md +0 -7
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
5
+
6
+ <formats>
7
+ <format>zip</format>
8
+ </formats>
9
+
10
+ <includeBaseDirectory>false</includeBaseDirectory>
11
+
12
+ <fileSets>
13
+ <fileSet>
14
+ <outputDirectory></outputDirectory>
15
+ <directory>${mods.directory}/${module.name}</directory>
16
+ <includes>
17
+ <include>**</include>
18
+ </includes>
19
+ </fileSet>
20
+ </fileSets>
21
+ </assembly>
@@ -3,7 +3,6 @@ package org.jruby.jubilee;
3
3
  import org.jruby.Ruby;
4
4
  import org.jruby.RubyArray;
5
5
  import org.jruby.RubyInstanceConfig;
6
- import org.jruby.RubyString;
7
6
  import org.jruby.runtime.builtin.IRubyObject;
8
7
  import org.vertx.java.core.Handler;
9
8
  import org.vertx.java.core.http.HttpServer;
@@ -11,6 +10,7 @@ import org.vertx.java.core.http.HttpServerRequest;
11
10
  import org.vertx.java.core.json.JsonArray;
12
11
  import org.vertx.java.core.json.JsonObject;
13
12
  import org.vertx.java.platform.Verticle;
13
+ import org.vertx.java.platform.impl.JRubyVerticleFactory;
14
14
  import org.vertx.java.platform.impl.WrappedVertx;
15
15
 
16
16
  import java.io.IOException;
@@ -22,9 +22,18 @@ import java.util.List;
22
22
  * Created by isaiah on 23/01/2014.
23
23
  */
24
24
  public class JubileeVerticle extends Verticle {
25
+ private String rackup;
26
+
27
+ public JubileeVerticle(){}
28
+
29
+ public JubileeVerticle(String rackup) {
30
+ this.rackup = rackup;
31
+ }
25
32
 
26
33
  @Override
27
34
  public void start() {
35
+ JRubyVerticleFactory.vertx = vertx;
36
+ JRubyVerticleFactory.container = container;
28
37
  JsonObject config = container.config();
29
38
  HttpServer httpServer = vertx.createHttpServer();
30
39
  String root = config.getString("root", ".");
@@ -93,7 +102,8 @@ public class JubileeVerticle extends Verticle {
93
102
  }
94
103
 
95
104
  private IRubyObject initRackApplication(JsonObject config) {
96
- String rackup = config.getString("rackup");
105
+ if (this.rackup == null)
106
+ this.rackup = config.getString("rackup");
97
107
  String rackScript = "require 'rack'\n" +
98
108
  "require 'jubilee'\n" +
99
109
  "app, _ = Rack::Builder.parse_file('" + rackup + "')\n";
@@ -0,0 +1,258 @@
1
+ /*
2
+ * Copyright 2011-2012 the original author or authors.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ package org.jruby.jubilee;
18
+
19
+ import org.jruby.*;
20
+ import org.jruby.embed.EvalFailedException;
21
+ import org.jruby.embed.InvokeFailedException;
22
+ import org.jruby.embed.LocalContextScope;
23
+ import org.jruby.embed.ScriptingContainer;
24
+ import org.jruby.exceptions.RaiseException;
25
+ import org.jruby.runtime.builtin.IRubyObject;
26
+ import org.vertx.java.core.Handler;
27
+ import org.vertx.java.core.Vertx;
28
+ import org.vertx.java.core.VertxException;
29
+ import org.vertx.java.core.http.HttpServer;
30
+ import org.vertx.java.core.http.HttpServerRequest;
31
+ import org.vertx.java.core.json.JsonArray;
32
+ import org.vertx.java.core.json.JsonObject;
33
+ import org.vertx.java.core.logging.Logger;
34
+ import org.vertx.java.platform.Container;
35
+ import org.vertx.java.platform.Verticle;
36
+ import org.vertx.java.platform.VerticleFactory;
37
+ import org.vertx.java.platform.impl.WrappedVertx;
38
+ import org.vertx.java.platform.impl.JRubyVerticleFactory;
39
+
40
+ import java.io.*;
41
+ import java.util.List;
42
+ import java.util.concurrent.atomic.AtomicInteger;
43
+
44
+ public class JubileeVerticleFactory implements VerticleFactory {
45
+
46
+ private ClassLoader cl;
47
+ private ScriptingContainer scontainer;
48
+ private static final AtomicInteger seq = new AtomicInteger();
49
+
50
+ public static Vertx vertx;
51
+ public static Container container;
52
+
53
+ public JubileeVerticleFactory() {
54
+ }
55
+
56
+ @Override
57
+ public void init(Vertx vertx, Container container, ClassLoader cl) {
58
+ this.cl = cl;
59
+ // These statics are used by the Rhino scripts to look up references to vertx and the container
60
+ JRubyVerticleFactory.vertx = vertx;
61
+ JubileeVerticleFactory.vertx = vertx;
62
+ JubileeVerticleFactory.container = container;
63
+ ClassLoader old = Thread.currentThread().getContextClassLoader();
64
+ try {
65
+ Thread.currentThread().setContextClassLoader(cl);
66
+ this.scontainer = new ScriptingContainer(LocalContextScope.SINGLETHREAD);
67
+ scontainer.setCompatVersion(CompatVersion.RUBY1_9);
68
+ //Prevent JRuby from logging errors to stderr - we want to log ourselves
69
+ scontainer.setErrorWriter(new NullWriter());
70
+ } finally {
71
+ Thread.currentThread().setContextClassLoader(old);
72
+ }
73
+ }
74
+
75
+ @Override
76
+ public Verticle createVerticle(String rackup) throws Exception {
77
+ return new RackVerticle(rackup);
78
+ }
79
+
80
+ public void reportException(Logger logger, Throwable t) {
81
+ RaiseException je = null;
82
+ if (t instanceof EvalFailedException) {
83
+ EvalFailedException e = (EvalFailedException)t;
84
+ Throwable cause = e.getCause();
85
+ if (cause instanceof RaiseException) {
86
+ je = (RaiseException)cause;
87
+ }
88
+ } else if (t instanceof RaiseException) {
89
+ je = (RaiseException)t;
90
+ }
91
+
92
+ if (je != null) {
93
+
94
+ RubyException re = je.getException();
95
+
96
+ String msg;
97
+ if (re instanceof RubyNameError) {
98
+ RubyNameError rne = (RubyNameError)re;
99
+ msg = "Invalid or undefined name: " + rne.name().toString();
100
+ } else {
101
+ msg = re.message.toString();
102
+ }
103
+
104
+ StringBuilder backtrace = new StringBuilder();
105
+ IRubyObject bt = re.backtrace();
106
+
107
+ if (bt instanceof List) {
108
+ for (Object obj : (List<?>)bt) {
109
+ if (obj instanceof String) {
110
+ String line = (String)obj;
111
+ addToBackTrace(backtrace, line);
112
+ }
113
+ }
114
+ }
115
+ logger.error("Exception in Ruby verticle: " + msg +
116
+ "\n" + backtrace);
117
+ } else {
118
+ logger.error("Unexpected exception in Ruby verticle", t);
119
+ }
120
+ }
121
+
122
+ private void addToBackTrace(StringBuilder backtrace, String line) {
123
+ if (line.contains(".rb")) {
124
+ //We filter out any Java stack trace
125
+ backtrace.append(line).append('\n');
126
+ }
127
+ }
128
+
129
+ // This method synchronizes the callback into the JRuby code to make sure we don't have concurrent requires
130
+ // or loads occurring in the same JRuby container
131
+ public static synchronized void requireCallback(Runnable runnable) {
132
+ runnable.run();
133
+ }
134
+
135
+ // This MUST be static or we will get a leak since JRuby maintains it and a non static will hold a reference
136
+ // to this
137
+ private static class NullWriter extends Writer {
138
+
139
+ public void write(char[] cbuf, int off, int len) throws IOException {
140
+ }
141
+
142
+ public void flush() throws IOException {
143
+ }
144
+
145
+ public void close() throws IOException {
146
+ }
147
+ }
148
+
149
+ public void close() {
150
+ scontainer.clear();
151
+ // JRuby keeps a static reference to a runtime - we must clear this manually to avoid a leak
152
+ Ruby.clearGlobalRuntime();
153
+ }
154
+ public class RackVerticle extends Verticle {
155
+ public RackVerticle(String rackup) {
156
+ this.rackup = rackup;
157
+ this.vertx = JubileeVerticleFactory.vertx;
158
+ this.container = JubileeVerticleFactory.container;
159
+ }
160
+
161
+ public void start() {
162
+ JsonObject config = container.config();
163
+ synchronized (JubileeVerticleFactory.class) {
164
+ try (InputStream is = cl.getResourceAsStream(rackup)) {
165
+ if (is == null) {
166
+ throw new IllegalArgumentException("Cannot find verticle: " + rackup);
167
+ }
168
+ modName = "Mod___VertxInternalVert__" + seq.incrementAndGet();
169
+ StringBuilder svert = new StringBuilder( "require 'jubilee/jubilee_require'\n").append("module ").append(modName).append(";extend self;");
170
+ String rackScript = "require 'rack'\n" +
171
+ "require 'jubilee'\n" +
172
+ "app, _ = Rack::Builder.parse_file('" + rackup + "')\n";
173
+ if (!config.getBoolean("quiet", true) && config.getString("environment").equals("development")) {
174
+ rackScript += "logger = STDOUT\n" +
175
+ "app = Rack::CommonLogger.new(app, logger)\n";
176
+ }
177
+ rackScript += "Jubilee::Application.new(app)\n";
178
+ svert.append(rackScript);
179
+ svert.append("end");
180
+ rackApplication = (IRubyObject)scontainer.runScriptlet(new StringReader(svert.toString()), rackup);
181
+ } catch (Exception e) {
182
+ throw new VertxException(e);
183
+ }
184
+ }
185
+ httpServer = vertx.createHttpServer();
186
+
187
+ final RackApplication app;
188
+ boolean ssl = config.getBoolean("ssl", false);
189
+ try {
190
+ app = new RackApplication((WrappedVertx) vertx, rackApplication.getRuntime().getCurrentContext(), rackApplication, config);
191
+ httpServer.setAcceptBacklog(10000);
192
+ httpServer.requestHandler(new Handler<HttpServerRequest>() {
193
+ public void handle(final HttpServerRequest req) {
194
+ app.call(req);
195
+ }
196
+ });
197
+ if (config.containsField("event_bus")) {
198
+ JsonArray allowAll = new JsonArray();
199
+ allowAll.add(new JsonObject());
200
+
201
+ JsonArray incomingAllowed;
202
+ JsonArray outgoingAllowed;
203
+
204
+ if (config.containsField("event_bus_security")) {
205
+ JsonObject securitySettings = config.getObject("event_bus_security");
206
+ incomingAllowed = securitySettings.getArray("incoming", allowAll);
207
+ outgoingAllowed = securitySettings.getArray("outgoing", allowAll);
208
+ } else {
209
+ incomingAllowed = allowAll;
210
+ outgoingAllowed = allowAll;
211
+ }
212
+ JsonObject ebconf = new JsonObject();
213
+ ebconf.putString("prefix", config.getString("event_bus"));
214
+ vertx.createSockJSServer(httpServer).bridge(ebconf, incomingAllowed, outgoingAllowed);
215
+
216
+ }
217
+ if (ssl) httpServer.setSSL(true).setKeyStorePath(config.getString("keystore_path"))
218
+ .setKeyStorePassword(config.getString("keystore_password"));
219
+ httpServer.listen(config.getInteger("port", 8080), config.getString("host", "localhost"));
220
+ } catch (IOException e) {
221
+ container.logger().fatal("Failed to create RackApplication");
222
+ }
223
+ }
224
+
225
+ @Override
226
+ public void stop() {
227
+ if (this.httpServer != null)
228
+ this.httpServer.close();
229
+ if (rackApplication != null) {
230
+ try {
231
+ // We call the script with receiver = null - this causes the method to be called on the top level
232
+ // script
233
+ scontainer.callMethod(rackApplication, "vertx_stop");
234
+ } catch (InvokeFailedException e) {
235
+ Throwable cause = e.getCause();
236
+ if (cause instanceof RaiseException) {
237
+ // Gosh, this is a bit long winded!
238
+ RaiseException re = (RaiseException) cause;
239
+ String msg = "(NoMethodError) undefined method `vertx_stop'";
240
+ if (re.getMessage().startsWith(msg)) {
241
+ // OK - method is not mandatory
242
+ return;
243
+ }
244
+ }
245
+ throw e;
246
+ } finally {
247
+ // Remove the module const
248
+ scontainer.runScriptlet("Object.send(:remove_const, :" + modName + ")");
249
+ }
250
+ }
251
+ }
252
+
253
+ private String rackup;
254
+ private IRubyObject rackApplication;
255
+ private String modName;
256
+ private HttpServer httpServer;
257
+ }
258
+ }
@@ -41,7 +41,7 @@ public class RackApplication {
41
41
 
42
42
  public RackApplication(WrappedVertx vertx, ThreadContext context, IRubyObject app, JsonObject config) throws IOException {
43
43
  this.app = app;
44
- this.ssl = config.getBoolean("ssl");
44
+ this.ssl = config.getBoolean("ssl", false);
45
45
  this.hideErrorStack = config.getBoolean("hide_error_stack", false);
46
46
  this.vertx = vertx;
47
47
  this.runtime = context.runtime;
@@ -92,10 +92,12 @@ public class RackApplication {
92
92
  try {
93
93
  // This is a different context, do NOT replace runtime.getCurrentContext()
94
94
  IRubyObject result = app.callMethod(runtime.getCurrentContext(), "call", rackEnv.getEnv(request, input, ssl));
95
+ /*
95
96
  if (request.isHijacked()) {
96
97
  // It's the hijacker's response to close the socket.
97
98
  return;
98
99
  }
100
+ */
99
101
  RackResponse response = (RackResponse) JavaEmbedUtils.rubyToJava(runtime, result, RackResponse.class);
100
102
  RubyHttpServerResponse resp = new RubyHttpServerResponse(runtime,
101
103
  httpServerResponseClass, request);
@@ -100,8 +100,8 @@ public class RackEnvironment {
100
100
  env.lazyPut(RACK_KEY.RUN_ONCE, runtime.getFalse(), false);
101
101
 
102
102
  // Hijack handling
103
- env.lazyPut(RACK_KEY.HIJACK_P, runtime.getTrue(), false);
104
- env.lazyPut(RACK_KEY.HIJACK, hijackProc(env, request), false);
103
+ env.lazyPut(RACK_KEY.HIJACK_P, runtime.getFalse(), false);
104
+ // env.lazyPut(RACK_KEY.HIJACK, hijackProc(env, request), false);
105
105
 
106
106
 
107
107
  final int contentLength = getContentLength(headers);
@@ -0,0 +1 @@
1
+ org.vertx.java.deploy.impl.jruby.JubileeVerticleFactory
@@ -0,0 +1,11 @@
1
+ {
2
+ "system": true,
3
+ "resident": true,
4
+ "includes": "io.vertx~lang-jruby~2.1.0-final",
5
+
6
+ "description":"Rack application runner",
7
+ "licenses": ["MIT"],
8
+ "author": "isaiah",
9
+ "keywords": ["rack", "rails"],
10
+ "homepage": "https://github.com/isaiah/jubilee"
11
+ }
@@ -128,7 +128,9 @@ class TestUpload < MiniTest::Unit::TestCase
128
128
  assert_raises(Errno::ECONNRESET, Errno::EPIPE) do
129
129
  16384.times { sock.syswrite(buf) }
130
130
  end
131
- sock.gets
131
+ assert_raises(Errno::ECONNRESET) do
132
+ sock.gets
133
+ end
132
134
  sock.close
133
135
  end
134
136
 
@@ -0,0 +1,12 @@
1
+ # This file contains information on where to find the resources of your module during development
2
+ # This file is used when running your module as you develop - it tells Vert.x where to find
3
+ # the resources of your module
4
+
5
+ # Feel free to edit it if you have a non standard project structure and put the resources of your
6
+ # module elsewhere
7
+
8
+ src/main/resources
9
+ target/classes
10
+ target/dependencies
11
+ lib/
12
+ bin
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jubilee
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0.beta
4
+ version: 2.1.0.rc1
5
5
  platform: java
6
6
  authors:
7
7
  - Isaiah Peng
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-24 00:00:00.000000000 Z
11
+ date: 2014-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rack
15
- version_requirements: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: 1.4.1
20
14
  requirement: !ruby/object:Gem::Requirement
21
15
  requirements:
22
16
  - - '>='
23
17
  - !ruby/object:Gem::Version
24
18
  version: 1.4.1
19
+ name: rack
25
20
  prerelease: false
26
21
  type: :runtime
27
- - !ruby/object:Gem::Dependency
28
- name: spoon
29
22
  version_requirements: !ruby/object:Gem::Requirement
30
23
  requirements:
31
- - - ~>
24
+ - - '>='
32
25
  - !ruby/object:Gem::Version
33
- version: 0.0.4
26
+ version: 1.4.1
27
+ - !ruby/object:Gem::Dependency
34
28
  requirement: !ruby/object:Gem::Requirement
35
29
  requirements:
36
30
  - - ~>
37
31
  - !ruby/object:Gem::Version
38
32
  version: 0.0.4
33
+ name: spoon
39
34
  prerelease: false
40
35
  type: :runtime
41
- - !ruby/object:Gem::Dependency
42
- name: jeweler
43
36
  version_requirements: !ruby/object:Gem::Requirement
44
37
  requirements:
45
38
  - - ~>
46
39
  - !ruby/object:Gem::Version
47
- version: 1.8.7
40
+ version: 0.0.4
41
+ - !ruby/object:Gem::Dependency
48
42
  requirement: !ruby/object:Gem::Requirement
49
43
  requirements:
50
44
  - - ~>
51
45
  - !ruby/object:Gem::Version
52
46
  version: 1.8.7
47
+ name: jeweler
53
48
  prerelease: false
54
49
  type: :development
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 1.8.7
55
55
  description: Jubilee is a rack server for JRuby built upon the high performance Vertx platform. It provides the best features of Vertx such as EventBus, SharedData, and clustering.
56
56
  email: issaria@gmail.com
57
57
  executables:
@@ -67,7 +67,6 @@ files:
67
67
  - CHANGELOG
68
68
  - Gemfile
69
69
  - Gemfile.lock
70
- - Guardfile
71
70
  - KNOWN_ISSUES
72
71
  - LICENSE.txt
73
72
  - README.md
@@ -79,6 +78,7 @@ files:
79
78
  - examples/chatapp/Gemfile.lock
80
79
  - examples/chatapp/README.md
81
80
  - examples/chatapp/app.rb
81
+ - examples/chatapp/config.json
82
82
  - examples/chatapp/config.ru
83
83
  - examples/chatapp/public/assets/javascripts/application.js
84
84
  - examples/chatapp/public/assets/javascripts/jquery.js
@@ -89,53 +89,52 @@ files:
89
89
  - examples/client/vertxbus.js
90
90
  - examples/jubilee.conf.rb
91
91
  - examples/keystore.jks
92
+ - jars/annotations-1.3.2.jar
92
93
  - jars/hazelcast-3.2.3.jar
93
94
  - jars/jackson-annotations-2.2.2.jar
94
95
  - jars/jackson-core-2.2.2.jar
95
96
  - jars/jackson-databind-2.2.2.jar
97
+ - jars/lang-jruby-2.1.0-final.jar
98
+ - jars/log4j-1.2.16.jar
96
99
  - jars/netty-all-4.0.20.Final.jar
97
- - jars/vertx-core-2.1.1.jar
98
- - jars/vertx-hazelcast-2.1.1.jar
99
- - jars/vertx-platform-2.1.1.jar
100
- - java/resources/META-INF/services/org.vertx.java.core.spi.cluster.ClusterManagerFactory
101
- - java/resources/default-cluster.xml
102
- - java/src/jubilee/JubileeService.java
103
- - java/src/org/jruby/jubilee/Const.java
104
- - java/src/org/jruby/jubilee/JubileeVerticle.java
105
- - java/src/org/jruby/jubilee/RackApplication.java
106
- - java/src/org/jruby/jubilee/RackEnvironment.java
107
- - java/src/org/jruby/jubilee/RackEnvironmentHash.java
108
- - java/src/org/jruby/jubilee/RackInput.java
109
- - java/src/org/jruby/jubilee/RackResponse.java
110
- - java/src/org/jruby/jubilee/RubyCallable.java
111
- - java/src/org/jruby/jubilee/RubyChannel.java
112
- - java/src/org/jruby/jubilee/RubyHttpServerResponse.java
113
- - java/src/org/jruby/jubilee/RubyNetSocket.java
114
- - java/src/org/jruby/jubilee/RubyPlatformManager.java
115
- - java/src/org/jruby/jubilee/impl/RubyIORackInput.java
116
- - java/src/org/jruby/jubilee/impl/RubyNullIO.java
117
- - java/src/org/jruby/jubilee/utils/RubyHelper.java
118
- - java/src/org/jruby/jubilee/vertx/JubileeVertx.java
100
+ - jars/slf4j-api-1.6.2.jar
101
+ - jars/vertx-core-2.1.2.jar
102
+ - jars/vertx-hazelcast-2.1.2.jar
103
+ - jars/vertx-platform-2.1.2.jar
119
104
  - jubilee.gemspec
105
+ - lib/container.rb
106
+ - lib/core/buffer.rb
107
+ - lib/core/datagram.rb
108
+ - lib/core/dns.rb
109
+ - lib/core/event_bus.rb
110
+ - lib/core/file_system.rb
111
+ - lib/core/http.rb
112
+ - lib/core/net.rb
113
+ - lib/core/network_support.rb
114
+ - lib/core/parsetools.rb
115
+ - lib/core/shared_data.rb
116
+ - lib/core/sock_js.rb
117
+ - lib/core/ssl_support.rb
118
+ - lib/core/streams.rb
119
+ - lib/core/tcp_support.rb
120
+ - lib/core/timers.rb
121
+ - lib/core/vertx_require.rb
122
+ - lib/core/wrapped_handler.rb
120
123
  - lib/jubilee.rb
121
124
  - lib/jubilee/application.rb
122
125
  - lib/jubilee/cli.rb
123
126
  - lib/jubilee/configuration.rb
124
127
  - lib/jubilee/const.rb
128
+ - lib/jubilee/jubilee.jar
129
+ - lib/jubilee/jubilee_require.rb
125
130
  - lib/jubilee/response.rb
126
131
  - lib/jubilee/server.rb
127
132
  - lib/jubilee/version.rb
128
133
  - lib/rack/handler/jubilee.rb
134
+ - lib/test_utils.rb
129
135
  - lib/vertx.rb
130
- - lib/vertx/README.md
131
- - lib/vertx/buffer.rb
132
- - lib/vertx/event_bus.rb
133
- - lib/vertx/http.rb
134
- - lib/vertx/shared_data.rb
135
- - lib/vertx/ssl_support.rb
136
- - lib/vertx/streams.rb
137
- - lib/vertx/tcp_support.rb
138
- - lib/vertx/wrapped_handler.rb
136
+ - lib/vertx_tests.rb
137
+ - pom.xml
139
138
  - spec/apps/rack/basic/config.ru
140
139
  - spec/apps/rails4/basic/.gitignore
141
140
  - spec/apps/rails4/basic/Gemfile
@@ -210,6 +209,28 @@ files:
210
209
  - spec/integration/basic_rails4_spec.rb
211
210
  - spec/integration/basic_sinatra_spec.rb
212
211
  - spec/spec_helper.rb
212
+ - src/main/assembly/mod.xml
213
+ - src/main/java/jubilee/JubileeService.java
214
+ - src/main/java/org/jruby/jubilee/Const.java
215
+ - src/main/java/org/jruby/jubilee/JubileeVerticle.java
216
+ - src/main/java/org/jruby/jubilee/JubileeVerticleFactory.java
217
+ - src/main/java/org/jruby/jubilee/RackApplication.java
218
+ - src/main/java/org/jruby/jubilee/RackEnvironment.java
219
+ - src/main/java/org/jruby/jubilee/RackEnvironmentHash.java
220
+ - src/main/java/org/jruby/jubilee/RackInput.java
221
+ - src/main/java/org/jruby/jubilee/RackResponse.java
222
+ - src/main/java/org/jruby/jubilee/RubyCallable.java
223
+ - src/main/java/org/jruby/jubilee/RubyHttpServerResponse.java
224
+ - src/main/java/org/jruby/jubilee/RubyNetSocket.java
225
+ - src/main/java/org/jruby/jubilee/RubyPlatformManager.java
226
+ - src/main/java/org/jruby/jubilee/impl/RubyIORackInput.java
227
+ - src/main/java/org/jruby/jubilee/impl/RubyNullIO.java
228
+ - src/main/java/org/jruby/jubilee/utils/RubyHelper.java
229
+ - src/main/java/org/jruby/jubilee/vertx/JubileeVertx.java
230
+ - src/main/resources/META-INF/services/org.vertx.java.core.spi.cluster.ClusterManagerFactory
231
+ - src/main/resources/META-INF/services/org.vertx.java.deploy.impl.jruby.JubileeVerticleFactory
232
+ - src/main/resources/default-cluster.xml
233
+ - src/main/resources/mod.json
213
234
  - test/.ruby-version
214
235
  - test/apps/app.rb
215
236
  - test/apps/checker.ru
@@ -238,6 +259,7 @@ files:
238
259
  - test/jubilee/test_server.rb
239
260
  - test/jubilee/test_upload.rb
240
261
  - test/test_helper.rb
262
+ - vertx_classpath.txt
241
263
  homepage: http://isaiah.github.io/jubilee
242
264
  licenses:
243
265
  - MIT