public
Description: StrokeDB is an embeddable distributed document database written in Ruby
Homepage: http://strokedb.com/
Clone URL: git://github.com/yrashk/strokedb.git
* Re-organized, the entire ruby project is now at root, and fixed any bugs 
relating to this re-organization (see }general-5)
* Completely cleaned up the rakefile, and seperated most of the meat off 
into task files in task/ (see }general-6)
elliottcable (author)
Thu Apr 17 10:29:34 -0700 2008
commit  87d6974229aea35a3f8b0e6749946ccce0a6a1f5
tree    6bdc6b4f7d93a584b0a2b0a6760fa14d004b7f6d
parent  0f206bcbc026df66e3bb65ad7803a02d8f453882
0
Rakefile 100755 →
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
 
 
 
 
 
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
 
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
 
 
 
 
 
93
...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
47
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
50
51
52
53
54
0
@@ -1,92 +1,53 @@
0
-require 'rake'
0
-require 'rubygems'
0
-Gem::manage_gems
0
-require 'rake/gempackagetask'
0
-require 'spec/rake/spectask'
0
-
0
-require 'rake/rdoctask'
0
-
0
-task :default => [:ci, :jci, :bench]
0
-
0
-task :bench => [:benchmarks]
0
-task :benchmarks do
0
- paths = Dir['benchmarks/**/*.rb']
0
- paths.each do |path|
0
- ruby path
0
- puts ("-"*80)+"\n "
0
+require 'rake'; require 'rubygems'
0
+$:.unshift(File.dirname(__FILE__)); require 'strokedb'
0
+require 'task/echoe'
0
+
0
+Echoe.taskify do
0
+ Dir['task/**/*.task'].each {|t| load t}
0
+
0
+ namespace :echoe do
0
+ Echoe.new('StrokeDB', StrokeDB::VERSION) do |g|
0
+ g.author = ['Yurii Rashkovskii', 'Oleg Andreev']
0
+ g.email = ['strokedb@googlegroups.com']
0
+ g.summary = 'embeddable, distributed, document-based database'
0
+ g.url = 'http://strokedb.com'
0
+ g.description = <<-EOF
0
+ StrokeDB is an embeddable, distributed, document-based database written in Ruby.
0
+ It is schema-free (allowing you to define any attribute on any object at any
0
+ time), it scales infinitely, it even allows free versioning and integrates
0
+ perfectly with Ruby applications.
0
+ EOF
0
+
0
+ g.platform = Gem::Platform::RUBY
0
+ g.dependencies = ['diff-lcs >= 1.1.2', 'uuidtools >= 1.0.3', 'json >= 1.1.2']
0
+
0
+ g.manifest_name = 'MANIFEST'
0
+ g.ignore_pattern = /(^\.git|^.DS_Store$|^meta|^test\/storages|^examples\/(.*).strokedb|^bugs)/
0
+ end
0
+
0
+ desc 'tests packaged files to ensure they are all present'
0
+ task :verify => :package do
0
+ # An error message will be displayed if files are missing
0
+ if system %(ruby -e "require 'rubygems'; require 'pkg/strokedb-#{StrokeDB::VERSION}/strokedb'")
0
+ puts "\nThe library files are present"
0
+ end
0
+ end
0
+
0
+ desc 'Clean tree, update manifest, and install gem'
0
+ task :magic => [:clean, :manifest, :install]
0
   end
0
+
0
+ # Developers: Run this before commiting, or
0
+ desc 'Check everything over before commiting!'
0
+ task :aok => [:'rcov:run', :'rcov:verify', :'rcov:open',
0
+ :'ditz:stage', :'ditz:html', :'ditz:todo', :'ditz:status', :'ditz:html:open']
0
 end
0
 
