volley 0.1.21 → 0.1.23

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.
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ ruby-1.9.3-p286@volley
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.1.22:
4
+ * add support for deleting branches and versions
5
+ * ruby version file
6
+
7
+ ## v0.1.21:
8
+ * use common regex for descriptor checks and processing
9
+
3
10
  ## v0.1.20:
4
11
  * better support for publisher#release and volley:released plan. should now be able to see which version a release is from
5
12
 
@@ -15,7 +15,7 @@ project :volley do
15
15
  Volley::Log.info "SCM:"
16
16
  Volley::Log.info ".. branch: #{source.branch} revision: #{source.revision}" if source
17
17
  Volley::Log.info "Projects/Plans:"
18
- Volley::Dsl::Project.projects.reject { |k, _| k==:volley }.each do |p, project|
18
+ Volley::Dsl::Project.projects.reject { |k, _| [:volley, :release, :project, :branch, :version].include?(k) }.each do |p, project|
19
19
  h = project.plans
20
20
  next unless h.count > 0
21
21
  h.keys.each do |pl|
@@ -28,10 +28,10 @@ project :volley do
28
28
  plan :list, :remote => false do
29
29
  default do
30
30
  Volley::Dsl::Project.projects.each do |p, project|
31
- Volley::Log.info "project: #{p}"
32
31
  project.plans.each do |pl, plan|
33
- Volley::Log.info ".. #{pl} #{plan.usage}"
32
+ Volley::Log.info "#{p}:#{pl} #{plan.usage}"
34
33
  end
34
+ Volley::Log.info ""
35
35
  end
36
36
  end
37
37
  end
@@ -69,7 +69,7 @@ project :volley do
69
69
  default do
70
70
  (project, branch, version) = args.descriptor.get
71
71
 
72
- pub = Volley::Dsl.publisher
72
+ pub = Volley::Dsl.publisher
73
73
  data = []
74
74
  if args.all
75
75
  data = pub.all.keys.reject { |e| e =~ /latest$/ }
@@ -162,7 +162,127 @@ project :volley do
162
162
  plan :exists, :remote => false do
163
163
  default do
164
164
  (project, branch, version) = args.descriptor.get
165
- pub = Volley::Dsl.publisher
165
+ pub = Volley::Dsl.publisher
166
+ if project && branch && version != "latest"
167
+ if pub.exists?(project, branch, version)
168
+ Volley::Log.warn "#{args.descriptor} exists"
169
+ else
170
+ Volley::Log.warn "#{args.descriptor} does not exist"
171
+ raise "#{args.descriptor} does not exist"
172
+ end
173
+ else
174
+ Volley::Log.error "must specify full descriptor"
175
+ stop
176
+ end
177
+ end
178
+ end
179
+ end
180
+
181
+ project :release do
182
+ plan :create do
183
+ argument :version, required: true
184
+
185
+ default do
186
+ pub = Volley::Dsl.publisher
187
+ desc = args.descriptor
188
+ to = args.version
189
+ old = desc.to_s
190
+ new = "#{desc.project}@release:#{to}"
191
+ pub.release(old, new)
192
+ end
193
+ end
194
+
195
+ plan :list, remote: false do
196
+ argument :project, required: true
197
+ default do
198
+ p = args.project
199
+ pub = Volley::Dsl.publisher
200
+ r = pub.latest_release(p)
201
+ list = pub.versions(p, "release")
202
+ list.each do |v|
203
+ f = pub.released_from(p, v) || "unknown" rescue "unknown"
204
+ puts " #{v} <= #{f}"
205
+ end
206
+
207
+ puts "latest '#{p}' release: #{r}"
208
+ end
209
+ end
210
+ end
211
+
212
+ project :project do
213
+ plan :list, remote: false do
214
+ default do
215
+ pub = Volley::Dsl.publisher
216
+ pub.projects.each do |p|
217
+ Volley::Log.warn p
218
+ end
219
+ end
220
+ end
221
+ plan :remove, remote: false do
222
+ argument :name, required: true
223
+ #argument :force, default: false, convert: :boolean
224
+ default do
225
+ pub = Volley::Dsl.publisher
226
+ if args.force
227
+ Volley::Log.debug "removing project: #{args.name}"
228
+ pub.delete_project(args.name)
229
+ else
230
+ Volley::Log.warn "this process cannot be undone, if you are sure, run the same command with -F"
231
+ end
232
+ end
233
+ end
234
+ end
235
+
236
+ project :branch do
237
+ plan :list, remote: false do
238
+ argument :project, required: true
239
+ default do
240
+ Volley::Dsl.publisher.branches(args.project).each do |b|
241
+ Volley::Log.warn "#{args.project}@#{b}"
242
+ end
243
+ end
244
+ end
245
+ plan :remove do
246
+ default do
247
+ pub = Volley::Dsl.publisher
248
+ p = args.descriptor.project
249
+ b = args.descriptor.branch
250
+ if args.force
251
+ Volley::Log.debug "removing branch: #{p}@#{b}"
252
+ pub.delete_branch(p, b)
253
+ else
254
+ Volley::Log.warn "this process cannot be undone, if you are sure, run the same command with -F"
255
+ end
256
+ end
257
+ end
258
+ end
259
+
260
+ project :version do
261
+ plan :list do
262
+ default do
263
+ p = args.descriptor.project
264
+ b = args.descriptor.branch
265
+ Volley::Dsl.publisher.versions(p, b).each do |v|
266
+ Volley::Log.warn "#{p}@#{b}:#{v}"
267
+ end
268
+ end
269
+ end
270
+ plan :remove do
271
+ default do
272
+ pub = Volley::Dsl.publisher
273
+ (p, b, v) = args.descriptor.get
274
+ if args.force
275
+ Volley::Log.debug "removing version: #{p}@#{b}:#{v}"
276
+ pub.delete_version(p, b, v)
277
+ else
278
+ Volley::Log.warn "this process cannot be undone, if you are sure, run the same command with -F"
279
+ end
280
+ end
281
+ end
282
+ plan :exists do
283
+ default do
284
+ (project, branch, version) = args.descriptor.get
285
+ pub = Volley::Dsl.publisher
166
286
  if project && branch && version != "latest"
