/
Rakefile
40 lines (34 loc) · 1.01 KB
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
require 'rake'
desc "default task"
task :default => [:update_sql_abstract]
desc "update SQL Abstract"
task :update_sql_abstract => [] do
unless File.exist? 'modules/sql-abstract-javascript/src/sql-abstract.js'
puts 'Submodule does not exist. Please do: git submodule update --init'
exit 1
end
orig = nil
open('src/jsdeferred-webdatabase.js', 'r') do |f|
orig = f.read
end
source = open('modules/sql-abstract-javascript/src/sql-abstract.js').read
status = `git submodule status`
sha1 = nil
if m = status.match(/[0-9a-f]{40}/)
sha1 = m[0]
else
exit 1
end
re = %r{(/\*-- include SQLAbstract --\*/)(.+?)( *)(/\*-- include SQLAbstract end --\*/)}m
if m = orig.match(re)
m = m.to_a
m.shift
space = m[2].gsub("\n", '')
m[2] = space
m[1] = "\n" + space + "/* rev: " + sha1 + " */" + source.split("\n").map {|s| "#{space}#{s}"}.join("\n") + "\n"
orig.sub!(re, m.join(''))
open('src/jsdeferred-webdatabase.js', 'w') do |f|
f.puts orig
end
end
end