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

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 (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>