stompserver_ng 1.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +159 -0
- data/Manifest.txt +71 -0
- data/README.txt +172 -0
- data/Rakefile +38 -0
- data/STATUS +5 -0
- data/bin/stompserver_ng +63 -0
- data/client/README.txt +1 -0
- data/client/both.rb +25 -0
- data/client/consume.rb +14 -0
- data/client/send.rb +17 -0
- data/config/stompserver_ng.conf +11 -0
- data/etc/19xcompat/notes.txt +223 -0
- data/etc/arutils/README-activerecord.txt +78 -0
- data/etc/arutils/cre_mysql.rb +34 -0
- data/etc/arutils/cre_postgres.rb +33 -0
- data/etc/arutils/cre_sqlite3.rb +28 -0
- data/etc/arutils/mysql_boot.sql +12 -0
- data/etc/arutils/postgres_boot.sql +14 -0
- data/etc/database.mysql.yml +9 -0
- data/etc/database.postgres.yml +9 -0
- data/etc/passwd.example +3 -0
- data/etc/ppqinfo.rb +15 -0
- data/etc/runserver.sh +17 -0
- data/etc/stompserver_ng +50 -0
- data/etc/stompserver_ng.conf +13 -0
- data/lib/stomp_server_ng.rb +471 -0
- data/lib/stomp_server_ng/protocols/http.rb +128 -0
- data/lib/stomp_server_ng/protocols/stomp.rb +407 -0
- data/lib/stomp_server_ng/qmonitor.rb +58 -0
- data/lib/stomp_server_ng/queue.rb +248 -0
- data/lib/stomp_server_ng/queue/activerecord_queue.rb +118 -0
- data/lib/stomp_server_ng/queue/ar_message.rb +21 -0
- data/lib/stomp_server_ng/queue/ar_reconnect.rb +18 -0
- data/lib/stomp_server_ng/queue/dbm_queue.rb +72 -0
- data/lib/stomp_server_ng/queue/file_queue.rb +56 -0
- data/lib/stomp_server_ng/queue/memory_queue.rb +64 -0
- data/lib/stomp_server_ng/queue_manager.rb +302 -0
- data/lib/stomp_server_ng/stomp_auth.rb +26 -0
- data/lib/stomp_server_ng/stomp_frame.rb +32 -0
- data/lib/stomp_server_ng/stomp_frame_recognizer.rb +77 -0
- data/lib/stomp_server_ng/stomp_id.rb +32 -0
- data/lib/stomp_server_ng/stomp_user.rb +17 -0
- data/lib/stomp_server_ng/test_server.rb +21 -0
- data/lib/stomp_server_ng/topic_manager.rb +46 -0
- data/setup.rb +1585 -0
- data/stompserver_ng.gemspec +136 -0
- data/test/devserver/props.yaml +5 -0
- data/test/devserver/runserver.sh +16 -0
- data/test/devserver/stompserver_ng.dbm.conf +12 -0
- data/test/devserver/stompserver_ng.file.conf +12 -0
- data/test/devserver/stompserver_ng.memory.conf +12 -0
- data/test/noserver/mocklogger.rb +12 -0
- data/test/noserver/test_queue_manager.rb +134 -0
- data/test/noserver/test_stomp_frame.rb +138 -0
- data/test/noserver/test_topic_manager.rb +79 -0
- data/test/noserver/ts_all_no_server.rb +12 -0
- data/test/props.yaml +5 -0
- data/test/runalltests.sh +14 -0
- data/test/runtest.sh +4 -0
- data/test/test_0000_base.rb +107 -0
- data/test/test_0001_conn.rb +47 -0
- data/test/test_0002_conn_sr.rb +94 -0
- data/test/test_0006_client.rb +41 -0
- data/test/test_0011_send_recv.rb +74 -0
- data/test/test_0015_ack_conn.rb +78 -0
- data/test/test_0017_ack_client.rb +78 -0
- data/test/test_0019_ack_no_ack.rb +145 -0
- data/test/test_0022_ack_noack_conn.rb +123 -0
- data/test/test_0030_subscr_id.rb +44 -0
- data/test/test_0040_receipt_conn.rb +87 -0
- data/test/ts_all_server.rb +10 -0
- metadata +196 -0
data/History.txt
ADDED
@@ -0,0 +1,159 @@
|
|
1
|
+
== 1.0.6 / 21 Apr 2011
|
2
|
+
|
3
|
+
* Change tests to use 'publish' not 'send'
|
4
|
+
* Fix broken tests under Ruby 1.9.1p180
|
5
|
+
* Handle subscriptions when 'id' header is specified
|
6
|
+
|
7
|
+
== 1.0.5 / 14 Mar 2011
|
8
|
+
|
9
|
+
* Correct exception during unsubscribe
|
10
|
+
* Replace 'hoe' with 'jeweler'
|
11
|
+
|
12
|
+
== 1.0.4 / 24 Dec 2010
|
13
|
+
|
14
|
+
* Use EM::epoll if available
|
15
|
+
* Refactor, remove unused methods
|
16
|
+
* Refactor, move recognizer and monitor to separate files
|
17
|
+
* Use hanna style docs only if hanna is present
|
18
|
+
* Smoke tested under Ruby 1.9.2p80 (2010-12-02 revision 30049) [i686-linux]
|
19
|
+
|
20
|
+
== 1.0.3 / 01 Jun 2010
|
21
|
+
|
22
|
+
* Add tested support for activerecord message stores with examples.
|
23
|
+
* Limit log message size for 'large' messages.
|
24
|
+
* Clarify some documentation.
|
25
|
+
* Add more publish / receive tests, remove duplicate tests.
|
26
|
+
* Update manifest with new file names.
|
27
|
+
* Update gemspec with new file names.
|
28
|
+
|
29
|
+
== 1.0.2 / 14 May 2010
|
30
|
+
|
31
|
+
* Continue to fix incompatabilities uncovered with gem rename.
|
32
|
+
* Add session IDs to all log messages.
|
33
|
+
* Remove some duplicate tests.
|
34
|
+
|
35
|
+
== 1.0.1 / 25 Apr 2010
|
36
|
+
|
37
|
+
* Ensure stompserver_ng and the older stompserver gems can coexist.
|
38
|
+
|
39
|
+
== 1.0.0 / 24 Apr 2010
|
40
|
+
|
41
|
+
* Rename the ruby gem.
|
42
|
+
* Start new versioning methodology.
|
43
|
+
|
44
|
+
== 0.9.9.2010.01.15.00 / 15 Jan 2010
|
45
|
+
|
46
|
+
* Refactor and correct tests.
|
47
|
+
* Correct lead sequence of config files.
|
48
|
+
* Fix send receipt sequencing bug
|
49
|
+
* Fix exceptions with no config file command line overide
|
50
|
+
* Fix problems with sysvinit script
|
51
|
+
* Change some messages to warn level
|
52
|
+
|
53
|
+
== 0.9.9.2010.01.08.00 / 08 Jan 2010
|
54
|
+
|
55
|
+
* Override server and/or port from tests.
|
56
|
+
* Fix one more 1.9 compatability issue during shutdown.
|
57
|
+
* Fix counts reported by monitor with ack => client.
|
58
|
+
|
59
|
+
== 0.9.9.2010.01.02.00 / 02 Jan 2010
|
60
|
+
|
61
|
+
* Fix server crashes when no ACK received.
|
62
|
+
* Tests for same.
|
63
|
+
* Handle SIGTERM.
|
64
|
+
|
65
|
+
== 0.9.9.2010.01.01.00 / 01 Jan 2010
|
66
|
+
|
67
|
+
* Some fixes for 'ack' => 'client' processing. The first step down this road.
|
68
|
+
* Tests for same. Tests are intermittently unstable due to previously unseen problems.
|
69
|
+
* Some fixes around session ID cache handling.
|
70
|
+
* Cleaner creation of the .pid file at startup.
|
71
|
+
* Sample sysvinit boot scripts - very primitive.
|
72
|
+
|
73
|
+
== 0.9.9.2009.12.27.00 / 27 Dec 2009
|
74
|
+
|
75
|
+
* Add session ID management
|
76
|
+
* Refactor stomp protocol class code
|
77
|
+
|
78
|
+
== 0.9.9.2009.12.25.00 / 25 Dec 2009
|
79
|
+
|
80
|
+
* Consolidate start messaging to a single class
|
81
|
+
* Log all runtime values
|
82
|
+
* Eliminate r19 subdirectory artifacts
|
83
|
+
* Remove -d / --debug as the default for the test server
|
84
|
+
* Remove references to $DEBUG in the protocol handler
|
85
|
+
|
86
|
+
== 0.9.9.2009.12.21.00 / 21 Dec 2009
|
87
|
+
|
88
|
+
* Fix 1.9.0 compatability issues
|
89
|
+
* Event machine dependency is 0.12.0
|
90
|
+
* Fix mismatches between command line and configuration file parameters
|
91
|
+
|
92
|
+
== 0.9.9.2009121900 / 19 Dec 2009
|
93
|
+
|
94
|
+
* Ruby 1.9 compatability
|
95
|
+
* Use standard ruby logger instead of puts
|
96
|
+
|
97
|
+
== 0.9.9 / 31 Jan 2008
|
98
|
+
|
99
|
+
* Fix for non-memory backends with empty queues
|
100
|
+
* Fix for queue monitoring
|
101
|
+
* Use atomic checkpoint, write to a new file and then rename it into
|
102
|
+
place to avoid incomplete qinfo files being written
|
103
|
+
* add configuration parameter for checkpoint time for better performance
|
104
|
+
with large queues
|
105
|
+
|
106
|
+
== 0.9.8 / 16 Aug 2007
|
107
|
+
|
108
|
+
* Several storage backends instead of Madeleine (allow tradeoffs between
|
109
|
+
robustness with ActiveRecord and speed with memory with intermediary
|
110
|
+
solutions based on file or dbm storages).
|
111
|
+
* Better load distribution between clients acknowledging messages after
|
112
|
+
processing them.
|
113
|
+
* Monitoring support through a dedicated queue.
|
114
|
+
|
115
|
+
== 0.9.5 / 18 Oct 2006
|
116
|
+
|
117
|
+
* Removed eventmachine dependency in the gem
|
118
|
+
you still need eventmachine, but you can choose between
|
119
|
+
eventmachine and eventmachine-win32, not sure how to put
|
120
|
+
that in the gem.
|
121
|
+
|
122
|
+
Also made another minor fix to the stompserver binary.
|
123
|
+
|
124
|
+
== 0.9.4 / 17 Oct 2006
|
125
|
+
|
126
|
+
* Cleanup (wow I was tired last night)
|
127
|
+
* Tested under Linux, added require 'rubygems'
|
128
|
+
* Fixed stompserver binary - it now works and takes a few simple command args
|
129
|
+
* Fixed up minor (tesly) test syntax issues
|
130
|
+
|
131
|
+
== 0.9.3 / 16 Oct 2006
|
132
|
+
|
133
|
+
* Last one tonight I promise
|
134
|
+
* Fixed incorrect gem requirement version on eventmachine
|
135
|
+
* Fixed stompserver cmd added by gem
|
136
|
+
|
137
|
+
== 0.9.2 / 16 Oct 2006
|
138
|
+
|
139
|
+
* More Queue issues resolved
|
140
|
+
* Added more unit tests
|
141
|
+
* All tests pass
|
142
|
+
* Queue processing done in one large batch, this may change
|
143
|
+
|
144
|
+
== 0.9.1 / 16 Oct 2006
|
145
|
+
|
146
|
+
* Stepping along
|
147
|
+
* Fixed release issues
|
148
|
+
* Fixed queue logic error (failed to detect offlines)
|
149
|
+
|
150
|
+
== 0.9.0 / 16 Oct 2006
|
151
|
+
|
152
|
+
* Initialial Beta Release
|
153
|
+
* Seems to work
|
154
|
+
* Passes numerous test cases
|
155
|
+
* Journals using madeleine
|
156
|
+
* Needs documentaion
|
157
|
+
* Needs to command line processing
|
158
|
+
* Needs service/daemon options4
|
159
|
+
|
data/Manifest.txt
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
History.txt
|
2
|
+
Manifest.txt
|
3
|
+
README.txt
|
4
|
+
Rakefile
|
5
|
+
STATUS
|
6
|
+
bin/stompserver_ng
|
7
|
+
client/README.txt
|
8
|
+
client/both.rb
|
9
|
+
client/consume.rb
|
10
|
+
client/send.rb
|
11
|
+
config/stompserver_ng.conf
|
12
|
+
etc/19xcompat/notes.txt
|
13
|
+
etc/arutils/README-activerecord.txt
|
14
|
+
etc/arutils/cre_mysql.rb
|
15
|
+
etc/arutils/cre_postgres.rb
|
16
|
+
etc/arutils/cre_sqlite3.rb
|
17
|
+
etc/arutils/mysql_boot.sql
|
18
|
+
etc/arutils/postgres_boot.sql
|
19
|
+
etc/database.mysql.yml
|
20
|
+
etc/database.postgres.yml
|
21
|
+
etc/passwd.example
|
22
|
+
etc/ppqinfo.rb
|
23
|
+
etc/runserver.sh
|
24
|
+
etc/stompserver_ng
|
25
|
+
etc/stompserver_ng.conf
|
26
|
+
lib/stomp_server_ng.rb
|
27
|
+
lib/stomp_server_ng/protocols/http.rb
|
28
|
+
lib/stomp_server_ng/protocols/stomp.rb
|
29
|
+
lib/stomp_server_ng/qmonitor.rb
|
30
|
+
lib/stomp_server_ng/queue.rb
|
31
|
+
lib/stomp_server_ng/queue/activerecord_queue.rb
|
32
|
+
lib/stomp_server_ng/queue/ar_message.rb
|
33
|
+
lib/stomp_server_ng/queue/ar_reconnect.rb
|
34
|
+
lib/stomp_server_ng/queue/dbm_queue.rb
|
35
|
+
lib/stomp_server_ng/queue/file_queue.rb
|
36
|
+
lib/stomp_server_ng/queue/memory_queue.rb
|
37
|
+
lib/stomp_server_ng/queue_manager.rb
|
38
|
+
lib/stomp_server_ng/stomp_auth.rb
|
39
|
+
lib/stomp_server_ng/stomp_frame.rb
|
40
|
+
lib/stomp_server_ng/stomp_frame_recognizer.rb
|
41
|
+
lib/stomp_server_ng/stomp_id.rb
|
42
|
+
lib/stomp_server_ng/stomp_user.rb
|
43
|
+
lib/stomp_server_ng/test_server.rb
|
44
|
+
lib/stomp_server_ng/topic_manager.rb
|
45
|
+
setup.rb
|
46
|
+
stompserver_ng.gemspec
|
47
|
+
test/devserver/props.yaml
|
48
|
+
test/devserver/runserver.sh
|
49
|
+
test/devserver/stompserver_ng.dbm.conf
|
50
|
+
test/devserver/stompserver_ng.file.conf
|
51
|
+
test/devserver/stompserver_ng.memory.conf
|
52
|
+
test/noserver/mocklogger.rb
|
53
|
+
test/noserver/test_queue_manager.rb
|
54
|
+
test/noserver/test_stomp_frame.rb
|
55
|
+
test/noserver/test_topic_manager.rb
|
56
|
+
test/noserver/ts_all_no_server.rb
|
57
|
+
test/props.yaml
|
58
|
+
test/runalltests.sh
|
59
|
+
test/runtest.sh
|
60
|
+
test/test_0000_base.rb
|
61
|
+
test/test_0001_conn.rb
|
62
|
+
test/test_0002_conn_sr.rb
|
63
|
+
test/test_0006_client.rb
|
64
|
+
test/test_0011_send_recv.rb
|
65
|
+
test/test_0015_ack_conn.rb
|
66
|
+
test/test_0017_ack_client.rb
|
67
|
+
test/test_0019_ack_no_ack.rb
|
68
|
+
test/test_0022_ack_noack_conn.rb
|
69
|
+
test/test_0030_subscr_id.rb
|
70
|
+
test/test_0040_receipt_conn.rb
|
71
|
+
test/ts_all_server.rb
|
data/README.txt
ADDED
@@ -0,0 +1,172 @@
|
|
1
|
+
== DESCRIPTION:
|
2
|
+
|
3
|
+
Stomp messaging server with file/dbm/memory/activerecord based FIFO
|
4
|
+
queues, queue monitoring, and basic authentication.
|
5
|
+
|
6
|
+
== SYNOPSYS:
|
7
|
+
|
8
|
+
Handles basic message queue processing
|
9
|
+
|
10
|
+
== REQUIREMENTS:
|
11
|
+
|
12
|
+
* EventMachine
|
13
|
+
|
14
|
+
== FEATURES/PROBLEMS:
|
15
|
+
|
16
|
+
=== Several queue storage backends
|
17
|
+
|
18
|
+
Handles basic message queue processing using memory, file, or dbm
|
19
|
+
based queues. Messages are sent and consumed in FIFO order (unless a
|
20
|
+
client error happens, this should be corrected in the future). Topics
|
21
|
+
are memory-only storage. You can select activerecord, file or dbm
|
22
|
+
storage and the queues will use that, but topics will only be stored
|
23
|
+
in memory.
|
24
|
+
|
25
|
+
memory queues are of course the fastest ones but shouldn't be used if
|
26
|
+
you want to ensure all messages are delivered.
|
27
|
+
|
28
|
+
dbm queues will use berkeleydb if available, otherwise dbm or gdbm
|
29
|
+
depending on the platform. sdbm does not work well with marshalled
|
30
|
+
data. Note that these queues have not been tested in this release.
|
31
|
+
|
32
|
+
For the file based storage, each frame is stored in a single file. The
|
33
|
+
first 8 bytes contains the header length, the next 8 bytes contains
|
34
|
+
the body length, then the headers are stored as a marshalled object
|
35
|
+
followed by the body stored as a string. This storage is currently
|
36
|
+
inefficient because queues are stored separately from messages, which
|
37
|
+
forces a double write for data safety reasons on each message stored.
|
38
|
+
|
39
|
+
The activerecord based storage expects to find a database.yml file in
|
40
|
+
the configuration directory. It should be the most robust backend, but
|
41
|
+
the slowest one. The database must have an ar_messages table which can
|
42
|
+
be created with the following code (you are responsible to do so):
|
43
|
+
|
44
|
+
ActiveRecord::Schema.define do
|
45
|
+
create_table 'ar_messages' do |t|
|
46
|
+
t.column 'stomp_id', :string, :null => false
|
47
|
+
t.column 'frame', :text, :null => false
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
You can read the frames with this model:
|
52
|
+
|
53
|
+
class ArMessage < ActiveRecord::Base
|
54
|
+
serialize :frame
|
55
|
+
end
|
56
|
+
|
57
|
+
The ar_message implementation will certainly change in the future.
|
58
|
+
|
59
|
+
This is meant to be easily readable by a Rails application (which
|
60
|
+
could handle the ar_messages table creation with a migration).
|
61
|
+
|
62
|
+
=== Limitations
|
63
|
+
|
64
|
+
Stompserver not support any server to server messaging (although you could
|
65
|
+
write a client to do this).
|
66
|
+
|
67
|
+
=== Monitoring
|
68
|
+
|
69
|
+
Queues can be monitored via the monitor queue (this will probably not
|
70
|
+
be supported this way in the future to avoid polluting the queue
|
71
|
+
namespace). If you subscribe to /queue/monitor, you will receive a
|
72
|
+
status message every 5 seconds that displays each queue, it's size,
|
73
|
+
frames enqueued, and frames dequeued. Stats are sent in the same
|
74
|
+
format of stomp headers, so they are easy to parse. Following is an
|
75
|
+
example of a status message containing stats for 2 queues:
|
76
|
+
|
77
|
+
Queue: /queue/client2
|
78
|
+
size: 0
|
79
|
+
dequeued: 400
|
80
|
+
enqueued: 400
|
81
|
+
|
82
|
+
Queue: /queue/test
|
83
|
+
size: 50
|
84
|
+
dequeued: 250
|
85
|
+
enqueued: 300
|
86
|
+
|
87
|
+
=== Access control
|
88
|
+
|
89
|
+
Basic client authorization is also supported. If the -a flag is
|
90
|
+
passed to stompserver_ng on startup, and a .passwd file exists in the run
|
91
|
+
directory, then clients will be required to provide a valid login and
|
92
|
+
passcode. See passwd.example for the password file format.
|
93
|
+
|
94
|
+
=== Misc
|
95
|
+
|
96
|
+
Whenever you stop the server, any queues with no messages will be
|
97
|
+
removed, and the stats for that queue will be reset. If the queue has
|
98
|
+
any messages remaining then the stats will be saved and available on
|
99
|
+
the next restart.
|
100
|
+
|
101
|
+
== INSTALL:
|
102
|
+
|
103
|
+
* gem install stompserver_ng
|
104
|
+
|
105
|
+
stompserver_ng will create a log, etc, and storage directory on startup
|
106
|
+
in your current working directory, the value passed to as
|
107
|
+
--working_dir parameter, or if using a config file it will
|
108
|
+
use what you specified for working_dir. The configuration file is a
|
109
|
+
yaml file and can be specified on the command line with -C
|
110
|
+
<configfile>. A sample is provided in config/stompserver.conf.
|
111
|
+
|
112
|
+
Command line options will override options set in the yaml config
|
113
|
+
file.
|
114
|
+
|
115
|
+
To use the memory queue run as follows:
|
116
|
+
stompserver_ng -p 61613 -b 0.0.0.0
|
117
|
+
|
118
|
+
To use the file or dbm queue storage, use the -q switch and specificy
|
119
|
+
either file or dbm. The file and dbm queues also take a storage
|
120
|
+
directory specified with -s. .stompserver is the default directory if
|
121
|
+
-s is not used.
|
122
|
+
stompserver_ng -p 61613 -b 0.0.0.0 -q file -s .stompfile
|
123
|
+
Or
|
124
|
+
stompserver_ng -p 61613 -b 0.0.0.0 -q dbm -s .stompbdb
|
125
|
+
|
126
|
+
To specify where the queue is stored on disk, use the -s flag followed
|
127
|
+
by a storage directory. To enable client authorization use -a, for
|
128
|
+
debugging use -d.
|
129
|
+
stompserver_ng -p 61613 -b 0.0.0.0 -q file -s .stompserver -a -d
|
130
|
+
|
131
|
+
You cannot use the same storage directory for a file and dbm queue,
|
132
|
+
they must be kept separate.
|
133
|
+
|
134
|
+
To use the activerecord queue storage use -q activerecord:
|
135
|
+
stompserver_ng -p 61613 -b 0.0.0.0 -q activerecord
|
136
|
+
It will try to read the etc/database.yml file in the working
|
137
|
+
directory. Here's an example of a database.yml for a PostgreSQL
|
138
|
+
database named stompserver on the 'dbserver' host usable by
|
139
|
+
PostgreSQL's user 'foo' with password 'bar'(see ActiveRecord's
|
140
|
+
documentation for the parameters needed by your database):
|
141
|
+
|
142
|
+
adapter: postgresql
|
143
|
+
database: stompserver
|
144
|
+
username: foo
|
145
|
+
password: bar
|
146
|
+
host: dbserver
|
147
|
+
|
148
|
+
== LICENSE:
|
149
|
+
|
150
|
+
(The MIT License)
|
151
|
+
|
152
|
+
Copyright (c) 2006 Patrick Hurley
|
153
|
+
Copyright (c) 2007 Lionel Bouton
|
154
|
+
|
155
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
156
|
+
a copy of this software and associated documentation files (the
|
157
|
+
'Software'), to deal in the Software without restriction, including
|
158
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
159
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
160
|
+
permit persons to whom the Software is furnished to do so, subject to
|
161
|
+
the following conditions:
|
162
|
+
|
163
|
+
The above copyright notice and this permission notice shall be
|
164
|
+
included in all copies or substantial portions of the Software.
|
165
|
+
|
166
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
167
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
168
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
169
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
170
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
171
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
172
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
#
|
3
|
+
require 'rubygems'
|
4
|
+
$LOAD_PATH << "./lib"
|
5
|
+
require 'stomp_server_ng'
|
6
|
+
#
|
7
|
+
begin
|
8
|
+
require 'jeweler'
|
9
|
+
Jeweler::Tasks.new do |gem|
|
10
|
+
gem.name = "stompserver_ng"
|
11
|
+
gem.version = StompServer::VERSION
|
12
|
+
gem.summary = 'A very light messaging server, next generation'
|
13
|
+
gem.description = 'STOMP Next Generation Ruby server.'
|
14
|
+
gem.homepage = 'http://github.com/gmallard/stompserver_ng'
|
15
|
+
gem.authors = ["Patrick Hurley",
|
16
|
+
"Lionel Bouton",
|
17
|
+
"snacktime",
|
18
|
+
"gyver",
|
19
|
+
"Mike Mangino",
|
20
|
+
"robl",
|
21
|
+
"gmallard" ]
|
22
|
+
gem.email = ["phurley-blocked@rubyforge.org",
|
23
|
+
"lionel-dev@bouton.name",
|
24
|
+
"snacktime@somewhere.com",
|
25
|
+
"gyver@somewhere.com",
|
26
|
+
"mmangino-blocked@rubyforge.org",
|
27
|
+
"robl@monkeyhelper.com",
|
28
|
+
"allard.guy.m@gmail.com" ]
|
29
|
+
#
|
30
|
+
gem.add_dependency "daemons", ">= 1.0.10"
|
31
|
+
gem.add_dependency "eventmachine", ">= 0.12.10"
|
32
|
+
gem.add_dependency "uuid", ">= 2.1.0"
|
33
|
+
end
|
34
|
+
Jeweler::GemcutterTasks.new
|
35
|
+
rescue LoadError
|
36
|
+
puts "Jeweler not available. Install it with: gem install jeweler"
|
37
|
+
end
|
38
|
+
|