0
-task :ci do
0
- sh 'spec spec'
0
-end
0
-
0
-task :ci_indefinitely do
0
- i=0;loop{i+=1;puts i ; t=`spec spec`;if t =~ /[\.F]F|F[\.F]/ ; puts t ; break ; end }
0
-end
0
-
0
-task :jci do
0
- unless (which_jruby = `which jruby`).empty?
0
- jruby_bin_dir = File.dirname(which_jruby)
0
- sh "#{jruby_bin_dir}/spec spec"
0
- else
0
- puts "jruby was not found in PATH (`which jruby` gives nothing)"
0
- end
0
-end
0
-
0
-desc "Run all examples with RCov"
0
-Spec::Rake::SpecTask.new('spec_rcov') do |t|
0
- t.spec_files = FileList['spec/**/*.rb']
0
- t.rcov = true
0
- t.rcov_opts = ['--exclude', 'spec,strokedb.rb','--sort','coverage','--xrefs']
0
-end
0
+# desc 'Run by CruiseControl.rb during continuous integration'
0
+task :cruise => [:'rcov:run', :'rcov:verify', :'ditz:html']
0
 
0
-STATS_DIRECTORIES = [
0
- %w(Code lib),
0
- %w(Specs spec)
0
-].collect { |name, dir| [ name, "#{File.dirname(__FILE__)}/#{dir}" ] }.select { |name, dir| File.directory?(dir) }
0
-
0
-desc "Report code statistics (KLOCs, etc) from the application"
0
-task :stats do
0
- require 'code_statistics'
0
- CodeStatistics.const_set(:TEST_TYPES,%w(Specs))
0
- CodeStatistics.new(*STATS_DIRECTORIES).to_s
0
-end
0
-
0
-Rake::RDocTask.new do |rd|
0
- rd.main = "README"
0
- rd.rdoc_dir = "docs/html"
0
- rd.rdoc_files.include("README", "lib/**/*.rb")
0
-end
0
-
0
-gemspec = Gem::Specification.new do |s|
0
- s.platform = Gem::Platform::RUBY
0
- s.name = "strokedb"
0
- s.version = "0.0.2.1"
0
- s.author = "Yurii Rashkovskii, Oleg Andreev"
0
- s.email = "strokedb@googlegroups.com"
0
- s.summary = "an embeddable distributed document database written in Ruby"
0
- s.description = <<-EOF
0
- StrokeDB is an embeddable distributed document database written in Ruby.
0
- It is schema-free, it scales infinitely, it even tracks revisions
0
- and perfectly integrates with Ruby applications.
0
- EOF
0
- s.files = FileList['bin/*','README','CONTRIBUTORS','CREDITS','script/*','lib/**/**','strokedb.rb'].to_a
0
- s.homepage = "http://strokedb.com"
0
- s.has_rdoc = true
0
- s.rubyforge_project = 'strokedb'
0
- s.add_dependency 'diff-lcs', '>= 1.1.2'
0
- s.add_dependency 'uuidtools', '>= 1.0.3'
0
- s.add_dependency 'json', '>= 1.1.2'
0
- s.require_path = "."
0
- s.require_paths << 'lib'
0
- s.executables << 'sdbc'
0
-end
0
-
0
-Rake::GemPackageTask.new(gemspec) do |pkg|
0
- pkg.need_tar = true
0
-end
0
-
0
-task :gem => "pkg/#{gemspec.name}-#{gemspec.version}.gem" do
0
- puts "latest version generated"
0
-end
0
+# By default, we just list the tasks.
0
+task :default => :list
0
+task :list do
0
+ system 'rake -T'
0
+end
0
\ No newline at end of file
...
1
2
 
 
 
 
 
 
 
3
4
5
...
1
 
2
3
4
5
6
7
8
9
10
11
0
@@ -1,5 +1,11 @@
0
 module StrokeDB
0
- VERSION = '0.0.2.1' + (RUBY_PLATFORM =~ /java/ ? '-java' : '')
0
+ # Version:
0
+ MAJOR = 0
0
+ MINOR = 0
0
+ PATCHLEVEL = 2.1
0
+
0
+ VERSION = [MAJOR.to_s, MINOR.to_s, PATCHLEVEL.to_s].join('.')
0
+ VERSION_STRING = VERSION + (RUBY_PLATFORM =~ /java/ ? '-java' : '')
0
 
0
   # UUID regexp (like 1e3d02cc-0769-4bd8-9113-e033b246b013)
0
   UUID_RE = /([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/

Comments

    No one has commented yet.