167
287
  if pub.exists?(project, branch, version)
168
288
  Volley::Log.warn "#{args.descriptor} exists"
@@ -176,4 +296,4 @@ project :volley do
176
296
  end
177
297
  end
178
298
  end
179
- end
299
+ end
@@ -75,10 +75,17 @@ module Volley
75
75
  #end
76
76
 
77
77
  def usage
78
+ return if (@name == :descriptor && !@required) || @name == :force
79
+ n = @name
78
80
  v = @choices || @convert || "string"
79
- r = @required ? "*" : ""
80
- d = @default ? "(#@default)" : ""
81
- "#@name:#{v}#{r}#{d}"
81
+ d = @default ? " (#@default)" : ""
82
+ n = "#{n}=#{v}#{d}"
83
+ if required
84
+ n = "<#{n}>"
85
+ else
86
+ n = "[#{n}]"
87
+ end
88
+ n
82
89
  end
83
90
 
84
91
  def boolean(value)
@@ -93,4 +100,4 @@ module Volley
93
100
  end
94
101
  end
95
102
  end
96
- end
103
+ end
@@ -141,7 +141,7 @@ module Volley
141
141
  end
142
142
  rescue => e
143
143
  Volley::Log.debug "failed to get version? #{v.inspect} : #{e.message}"
144
- Volley::Log.debug e
144
+ #Volley::Log.debug e
145
145
  v
146
146
  end
147
147
  end
@@ -261,4 +261,4 @@ module Volley
261
261
  end
262
262
  end
263
263
  end
264
- end
264
+ end
@@ -76,10 +76,29 @@ module Volley
76
76
  end
77
77
 
78
78
  def delete_project(project)
79
- Volley::Log.info "delete_project #{project}"
79
+ Volley::Log.debug "delete_project #{project}"
80
+ delete_files("#{project}/")
81
+ end
82
+
83
+ def delete_branch(project, branch)
84
+ Volley::Log.debug "delete_branch #{project} #{branch}"
85
+ delete_files("#{project}/#{branch}/")
86
+ end
87
+
88
+ def delete_version(project, branch, version)
89
+ Volley::Log.debug "delete_version #{project} #{branch} #{version}"
90
+ delete_files("#{project}/#{branch}/#{version}/")
91
+ end
92
+
93
+ protected
94
+
95
+ def delete_files(pattern)
96
+ Volley::Log.debug "delete_files #{pattern}"
80
97
  dir = @connection.directories.get(@bucket)
