pg 0.11.0-x86-mingw32 → 0.12.0-x86-mingw32

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 (57) hide show
  1. data/.gemtest +0 -0
  2. data/ChangeLog +1647 -462
  3. data/Contributors.rdoc +39 -0
  4. data/History.rdoc +61 -0
  5. data/Manifest.txt +43 -0
  6. data/README.OS_X.rdoc +68 -0
  7. data/README.ja.rdoc +7 -0
  8. data/{README → README.rdoc} +38 -18
  9. data/{README.windows → README.windows.rdoc} +23 -31
  10. data/Rakefile +104 -318
  11. data/Rakefile.cross +234 -0
  12. data/ext/compat.c +2 -2
  13. data/ext/extconf.rb +10 -2
  14. data/ext/pg.c +223 -43
  15. data/ext/vc/pg.sln +26 -0
  16. data/ext/vc/pg_18/pg.vcproj +216 -0
  17. data/ext/vc/pg_19/pg_19.vcproj +209 -0
  18. data/lib/1.8/pg_ext.so +0 -0
  19. data/lib/1.9/pg_ext.so +0 -0
  20. data/lib/pg.rb +5 -7
  21. data/misc/openssl-pg-segfault.rb +31 -0
  22. data/sample/async_api.rb +109 -0
  23. data/sample/async_copyto.rb +39 -0
  24. data/sample/copyfrom.rb +81 -0
  25. data/sample/copyto.rb +19 -0
  26. data/sample/cursor.rb +21 -0
  27. data/sample/losample.rb +69 -0
  28. data/sample/notify_wait.rb +43 -0
  29. data/sample/psql.rb +1181 -0
  30. data/sample/psqlHelp.rb +158 -0
  31. data/sample/test1.rb +60 -0
  32. data/sample/test2.rb +44 -0
  33. data/sample/test4.rb +71 -0
  34. data/sample/test_binary_values.rb +35 -0
  35. data/spec/lib/helpers.rb +6 -4
  36. data/spec/m17n_spec.rb +2 -2
  37. data/spec/pgconn_spec.rb +51 -6
  38. data/spec/pgresult_spec.rb +30 -4
  39. metadata +147 -86
  40. data.tar.gz.sig +0 -3
  41. data/Contributors +0 -32
  42. data/README.OS_X +0 -19
  43. data/README.ja +0 -183
  44. data/Rakefile.local +0 -312
  45. data/rake/191_compat.rb +0 -26
  46. data/rake/dependencies.rb +0 -76
  47. data/rake/documentation.rb +0 -123
  48. data/rake/helpers.rb +0 -502
  49. data/rake/hg.rb +0 -318
  50. data/rake/manual.rb +0 -787
  51. data/rake/packaging.rb +0 -129
  52. data/rake/publishing.rb +0 -341
  53. data/rake/style.rb +0 -62
  54. data/rake/svn.rb +0 -668
  55. data/rake/testing.rb +0 -152
  56. data/rake/verifytask.rb +0 -64
  57. metadata.gz.sig +0 -3
