X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/8d2aebfd3a0e4814b292659710386f949cafe092..093ec98e4a065acfc537ea22c08c337c115fe273:/services/api/Rakefile diff --git a/services/api/Rakefile b/services/api/Rakefile index fbbf53e3c6..70ceb653e6 100644 --- a/services/api/Rakefile +++ b/services/api/Rakefile @@ -1,14 +1,13 @@ #!/usr/bin/env rake +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + # Add your own tasks in files placed in lib/tasks ending in .rake, # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. require File.expand_path('../config/application', __FILE__) - -begin - ok = PgPower -rescue - abort "Hm, pg_power is missing. Make sure you use 'bundle exec rake ...'" -end +require 'rake/testtask' Server::Application.load_tasks @@ -39,12 +38,28 @@ namespace :db do require 'tempfile' origfnm = File.expand_path('../db/structure.sql', __FILE__) tmpfnm = Tempfile.new 'structure.sql', File.expand_path('..', origfnm) + copyright_done = false + started = false begin tmpfile = File.new tmpfnm, 'w' origfile = File.new origfnm origfile.each_line do |line| - if /^SET lock_timeout = 0;/ =~ line - # Avoid edit wars between versions that do/don't write this line. + if !copyright_done + if !/Copyright .* Arvados/.match(line) + tmpfile.write "-- Copyright (C) The Arvados Authors. All rights reserved.\n--\n-- SPDX-License-Identifier: AGPL-3.0\n\n" + end + copyright_done = true + end + + if !started && /^[^-\n]/ !~ line + # Ignore the "PostgreSQL database dump" comment block, + # which varies from one client version to the next. + next + end + started = true + + if /^SET (lock_timeout|idle_in_transaction_session_timeout|row_security) = / =~ line + # Avoid edit wars between versions that do/don't write (and can/can't execute) this line. next elsif /^COMMENT ON EXTENSION/ =~ line # Avoid warning message when loading: @@ -63,3 +78,13 @@ namespace :db do end end end + +# Work around Rails3+PostgreSQL9.5 incompatibility (pg_dump used to +# accept -i as a no-op, but now it's not accepted at all). +module Kernel + alias_method :orig_backtick, :` + def `(*args) #`#` sorry, parsers + args[0].sub!(/\Apg_dump -i /, 'pg_dump ') rescue nil + orig_backtick(*args) + end +end