81
- dir.files.select { |e| e.key =~ /^#{project}\// }.each do |f|
82
- Volley::Log.info "- #{f.key}"
98
+ list = []
99
+ dir.files.each {|e| list << e if e.key =~ /^#{pattern}/}
100
+ list.each do |f|
101
+ Volley::Log.debug "- #{f.key}"
83
102
  f.destroy
84
103
  end
85
104
  true
@@ -89,8 +108,6 @@ module Volley
89
108
  false
90
109
  end
91
110
 
92
- protected
93
-
94
111
  def load_configuration
95
112
  @key = requires(:aws_access_key_id)
96
113
  @secret = requires(:aws_secret_access_key)
@@ -156,4 +173,4 @@ module Volley
156
173
  end
157
174
  end
158
175
  end
159
- end
176
+ end
@@ -48,15 +48,27 @@ module Volley
48
48
  end
49
49
 
50
50
  def delete_project(project)
51
- FileUtils.rm_rf("#@directory/#{project}")
51
+ delete_files("#{project}")
52
+ end
53
+
54
+ def delete_branch(project, branch)
55
+ delete_files("#{project}/#{branch}")
56
+ end
57
+
58
+ def delete_version(project, branch, version)
59
+ delete_files("#{project}/#{branch}/#{version}")
60
+ end
61
+
62
+ private
63
+
64
+ def delete_files(path)
65
+ FileUtils.rm_rf("#@directory/#{path}")
52
66
  true
53
67
  rescue => e
54
68
  Volley::Log.error "error deleting project: #{e.message} at #{e.backtrace.first}"
55
69
  false
56
70
  end
57
71
 
58
- private
59
-
60
72
  def load_configuration
61
73
  @directory = requires(:directory)
62
74
  @debug = optional(:debug, false)
@@ -90,4 +102,4 @@ module Volley
90
102
  end
91
103
  end
92
104
  end
93
- end
105
+ end
@@ -3,7 +3,7 @@ unless defined?(Volley::Version)
3
3
  module Version
4
4
  MAJOR = 0
5
5
  MINOR = 1
6
- TINY = 21
6
+ TINY = 23
7
7
  TAG = nil
8
8
  STRING = [MAJOR, MINOR, TINY, TAG].compact.join('.')
9
9
  end
@@ -8,15 +8,12 @@ Volley::Log.console_disable
8
8
 
9
9
  shared_examples_for Volley::Publisher::Base do
10
10
  before(:all) do
11
- @remote = "#{root}/test/publisher/remote"
12
- @local = "/opt/volley"
13
- FileUtils.mkdir_p(@remote)
11
+ @local = "/opt/volley"
14
12
  FileUtils.mkdir_p(@local)
15
- [@local, @remote].each { |d| %x{rm -rf #{d}/*} }
13
+ %x{rm -rf #@local/*}
16
14
  end
17
15
 
18
16
  after(:all) do
19
- FileUtils.rm_rf(@remote)
20
17
  FileUtils.rm_rf(@local)
21
18
  end
22
19
 
@@ -74,13 +71,21 @@ shared_examples_for Volley::Publisher::Base do
74
71
 
75
72
  it "should be able to force publish a duplicate artifact" do
76
73
  Dir.chdir("#{root}/test/")
77
- o = @pub.force
74
+ o = @pub.force
78
75
  @pub.force = true
79
76
  expect(@pub.push("spec", "trunk", "1", "./trunk-1.tgz")).to eq(true)
80
77
  @pub.force = o
81
78
  Dir.chdir(root)
82
79
  end
83
80
 
81
+ it "should be able to delete a version" do
82
+ expect(@pub.delete_version("spec", "trunk", "1")).to eq(true)
83
+ end
84
+
85
+ it "should be able to delete a branch" do
86
+ expect(@pub.delete_branch("spec", "trunk")).to eq(true)
87
+ end
88
+
84
89
  it "should be able to delete a project" do
85
90
  expect(@pub.delete_project("spec")).to eq(true)
86
91
  end
@@ -89,17 +94,27 @@ end
89
94
  describe Volley::Publisher::Local do
90
95
  it_behaves_like Volley::Publisher::Base
91
96
 
97
+ before(:all) do
98
+ @remote = "#{root}/test/publisher/remote"
99
+ FileUtils.mkdir_p(@remote)
100
+ %x{rm -rf #@remote/*}
101
+ end
102
+
92
103
  before(:each) do
93
104
  @pub = Volley::Publisher::Local.new(:directory => @remote)
94
105
  end
106
+
107
+ after(:all) do
108
+ FileUtils.rm_rf(@remote)
109
+ end
95
110
  end
96
111
 
97
112
  describe Volley::Publisher::Amazons3 do
98
113
  it_behaves_like Volley::Publisher::Base
99
114
 
100
115
  before(:each) do
101
- @pub = Volley::Publisher::Amazons3.new(:aws_access_key_id => "AKIAIWUGNGSUZWW5XVCQ",
116
+ @pub = Volley::Publisher::Amazons3.new(:aws_access_key_id => "AKIAIWUGNGSUZWW5XVCQ",
102
117
  :aws_secret_access_key => "NOggEVauweMiJDWyRIlgikEAtlwnFAzd8ZSL13Lt",
103
118
  :bucket => "inqcloud-volley-test")
104
119
  end
105
- end
120
+ end
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.21
4
+ version: 0.1.23
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-21 00:00:00.000000000 Z
12
+ date: 2013-05-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: clamp
@@ -133,6 +133,7 @@ extra_rdoc_files: []
133
133
  files:
134
134
  - .gitignore
135
135
  - .rspec
136
+ - .ruby-version
136
137
  - CHANGELOG.md
137
138
  - Gemfile
138
139
  - LICENSE
@@ -199,7 +200,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
199
200
  version: '0'
200
201
  segments:
201
202
  - 0
202
- hash: -2209489174852755348
203
+ hash: 2007725385198134767
203
204
  required_rubygems_version: !ruby/object:Gem::Requirement
204
205
  none: false
205
206
  requirements:
@@ -208,7 +209,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
209
  version: '0'
209
210
  segments:
210
211
  - 0
211
- hash: -2209489174852755348
212
+ hash: 2007725385198134767
212
213
  requirements: []
213
214
  rubyforge_project:
214
215
  rubygems_version: 1.8.24