do_sqlite3 0.9.11-x86-mswin32-60 → 0.9.12-x86-mswin32-60

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 (42) hide show
  1. data/LICENSE +1 -1
  2. data/Manifest.txt +15 -4
  3. data/Rakefile +7 -207
  4. data/ext/do_sqlite3_ext/do_sqlite3_ext.c +187 -71
  5. data/ext/do_sqlite3_ext/extconf.rb +2 -0
  6. data/lib/do_sqlite3/version.rb +1 -1
  7. data/lib/do_sqlite3_ext.so +0 -0
  8. data/spec/command_spec.rb +8 -0
  9. data/spec/connection_spec.rb +18 -0
  10. data/spec/lib/rspec_immediate_feedback_formatter.rb +3 -0
  11. data/spec/reader_spec.rb +8 -0
  12. data/spec/result_spec.rb +9 -0
  13. data/spec/spec_helper.rb +88 -17
  14. data/spec/typecast/array_spec.rb +8 -0
  15. data/spec/typecast/bigdecimal_spec.rb +8 -0
  16. data/spec/typecast/boolean_spec.rb +8 -0
  17. data/spec/typecast/byte_array_spec.rb +9 -0
  18. data/spec/typecast/class_spec.rb +8 -0
  19. data/spec/typecast/date_spec.rb +8 -0
  20. data/spec/typecast/datetime_spec.rb +8 -0
  21. data/spec/typecast/float_spec.rb +8 -0
  22. data/spec/typecast/integer_spec.rb +8 -0
  23. data/spec/typecast/nil_spec.rb +10 -0
  24. data/spec/typecast/range_spec.rb +8 -0
  25. data/spec/typecast/string_spec.rb +8 -0
  26. data/spec/typecast/time_spec.rb +8 -0
  27. data/tasks/gem.rake +61 -0
  28. data/tasks/install.rake +15 -0
  29. data/tasks/native.rake +35 -0
  30. data/tasks/release.rake +75 -0
  31. data/tasks/retrieve.rake +104 -0
  32. data/tasks/spec.rake +18 -0
  33. metadata +73 -41
  34. data/.gitignore +0 -3
  35. data/buildfile +0 -27
  36. data/ext-java/src/main/java/DoSqlite3ExtService.java +0 -23
  37. data/ext-java/src/main/java/do_sqlite3/Sqlite3DriverDefinition.java +0 -26
  38. data/spec/integration/do_sqlite3_spec.rb +0 -278
  39. data/spec/integration/logging_spec.rb +0 -53
  40. data/spec/integration/quoting_spec.rb +0 -23
  41. data/spec/spec.opts +0 -2
  42. data/spec/unit/transaction_spec.rb +0 -34
