summaryrefslogtreecommitdiffstats
path: root/scripts/build
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build')
-rwxr-xr-xscripts/build31
1 files changed, 29 insertions, 2 deletions
diff --git a/scripts/build b/scripts/build
index 69993374..7503ebff 100755
--- a/scripts/build
+++ b/scripts/build
@@ -36,6 +36,7 @@ def load_data()
end
end
+ puts deps["javascript"]
each_node = lambda {|&b| packages.keys.each(&b) }
each_child = lambda {|n, &b| deps[n].each(&b) }
@@ -168,8 +169,33 @@ def copy_file(package, src, dest)
FileUtils.mkdir_p(File.dirname(dest))
name = package.fetch("name")
+ header = '" Polyglot metafile'
+ if File.exist?(dest)
+ meta_dest = dest
+ new_dest = dest
+ i = 0
+ while File.exist?(new_dest)
+ i += 1
+ new_dest = "#{dest.gsub(/\.vim$/, '')}-#{i}.vim"
+ end
+
+ if File.read(dest).include?(header)
+ dest = new_dest
+ else
+ FileUtils.mv(dest, new_dest)
+ File.write(meta_dest, "#{header}\n")
+ open(meta_dest, "a+") do |output|
+ output << "source <sfile>:h/#{File.basename(new_dest)}\n"
+ end
+ dest = "#{dest.gsub(/\.vim$/, '')}-#{i+1}.vim"
+ end
+ open(meta_dest, "a+") do |output|
+ output << "source <sfile>:h/#{File.basename(dest)}\n"
+ end
+ end
+
open(src, "r") do |input|
- open(dest, "a+") do |output|
+ open(dest, "w") do |output|
if name == "jsx"
output << "if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1)\n\n"
else
@@ -335,7 +361,8 @@ def extract(packages)
FileUtils.rm_rf(all_dirs)
output = []
- packages.map do |package|
+ # We need to reverse packages so they are included in proper order
+ packages.reverse.map do |package|
repo, branch, path, dir = parse_remote(package["remote"])
dirs = package.fetch("dirs", default_dirs)
ignored_dirs = package.fetch("ignored_dirs", [])