bson_ext 1.6.0 → 1.6.1

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.
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.