do_h2 0.10.0-java

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/HISTORY.markdown ADDED
@@ -0,0 +1,6 @@
1
+ ## 0.10.0 2009-10-15
2
+
3
+ Initial release of H2 driver (using *do_jdbc*).
4
+
5
+ * Known Issues
6
+ * JRuby-only
data/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2008-2009 Alex Coles, Ikonoklastik Productions
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
data/Manifest.txt ADDED
@@ -0,0 +1,21 @@
1
+ HISTORY.markdown
2
+ LICENSE
3
+ Manifest.txt
4
+ README.markdown
5
+ Rakefile
6
+ buildfile
7
+ ext-java/src/main/java/DoH2ExtService.java
8
+ ext-java/src/main/java/do_h2/H2DriverDefinition.java
9
+ lib/do_h2.rb
10
+ lib/do_h2/version.rb
11
+ lib/do_h2_ext.jar
12
+ spec/integration/do_h2_spec.rb
13
+ spec/integration/logging_spec.rb
14
+ spec/spec.opts
15
+ spec/spec_helper.rb
16
+ spec/unit/command_spec.rb
17
+ spec/unit/connection_spec.rb
18
+ spec/unit/do_h2_spec.rb
19
+ spec/unit/reader_spec.rb
20
+ spec/unit/result_spec.rb
21
+ spec/unit/transaction_spec.rb
data/README.markdown ADDED
@@ -0,0 +1,4 @@
1
+ do_h2
2
+ =====
3
+
4
+ An H2 driver for DataObjects
data/Rakefile ADDED
@@ -0,0 +1,15 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'rake/clean'
4
+
5
+ require 'pathname'
6
+ require 'lib/do_h2/version'
7
+
8
+ ROOT = Pathname(__FILE__).dirname.expand_path
9
+ JRUBY = RUBY_PLATFORM =~ /java/
10
+ WINDOWS = Gem.win_platform?
11
+ SUDO = WINDOWS ? '' : ('sudo' unless ENV['SUDOLESS'])
12
+
13
+ Dir['tasks/*.rake'].sort.each { |f| import f }
14
+
15
+ CLEAN.include(%w[ {tmp,pkg}/ **/*.{o,so,bundle,jar,log,a,gem,dSYM,obj,pdb,exp,DS_Store,rbc,db} ext-java/target ])
@@ -0,0 +1,5 @@
1
+ module DataObjects
2
+ module H2
3
+ VERSION = "0.10.0"
4
+ end
5
+ end
data/lib/do_h2.rb ADDED
@@ -0,0 +1,34 @@
1
+ require 'data_objects'
2
+
3
+ if RUBY_PLATFORM =~ /java/
4
+ require 'do_jdbc'
5
+ require 'java'
6
+
7
+
8
+ driver = 'org.h2.Driver'
9
+ begin
10
+ java.lang.Thread.currentThread.getContextClassLoader().loadClass(driver, true)
11
+ rescue
12
+ require 'jdbc/h2' # the JDBC driver, packaged as a gem
13
+ end
14
+
15
+ require 'do_h2_ext' # the Java extension for this DO driver
16
+
17
+ # Another way of loading the JDBC Class. This seems to be more reliable
18
+ # than Class.forName() within the data_objects.Connection Java class,
19
+ # which is currently not working as expected.
20
+ java_import driver
21
+
22
+ module DataObjects
23
+ module H2
24
+ class Connection
25
+ def self.pool_size
26
+ 20
27
+ end
28
+ end
29
+ end
30
+ end
31
+
32
+ else
33
+ warn "do_h2 is only for use with JRuby"
34
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
4
+ require 'data_objects/spec/command_spec'
5
+
6
+ describe DataObjects::H2::Command do
7
+ it_should_behave_like 'a Command'
8
+ # it_should_behave_like 'a Command with async'
9
+ end
@@ -0,0 +1,19 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
4
+ require 'data_objects/spec/connection_spec'
5
+
6
+ describe DataObjects::H2::Connection do
7
+
8
+ before :all do
9
+ @driver = 'h2'
10
+ @user = ''
11
+ @password = ''
12
+ @host = ''
13
+ @port = ''
14
+ @database = "#{File.expand_path(File.dirname(__FILE__))}/test.db"
15
+ end
16
+
17
+ it_should_behave_like 'a Connection'
18
+ #it_should_behave_like 'a Connection with authentication support'
19
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
4
+ require 'data_objects/spec/encoding_spec'
5
+
6
+ describe DataObjects::H2::Connection do
7
+ #it_should_behave_like 'a driver supporting encodings'
8
+ end
@@ -0,0 +1,3 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'data_objects', 'spec', 'lib', 'rspec_immediate_feedback_formatter'))
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
4
+ require 'data_objects/spec/reader_spec'
5
+
6
+ describe DataObjects::H2::Reader do
7
+ it_should_behave_like 'a Reader'
8
+ end
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
4
+ require 'data_objects/spec/result_spec'
5
+
6
+ # splitting the descibe into two separate declaration avoids
7
+ # concurrent execution of the "it_should_behave_like ....."
8
+ # needed by some databases (sqlite3)
9
+
10
+ describe DataObjects::H2::Result do
11
+ it_should_behave_like 'a Result'
12
+ end
13
+
14
+ describe DataObjects::H2::Result do
15
+ it_should_behave_like 'a Result which returns inserted keys'
16
+ end
@@ -0,0 +1,181 @@
1
+ $TESTING=true
2
+ JRUBY = true
3
+
4
+ require 'rubygems'
5
+
6
+ gem 'rspec', '>1.1.12'
7
+ require 'spec'
8
+
9
+ require 'date'
10
+ require 'ostruct'
11
+ require 'pathname'
12
+ require 'fileutils'
13
+
14
+ dir = File.dirname(__FILE__)
15
+ lib_path = File.expand_path("#{dir}/../lib")
16
+ $LOAD_PATH.unshift lib_path unless $LOAD_PATH.include?(lib_path)
17
+ # put data_objects from repository in the load path
18
+ # DO NOT USE installed gem of data_objects!
19
+ do_lib_path = File.expand_path("#{dir}/../../data_objects/lib")
20
+ $LOAD_PATH.unshift do_lib_path unless $LOAD_PATH.include?(do_lib_path)
21
+
22
+ if JRUBY
23
+ jdbc_lib_path = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'do_jdbc', 'lib'))
24
+ $LOAD_PATH.unshift jdbc_lib_path unless $LOAD_PATH.include?(jdbc_lib_path)
25
+ require 'do_jdbc'
26
+ end
27
+
28
+ require 'data_objects'
29
+
30
+ DATAOBJECTS_SPEC_ROOT = Pathname(__FILE__).dirname.parent.parent + 'data_objects' + 'spec'
31
+ Pathname.glob((DATAOBJECTS_SPEC_ROOT + 'lib/**/*.rb').to_s).each { |f| require f }
32
+
33
+ require 'do_h2'
34
+
35
+ log_path = File.expand_path(File.join(File.dirname(__FILE__), '..', 'log', 'do.log'))
36
+ FileUtils.mkdir_p(File.dirname(log_path))
37
+
38
+ DataObjects::H2.logger = DataObjects::Logger.new(log_path, :debug)
39
+
40
+ at_exit { DataObjects.logger.flush }
41
+
42
+ Spec::Runner.configure do |config|
43
+ config.include(DataObjects::Spec::PendingHelpers)
44
+ end
45
+
46
+ CONFIG = OpenStruct.new
47
+ # CONFIG.scheme = 'h2'
48
+ # CONFIG.user = ENV['DO_H2_USER'] || 'h2'
49
+ # CONFIG.pass = ENV['DO_H2_PASS'] || ''
50
+ # CONFIG.host = ENV['DO_H2_HOST'] || ''
51
+ # CONFIG.port = ENV['DO_H2_PORT'] || ''
52
+ # CONFIG.database = ENV['DO_H2_DATABASE'] || "#{File.expand_path(File.dirname(__FILE__))}/testdb"
53
+
54
+ CONFIG.uri = ENV["DO_H2_SPEC_URI"] || "jdbc:h2:mem"
55
+
56
+ module DataObjectsSpecHelpers
57
+
58
+ def setup_test_environment
59
+ conn = DataObjects::Connection.new(CONFIG.uri)
60
+
61
+ conn.create_command(<<-EOF).execute_non_query
62
+ DROP TABLE IF EXISTS invoices
63
+ EOF
64
+
65
+ conn.create_command(<<-EOF).execute_non_query
66
+ DROP TABLE IF EXISTS users
67
+ EOF
68
+
69
+ conn.create_command(<<-EOF).execute_non_query
70
+ DROP TABLE IF EXISTS widgets
71
+ EOF
72
+
73
+ conn.create_command(<<-EOF).execute_non_query
74
+ CREATE TABLE users (
75
+ id INTEGER IDENTITY,
76
+ name VARCHAR(200) default 'Billy' NULL,
77
+ fired_at TIMESTAMP
78
+ )
79
+ EOF
80
+
81
+ conn.create_command(<<-EOF).execute_non_query
82
+ CREATE TABLE invoices (
83
+ id INTEGER IDENTITY,
84
+ invoice_number VARCHAR(50) NOT NULL
85
+ )
86
+ EOF
87
+
88
+ conn.create_command(<<-EOF).execute_non_query
89
+ CREATE TABLE widgets (
90
+ id INTEGER IDENTITY,
91
+ code CHAR(8) DEFAULT 'A14' NULL,
92
+ name VARCHAR(200) DEFAULT 'Super Widget' NULL,
93
+ shelf_location VARCHAR NULL,
94
+ description LONGVARCHAR NULL,
95
+ image_data VARBINARY NULL,
96
+ ad_description LONGVARCHAR NULL,
97
+ ad_image VARBINARY NULL,
98
+ whitepaper_text LONGVARCHAR NULL,
99
+ cad_drawing LONGVARBINARY NULL,
100
+ flags BOOLEAN DEFAULT 0,
101
+ number_in_stock SMALLINT DEFAULT 500,
102
+ number_sold INTEGER DEFAULT 0,
103
+ super_number BIGINT DEFAULT 9223372036854775807,
104
+ weight FLOAT DEFAULT 1.23,
105
+ cost1 REAL DEFAULT 10.23,
106
+ cost2 DECIMAL DEFAULT 50.23,
107
+ release_date DATE DEFAULT '2008-02-14',
108
+ release_datetime DATETIME DEFAULT '2008-02-14 00:31:12',
109
+ release_timestamp TIMESTAMP DEFAULT '2008-02-14 00:31:31'
110
+ )
111
+ EOF
112
+ # XXX: H2 has no ENUM
113
+ # status` enum('active','out of stock') NOT NULL default 'active'
114
+
115
+ 1.upto(16) do |n|
116
+ conn.create_command(<<-EOF).execute_non_query
117
+ INSERT INTO widgets(
118
+ code,
119
+ name,
120
+ shelf_location,
121
+ description,
122
+ image_data,
123
+ ad_description,
124
+ ad_image,
125
+ whitepaper_text,
126
+ cad_drawing,
127
+ super_number,
128
+ weight)
129
+ VALUES (
130
+ 'W#{n.to_s.rjust(7,"0")}',
131
+ 'Widget #{n}',
132
+ 'A14',
133
+ 'This is a description',
134
+ '4f3d4331434343434331',
135
+ 'Buy this product now!',
136
+ '4f3d4331434343434331',
137
+ 'String',
138
+ '4f3d4331434343434331',
139
+ 1234,
140
+ 13.4);
141
+ EOF
142
+
143
+ ## TODO: change the hexadecimal examples
144
+
145
+ conn.create_command(<<-EOF).execute_non_query
146
+ update widgets set flags = true where id = 2
147
+ EOF
148
+
149
+ conn.create_command(<<-EOF).execute_non_query
150
+ update widgets set ad_description = NULL where id = 3
151
+ EOF
152
+
153
+ conn.create_command(<<-EOF).execute_non_query
154
+ update widgets set flags = NULL where id = 4
155
+ EOF
156
+
157
+ conn.create_command(<<-EOF).execute_non_query
158
+ update widgets set cost1 = NULL where id = 5
159
+ EOF
160
+
161
+ conn.create_command(<<-EOF).execute_non_query
162
+ update widgets set cost2 = NULL where id = 6
163
+ EOF
164
+
165
+ conn.create_command(<<-EOF).execute_non_query
166
+ update widgets set release_date = NULL where id = 7
167
+ EOF
168
+
169
+ conn.create_command(<<-EOF).execute_non_query
170
+ update widgets set release_datetime = NULL where id = 8
171
+ EOF
172
+
173
+ conn.create_command(<<-EOF).execute_non_query
174
+ update widgets set release_timestamp = NULL where id = 9
175
+ EOF
176
+
177
+ conn.close
178
+ end
179
+
180
+ end
181
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/array_spec'
5
+
6
+ describe 'DataObjects::H2 with Array' do
7
+ it_should_behave_like 'supporting Array'
8
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/bigdecimal_spec'
5
+
6
+ describe 'DataObjects::H2 with BigDecimal' do
7
+ it_should_behave_like 'supporting BigDecimal'
8
+ it_should_behave_like 'supporting BigDecimal autocasting'
9
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/boolean_spec'
5
+
6
+ describe 'DataObjects::H2 with Boolean' do
7
+ it_should_behave_like 'supporting Boolean'
8
+ it_should_behave_like 'supporting Boolean autocasting'
9
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/byte_array_spec'
5
+
6
+ describe 'DataObjects::H2 with ByteArray' do
7
+ # We need to switch to using parameter binding for this to work with H2
8
+ # it_should_behave_like 'supporting ByteArray'
9
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/class_spec'
5
+
6
+ describe 'DataObjects::H2 with Class' do
7
+ it_should_behave_like 'supporting Class'
8
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/date_spec'
5
+
6
+ describe 'DataObjects::H2 with Date' do
7
+ it_should_behave_like 'supporting Date'
8
+ it_should_behave_like 'supporting Date autocasting'
9
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/datetime_spec'
5
+
6
+ describe 'DataObjects::H2 with DateTime' do
7
+ it_should_behave_like 'supporting DateTime'
8
+ it_should_behave_like 'supporting DateTime autocasting'
9
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/float_spec'
5
+
6
+ describe 'DataObjects::H2 with Float' do
7
+ it_should_behave_like 'supporting Float'
8
+ it_should_behave_like 'supporting Float autocasting'
9
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/integer_spec'
5
+
6
+ describe 'DataObjects::H2 with Integer' do
7
+ it_should_behave_like 'supporting Integer'
8
+ end
@@ -0,0 +1,10 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/nil_spec'
5
+
6
+ describe 'DataObjects::H2 with Nil' do
7
+ it_should_behave_like 'supporting Nil'
8
+ it_should_behave_like 'supporting writing an Nil'
9
+ it_should_behave_like 'supporting Nil autocasting'
10
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/range_spec'
5
+
6
+ describe 'DataObjects::H2 with Range' do
7
+ it_should_behave_like 'supporting Range'
8
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/string_spec'
5
+
6
+ describe 'DataObjects::H2 with String' do
7
+ it_should_behave_like 'supporting String'
8
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
4
+ require 'data_objects/spec/typecast/time_spec'
5
+
6
+ describe 'DataObjects::H2 with Time' do
7
+ it_should_behave_like 'supporting Time'
8
+ end
data/tasks/gem.rake ADDED
@@ -0,0 +1,8 @@
1
+ require 'rubygems/package_task'
2
+
3
+ GEM_SPEC = eval(File.read('do_h2.gemspec'))
4
+
5
+ gem_package = Gem::PackageTask.new(GEM_SPEC) do |pkg|
6
+ pkg.need_tar = false
7
+ pkg.need_zip = false
8
+ end
@@ -0,0 +1,15 @@
1
+ def sudo_gem(cmd)
2
+ sh "#{SUDO} #{RUBY} -S gem #{cmd}", :verbose => false
3
+ end
4
+
5
+ # Installation
6
+
7
+ desc "Install #{GEM_SPEC.name} #{GEM_SPEC.version}"
8
+ task :install => [ :package ] do
9
+ sudo_gem "install pkg/#{GEM_SPEC.name}-#{GEM_SPEC.version} --no-update-sources"
10
+ end
11
+
12
+ desc "Uninstall #{GEM_SPEC.name} #{GEM_SPEC.version}"
13
+ task :uninstall => [ :clean ] do
14
+ sudo_gem "uninstall #{GEM_SPEC.name} -v#{GEM_SPEC.version} -I -x"
15
+ end
data/tasks/native.rake ADDED
@@ -0,0 +1,4 @@
1
+ if (tasks_dir = ROOT.parent + 'tasks').directory?
2
+ require tasks_dir + 'ext_helper_java'
3
+ setup_java_extension("#{GEM_SPEC.name}_ext", GEM_SPEC)
4
+ end
@@ -0,0 +1,75 @@
1
+ begin
2
+ gem 'rubyforge', '~> 1.0.1'
3
+ require 'rubyforge'
4
+ rescue Exception
5
+ nil
6
+ end
7
+
8
+ if defined?(RubyForge) then
9
+ if defined?(GEM_SPEC) then
10
+ desc 'Package and upload to RubyForge'
11
+ task :release do |t|
12
+ ver = ENV['VERSION'] or fail "Must supply VERSION (rake release VERSION=x.y.z)."
13
+
14
+ # compare versions to avoid mistakes
15
+ unless ver == GEM_SPEC.version.to_s then
16
+ fail "Version mismatch (supplied and specification versions differ)."
17
+ end
18
+
19
+ # no rubyforge project? no release for you!
20
+ if GEM_SPEC.rubyforge_project == 'TODO' or GEM_SPEC.rubyforge_project.nil? then
21
+ fail "Must define rubyforge_project in your gem specification."
22
+ end
23
+
24
+ # instantiate a RubyForge object
25
+ rf = RubyForge.new
26
+
27
+ # read project info and overview
28
+ notes = begin
29
+ r = File.read("README.markdown")
30
+ r.split(/^(.*\n\-+)/)[1..4].join.strip
31
+ rescue
32
+ warn "Missing README.markdown"
33
+ ''
34
+ end
35
+
36
+ # read changes
37
+ changes = begin
38
+ h = File.read("HISTORY.markdown")
39
+ h.split(/^(##+ .*)/)[1..2].join.strip
40
+ rescue
41
+ warn "Missing HISTORY.markdown"
42
+ ''
43
+ end
44
+
45
+ # build the configuration for the release
46
+ config = Hash.new
47
+ config["release_notes"] = notes
48
+ config["release_changes"] = changes
49
+ config["preformatted"] = true
50
+
51
+ # prepare configuration
52
+ rf.configure config
53
+
54
+ files = FileList["pkg/#{GEM_SPEC.name}-#{GEM_SPEC.version}*.*"].to_a
55
+ fail "No files found for the release." if files.empty?
56
+
57
+ puts "Logging in RubyForge..."
58
+ rf.login
59
+
60
+ puts "Files to upload:"
61
+ files.each do |f|
62
+ puts " * #{f}"
63
+ end
64
+
65
+ puts "Releasing #{GEM_SPEC.name} version #{GEM_SPEC.version}..."
66
+ rf.add_release GEM_SPEC.rubyforge_project, GEM_SPEC.name, GEM_SPEC.version, *files
67
+ puts "Done."
68
+ end
69
+ #Rake::Task['release'].prerequisites.unshift('clean', 'cross', 'native')
70
+ else
71
+ warn "no GEM_SPEC is found or defined. 'release' task cannot work without it."
72
+ end
73
+ else
74
+ warn "rubyforge gem is required to generate releases, please install it (gem install rubyforge)."
75
+ end
data/tasks/spec.rake ADDED
@@ -0,0 +1,19 @@
1
+ # Specs
2
+ require 'spec/rake/spectask'
3
+
4
+ desc 'Run specifications'
5
+ Spec::Rake::SpecTask.new(:spec => [ :clean, :compile ]) do |t|
6
+ t.spec_opts << '--options' << ROOT + 'spec/spec.opts'
7
+ t.spec_files = Pathname.glob(ENV['FILES'] || 'spec/**/*_spec.rb').map { |f| f.to_s }
8
+ t.libs << 'lib'
9
+
10
+ begin
11
+ # RCov is run by default, except on the JRuby platform
12
+ t.rcov = JRUBY ? false : (ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true)
13
+ t.rcov_opts << '--exclude' << 'spec'
14
+ t.rcov_opts << '--text-summary'
15
+ t.rcov_opts << '--sort' << 'coverage' << '--sort-reverse'
16
+ rescue Exception
17
+ # rcov not installed
18
+ end
19
+ end
metadata ADDED
@@ -0,0 +1,145 @@
1
+ --- !ruby/object:Gem::Specification
2
+ extensions: []
3
+
4
+ homepage: http://github.com/datamapper/do
5
+ executables: []
6
+
7
+ version: !ruby/object:Gem::Version
8
+ version: 0.10.0
9
+ post_install_message:
10
+ date: 2009-09-16 00:00:00 Z
11
+ files:
12
+ - lib/do_h2.rb
13
+ - lib/do_h2/version.rb
14
+ - spec/command_spec.rb
15
+ - spec/connection_spec.rb
16
+ - spec/encoding_spec.rb
17
+ - spec/reader_spec.rb
18
+ - spec/result_spec.rb
19
+ - spec/spec_helper.rb
20
+ - spec/lib/rspec_immediate_feedback_formatter.rb
21
+ - spec/typecast/array_spec.rb
22
+ - spec/typecast/bigdecimal_spec.rb
23
+ - spec/typecast/boolean_spec.rb
24
+ - spec/typecast/byte_array_spec.rb
25
+ - spec/typecast/class_spec.rb
26
+ - spec/typecast/date_spec.rb
27
+ - spec/typecast/datetime_spec.rb
28
+ - spec/typecast/float_spec.rb
29
+ - spec/typecast/integer_spec.rb
30
+ - spec/typecast/nil_spec.rb
31
+ - spec/typecast/range_spec.rb
32
+ - spec/typecast/string_spec.rb
33
+ - spec/typecast/time_spec.rb
34
+ - tasks/gem.rake
35
+ - tasks/install.rake
36
+ - tasks/native.rake
37
+ - tasks/release.rake
38
+ - tasks/spec.rake
39
+ - LICENSE
40
+ - Rakefile
41
+ - HISTORY.markdown
42
+ - README.markdown
43
+ - Manifest.txt
44
+ rubygems_version: 1.3.4
45
+ rdoc_options: []
46
+
47
+ signing_key:
48
+ cert_chain: []
49
+
50
+ name: do_h2
51
+ has_rdoc: false
52
+ platform: java
53
+ summary: DataObjects H2 Driver
54
+ default_executable:
55
+ bindir: bin
56
+ licenses: []
57
+
58
+ required_rubygems_version: !ruby/object:Gem::Requirement
59
+ version:
60
+ requirements:
61
+ - - '>='
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ required_ruby_version: !ruby/object:Gem::Requirement
65
+ version:
66
+ requirements:
67
+ - - '>='
68
+ - !ruby/object:Gem::Version
69
+ version: "0"
70
+ require_paths:
71
+ - lib
72
+ specification_version: 3
73
+ test_files: []
74
+
75
+ dependencies:
76
+ - !ruby/object:Gem::Dependency
77
+ type: :runtime
78
+ name: addressable
79
+ version_requirement:
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ version:
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: "2.0"
86
+ - !ruby/object:Gem::Dependency
87
+ type: :runtime
88
+ name: extlib
89
+ version_requirement:
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ version:
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 0.9.12
96
+ - !ruby/object:Gem::Dependency
97
+ type: :runtime
98
+ name: data_objects
99
+ version_requirement:
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ version:
102
+ requirements:
103
+ - - "="
104
+ - !ruby/object:Gem::Version
105
+ version: 0.10.0
106
+ - !ruby/object:Gem::Dependency
107
+ type: :runtime
108
+ name: jdbc-h2
109
+ version_requirement:
110
+ version_requirements: !ruby/object:Gem::Requirement
111
+ version:
112
+ requirements:
113
+ - - ~>
114
+ - !ruby/object:Gem::Version
115
+ version: 1.1.107
116
+ - !ruby/object:Gem::Dependency
117
+ type: :runtime
118
+ name: do_jdbc
119
+ version_requirement:
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ version:
122
+ requirements:
123
+ - - "="
124
+ - !ruby/object:Gem::Version
125
+ version: 0.10.0
126
+ - !ruby/object:Gem::Dependency
127
+ type: :development
128
+ name: rspec
129
+ version_requirement:
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ version:
132
+ requirements:
133
+ - - ~>
134
+ - !ruby/object:Gem::Version
135
+ version: 1.2.0
136
+ description: Implements the DataObjects API for H2
137
+ email: alex@alexcolesportfolio.com
138
+ authors:
139
+ - Alex Coles
140
+ extra_rdoc_files: []
141
+
142
+ requirements: []
143
+
144
+ rubyforge_project: dorb
145
+ autorequire: