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

Sign up to get free protection for your applications and to get access to all the features.
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
- }