desi 0.6.4 → 0.6.5
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.
- checksums.yaml +4 -4
- data/desi.gemspec +1 -0
- data/lib/desi/local_install.rb +16 -1
- data/lib/desi/process_manager.rb +20 -3
- data/lib/desi/runner.rb +6 -1
- data/lib/desi/upstream.rb +2 -1
- data/lib/desi/version.rb +1 -1
- data/spec/desi/index_manager_spec.rb +1 -1
- data/spec/desi/upstream_spec.rb +30 -0
- data/tasks/console.rake +8 -0
- metadata +20 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f68fa604db570820065691f9020d4d66b7c53aab
|
4
|
+
data.tar.gz: 2411c64577dc4280f95b95ec10964ef637b8fb15
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca300972e1b07658e55e37c5dc48c24ca9d7b523e5cc5b857b3097e6de1f33f106cff314d005b3afc6cb7969fadb1f36b92af6e871b5ef746ebd26782c52ebd6
|
7
|
+
data.tar.gz: 3941edfe968d9b5c130cecc451367f7194ea13791a1b9988a80eacd3fb40ad35d57c6986e2b93db6cdb6cc010066f866dd9bbbec090f55757db2a0cf27cabbc6
|
data/desi.gemspec
CHANGED
@@ -17,6 +17,7 @@ an Elastic Search local install for development purposes.}
|
|
17
17
|
gem.add_dependency "boson"
|
18
18
|
gem.add_dependency "cocaine", "~> 0.5.3"
|
19
19
|
gem.add_dependency "addressable"
|
20
|
+
gem.add_dependency "semantic", "~> 1.3.0"
|
20
21
|
|
21
22
|
gem.add_development_dependency "rake"
|
22
23
|
gem.add_development_dependency "rspec"
|
data/lib/desi/local_install.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
require "pathname"
|
4
|
+
require "semantic"
|
4
5
|
|
5
6
|
module Desi
|
6
7
|
class LocalInstall
|
@@ -26,7 +27,7 @@ module Desi
|
|
26
27
|
end
|
27
28
|
|
28
29
|
def version
|
29
|
-
@version ||= /^elasticsearch\-(?<version>.*)$/.match(name.to_s)[:version]
|
30
|
+
@version ||= Semantic::Version.new /^elasticsearch\-(?<version>.*)$/.match(name.to_s)[:version]
|
30
31
|
end
|
31
32
|
|
32
33
|
def to_s
|
@@ -39,6 +40,10 @@ module Desi
|
|
39
40
|
name <=> other.name
|
40
41
|
end
|
41
42
|
|
43
|
+
def pre_one_zero?
|
44
|
+
@pre_one_zero ||= (version < Semantic::Version.new("1.0.0-alpha"))
|
45
|
+
end
|
46
|
+
|
42
47
|
private
|
43
48
|
|
44
49
|
def current_symlink
|
@@ -48,6 +53,12 @@ module Desi
|
|
48
53
|
def current_symlink?
|
49
54
|
current_symlink.exist?
|
50
55
|
end
|
56
|
+
end # Release
|
57
|
+
|
58
|
+
|
59
|
+
def self.current_release_is_pre_one_zero?
|
60
|
+
current = new.current_release
|
61
|
+
current && current.pre_one_zero?
|
51
62
|
end
|
52
63
|
|
53
64
|
def initialize(workdir = nil, opts = {})
|
@@ -80,6 +91,10 @@ module Desi
|
|
80
91
|
Release.all_in(@workdir)
|
81
92
|
end
|
82
93
|
|
94
|
+
def current_release
|
95
|
+
releases.find {|r| r.current? }
|
96
|
+
end
|
97
|
+
|
83
98
|
def to_path
|
84
99
|
@workdir.to_s
|
85
100
|
end
|
data/lib/desi/process_manager.rb
CHANGED
@@ -27,6 +27,7 @@ module Desi
|
|
27
27
|
@host = opts.fetch(:host) { Desi.configuration.server }
|
28
28
|
@verbose = opts[:verbose]
|
29
29
|
@foreground = opts[:foreground]
|
30
|
+
@background = opts[:background]
|
30
31
|
@local_install = LocalInstall.new
|
31
32
|
@client = opts.fetch(:http_client_factory, Desi::HttpClient).new(@host)
|
32
33
|
|
@@ -213,7 +214,7 @@ module Desi
|
|
213
214
|
|
214
215
|
def cluster_ready?
|
215
216
|
begin
|
216
|
-
JSON.parse(@client.get('/').body)["
|
217
|
+
JSON.parse(@client.get('/').body)["status"] == 200
|
217
218
|
rescue
|
218
219
|
false
|
219
220
|
end
|
@@ -236,11 +237,23 @@ module Desi
|
|
236
237
|
end
|
237
238
|
|
238
239
|
def start_command_options
|
239
|
-
['-p :pidfile',
|
240
|
+
['-p :pidfile', foreground_or_background_flag].compact.join(' ')
|
241
|
+
end
|
242
|
+
|
243
|
+
def foreground_or_background_flag
|
244
|
+
if legacy_release?
|
245
|
+
!! @foreground ? '-f' : ''
|
246
|
+
else
|
247
|
+
!! @background ? '-d' : ''
|
248
|
+
end
|
240
249
|
end
|
241
250
|
|
242
251
|
def foreground?
|
243
|
-
|
252
|
+
if legacy_release?
|
253
|
+
!! @foreground
|
254
|
+
else
|
255
|
+
! @background
|
256
|
+
end
|
244
257
|
end
|
245
258
|
|
246
259
|
def tail_after_start?
|
@@ -260,5 +273,9 @@ module Desi
|
|
260
273
|
end
|
261
274
|
end
|
262
275
|
|
276
|
+
def legacy_release?
|
277
|
+
@legacy_release ||= Desi::LocalInstall.current_release_is_pre_one_zero?
|
278
|
+
end
|
279
|
+
|
263
280
|
end
|
264
281
|
end
|
data/lib/desi/runner.rb
CHANGED
@@ -12,7 +12,12 @@ module Desi
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def self.start_options
|
15
|
-
|
15
|
+
if Desi::LocalInstall.current_release_is_pre_one_zero?
|
16
|
+
option :foreground, type: :boolean, desc: "Run ES in the foreground", default: false
|
17
|
+
else
|
18
|
+
option :background, type: :boolean, desc: "Run ES in the background", default: false
|
19
|
+
end
|
20
|
+
|
16
21
|
option :tail, type: :boolean, desc: "Run tail after (re)starting", default: false
|
17
22
|
end
|
18
23
|
|
data/lib/desi/upstream.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require "desi/http_client"
|
4
4
|
require "json"
|
5
|
+
require "semantic"
|
5
6
|
|
6
7
|
module Desi
|
7
8
|
class Upstream
|
@@ -34,7 +35,7 @@ module Desi
|
|
34
35
|
protected
|
35
36
|
|
36
37
|
def sortable_version
|
37
|
-
|
38
|
+
@sortable_version ||= Semantic::Version.new(version.sub(%r{.(beta|alpha|rc)}i, '-\1'))
|
38
39
|
end
|
39
40
|
end
|
40
41
|
|
data/lib/desi/version.rb
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require "spec_helper"
|
3
|
+
require "desi/upstream"
|
4
|
+
|
5
|
+
describe Desi::Upstream::Release do
|
6
|
+
context "sort" do
|
7
|
+
let(:v1) { Desi::Upstream::Release.new("v1.0.0", "") }
|
8
|
+
let(:v09) { Desi::Upstream::Release.new("v0.90.10", "") }
|
9
|
+
|
10
|
+
it "sorts the v1.0.0 before v0.90.10" do
|
11
|
+
expect([v09, v1].sort).to eql([v1, v09])
|
12
|
+
end
|
13
|
+
|
14
|
+
it "sorts 1.0.0.RC2 before 1.0.0" do
|
15
|
+
expect([
|
16
|
+
Desi::Upstream::Release.new("v1.0.0.Beta1", ""),
|
17
|
+
Desi::Upstream::Release.new("v1.0.0.RC2", ""),
|
18
|
+
Desi::Upstream::Release.new("v1.0.0", ""),
|
19
|
+
Desi::Upstream::Release.new("v1.0.0.Beta2", ""),
|
20
|
+
Desi::Upstream::Release.new("v1.0.0.RC1", ""),
|
21
|
+
].sort).to eql([
|
22
|
+
Desi::Upstream::Release.new("v1.0.0", ""),
|
23
|
+
Desi::Upstream::Release.new("v1.0.0.RC2", ""),
|
24
|
+
Desi::Upstream::Release.new("v1.0.0.RC1", ""),
|
25
|
+
Desi::Upstream::Release.new("v1.0.0.Beta2", ""),
|
26
|
+
Desi::Upstream::Release.new("v1.0.0.Beta1", "")
|
27
|
+
])
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/tasks/console.rake
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: desi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dominique Rose-Rosette
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-02-
|
11
|
+
date: 2014-02-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: boson
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: semantic
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.3.0
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.3.0
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rake
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -185,7 +199,9 @@ files:
|
|
185
199
|
- lib/desi/upstream.rb
|
186
200
|
- lib/desi/version.rb
|
187
201
|
- spec/desi/index_manager_spec.rb
|
202
|
+
- spec/desi/upstream_spec.rb
|
188
203
|
- spec/spec_helper.rb
|
204
|
+
- tasks/console.rake
|
189
205
|
- tasks/spec.rake
|
190
206
|
- tasks/yard.rake
|
191
207
|
homepage: https://github.com/AF83/desi/
|
@@ -208,11 +224,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
208
224
|
version: '0'
|
209
225
|
requirements: []
|
210
226
|
rubyforge_project:
|
211
|
-
rubygems_version: 2.
|
227
|
+
rubygems_version: 2.0.13
|
212
228
|
signing_key:
|
213
229
|
specification_version: 4
|
214
230
|
summary: A developer tool to quickly set up an Elastic Search local install.
|
215
231
|
test_files:
|
216
232
|
- spec/desi/index_manager_spec.rb
|
233
|
+
- spec/desi/upstream_spec.rb
|
217
234
|
- spec/spec_helper.rb
|
218
235
|
has_rdoc:
|