volley 0.1.19 → 0.1.20
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +5 -0
- data/conf/common.volleyfile +9 -20
- data/lib/volley/publisher/base.rb +55 -18
- data/lib/volley/version.rb +1 -1
- data/spec/publisher_spec.rb +2 -8
- metadata +3 -3
data/CHANGELOG.md
CHANGED
data/conf/common.volleyfile
CHANGED
@@ -52,6 +52,11 @@ project :volley do
|
|
52
52
|
p = args.project
|
53
53
|
pub = Volley::Dsl.publisher
|
54
54
|
r = pub.latest_release(p)
|
55
|
+
list = pub.versions(p, "release")
|
56
|
+
list.each do |v|
|
57
|
+
f = pub.released_from(p, v) || "unknown" rescue "unknown"
|
58
|
+
puts " #{v} <= #{f}"
|
59
|
+
end
|
55
60
|
|
56
61
|
puts "latest '#{p}' release: #{r}"
|
57
62
|
end
|
@@ -133,30 +138,14 @@ project :volley do
|
|
133
138
|
|
134
139
|
plan :release do
|
135
140
|
argument :version, required: true
|
136
|
-
localfile = nil
|
137
|
-
reldesc = nil
|
138
|
-
tmpdir = "/var/tmp/volley-%d-%d-%05d" % [Time.now.to_i, $$, rand(99999)]
|
139
141
|
pub = Volley::Dsl.publisher
|
140
142
|
|
141
|
-
|
142
|
-
FileUtils.mkdir_p(tmpdir)
|
143
|
-
Dir.chdir(tmpdir)
|
144
|
-
end
|
145
|
-
action :download do
|
143
|
+
default do
|
146
144
|
desc = args.descriptor
|
147
145
|
to = args.version
|
148
|
-
|
149
|
-
|
150
|
-
(
|
151
|
-
localfile = pub.pull(p, b, v)
|
152
|
-
log "downloaded: #{localfile}"
|
153
|
-
end
|
154
|
-
action :release do
|
155
|
-
(p, b, v) = reldesc.get
|
156
|
-
pub.release(tmpdir, localfile, p, b, v)
|
157
|
-
end
|
158
|
-
action :cleanup do
|
159
|
-
FileUtils.remove_entry_secure(tmpdir)
|
146
|
+
old = desc.to_s
|
147
|
+
new = "#{desc.project}@release:#{to}"
|
148
|
+
pub.release(old, new)
|
160
149
|
end
|
161
150
|
end
|
162
151
|
|
@@ -3,7 +3,7 @@ module Volley
|
|
3
3
|
class Base
|
4
4
|
attr_accessor :force
|
5
5
|
|
6
|
-
def initialize(options={
|
6
|
+
def initialize(options={})
|
7
7
|
@options = {
|
8
8
|
:overwrite => false,
|
9
9
|
}.merge(options)
|
@@ -12,24 +12,24 @@ module Volley
|
|
12
12
|
@encrypted = optional(:encrypted, false)
|
13
13
|
@local = optional(:local, Volley.config.directory)
|
14
14
|
@loglevel = @debug ? :info : :debug
|
15
|
-
@latest = {
|
15
|
+
@latest = {}
|
16
16
|
@force = false
|
17
17
|
|
18
18
|
load_configuration
|
19
19
|
end
|
20
20
|
|
21
21
|
def list(&block)
|
22
|
-
hash = {
|
23
|
-
unsorted = {
|
22
|
+
hash = {}
|
23
|
+
unsorted = {}
|
24
24
|
plist = projects
|
25
25
|
plist.each do |p|
|
26
|
-
hash[p] = {
|
26
|
+
hash[p] = {}
|
27
27
|
blist = branches(p)
|
28
28
|
blist.each do |b|
|
29
|
-
hash[p][b] = {
|
29
|
+
hash[p][b] = {}
|
30
30
|
vlist = versions(p, b)
|
31
31
|
vlist.each do |v|
|
32
|
-
d
|
32
|
+
d = version_data(p, b, v)
|
33
33
|
hash[p][b][v] = d
|
34
34
|
unsorted["#{p}@#{b}:#{v}"] = d if d[:contents] && d[:contents].count > 0
|
35
35
|
end
|
@@ -82,6 +82,10 @@ module Volley
|
|
82
82
|
pull_file(project, "latest_release")
|
83
83
|
end
|
84
84
|
|
85
|
+
def released_from(project, version)
|
86
|
+
pull_file(dir(project, "release", version), "from")
|
87
|
+
end
|
88
|
+
|
85
89
|
def volleyfile(project, branch, version="latest")
|
86
90
|
d = dir(project, branch, version)
|
87
91
|
contents = pull_file(d, "Volleyfile")
|
@@ -125,25 +129,58 @@ module Volley
|
|
125
129
|
"#@local/#{dir}/#{file}"
|
126
130
|
end
|
127
131
|
|
128
|
-
def release(
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
+
def release(old, new)
|
133
|
+
odesc = Descriptor.new(old)
|
134
|
+
ndesc = Descriptor.new(new)
|
135
|
+
|
136
|
+
Dir.mktmpdir("volley-#{$$}", "/var/tmp") do |tmpdir|
|
137
|
+
Dir.chdir(tmpdir) do
|
138
|
+
(op, ob, ov) = odesc.get
|
139
|
+
(p, b, v) = ndesc.get
|
140
|
+
|
141
|
+
Volley::Log.debug "%% #{me}#release: #{odesc} => #{ndesc} (#{tmpdir})"
|
132
142
|
|
133
|
-
|
143
|
+
packed = "#{b}-#{v}.tgz"
|
144
|
+
dest = dir(p, b, v)
|
134
145
|
|
135
|
-
|
146
|
+
local = pull(op, ob, ov)
|
147
|
+
system("tar xfz #{local}")
|
136
148
|
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
149
|
+
files = Dir["**"]
|
150
|
+
cmd = "tar cfz #{packed} #{files.join(" ")}"
|
151
|
+
#Volley::Log.debug "-- command: #{cmd}"
|
152
|
+
system(cmd)
|
153
|
+
|
154
|
+
push_file(dest, packed, File.open(packed))
|
155
|
+
push_file(dest, "Volleyfile", File.open("Volleyfile")) if File.exists?("Volleyfile")
|
156
|
+
push_file(dest, "from", "#{op}/#{ob}/#{ov}")
|
157
|
+
push_file(dir(p, b), "latest", "#{p}/#{b}/#{v}")
|
158
|
+
push_file(p, "latest_release", "#{p}/#{b}/#{v}")
|
159
|
+
end
|
142
160
|
end
|
143
161
|
|
144
162
|
true
|
145
163
|
end
|
146
164
|
|
165
|
+
#def release(tmpdir, local, p, b, v)
|
166
|
+
# Dir.chdir(tmpdir) do
|
167
|
+
# packed = "#{b}-#{v}.tgz"
|
168
|
+
# dest = dir(p, b, v)
|
169
|
+
#
|
170
|
+
# system("tar xfz #{local}")
|
171
|
+
#
|
172
|
+
# files = Dir["**"]
|
173
|
+
#
|
174
|
+
# system("tar cfz #{packed} #{files.join(" ")}")
|
175
|
+
# push_file(dest, packed, File.open(packed))
|
176
|
+
# push_file(dest, "Volleyfile", File.open("Volleyfile")) if File.exists?("Volleyfile")
|
177
|
+
# push_file(dir(p, b), "latest", "#{p}/#{b}/#{v}")
|
178
|
+
# push_file(p, "latest_release", "#{p}/#{b}/#{v}")
|
179
|
+
# end
|
180
|
+
#
|
181
|
+
# true
|
182
|
+
#end
|
183
|
+
|
147
184
|
protected
|
148
185
|
|
149
186
|
def me
|
data/lib/volley/version.rb
CHANGED
data/spec/publisher_spec.rb
CHANGED
@@ -37,14 +37,8 @@ shared_examples_for Volley::Publisher::Base do
|
|
37
37
|
end
|
38
38
|
|
39
39
|
it "should be able to release an artifact" do
|
40
|
-
|
41
|
-
|
42
|
-
Dir.chdir(tmpdir) do
|
43
|
-
local = @pub.pull("spec", "trunk", "1")
|
44
|
-
expect(@pub.release(tmpdir, local, "spec", "release", "v1.0")).to be(true)
|
45
|
-
expect(@pub.versions("spec", "release")).to match_array(%w{v1.0})
|
46
|
-
end
|
47
|
-
FileUtils.remove_entry_secure(tmpdir)
|
40
|
+
expect(@pub.release("spec@trunk:1", "spec@release:v1.0")).to be(true)
|
41
|
+
expect(@pub.versions("spec", "release")).to match_array(%w{v1.0})
|
48
42
|
end
|
49
43
|
|
50
44
|
it "should be able to tell me the list of projects" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: volley
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.20
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -199,7 +199,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
199
199
|
version: '0'
|
200
200
|
segments:
|
201
201
|
- 0
|
202
|
-
hash:
|
202
|
+
hash: -2184208437167885640
|
203
203
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
204
204
|
none: false
|
205
205
|
requirements:
|
@@ -208,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
208
208
|
version: '0'
|
209
209
|
segments:
|
210
210
|
- 0
|
211
|
-
hash:
|
211
|
+
hash: -2184208437167885640
|
212
212
|
requirements: []
|
213
213
|
rubyforge_project:
|
214
214
|
rubygems_version: 1.8.24
|