@@ -1,312 +0,0 @@
1
- #!rake
2
-
3
- require 'uri'
4
- require 'tempfile'
5
- require 'rbconfig'
6
-
7
- MISCDIR = BASEDIR + 'misc'
8
-
9
- EXT_MAKEFILE = EXTDIR + 'Makefile'
10
- EXT_SOURCES = FileList[ EXTDIR + '*.c' ]
11
- EXT_SO = EXTDIR + "pg_ext.#{CONFIG['DLEXT']}"
12
-
13
- NUM_CPUS = if File.exist?('/proc/cpuinfo')
14
- File.read('/proc/cpuinfo').scan('processor').length
15
- elsif RUBY_PLATFORM.include?( 'darwin' )
16
- `system_profiler SPHardwareDataType | grep 'Cores' | awk '{print $5}'`.chomp
17
- else
18
- 1
19
- end
20
-
21
- # Cross-compilation constants
22
- OPENSSL_VERSION = ENV['OPENSSL_VERSION'] || '1.0.0d'
23
- POSTGRESQL_VERSION = ENV['POSTGRESQL_VERSION'] || '9.0.3'
24
-
25
- COMPILE_HOME = Pathname( "~/.rake-compiler" ).expand_path
26
- STATIC_SOURCESDIR = COMPILE_HOME + 'sources'
27
- STATIC_BUILDDIR = COMPILE_HOME + 'builds'
28
-
29
- # Static OpenSSL build vars
30
- STATIC_OPENSSL_BUILDDIR = STATIC_BUILDDIR + "openssl-#{OPENSSL_VERSION}"
31
-
32
- OPENSSL_SOURCE_URI =
33
- URI( "http://www.openssl.org/source/openssl-#{OPENSSL_VERSION}.tar.gz" )
34
- OPENSSL_TARBALL = STATIC_SOURCESDIR + File.basename( OPENSSL_SOURCE_URI.path )
35
- OPENSSL_MAKEFILE = STATIC_OPENSSL_BUILDDIR + 'Makefile'
36
-
37
- LIBSSLEAY32 = STATIC_OPENSSL_BUILDDIR + 'libssleay32.a'
38
- LIBEAY32 = STATIC_OPENSSL_BUILDDIR + 'libeay32.a'
39
-
40
- OPENSSL_PATCHES = Rake::FileList[ MISCDIR + "openssl-#{OPENSSL_VERSION}.*.patch" ]
41
-
42
- # Static PostgreSQL build vars
43
- STATIC_POSTGRESQL_BUILDDIR = STATIC_BUILDDIR + "postgresql-#{POSTGRESQL_VERSION}"
44
- POSTGRESQL_SOURCE_URI = begin
45
- uristring = "http://ftp9.us.postgresql.org/pub/mirrors/postgresql/source/" +
46
- "v%s/postgresql-%s.tar.gz" % [ POSTGRESQL_VERSION, POSTGRESQL_VERSION ]
47
- URI( uristring )
48
- end
49
- POSTGRESQL_TARBALL = STATIC_SOURCESDIR + File.basename( POSTGRESQL_SOURCE_URI.path )
50
-
51
- STATIC_POSTGRESQL_SRCDIR = STATIC_POSTGRESQL_BUILDDIR + 'src'
52
- STATIC_POSTGRESQL_LIBDIR = STATIC_POSTGRESQL_SRCDIR + 'interfaces/libpq'
53
- STATIC_POSTGRESQL_INCDIR = STATIC_POSTGRESQL_SRCDIR + 'include'
54
-
55
- POSTGRESQL_GLOBAL_MAKEFILE = STATIC_POSTGRESQL_SRCDIR + 'Makefile.global'
56
- POSTGRESQL_SHLIB_MAKEFILE = STATIC_POSTGRESQL_SRCDIR + 'Makefile.shlib'
57
- POSTGRESQL_SHLIB_MF_ORIG = STATIC_POSTGRESQL_SRCDIR + 'Makefile.shlib.orig'
58
- POSTGRESQL_LIB = STATIC_POSTGRESQL_LIBDIR + 'libpq.a'
59
-
60
- CROSS_PREFIX = if RUBY_PLATFORM.include?( 'darwin' )
61
- 'i386-mingw32'
62
- else
63
- 'i586-mingw32msvc'
64
- end
65
-
66
- # Make sure the spec data is packaged up with the gem
67
- SPEC_DATA = Rake::FileList[ SPECDIR + 'data/*' ]
68
- GEMSPEC.test_files += SPEC_DATA.to_a
69
-
70
- # Clean up any testing database directories
71
- TESTING_TMPDIRS = Rake::FileList[ "#{BASEDIR}/tmp_test_*" ]
72
- CLOBBER.include( STATIC_SOURCESDIR.to_s, *TESTING_TMPDIRS )
73
-
74
- # clean intermediate files and folders
75
- CLEAN.include( STATIC_BUILDDIR.to_s )
76
-
77
-
78
- #####################################################################
79
- ### T A S K S
80
- #####################################################################
81
-
82
- # Make both the default task and the spec task depend on building the extension
83
- task :local => :compile
84
- task :spec => :compile
85
- namespace :spec do
86
- task :doc => [ :compile ]
87
- task :quiet => [ :compile ]
88
- task :html => [ :compile ]
89
- task :text => [ :compile ]
90
- end
91
-
92
- ENV['RUBY_CC_VERSION'] ||= '1.8.7:1.9.2'
93
-
94
- begin
95
- require 'rake/clean'
96
- require 'rake/extensiontask'
97
- require 'rake/extensioncompiler'
98
-
99
- Rake::ExtensionTask.new do |ext|
100
- ext.name = 'pg_ext'
101
- ext.gem_spec = GEMSPEC
102
- ext.ext_dir = EXTDIR.to_s
103
- ext.lib_dir = LIBDIR.to_s
104
- ext.source_pattern = "*.{c,h}"
105
-
106
- # If there's an explicit 'compile' argument, use everything after it as options.
107
- if offset = ARGV.index( 'compile' )
108
- trace "config options = %p" % [ ARGV[(offset + 1)..-1] ]
109
- ext.config_options = ARGV[ (offset + 1)..-1 ]
110
- # Otherwise, just grab everything from the first option onward
111
- elsif offset = ARGV.index( ARGV.find {|arg| arg =~ /^--/ } )
112
- trace "config options = %p" % [ ARGV[offset..-1] ]
113
- ext.config_options = ARGV[ offset..-1 ]
114
- else
115
- trace "No config options (ARGV = %p)" % [ ARGV ]
116
- end
117
-
118
- ext.cross_compile = true
119
- ext.cross_platform = %w[i386-mswin32 i386-mingw32]
120
-
121
- # configure options only for cross compile
122
- ext.cross_config_options += [
123
- "--with-pg-include=#{STATIC_POSTGRESQL_LIBDIR}",
124
- "--with-opt-include=#{STATIC_POSTGRESQL_INCDIR}",
125
- "--with-pg-lib=#{STATIC_POSTGRESQL_LIBDIR}",
126
- "--with-opt-lib=#{STATIC_OPENSSL_BUILDDIR}",
127
- "--enable-static-build",
128
- ]
129
-
130
- end
131
-
132
-
133
-
134
- #####################################################################
135
- ### C R O S S - C O M P I L A T I O N - T A S K S
136
- #####################################################################
137
-
138
-
139
- directory STATIC_SOURCESDIR.to_s
140
-
141
- #
142
- # Static OpenSSL build tasks
143
- #
144
- directory STATIC_OPENSSL_BUILDDIR.to_s
145
-
146
- # openssl source file should be stored there
147
- file OPENSSL_TARBALL => STATIC_SOURCESDIR do |t|
148
- download( OPENSSL_SOURCE_URI, t.name )
149
- end
150
-
151
- # Extract the openssl builds
152
- file STATIC_OPENSSL_BUILDDIR => OPENSSL_TARBALL do |t|
153
- trace "extracting %s to %s" % [ OPENSSL_TARBALL, STATIC_OPENSSL_BUILDDIR.parent ]
154
- STATIC_OPENSSL_BUILDDIR.mkpath
155
- run 'tar', '-xzf', OPENSSL_TARBALL.to_s, '-C', STATIC_OPENSSL_BUILDDIR.parent.to_s
156
- OPENSSL_MAKEFILE.unlink if OPENSSL_MAKEFILE.exist?
157
-
158
- OPENSSL_PATCHES.each do |patchfile|
159
- trace " applying patch #{patchfile}..."
160
- run 'patch', '-Np1', '-d', STATIC_OPENSSL_BUILDDIR.to_s,
161
- '-i', File.expand_path( patchfile, BASEDIR )
162
- end
163
- end
164
-
165
- CMD_PRELUDE = [
166
- 'env',
167
- "CC=#{CROSS_PREFIX}-gcc",
168
- "CFLAGS=-DDSO_WIN32",
169
- "AR=#{CROSS_PREFIX}-ar",
170
- "RANLIB=#{CROSS_PREFIX}-ranlib"
171
- ]
172
-
173
-
174
- # generate the makefile in a clean build location
175
- file OPENSSL_MAKEFILE => STATIC_OPENSSL_BUILDDIR do |t|
176
- Dir.chdir( STATIC_OPENSSL_BUILDDIR ) do
177
- cmd = CMD_PRELUDE.dup
178
- cmd << "./Configure" << 'mingw'
179
-
180
- run( *cmd )
181
- end
182
- end
183
-
184
- desc "compile static openssl libraries"
185
- task :openssl_libs => [ LIBSSLEAY32, LIBEAY32 ]
186
-
187
- task :compile_static_openssl => OPENSSL_MAKEFILE do |t|
188
- Dir.chdir( STATIC_OPENSSL_BUILDDIR ) do
189
- cmd = CMD_PRELUDE.dup
190
- cmd << 'make' << "-j#{NUM_CPUS}" << 'build_libs'
191
-
192
- run( *cmd )
193
- end
194
- end
195
-
196
- desc "compile static #{LIBEAY32}"
197
- file LIBEAY32 => :compile_static_openssl do |t|
198
- FileUtils.cp( STATIC_OPENSSL_BUILDDIR + 'libcrypto.a', LIBEAY32.to_s )
199
- end
200
-
201
- desc "compile static #{LIBSSLEAY32}"
202
- file LIBSSLEAY32 => :compile_static_openssl do |t|
203
- FileUtils.cp( STATIC_OPENSSL_BUILDDIR + 'libssl.a', LIBSSLEAY32.to_s )
204
- end
205
-
206
-
207
-
208
- #
209
- # Static PostgreSQL build tasks
210
- #
211
- directory STATIC_POSTGRESQL_BUILDDIR.to_s
212
-
213
-
214
- # postgresql source file should be stored there
215
- file POSTGRESQL_TARBALL => STATIC_SOURCESDIR do |t|
216
- download( POSTGRESQL_SOURCE_URI, t.name )
217
- end
218
-
219
- # Extract the postgresql sources
220
- file STATIC_POSTGRESQL_BUILDDIR => POSTGRESQL_TARBALL do |t|
221
- trace "extracting %s to %s" % [ POSTGRESQL_TARBALL, STATIC_POSTGRESQL_BUILDDIR.parent ]
222
- STATIC_POSTGRESQL_BUILDDIR.mkpath
223
- run 'tar', '-xzf', POSTGRESQL_TARBALL.to_s, '-C', STATIC_POSTGRESQL_BUILDDIR.parent.to_s
224
- mv POSTGRESQL_SHLIB_MAKEFILE, POSTGRESQL_SHLIB_MF_ORIG
225
- end
226
-
227
- # generate the makefile in a clean build location
228
- file POSTGRESQL_GLOBAL_MAKEFILE => [ STATIC_POSTGRESQL_BUILDDIR, :openssl_libs ] do |t|
229
- options = [
230
- '--target=i386-mingw32',
231
- "--host=#{Rake::ExtensionCompiler.mingw_host}",
232
- '--with-openssl',
233
- '--without-zlib',
234
- '--disable-shared',
235
- ]
236
-
237
- Dir.chdir( STATIC_POSTGRESQL_BUILDDIR ) do
238
- configure_path = STATIC_POSTGRESQL_BUILDDIR + 'configure'
239
- cmd = [ configure_path.to_s, *options ]
240
- cmd << "CFLAGS=-L#{STATIC_OPENSSL_BUILDDIR}"
241
- cmd << "LDFLAGS=-L#{STATIC_OPENSSL_BUILDDIR}"
242
- cmd << "LDFLAGS_SL=-L#{STATIC_OPENSSL_BUILDDIR}"
243
- cmd << "LIBS=-lwsock32 -lws2_32 -lgdi32"
244
- cmd << "CPPFLAGS=-I#{STATIC_OPENSSL_BUILDDIR}/include"
245
-
246
- run( *cmd )
247
- end
248
- end
249
-
250
-
251
- # patch the Makefile.shlib -- depend on the build dir so it's only
252
- # rewritten if the tarball is re-extracted.
253
- file POSTGRESQL_SHLIB_MAKEFILE => POSTGRESQL_SHLIB_MF_ORIG do |t|
254
- tf = Tempfile.new( POSTGRESQL_SHLIB_MAKEFILE.basename )
255
- POSTGRESQL_SHLIB_MF_ORIG.open( File::RDONLY ) do |ifh|
256
- ifh.each_line do |line|
257
- tf.print( line.sub(/^(\s*haslibarule\s*=\s*yes)/, "# \\1 ") )
258
- end
259
- end
260
- tf.close
261
-
262
- FileUtils.mv( tf.path, t.name, :verbose => $trace )
263
- end
264
-
265
-
266
- # make libpq.a
267
- task POSTGRESQL_LIB => [ POSTGRESQL_GLOBAL_MAKEFILE, POSTGRESQL_SHLIB_MAKEFILE ] do |t|
268
- Dir.chdir( POSTGRESQL_LIB.dirname ) do
269
- sh 'make', "-j#{NUM_CPUS}", POSTGRESQL_LIB.basename.to_s, 'PORTNAME=win32'
270
- end
271
- end
272
-
273
-
274
- #desc 'compile static libpg.a'
275
- task :static_libpq => POSTGRESQL_LIB
276
-
277
- desc 'cross compile pg for win32'
278
- task :cross do
279
- ENV['CROSS_COMPILING'] = 'yes'
280
- end
281
- task :cross => [ :mingw32, :static_libpq ]
282
-
283
- task :mingw32 do
284
- # Use Rake::ExtensionCompiler helpers to find the proper host
285
- unless Rake::ExtensionCompiler.mingw_host then
286
- warn "You need to install mingw32 cross compile functionality to be able to continue."
287
- warn "Please refer to your distribution/package manager documentation about installation."
288
- fail
289
- end
290
- end
291
-
292
- rescue LoadError => err
293
- task :no_rake_compiler do
294
- log "You'll need to install rake-compiler to compile this."
295
- fail
296
- end
297
-
298
- task :compile => :no_rake_compiler
299
- task :cross => :no_rake_compiler
300
- task :mingw32 => :no_rake_compiler
301
- task :static_libpq => :no_rake_compiler
302
- end
303
-
304
-
305
- desc "Stop any Postmaster instances that remain after testing."
306
- task :cleanup_testing_dbs do
307
- require 'spec/lib/helpers'
308
- PgTestingHelpers.stop_existing_postmasters()
309
- Rake::Task[:clean].invoke
310
- end
311
-
312
-
@@ -1,26 +0,0 @@
1
- # 1.9.1 fixes
2
-
3
-
4
- # Make Pathname compatible with 1.8.7 Pathname.
5
- unless Pathname.instance_methods.include?( :=~ )
6
- class Pathname
7
- def self::glob( *args ) # :yield: p
8
- args = args.collect {|p| p.to_s }
9
- if block_given?
10
- Dir.glob(*args) {|f| yield self.new(f) }
11
- else
12
- Dir.glob(*args).map {|f| self.new(f) }
13
- end
14
- end
15
-
16
- def =~( other )
17
- self.to_s =~ other
18
- end
19
-
20
- def to_str
21
- self.to_s
22
- end
23
- end
24
- end
25
-
26
-
@@ -1,76 +0,0 @@
1
- #
2
- # Dependency-checking and Installation Rake Tasks
3
-
4
- #
5
-
6
- require 'rubygems/dependency_installer'
7
- require 'rubygems/source_index'
8
- require 'rubygems/requirement'
9
- require 'rubygems/doc_manager'
10
-
11
- ### Install the specified +gems+ if they aren't already installed.
12
- def install_gems( gems )
13
-
14
- defaults = Gem::DependencyInstaller::DEFAULT_OPTIONS.merge({
15
- :generate_rdoc => true,
16
- :generate_ri => true,
17
- :install_dir => Gem.dir,
18
- :format_executable => false,
19
- :test => false,
20
- :version => Gem::Requirement.default,
21
- })
22
-
23
- # Check for root
24
- if Process.euid != 0
25
- $stderr.puts "This probably won't work, as you aren't root, but I'll try anyway"
26
- end
27
-
28
- gemindex = Gem::SourceIndex.from_installed_gems
29
-
30
- gems.each do |gemname, reqstring|
31
- requirement = Gem::Requirement.new( reqstring )
32
- trace "requirement is: %p" % [ requirement ]
33
-
34
- trace "Searching for an installed #{gemname}..."
35
- specs = gemindex.find_name( gemname )
36
- trace "...found %d specs: %s" %
37
- [ specs.length, specs.collect {|s| "%s %s" % [s.name, s.version] }.join(', ') ]
38
-
39
- if spec = specs.find {|spec| requirement.satisfied_by?(spec.version) }
40
- log "Version %s of %s is already installed (needs %s); skipping..." %
41
- [ spec.version, spec.name, requirement ]
42
- next
43
- end
44
-
45
- rgv = Gem::Version.new( Gem::RubyGemsVersion )
46
- installer = nil
47
-
48
- log "Trying to install #{gemname.inspect} #{requirement}..."
49
- if rgv >= Gem::Version.new( '1.1.1' )
50
- installer = Gem::DependencyInstaller.new
51
- installer.install( gemname, requirement )
52
- else
53
- installer = Gem::DependencyInstaller.new( gemname )
54
- installer.install
55
- end
56
-
57
- installer.installed_gems.each do |spec|
58
- log "Installed: %s" % [ spec.full_name ]
59
- end
60
-
61
- end
62
- end
63
-
64
-
65
- ### Task: install runtime dependencies
66
- desc "Install runtime dependencies as gems"
67
- task :install_dependencies do
68
- install_gems( DEPENDENCIES )
69
- end
70
-
71
- ### Task: install gems for development tasks
72
- desc "Install development dependencies as gems"
73
- task :install_dev_dependencies do
74
- install_gems( DEVELOPMENT_DEPENDENCIES )
75
- end
76
-
@@ -1,123 +0,0 @@
1
- #
2
- # Documentation Rake tasks
3
- #
4
-
5
- require 'rake/clean'
6
-
7
-
8
- # Append docs/lib to the load path if it exists for documentation
9
- # helpers.
10
- DOCSLIB = DOCSDIR + 'lib'
11
- $LOAD_PATH.unshift( DOCSLIB.to_s ) if DOCSLIB.exist?
12
-
13
- # Make relative string paths of all the stuff we need to generate docs for
14
- DOCFILES = Rake::FileList[ LIB_FILES + EXT_FILES + GEMSPEC.extra_rdoc_files ]
15
-
16
- # Documentation coverage constants
17
- COVERAGE_DIR = BASEDIR + 'coverage'
18
- COVERAGE_REPORT = COVERAGE_DIR + 'documentation.txt'
19
-
20
-
21
- # Prefer YARD, fallback to RDoc
22
- begin
23
- require 'yard'
24
- require 'yard/rake/yardoc_task'
25
-
26
- # Undo the lazy-assed monkeypatch yard/globals.rb installs and
27
- # re-install them as mixins as they should have been from the
28
- # start
29
- # <metamonkeypatch>
30
- class Object
31
- remove_method :log
32
- remove_method :P
33
- end
34
-
35
- module YardGlobals
36
- def P(namespace, name = nil)
37
- namespace, name = nil, namespace if name.nil?
38
- YARD::Registry.resolve(namespace, name, false, true)
39
- end
40
-
41
- def log
42
- YARD::Logger.instance
43
- end
44
- end
45
-
46
- class YARD::CLI::Base; include YardGlobals; end
47
- class YARD::CLI::Command; include YardGlobals; end
48
- class YARD::Parser::SourceParser; extend YardGlobals; include YardGlobals; end
49
- class YARD::Parser::CParser; include YardGlobals; end
50
- class YARD::CodeObjects::Base; include YardGlobals; end
51
- class YARD::Handlers::Base; include YardGlobals; end
52
- class YARD::Handlers::Processor; include YardGlobals; end
53
- class YARD::Serializers::Base; include YardGlobals; end
54
- class YARD::RegistryStore; include YardGlobals; end
55
- class YARD::Docstring; include YardGlobals; end
56
- module YARD::Templates::Helpers::ModuleHelper; include YardGlobals; end
57
- module YARD::Templates::Helpers::HtmlHelper; include YardGlobals; end
58
-
59
- if vvec(RUBY_VERSION) >= vvec("1.9.1")
60
- # Monkeypatched to allow more than two '#' characters at the beginning
61
- # of the comment line.
62
- # Patched from yard-0.5.8
63
- require 'yard/parser/ruby/ruby_parser'
64
- class YARD::Parser::Ruby::RipperParser < Ripper
65
- def on_comment(comment)
66
- visit_ns_token(:comment, comment)
67
- case comment
68
- when /\A# @group\s+(.+)\s*\Z/
69
- @groups.unshift [lineno, $1]
70
- return
71
- when /\A# @endgroup\s*\Z/
72
- @groups.unshift [lineno, nil]
73
- return
74
- end
75
-
76
- comment = comment.gsub(/^\#+\s{0,1}/, '').chomp
77
- append_comment = @comments[lineno - 1]
78
-
79
- if append_comment && @comments_last_column == column
80
- @comments.delete(lineno - 1)
81
- comment = append_comment + "\n" + comment
82
- end
83
-
84
- @comments[lineno] = comment
85
- @comments_last_column = column
86
- end
87
- end # class YARD::Parser::Ruby::RipperParser
88
- end
89
-
90
- # </metamonkeypatch>
91
-
92
- YARD_OPTIONS = [] unless defined?( YARD_OPTIONS )
93
-
94
- yardoctask = YARD::Rake::YardocTask.new( :apidocs ) do |task|
95
- task.files = DOCFILES
96
- task.options = YARD_OPTIONS
97
- task.options << '--debug' << '--verbose' if $trace
98
- end
99
- yardoctask.before = lambda {
100
- trace "Calling yardoc like:",
101
- " yardoc %s" % [ quotelist(yardoctask.options + yardoctask.files).join(' ') ]
102
- }
103
-
104
- YARDOC_CACHE = BASEDIR + '.yardoc'
105
- CLOBBER.include( YARDOC_CACHE.to_s )
106
-
107
- rescue LoadError
108
- require 'rdoc/task'
109
-
110
- desc "Build API documentation in #{API_DOCSDIR}"
111
- RDoc::Task.new( :apidocs ) do |task|
112
- task.main = "README"
113
- task.rdoc_files.include( DOCFILES )
114
- task.rdoc_dir = API_DOCSDIR.to_s
115
- task.options = RDOC_OPTIONS
116
- end
117
- end
118
-
119
- # Need the DOCFILES to exist to build the API docs
120
- task :apidocs => DOCFILES
121
-
122
- CLEAN.include( API_DOCSDIR.to_s )
123
-