zeus 0.13.3 → 0.13.4.pre
Sign up to get free protection for your applications and to get access to all the features.
- data/build/fsevents-wrapper +0 -0
- data/build/zeus-darwin-amd64 +0 -0
- data/build/zeus-linux-386 +0 -0
- data/build/zeus-linux-amd64 +0 -0
- data/ext/fsevents-wrapper/fsevents-wrapper +0 -0
- data/lib/zeus.rb +1 -1
- data/lib/zeus/rails.rb +14 -8
- data/lib/zeus/version.rb +1 -1
- data/man/build/zeus +10 -2
- data/man/build/zeus.txt +23 -13
- metadata +29 -21
- checksums.yaml +0 -7
data/build/fsevents-wrapper
CHANGED
Binary file
|
data/build/zeus-darwin-amd64
CHANGED
Binary file
|
data/build/zeus-linux-386
CHANGED
Binary file
|
data/build/zeus-linux-amd64
CHANGED
Binary file
|
Binary file
|
data/lib/zeus.rb
CHANGED
@@ -94,7 +94,7 @@ module Zeus
|
|
94
94
|
remote.close
|
95
95
|
sock.close
|
96
96
|
|
97
|
-
pid_and_arguments = local.recv(
|
97
|
+
pid_and_arguments = local.recv(2**16) # if starting client before boot slave is latched, we get stuck here. We also get stuck here in #182.
|
98
98
|
pid_and_arguments.chomp!("\0")
|
99
99
|
pid_and_arguments =~ /(.*?):(.*)/
|
100
100
|
client_pid, arguments = $1.to_i, $2
|
data/lib/zeus/rails.rb
CHANGED
@@ -33,6 +33,9 @@ module Zeus
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def _monkeypatch_rake
|
36
|
+
if version = gem_is_bundled?('rake')
|
37
|
+
gem 'rake', version
|
38
|
+
end
|
36
39
|
require 'rake/testtask'
|
37
40
|
Rake::TestTask.class_eval {
|
38
41
|
|
@@ -76,6 +79,7 @@ module Zeus
|
|
76
79
|
|
77
80
|
def boot
|
78
81
|
_monkeypatch_rake
|
82
|
+
$LOAD_PATH.unshift "./lib"
|
79
83
|
|
80
84
|
require BOOT_PATH
|
81
85
|
# config/application.rb normally requires 'rails/all'.
|
@@ -181,13 +185,13 @@ module Zeus
|
|
181
185
|
end
|
182
186
|
end
|
183
187
|
|
184
|
-
def test
|
185
|
-
if spec_file?(
|
188
|
+
def test(argv=ARGV)
|
189
|
+
if spec_file?(argv) && defined?(RSpec)
|
186
190
|
# disable autorun in case the user left it in spec_helper.rb
|
187
191
|
RSpec::Core::Runner.disable_autorun!
|
188
|
-
exit RSpec::Core::Runner.run(
|
192
|
+
exit RSpec::Core::Runner.run(argv)
|
189
193
|
else
|
190
|
-
Zeus::M.run(
|
194
|
+
Zeus::M.run(argv)
|
191
195
|
end
|
192
196
|
end
|
193
197
|
|
@@ -197,8 +201,8 @@ module Zeus
|
|
197
201
|
@cucumber_runtime = Cucumber::Runtime.new
|
198
202
|
end
|
199
203
|
|
200
|
-
def cucumber
|
201
|
-
cucumber_main = Cucumber::Cli::Main.new(
|
204
|
+
def cucumber(argv=ARGV)
|
205
|
+
cucumber_main = Cucumber::Cli::Main.new(argv.dup)
|
202
206
|
had_failures = cucumber_main.execute!(@cucumber_runtime)
|
203
207
|
exit_code = had_failures ? 1 : 0
|
204
208
|
exit exit_code
|
@@ -209,9 +213,11 @@ module Zeus
|
|
209
213
|
|
210
214
|
SPEC_DIR_REGEXP = %r"(^|/)spec"
|
211
215
|
SPEC_FILE_REGEXP = /.+_spec\.rb$/
|
216
|
+
|
212
217
|
def spec_file? argv
|
213
|
-
|
214
|
-
|
218
|
+
argv.any? do |arg|
|
219
|
+
arg.match(Regexp.union(SPEC_DIR_REGEXP, SPEC_FILE_REGEXP))
|
220
|
+
end
|
215
221
|
end
|
216
222
|
|
217
223
|
def restart_girl_friday
|
data/lib/zeus/version.rb
CHANGED
data/man/build/zeus
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "ZEUS" "1" "
|
4
|
+
.TH "ZEUS" "1" "May 2013" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBzeus\fR \- boot rails in under a second
|
8
8
|
.
|
9
9
|
.SH "SYNOPSIS"
|
10
|
-
\fBzeus\fR [\-\-no\-color] COMMAND [ARGS]
|
10
|
+
\fBzeus\fR [\-\-no\-color] [\-\-log FILE] [\-\-file\-change\-delay TIME] COMMAND [ARGS]
|
11
11
|
.
|
12
12
|
.SH "DESCRIPTION"
|
13
13
|
Zeus makes working with large codebases much less painful\.
|
@@ -45,6 +45,14 @@ See \fBhttps://github\.com/burke/zeus/blob/master/docs/overview\.md\fR
|
|
45
45
|
\fB\-\-no\-color\fR
|
46
46
|
Prints all output without color
|
47
47
|
.
|
48
|
+
.TP
|
49
|
+
\fB\-\-log\fR trace\-log\-name
|
50
|
+
Prints process tree state details to the log file specified\.
|
51
|
+
.
|
52
|
+
.TP
|
53
|
+
\fB\-\-file\-change\-delay\fR delay
|
54
|
+
Collect all file changes that happen within the specified delay time and restart processes only after this deadline expires\. The argument must be parseable by time\.ParseDuration\. The default delay is 300ms\.
|
55
|
+
.
|
48
56
|
.SH "BUILTIN COMMANDS"
|
49
57
|
.
|
50
58
|
.TP
|
data/man/build/zeus.txt
CHANGED
@@ -6,12 +6,13 @@ NAME
|
|
6
6
|
zeus - boot rails in under a second
|
7
7
|
|
8
8
|
SYNOPSIS
|
9
|
-
zeus
|
9
|
+
zeus [--no-color] [--log FILE] [--file-change-delay TIME] COMMAND
|
10
|
+
[ARGS]
|
10
11
|
|
11
12
|
DESCRIPTION
|
12
13
|
Zeus makes working with large codebases much less painful.
|
13
14
|
|
14
|
-
To
|
15
|
+
To use Zeus with Ruby on Rails 3.0+, Just run zeus start in your
|
15
16
|
project directory. It will output a list of available commands, includ-
|
16
17
|
ing tasks to spawn consoles, servers, tests, and rake tasks.
|
17
18
|
|
@@ -20,26 +21,26 @@ DESCRIPTION
|
|
20
21
|
and adding custom tasks.
|
21
22
|
|
22
23
|
SLIGHTLY MORE TECHNICAL DESCRIPTION
|
23
|
-
Zeus
|
24
|
+
Zeus is a language-agnostic application checkpointer for non-multi-
|
24
25
|
threaded applications.
|
25
26
|
|
26
|
-
It
|
27
|
-
application
|
28
|
-
work
|
29
|
-
multithreaded
|
27
|
+
It is primarily targeted at ruby and other dynamic languages, where
|
28
|
+
application boot time can be tens of seconds, but it can be made to
|
29
|
+
work for nearly any language. However, zeus does not work well with
|
30
|
+
multithreaded applications. It relies heavily on fork(2), which is
|
30
31
|
largely incompatible with multithreaded systems.
|
31
32
|
|
32
|
-
Currently
|
33
|
+
Currently only ruby is targeted, but support for other languages is
|
33
34
|
planned.
|
34
35
|
|
35
|
-
Zeus
|
36
|
-
background.
|
36
|
+
Zeus lets you define common tasks, and preloads all of them in the
|
37
|
+
background. When you ask to run them, zeus transparently connects your
|
37
38
|
terminal to the already-running process in milliseconds.
|
38
39
|
|
39
|
-
This
|
40
|
+
This lets you, for example, run unit tests in dozens of milliseconds,
|
40
41
|
rather than dozens of seconds.
|
41
42
|
|
42
|
-
Zeus
|
43
|
+
Zeus also monitors all files loaded by your application, and restarts
|
43
44
|
parts of it when dependencies change, to keep everything up-to-date.
|
44
45
|
|
45
46
|
WAY MORE TECHNICAL DESCRIPTION
|
@@ -49,6 +50,15 @@ OPTIONS
|
|
49
50
|
--no-color
|
50
51
|
Prints all output without color
|
51
52
|
|
53
|
+
--log trace-log-name
|
54
|
+
Prints process tree state details to the log file specified.
|
55
|
+
|
56
|
+
--file-change-delay delay
|
57
|
+
Collect all file changes that happen within the specified delay
|
58
|
+
time and restart processes only after this deadline expires. The
|
59
|
+
argument must be parseable by time.ParseDuration. The default
|
60
|
+
delay is 300ms.
|
61
|
+
|
52
62
|
BUILTIN COMMANDS
|
53
63
|
zeus start(1) zeus-start.1.html
|
54
64
|
Start a zeus server in the current directory using zeus.json
|
@@ -62,4 +72,4 @@ BUILTIN COMMANDS
|
|
62
72
|
|
63
73
|
|
64
74
|
|
65
|
-
|
75
|
+
May 2013 ZEUS(1)
|
metadata
CHANGED
@@ -1,57 +1,64 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zeus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: 7
|
5
|
+
version: 0.13.4.pre
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Burke Libbey
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-
|
12
|
+
date: 2013-05-21 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
|
-
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
15
|
+
version_requirements: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 2.12.0
|
20
|
+
none: false
|
21
|
+
name: rspec
|
20
22
|
type: :development
|
21
23
|
prerelease: false
|
22
|
-
|
24
|
+
requirement: !ruby/object:Gem::Requirement
|
23
25
|
requirements:
|
24
26
|
- - ~>
|
25
27
|
- !ruby/object:Gem::Version
|
26
28
|
version: 2.12.0
|
29
|
+
none: false
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
|
-
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
31
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
32
|
requirements:
|
31
|
-
- - '>='
|
33
|
+
- - ! '>='
|
32
34
|
- !ruby/object:Gem::Version
|
33
35
|
version: 0.7.0
|
36
|
+
none: false
|
37
|
+
name: ronn
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
|
-
|
40
|
+
requirement: !ruby/object:Gem::Requirement
|
37
41
|
requirements:
|
38
|
-
- - '>='
|
42
|
+
- - ! '>='
|
39
43
|
- !ruby/object:Gem::Version
|
40
44
|
version: 0.7.0
|
45
|
+
none: false
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
|
-
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
47
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
48
|
requirements:
|
45
|
-
- - '>='
|
49
|
+
- - ! '>='
|
46
50
|
- !ruby/object:Gem::Version
|
47
51
|
version: 0.6.7
|
52
|
+
none: false
|
53
|
+
name: method_source
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
|
-
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
|
-
- - '>='
|
58
|
+
- - ! '>='
|
53
59
|
- !ruby/object:Gem::Version
|
54
60
|
version: 0.6.7
|
61
|
+
none: false
|
55
62
|
description: Boot any rails app in under a second
|
56
63
|
email:
|
57
64
|
- burke@libbey.me
|
@@ -96,26 +103,27 @@ files:
|
|
96
103
|
homepage: http://zeus.is
|
97
104
|
licenses:
|
98
105
|
- MIT
|
99
|
-
metadata: {}
|
100
106
|
post_install_message:
|
101
107
|
rdoc_options: []
|
102
108
|
require_paths:
|
103
109
|
- lib
|
104
110
|
required_ruby_version: !ruby/object:Gem::Requirement
|
105
111
|
requirements:
|
106
|
-
- - '>='
|
112
|
+
- - ! '>='
|
107
113
|
- !ruby/object:Gem::Version
|
108
114
|
version: '0'
|
115
|
+
none: false
|
109
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
117
|
requirements:
|
111
|
-
- - '
|
118
|
+
- - ! '>'
|
112
119
|
- !ruby/object:Gem::Version
|
113
|
-
version:
|
120
|
+
version: 1.3.1
|
121
|
+
none: false
|
114
122
|
requirements: []
|
115
123
|
rubyforge_project:
|
116
|
-
rubygems_version:
|
124
|
+
rubygems_version: 1.8.23
|
117
125
|
signing_key:
|
118
|
-
specification_version:
|
126
|
+
specification_version: 3
|
119
127
|
summary: Zeus is an intelligent preloader for ruby applications. It allows normal
|
120
128
|
development tasks to be run in a fraction of a second.
|
121
129
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: d5c63a6c2672448f4275dd816fa3cfef7b4ca423
|
4
|
-
data.tar.gz: 0c9f681be244fd7c9daa9fd2e0703c38f7834732
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 8560fac929d0a44fc1eca6800fa1172cd7bc93250637911d46500d1afed89ecb53957d70318d904134b8816b54efa7b09427819f8cc1e49d0baf95696bc9eeb2
|
7
|
-
data.tar.gz: c29ace54114e589a6569d5d7126fbe6ae0faac77b666cc46db1e361a1ea341ba5d1ef7312a3259e3e0bd6e37fa0cb410373fe7536d1077dec2a46ba8647d66c8
|