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
@@ -3,7 +3,7 @@ module Jubilee
3
3
  MAJOR = 2
4
4
  MINOR = 1
5
5
  PATCH = 0
6
- BUILD = "beta"
6
+ BUILD = "rc1"
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
9
9
  end
@@ -0,0 +1,66 @@
1
+ class TestUtils
2
+ def initialize
3
+ @j_tu = org.vertx.java.testframework.TestUtils.new( org.vertx.java.platform.impl.JRubyVerticleFactory.vertx)
4
+ end
5
+
6
+ def azzert(result, message = nil)
7
+ begin
8
+ if message
9
+ @j_tu.azzert(result, message)
10
+ else
11
+ @j_tu.azzert(result)
12
+ end
13
+ rescue java.lang.RuntimeException
14
+ # Rethrow as a ruby exception so we see nice Ruby backtrace
15
+ raise "Assertion Failed #{message}"
16
+ end
17
+ end
18
+
19
+ def app_ready
20
+ @j_tu.appReady
21
+ end
22
+
23
+ def app_stopped
24
+ @j_tu.appStopped
25
+ end
26
+
27
+ def test_complete()
28
+ @j_tu.testComplete
29
+ end
30
+
31
+ def register(test_name, &test_handler)
32
+ @j_tu.register(test_name, test_handler)
33
+ end
34
+
35
+ def register_all(object)
36
+ methods = object.methods
37
+ methods.each do |meth|
38
+ if meth.to_s.start_with? 'test_'
39
+ register(meth) {
40
+ object.method(meth).call
41
+ }
42
+ end
43
+ end
44
+ end
45
+
46
+ def unregister_all
47
+ @j_tu.unregisterAll
48
+ end
49
+
50
+ def TestUtils.gen_buffer(size)
51
+ j_buff = org.vertx.java.testframework.TestUtils.generateRandomBuffer(size)
52
+ Vertx::Buffer.new(j_buff)
53
+ end
54
+
55
+ def TestUtils.random_unicode_string(size)
56
+ org.vertx.java.testframework.TestUtils.randomUnicodeString(size)
57
+ end
58
+
59
+ def TestUtils.buffers_equal(buff1, buff2)
60
+ org.vertx.java.testframework.TestUtils.buffersEqual(buff1._to_java_buffer, buff2._to_java_buffer)
61
+ end
62
+
63
+ def check_thread
64
+ @j_tu.checkThread
65
+ end
66
+ end
@@ -14,14 +14,17 @@
14
14
 
15
15
  include Java
16
16
 
17
- require 'vertx/buffer'
18
- require 'vertx/event_bus'
19
- require 'vertx/http'
17
+ require 'container'
18
+ require 'core/timers'
19
+ require 'core/buffer'
20
+ require 'core/file_system'
21
+ require 'core/http'
22
+ require 'core/net'
23
+ require 'core/parsetools'
24
+ require 'core/streams'
25
+ require 'core/shared_data'
26
+ require 'core/event_bus'
27
+ require 'core/sock_js'
28
+ require 'core/dns'
29
+ require 'core/datagram'
20
30
 