@@ -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 => [:package] 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.rdoc")
30
+ r.split(/^(=+ .*)/)[1..4].join.strip
31
+ rescue
32
+ warn "Missing README.rdoc"
33
+ ''
34
+ end
35
+
36
+ # read changes
37
+ changes = begin
38
+ h = File.read("History.txt")
39
+ h.split(/^(==+ .*)/)[1..2].join.strip
40
+ rescue
41
+ warn "Missing History.txt"
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
@@ -0,0 +1,104 @@
1
+ begin
2
+ gem('rake-compiler')
3
+ require 'rake/clean'
4
+ require 'rake/extensioncompiler'
5
+
6
+ # download sqlite3 library and headers
7
+
8
+ # only on Windows or cross platform compilation
9
+ def dlltool(dllname, deffile, libfile)
10
+ # define if we are using GCC or not
11
+ if Rake::ExtensionCompiler.mingw_gcc_executable then
12
+ dir = File.dirname(Rake::ExtensionCompiler.mingw_gcc_executable)
13
+ tool = case RUBY_PLATFORM
14
+ when /mingw/
15
+ File.join(dir, 'dlltool.exe')
16
+ when /linux|darwin/
17
+ File.join(dir, "#{Rake::ExtensionCompiler.mingw_host}-dlltool")
18
+ end
19
+ return "#{tool} --dllname #{dllname} --def #{deffile} --output-lib #{libfile}"
20
+ else
21
+ if RUBY_PLATFORM =~ /mswin/ then
22
+ tool = 'lib.exe'
23
+ else
24
+ fail "Unsupported platform for cross-compilation (please, contribute some patches)."
25
+ end
26
+ return "#{tool} /DEF:#{deffile} /OUT:#{libfile}"
27
+ end
28
+ end
29
+
30
+ # required folder structure for --with-sqlite3-dir (include + lib)
31
+ directory "vendor/sqlite3/lib"
32
+ directory "vendor/sqlite3/include"
33
+
34
+ # download amalgamation BINARY_VERSION (for include files)
35
+ file "vendor/sqlite-amalgamation-#{BINARY_VERSION}.zip" => ['vendor'] do |t|
36
+ url = "http://www.sqlite.org/#{File.basename(t.name)}"
37
+ when_writing "downloading #{t.name}" do
38
+ cd File.dirname(t.name) do
39
+ system "wget -c #{url} || curl -C - -O #{url}"
40
+ end
41
+ end
42
+ end
43
+
44
+ # download dll binaries
45
+ file "vendor/sqlitedll-#{BINARY_VERSION}.zip" => ['vendor'] do |t|
46
+ url = "http://www.sqlite.org/#{File.basename(t.name)}"
47
+ when_writing "downloading #{t.name}" do
48
+ cd File.dirname(t.name) do
49
+ system "wget -c #{url} || curl -C - -O #{url}"
50
+ end
51
+ end
52
+ end
53
+
54
+ # extract header files into include folder
55
+ file "vendor/sqlite3/include/sqlite3.h" => ['vendor/sqlite3/include', "vendor/sqlite-amalgamation-#{BINARY_VERSION}.zip"] do |t|
56
+ full_file = File.expand_path(t.prerequisites.last)
57
+ when_writing "creating #{t.name}" do
58
+ cd File.dirname(t.name) do
59
+ sh "unzip #{full_file}"
60
+ # update file timestamp to avoid Rake perform this extraction again.
61
+ touch File.basename(t.name)
62
+ end
63
+ end
64
+ end
65
+
66
+ # extract dll files into lib folder
67
+ file "vendor/sqlite3/lib/sqlite3.dll" => ['vendor/sqlite3/lib', "vendor/sqlitedll-#{BINARY_VERSION}.zip"] do |t|
68
+ full_file = File.expand_path(t.prerequisites.last)
69
+ when_writing "creating #{t.name}" do
70
+ cd File.dirname(t.name) do
71
+ sh "unzip #{full_file}"
72
+ # update file timestamp to avoid Rake perform this extraction again.
73
+ touch File.basename(t.name)
74
+ end
75
+ end
76
+ end
77
+
78
+ # generate import library from definition and dll file
79
+ file "vendor/sqlite3/lib/sqlite3.lib" => ["vendor/sqlite3/lib/sqlite3.dll"] do |t|
80
+ libfile = t.name
81
+ dllname = libfile.ext('dll')
82
+ deffile = libfile.ext('def')
83
+
84
+ when_writing "creating #{t.name}" do
85
+ sh dlltool(dllname, deffile, libfile)
86
+ end
87
+ end
88
+
89
+ # clobber vendored packages
90
+ CLOBBER.include('vendor')
91
+
92
+ # vendor:sqlite3
93
+ task 'vendor:sqlite3' => ["vendor/sqlite3/lib/sqlite3.lib", "vendor/sqlite3/include/sqlite3.h"]
94
+
95
+ # hook into cross compilation vendored sqlite3 dependency
96
+ if RUBY_PLATFORM =~ /mingw|mswin/ then
97
+ Rake::Task['compile'].prerequisites.unshift 'vendor:sqlite3'
98
+ else
99
+ if Rake::Task.tasks.map {|t| t.name }.include? 'cross'
100
+ Rake::Task['cross'].prerequisites.unshift 'vendor:sqlite3'
101
+ end
102
+ end
103
+ rescue LoadError
104
+ end
data/tasks/spec.rake ADDED
@@ -0,0 +1,18 @@
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
+
9
+ begin
10
+ # RCov is run by default, except on the JRuby platform
11
+ t.rcov = JRUBY ? false : (ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true)
12
+ t.rcov_opts << '--exclude' << 'spec'
13
+ t.rcov_opts << '--text-summary'
14
+ t.rcov_opts << '--sort' << 'coverage' << '--sort-reverse'
15
+ rescue Exception
16
+ # rcov not installed
17
+ end
18
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: do_sqlite3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.11
4
+ version: 0.9.12
5
5
  platform: x86-mswin32-60
