Parallelize download, but serialize processing to prevent race conditions

This commit is contained in:
Adam Stankiewicz
2013-09-13 16:18:38 +02:00
parent a0644d9c80
commit 184a9122c1

103
build
View File

@@ -18,15 +18,25 @@ copy_dir() {
} }
# Fetches syntax files from given Github repo # Fetches syntax files from given Github repo
syntax() {
dir="tmp/$(echo "$1" | cut -d '/' -f 2)"
echo "- [$1](https://github.com/$1)"
rm -rf "$dir"
git clone -q --recursive "https://github.com/$1.git" "$dir"
# which tree > /dev/null && tree tmp
for subdir in $DIRS; do download() {
copy_dir "$dir" "$subdir" for pack in $1; do
dir="tmp/$(echo "$pack" | cut -d '/' -f 2)"
echo "- [$pack](https://github.com/$pack)"
rm -rf "$dir"
git clone -q --recursive "https://github.com/$pack.git" "$dir" &
done
wait
}
extract() {
for pack in $1; do
dir="tmp/$(echo "$pack" | cut -d '/' -f 2)"
# which tree > /dev/null && tree tmp
for subdir in $DIRS; do
copy_dir "$dir" "$subdir"
done
done done
} }
@@ -34,43 +44,46 @@ rm -rf tmp
rm -rf $DIRS rm -rf $DIRS
mkdir -p tmp mkdir -p tmp
syntax 'vim-ruby/vim-ruby' & PACKS="
syntax 'kchmck/vim-coffee-script' & vim-ruby/vim-ruby
syntax 'tpope/vim-haml' & kchmck/vim-coffee-script
syntax 'tpope/vim-bundler' & tpope/vim-haml
syntax 'pangloss/vim-javascript' & tpope/vim-bundler
syntax 'leshill/vim-json' & pangloss/vim-javascript
syntax 'mutewinter/tomdoc.vim' & leshill/vim-json
syntax 'mutewinter/nginx.vim' & mutewinter/tomdoc.vim
syntax 'timcharper/textile.vim' & mutewinter/nginx.vim
syntax 'tpope/vim-markdown' & timcharper/textile.vim
syntax 'nono/vim-handlebars' & tpope/vim-markdown
syntax 'acustodioo/vim-tmux' & nono/vim-handlebars
syntax 'groenewege/vim-less' & acustodioo/vim-tmux
syntax 'wavded/vim-stylus' & groenewege/vim-less
syntax 'tpope/vim-cucumber' & wavded/vim-stylus
syntax 'jrk/vim-ocaml' & tpope/vim-cucumber
syntax 'slim-template/vim-slim' & jrk/vim-ocaml
syntax 'vim-scripts/XSLT-syntax' & slim-template/vim-slim
syntax 'vim-scripts/python.vim--Vasiliev' & vim-scripts/XSLT-syntax
syntax 'vim-scripts/octave.vim--' & vim-scripts/python.vim--Vasiliev
syntax 'jnwhiteh/vim-golang' & vim-scripts/octave.vim--
syntax 'spf13/PIV' & jnwhiteh/vim-golang
syntax 'briancollins/vim-jst' & spf13/PIV
syntax 'derekwyatt/vim-scala' & briancollins/vim-jst
syntax 'derekwyatt/vim-sbt' & derekwyatt/vim-scala
syntax 'travitch/hasksyn' & derekwyatt/vim-sbt
syntax 'ajf/puppet-vim' & travitch/hasksyn
syntax 'beyondwords/vim-twig' & ajf/puppet-vim
syntax 'sudar/vim-arduino-syntax' & beyondwords/vim-twig
syntax 'guns/vim-clojure-static' & sudar/vim-arduino-syntax
syntax 'chrisbra/csv.vim' & guns/vim-clojure-static
syntax 'elixir-lang/vim-elixir' & chrisbra/csv.vim
syntax 'jimenezrick/vimerl' & elixir-lang/vim-elixir
syntax 'tpope/vim-git' & jimenezrick/vimerl
syntax 'skwp/vim-rspec' & tpope/vim-git
syntax 'cakebaker/scss-syntax.vim' & skwp/vim-rspec
cakebaker/scss-syntax.vim
"
wait download "$PACKS"
extract "$PACKS"
rm -rf tmp rm -rf tmp