21
- # This is the module for vertx related feature like EventBus and SharedData,
22
- # these features are built into jubilee server, by requiring 'vertx' in your
23
- # rack application, you get access to the functionalities offered by vertx
24
- # platform.
25
-
26
- module Vertx
27
- end
@@ -0,0 +1,8 @@
1
+ VertxAssert = Java::OrgVertxTesttools::VertxAssert
2
+
3
+ VertxAssert.initialize(org.vertx.java.platform.impl.JRubyVerticleFactory.vertx)
4
+
5
+ def start_tests(top)
6
+ method_name = Vertx.config['methodName']
7
+ self.send(method_name)
8
+ end
data/pom.xml ADDED
@@ -0,0 +1,351 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4
+ <modelVersion>4.0.0</modelVersion>
5
+
6
+ <groupId>org.jruby.jubilee</groupId>
7
+ <artifactId>mod-rack</artifactId>
8
+ <packaging>jar</packaging>
9
+ <version>0.1.3-SNAPSHOT</version>
10
+ <name>Project - mod-rack</name>
11
+ <url>http://maven.apache.org</url>
12
+
13
+ <parent>
14
+ <groupId>org.sonatype.oss</groupId>
15
+ <artifactId>oss-parent</artifactId>
16
+ <version>7</version>
17
+ </parent>
18
+
19
+ <properties>
20
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
21
+
22
+ <!-- Set pullInDeps to true if you want any modules specified in the 'includes' and 'deploys' fields
23
+ in your mod.json to be automatically pulled in during packaging and added inside your module. Doing this means your
24
+ module won't download and install those dependencies at run-time when they're first requested. -->
25
+ <vertx.pullInDeps>false</vertx.pullInDeps>
26
+
27
+ <!-- Set createFatJar to true if you want to create a fat executable jar which contains the Vert.x binaries
28
+ along with the module so it can be run with java -jar <jarname> -->
29
+ <vertx.createFatJar>false</vertx.createFatJar>
30
+
31
+ <!--Vertx module name-->
32
+ <module.name>${project.groupId}~${project.artifactId}~${project.version}</module.name>
33
+
34
+ <!-- The directory where the module will be assembled - you can override this on the command line
35
+ with -Dmods.directory=mydir -->
36
+ <mods.directory>target/mods</mods.directory>
37
+
38
+ <!--Dependency versions-->
39
+ <vertx.version>2.1.2</vertx.version>
40
+ <lang-jruby.version>2.1.0-final</lang-jruby.version>
41
+ <vertx.testtools.version>2.0.3-final</vertx.testtools.version>
42
+ <junit.version>4.11</junit.version>
43
+
44
+ <!--Plugin versions-->
45
+ <maven.compiler.plugin.version>3.0</maven.compiler.plugin.version>
46
+ <maven.resources.plugin.version>2.6</maven.resources.plugin.version>
47
+ <maven.clean.plugin.version>2.5</maven.clean.plugin.version>
48
+ <maven.vertx.plugin.version>2.0.8-final</maven.vertx.plugin.version>
49
+ <maven.surefire.plugin.version>2.14</maven.surefire.plugin.version>
50
+ <maven.failsafe.plugin.version>2.14</maven.failsafe.plugin.version>
51
+ <maven.surefire.report.plugin.version>2.14</maven.surefire.report.plugin.version>
52
+ <maven.javadoc.plugin.version>2.9</maven.javadoc.plugin.version>
53
+ <maven.dependency.plugin.version>2.7</maven.dependency.plugin.version>
54
+ <maven.jar.plugin.version>2.5</maven.jar.plugin.version>
55
+
56
+ <!-- User defined properties -->
57
+ <jar.finalName>jubilee</jar.finalName>
58
+ <ruby.sources>lib</ruby.sources>
59
+ <ruby.deps>jars</ruby.deps>
60
+ </properties>
61
+
62
+ <repositories>
63
+ <repository>
64
+ <id>sonatype-nexus-snapshots</id>
65
+ <url>https://oss.sonatype.org/content/repositories/snapshots</url>
66
+ </repository>
67
+ </repositories>
68
+ <distributionManagement>
69
+ <repository>
70
+ <id>bintray-isaiah-maven-mod-rack</id>
71
+ <name>isaiah-maven-mod-rack</name>
72
+ <url>https://api.bintray.com/maven/isaiah/maven/mod-rack</url>
73
+ </repository>
74
+ </distributionManagement>
75
+ <dependencies>
76
+ <!--Vertx provided dependencies-->
77
+ <dependency>
78
+ <groupId>io.vertx</groupId>
79
+ <artifactId>vertx-core</artifactId>
80
+ <version>${vertx.version}</version>
81
+ <scope>compile</scope>
82
+ </dependency>
83
+ <dependency>
84
+ <groupId>io.vertx</groupId>
85
+ <artifactId>vertx-platform</artifactId>
86
+ <version>${vertx.version}</version>
87
+ <scope>compile</scope>
88
+ </dependency>
89
+ <dependency>
90
+ <groupId>io.vertx</groupId>
91
+ <artifactId>vertx-hazelcast</artifactId>
92
+ <version>${vertx.version}</version>
93
+ <scope>compile</scope>
94
+ </dependency>
95
+ <dependency>
96
+ <groupId>io.vertx</groupId>
97
+ <artifactId>lang-jruby</artifactId>
98
+ <version>${lang-jruby.version}</version>
99
+ <scope>compile</scope>
100
+ </dependency>
101
+ <dependency>
102
+ <groupId>io.vertx</groupId>
103
+ <artifactId>lang-jruby</artifactId>
104
+ <version>${lang-jruby.version}</version>
105
+ <type>zip</type>
106
+ <classifier>mod</classifier>
107
+ <scope>compile</scope>
108
+ </dependency>
109
+ <!--Test dependencies-->
110
+ <dependency>
111
+ <groupId>junit</groupId>
112
+ <artifactId>junit</artifactId>
113
+ <version>4.11</version>
114
+ <scope>test</scope>
115
+ </dependency>
116
+ <dependency>
117
+ <groupId>io.vertx</groupId>
118
+ <artifactId>testtools</artifactId>
119
+ <version>${vertx.testtools.version}</version>
120
+ <scope>test</scope>
121
+ </dependency>
122
+ <dependency>
123
+ <groupId>org.jruby</groupId>
124
+ <artifactId>jruby-complete</artifactId>
125
+ <version>1.7.13</version>
126
+ <scope>provided</scope>
127
+ </dependency>
128
+
129
+ <!-- Add any other dependencies that you want packaged into your module (in the lib dir) here
130
+ as 'compile' dependencies. Here is an example
131
+ <dependency>
132
+ <groupId>org.hamcrest</groupId>
133
+ <artifactId>hamcrest-core</artifactId>
134
+ <version>1.3</version>
135
+ <scope>compile</scope>
136
+ </dependency>
137
+ -->
138
+
139
+ </dependencies>
140
+
141
+ <build>
142
+ <plugins>
143
+
144
+ <!-- The vert.x Maven plugin -->
145
+ <plugin>
146
+ <groupId>io.vertx</groupId>
147
+ <artifactId>vertx-maven-plugin</artifactId>
148
+ <version>${maven.vertx.plugin.version}</version>
149
+ <!--
150
+ You can specify extra config to the plugin as required here
151
+ <configuration>
152
+ <configFile>/path/to/MyVerticle.conf</configFile>
153
+ <instances>1</instances>
154
+ <classpath>src/main/resources/:src/test/resources/:target/classes/:target/test-classes/</classpath>
155
+ </configuration>
156
+ -->
157
+ <!-- Make sure that the plugin uses the vert.x versions from this pom.xml not from its own pom.xml -->
158
+ <dependencies>
159
+ <dependency>
160
+ <groupId>io.vertx</groupId>
161
+ <artifactId>vertx-platform</artifactId>
162
+ <version>${vertx.version}</version>
163
+ </dependency>
164
+ <dependency>
165
+ <groupId>io.vertx</groupId>
166
+ <artifactId>vertx-core</artifactId>
167
+ <version>${vertx.version}</version>
168
+ </dependency>
169
+ <dependency>
170
+ <groupId>io.vertx</groupId>
171
+ <artifactId>vertx-hazelcast</artifactId>
172
+ <version>${vertx.version}</version>
173
+ </dependency>
174
+ </dependencies>
175
+ <executions>
176
+ <execution>
177
+ <id>PullInDeps</id>
178
+ <phase>prepare-package</phase>
179
+ <goals>
180
+ <goal>pullInDeps</goal>
181
+ </goals>
182
+ </execution>
183
+ </executions>
184
+ </plugin>
185
+
186
+ <!-- Other plugins required by the build -->
187
+ <plugin>
188
+ <groupId>org.apache.maven.plugins</groupId>
189
+ <artifactId>maven-compiler-plugin</artifactId>
190
+ <version>${maven.compiler.plugin.version}</version>
191
+ <configuration>
192
+ <source>1.7</source>
193
+ <target>1.7</target>
194
+ </configuration>
195
+ </plugin>
196
+ <plugin>
197
+ <artifactId>maven-resources-plugin</artifactId>
198
+ <version>${maven.resources.plugin.version}</version>
199
+ <executions>
200
+ <execution>
201
+ <id>copy-mod-to-target</id>
202
+ <phase>process-classes</phase>
203
+ <goals>
204
+ <goal>copy-resources</goal>
205
+ </goals>
206
+ <configuration>
207
+ <overwrite>true</overwrite>
208
+ <outputDirectory>${mods.directory}/${module.name}</outputDirectory>
209
+ <resources>
210
+ <resource>
211
+ <directory>target/classes</directory>
212
+ </resource>
213
+ <resource>
214
+ <directory>${ruby.sources}</directory>
215
+ </resource>
216
+ </resources>
217
+ </configuration>
218
+ </execution>
219
+ </executions>
220
+ </plugin>
221
+ <plugin>
222
+ <groupId>org.apache.maven.plugins</groupId>
223
+ <artifactId>maven-dependency-plugin</artifactId>
224
+ <version>${maven.dependency.plugin.version}</version>
225
+ <executions>
226
+ <execution>
227
+ <id>copy-mod-dependencies-to-target</id>
228
+ <phase>process-classes</phase>
229
+ <goals>
230
+ <goal>copy-dependencies</goal>
231
+ </goals>
232
+ <configuration>
233
+ <outputDirectory>${ruby.deps}</outputDirectory>
234
+ <includeScope>runtime</includeScope>
235
+ </configuration>
236
+ </execution>
237
+ <!--
238
+ <execution>
239
+ <id>copy-mod-dependencies-to-target-dependencies</id>
240
+ <phase>process-classes</phase>
241
+ <goals>
242
+ <goal>copy-dependencies</goal>
243
+ </goals>
244
+ <configuration>
245
+ <outputDirectory>target/dependencies</outputDirectory>
246
+ <includeScope>runtime</includeScope>
247
+ </configuration>
248
+ </execution>
249
+ -->
250
+ </executions>
251
+ </plugin>
252
+ <plugin>
253
+ <groupId>org.apache.maven.plugins</groupId>
254
+ <artifactId>maven-jar-plugin</artifactId>
255
+ <version>${maven.jar.plugin.version}</version>
256
+ <configuration>
257
+ <outputDirectory>${ruby.sources}/jubilee</outputDirectory>
258
+ </configuration>
259
+ </plugin>
260
+ <plugin>
261
+ <groupId>org.apache.maven.plugins</groupId>
262
+ <artifactId>maven-surefire-plugin</artifactId>
263
+ <version>${maven.surefire.plugin.version}</version>
264
+ <configuration>
265
+ <includes>
266
+ <include>**/unit/*Test*.java</include>
267
+ </includes>
268
+ </configuration>
269
+ </plugin>
270
+ <plugin>
271
+ <groupId>org.apache.maven.plugins</groupId>
272
+ <artifactId>maven-failsafe-plugin</artifactId>
273
+ <version>${maven.failsafe.plugin.version}</version>
274
+ <configuration>
275
+ <systemProperties>
276
+ <property>
277
+ <name>vertx.mods</name>
278
+ <value>${mods.directory}</value>
279
+ </property>
280
+ </systemProperties>
281
+ <includes>
282
+ <include>**/integration/**/*Test*</include>
283
+ </includes>
284
+ </configuration>
285
+ <executions>
286
+ <execution>
287
+ <goals>
288
+ <goal>integration-test</goal>
289
+ <goal>verify</goal>
290
+ </goals>
291
+ </execution>
292
+ </executions>
293
+ </plugin>
294
+ <plugin>
295
+ <groupId>org.apache.maven.plugins</groupId>
296
+ <artifactId>maven-surefire-report-plugin</artifactId>
297
+ <version>${maven.surefire.report.plugin.version}</version>
298
+ <executions>
299
+ <execution>
300
+ <id>generate-test-report</id>
301
+ <phase>test</phase>
302
+ <goals>
303
+ <goal>report-only</goal>
304
+ </goals>
305
+ </execution>
306
+ <execution>
307
+ <id>generate-integration-test-report</id>
308
+ <phase>integration-test</phase>
309
+ <goals>
310
+ <goal>failsafe-report-only</goal>
311
+ </goals>
312
+ </execution>
313
+ </executions>
314
+ </plugin>
315
+ <plugin>
316
+ <artifactId>maven-assembly-plugin</artifactId>
317
+ <configuration>
318
+ <descriptors>
319
+ <descriptor>src/main/assembly/mod.xml</descriptor>
320
+ </descriptors>
321
+ </configuration>
322
+ <executions>
323
+ <execution>
324
+ <id>assemble</id>
325
+ <phase>package</phase>
326
+ <goals>
327
+ <goal>single</goal>
328
+ </goals>
329
+ </execution>
330
+ </executions>
331
+ </plugin>
332
+ </plugins>
333
+ </build>
334
+ <reporting>
335
+ <plugins>
336
+ <plugin>
337
+ <groupId>org.apache.maven.plugins</groupId>
338
+ <artifactId>maven-surefire-report-plugin</artifactId>
339
+ <version>${maven.surefire.report.plugin.version}</version>
340
+ </plugin>
341
+ <plugin>
342
+ <groupId>org.apache.maven.plugins</groupId>
343
+ <artifactId>maven-javadoc-plugin</artifactId>
344
+ <version>${maven.javadoc.plugin.version}</version>
345
+ <configuration>
346
+ <aggregate>true</aggregate>
347
+ </configuration>
348
+ </plugin>
349
+ </plugins>
350
+ </reporting>
351
+ </project>