6
6
  authors:
7
7
  - Dirkjan Bussink
@@ -9,9 +9,29 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-19 00:00:00 +01:00
12
+ date: 2009-05-17 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: addressable
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 2.0.0
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: extlib
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 0.9.12
34
+ version:
15
35
  - !ruby/object:Gem::Dependency
16
36
  name: data_objects
17
37
  type: :runtime
@@ -20,65 +40,77 @@ dependencies:
20
40
  requirements:
21
41
  - - "="
22
42
  - !ruby/object:Gem::Version
23
- version: 0.9.11
43
+ version: 0.9.12
24
44
  version:
25
45
  - !ruby/object:Gem::Dependency
26
- name: hoe
46
+ name: rspec
27
47
  type: :development
28
48
  version_requirement:
29
49
  version_requirements: !ruby/object:Gem::Requirement
30
50
  requirements:
31
- - - ">="
51
+ - - ~>
32
52
  - !ruby/object:Gem::Version
33
- version: 1.8.2
53
+ version: 1.2.0
34
54
  version:
35
- description: A DataObject.rb driver for Sqlite3
36
- email:
37
- - d.bussink@gmail.com
55
+ description: Implements the DataObjects API for Sqlite3
56
+ email: d.bussink@gmail.com
38
57
  executables: []
39
58
 
40
59
  extensions: []
41
60
 
42
- extra_rdoc_files:
43
- - History.txt
44
- - Manifest.txt
45
- - README.txt
61
+ extra_rdoc_files: []
62
+
46
63
  files:
47
- - .gitignore
48
- - History.txt
49
- - LICENSE
50
- - Manifest.txt
51
- - README.txt
52
- - Rakefile
53
- - buildfile
54
- - ext-java/src/main/java/DoSqlite3ExtService.java
55
- - ext-java/src/main/java/do_sqlite3/Sqlite3DriverDefinition.java
56
- - ext/do_sqlite3_ext/do_sqlite3_ext.c
57
- - ext/do_sqlite3_ext/extconf.rb
58
- - lib/do_sqlite3.rb
59
64
  - lib/do_sqlite3/transaction.rb
60
65
  - lib/do_sqlite3/version.rb
61
- - spec/integration/do_sqlite3_spec.rb
62
- - spec/integration/logging_spec.rb
63
- - spec/integration/quoting_spec.rb
64
- - spec/spec.opts
66
+ - lib/do_sqlite3.rb
67
+ - spec/command_spec.rb
68
+ - spec/connection_spec.rb
69
+ - spec/lib/rspec_immediate_feedback_formatter.rb
70
+ - spec/reader_spec.rb
71
+ - spec/result_spec.rb
65
72
  - spec/spec_helper.rb
66
- - spec/unit/transaction_spec.rb
73
+ - spec/typecast/array_spec.rb
74
+ - spec/typecast/bigdecimal_spec.rb
75
+ - spec/typecast/boolean_spec.rb
76
+ - spec/typecast/byte_array_spec.rb
77
+ - spec/typecast/class_spec.rb
78
+ - spec/typecast/date_spec.rb
79
+ - spec/typecast/datetime_spec.rb
80
+ - spec/typecast/float_spec.rb
81
+ - spec/typecast/integer_spec.rb
82
+ - spec/typecast/nil_spec.rb
83
+ - spec/typecast/range_spec.rb
84
+ - spec/typecast/string_spec.rb
85
+ - spec/typecast/time_spec.rb
86
+ - tasks/gem.rake
87
+ - tasks/install.rake
88
+ - tasks/native.rake
89
+ - tasks/release.rake
90
+ - tasks/retrieve.rake
91
+ - tasks/spec.rake
92
+ - ext/do_sqlite3_ext/extconf.rb
93
+ - ext/do_sqlite3_ext/do_sqlite3_ext.c
94
+ - LICENSE
95
+ - Rakefile
96
+ - History.txt
97
+ - Manifest.txt
98
+ - README.txt
67
99
  - lib/do_sqlite3_ext.so
