bson_ext 1.6.0 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/Rakefile +84 -2
  2. data/bson_ext.gemspec +1 -1
  3. data/ext/cbson/version.h +1 -1
  4. metadata +7 -7
data/Rakefile CHANGED
@@ -3,15 +3,20 @@ if RUBY_VERSION < '1.9.0'
3
3
  require 'rubygems'
4
4
  require 'rubygems/specification'
5
5
  end
6
+
6
7
  require 'fileutils'
7
8
  require 'rake/testtask'
8
- require 'rbconfig'
9
9
  require 'rake'
10
+
11
+ begin
12
+ require 'git'
13
+ rescue LoadError
14
+ end
15
+
10
16
  begin
11
17
  require 'ci/reporter/rake/test_unit'
12
18
  rescue LoadError
13
19
  end
14
- include Config
15
20
 
16
21
  ENV['TEST_MODE'] = 'TRUE'
17
22
 
@@ -210,10 +215,12 @@ namespace :gem do
210
215
 
211
216
  desc "Build all gems"
212
217
  task :build_all do
218
+ `rm *.gem`
213
219
  `gem build mongo.gemspec`
214
220
  `gem build bson.gemspec`
215
221
  `gem build bson.java.gemspec`
216
222
  `gem build bson_ext.gemspec`
223
+ puts `ls *.gem`
217
224
  end
218
225
 
219
226
  end
@@ -228,6 +235,81 @@ namespace :ci do
228
235
  end
229
236
  end
230
237
 
238
+ # Deployment
239
+ VERSION_FILES = %w(lib/bson/version.rb lib/mongo/version.rb ext/cbson/version.h)
240
+ GEMSPECS = %w(bson.gemspec bson.java.gemspec bson_ext.gemspec mongo.gemspec)
241
+
242
+ def gem_list(version)
243
+ files = []
244
+ files << "bson-#{version}.gem"
245
+ files << "bson-#{version}-java.gem"
246
+ files << "bson_ext-#{version}.gem"
247
+ files << "mongo-#{version}.gem"
248
+ return files
249
+ end
250
+
251
+ def check_gem_list_existence(version)
252
+ gem_list(version).each do |filename|
253
+ if !File.exists?(filename)
254
+ raise "#{filename} does not exist!"
255
+ end
256
+ end
257
+ end
258
+
259
+ def check_version(version)
260
+ if !(version =~ /\d\.\d\.\d/)
261
+ raise "Must specify a valid version (e.g., x.y.z)"
262
+ end
263
+ end
264
+
265
+ def current_version
266
+ f = File.open("lib/mongo/version.rb")
267
+ str = f.read
268
+ str =~ /VERSION\s+=\s+([.\d"]+)$/
269
+ return $1
270
+ end
271
+
272
+ def change_version(new_version)
273
+ version = current_version
274
+ VERSION_FILES.each do |filename|
275
+ f = File.open(filename)
276
+ str = f.read
277
+ f.close
278
+ str.gsub!(version, "\"#{new_version}\"")
279
+ File.open(filename, 'w') do |f|
280
+ f.write(str)
281
+ end
282
+ end
283
+ end
284
+
285
+ namespace :deploy do
286
+ task :version, [:version] do |t, args|
287
+ check_version(args[:version])
288
+ puts args[:version]
289
+ change_version(args[:version])
290
+ end
291
+
292
+ task :git_prepare, [:version] do |t, args|
293
+ g = Git.open(Dir.getwd())
294
+ version = args[:version]
295
+ check_version(version)
296
+ g.add(VERSION_FILES)
297
+ g.commit "RELEASE #{version}"
298
+ g.add_tag("#{version}")
299
+ end
300
+
301
+ task :git_push do
302
+ g = Git.open(Dir.getwd())
303
+ g.push
304
+ end
305
+
306
+ task :gems, [:version] do |t, args|
307
+ check_version(args[:version])
308
+ check_gem_list_existence(args[:version])
309
+ gem_list
310
+ end
311
+ end
312
+
231
313
  task :default => :list
232
314
 
233
315
  task :list do
data/bson_ext.gemspec CHANGED
@@ -22,5 +22,5 @@ Gem::Specification.new do |s|
22
22
  s.author = 'Mike Dirolf'
23
23
  s.email = 'mongodb-dev@googlegroups.com'
24
24
  s.homepage = 'http://www.mongodb.org'
25
- s.add_dependency('bson', BSON::VERSION)
25
+ s.add_dependency('bson', "~> #{BSON::VERSION}")
26
26
  end
data/ext/cbson/version.h CHANGED
@@ -14,4 +14,4 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- #define VERSION "1.6.0"
17
+ #define VERSION "1.6.1"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bson_ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.6.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,19 +9,19 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-22 00:00:00.000000000 Z
12
+ date: 2012-03-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bson
16
- requirement: &70326298991580 !ruby/object:Gem::Requirement
16
+ requirement: &70249119217660 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - =
19
+ - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 1.6.0
21
+ version: 1.6.1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70326298991580
24
+ version_requirements: *70249119217660
25
25
  description: C extensions to accelerate the Ruby BSON serialization. For more information
26
26
  about BSON, see http://bsonspec.org. For information about MongoDB, see http://www.mongodb.org.
27
27
  email: mongodb-dev@googlegroups.com
@@ -59,7 +59,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
59
59
  version: '0'
60
60
  requirements: []
61
61
  rubyforge_project:
62
- rubygems_version: 1.8.16
62
+ rubygems_version: 1.8.17
63
63
  signing_key:
64
64
  specification_version: 3
65
65
  summary: C extensions for Ruby BSON.