68
- has_rdoc: false
69
- homepage: http://rubyforge.org/projects/dorb
100
+ has_rdoc: true
101
+ homepage: http://github.com/datamapper/do
102
+ licenses: []
103
+
70
104
  post_install_message:
71
- rdoc_options:
72
- - --main
73
- - README.txt
105
+ rdoc_options: []
106
+
74
107
  require_paths:
75
108
  - lib
76
- - ext
77
109
  required_ruby_version: !ruby/object:Gem::Requirement
78
110
  requirements:
79
- - - ">="
111
+ - - ~>
80
112
  - !ruby/object:Gem::Version
81
- version: "0"
113
+ version: 1.8.6
82
114
  version:
83
115
  required_rubygems_version: !ruby/object:Gem::Requirement
84
116
  requirements:
@@ -89,9 +121,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
121
  requirements: []
90
122
 
91
123
  rubyforge_project: dorb
92
- rubygems_version: 1.3.1
124
+ rubygems_version: 1.3.3
93
125
  signing_key:
94
- specification_version: 2
95
- summary: A DataObject.rb driver for Sqlite3
126
+ specification_version: 3
127
+ summary: DataObjects Sqlite3 Driver
96
128
  test_files: []
97
129
 
data/.gitignore DELETED
@@ -1,3 +0,0 @@
1
- test.db
2
- test.db-journal
3
- tmp/
data/buildfile DELETED
@@ -1,27 +0,0 @@
1
- # Apache Buildr buildfile for do_sqlite3
2
- # see http://incubator.apache.org/buildr/ for more information on Apache Buildr
3
- require 'buildr'
4
- require 'pathname'
5
-
6
- VERSION_NUMBER = '1.0'
7
- JDBC_SUPPORT = ['data_objects:jdbc:jar:1.0']
8
- TARGET_DIR = 'pkg/classes'
9
- repositories.remote << 'http://www.ibiblio.org/maven2/'
10
-
11
- define 'do_sqlite3' do
12
- project.version = VERSION_NUMBER
13
- project.group = 'data_objects.rb'
14
-
15
- manifest['Copyright'] = 'Alex Coles (C) 2008-2009'
16
-
17
- compile.using :target => '1.5', :lint => 'all', :deprecation => 'true'
18
-
19
- define 'ext-java' do
20
- package(:jar).clean.include(TARGET_DIR)
21
-
22
- jdbc_support_jar = file('../../do_jdbc/lib/do_jdbc_internal.jar')
23
- jdbc_support = artifact('data_objects:jdbc:jar:1.0').from(jdbc_support_jar)
24
-
25
- compile.into(TARGET_DIR).with(JDBC_SUPPORT)
26
- end
27
- end
@@ -1,23 +0,0 @@
1
- import data_objects.drivers.DriverDefinition;
2
- import do_sqlite3.Sqlite3DriverDefinition;
3
-
4
- public class DoSqlite3ExtService extends AbstractDataObjectsExtService {
5
-
6
- private final static DriverDefinition driver = new Sqlite3DriverDefinition();
7
- public final static String RUBY_MODULE_NAME = "Sqlite3";
8
- public final static String RUBY_ERROR_NAME = "Sqlite3Error";
9
-
10
- public String getModuleName() {
11
- return RUBY_MODULE_NAME;
12
- }
13
-
14
- @Override
15
- public String getErrorName() {
16
- return RUBY_ERROR_NAME;
17
- }
18
-
19
- public DriverDefinition getDriverDefinition() {
20
- return driver;
21
- }
22
-
23
- }
@@ -1,26 +0,0 @@
1
- package do_sqlite3;
2
-
3
- import data_objects.drivers.AbstractDriverDefinition;
4
-
5
- public class Sqlite3DriverDefinition extends AbstractDriverDefinition {
6
-
7
- public boolean supportsJdbcGeneratedKeys()
8
- {
9
- return true;
10
- }
11
-
12
- public boolean supportsConnectionPrepareStatementMethodWithGKFlag()
13
- {
14
- return false;
15
- }
16
-
17
- //@Override
18
- public String quoteString(String str) {
19
- StringBuffer quotedValue = new StringBuffer(str.length() + 2);
20
- quotedValue.append("\'");
21
- quotedValue.append(str.replaceAll("'", "''"));
22
- quotedValue.append("\'");
23
- return quotedValue.toString();
24
- }
25
-
26
- }