mirror of
https://github.com/github/semantic.git
synced 2024-12-11 08:45:48 +03:00
75 lines
3.4 KiB
Bash
Executable File
75 lines
3.4 KiB
Bash
Executable File
#!/bin/bash
|
|
#/ Usage: script/clone-example-repos
|
|
#/
|
|
#/ Clone some example repositories for smoke testing parsing and assignment
|
|
#/
|
|
#/ NOTES:
|
|
#/ - This script is intended to be called by `test/Examples.hs`
|
|
#/ - Go and Ruby examples are in submodules
|
|
#/ - PHP doesn't have any parse-examples
|
|
#/ - Java and Haskell have good examples, but they have assignment failures so currently aren't tested
|
|
|
|
|
|
set -e
|
|
cd $(dirname "$0")/..
|
|
|
|
mkdir -p test/examplerepos || true
|
|
git clone --single-branch --recurse-submodules https://github.com/tree-sitter/haskell-tree-sitter.git tmp/haskell-tree-sitter || true
|
|
|
|
dir="tmp/haskell-tree-sitter/languages"
|
|
|
|
# clone_repo LOCAL_PATH URL SHA
|
|
function clone_repo {
|
|
path=$1
|
|
url="https://github.com/$2"
|
|
sha=$3
|
|
|
|
if [ ! -d "$path" ]; then
|
|
echo "Cloning $url@$sha"
|
|
git clone "$url" "$path"
|
|
else
|
|
echo "$url@$sha already exists"
|
|
fi
|
|
|
|
pushd "$path" > /dev/null # && git pull -q # NB: Enable this if you need to pin to a different sha for one of the repos.
|
|
git reset --hard -q $sha
|
|
popd > /dev/null
|
|
}
|
|
|
|
python_examples="$dir/python/vendor/tree-sitter-python/examples"
|
|
clone_repo "$python_examples/numpy" numpy/numpy 058851c5cfc98f50f11237b1c13d77cfd1f40475
|
|
clone_repo "$python_examples/thealgorithms" thealgorithms/python c6be53e1c43f870f5364eef1499ee1b411c966fb
|
|
clone_repo "$python_examples/flask" pallets/flask 0b5b4a66ef99c8b91569dd9b9b34911834689d3f
|
|
clone_repo "$python_examples/httpie" jakubroztocil/httpie 358342d1c915d6462a080a77aefbb20166d0bd5d
|
|
clone_repo "$python_examples/keras" keras-team/keras e59570ae26670f788d6c649191031e4a8824f955
|
|
clone_repo "$python_examples/requests" requests/requests 64bde6582d9b49e9345d9b8df16aaa26dc372d13
|
|
clone_repo "$python_examples/scikit-learn" scikit-learn/scikit-learn d0f63a760d9993a7f68cfc5e1a075700d67c53d3
|
|
clone_repo "$python_examples/scrapy" scrapy/scrapy 65d631329a1434ec013f24341e4b8520241aec70
|
|
clone_repo "$python_examples/pytorch" pytorch/pytorch c865d46736db4afff51690a712e35ed8e3899490
|
|
clone_repo "$python_examples/certbot" certbot/certbot bb8222200a8cbd39a3ce9584ce6dfed6c5d05228
|
|
|
|
ts_examples="$dir/typescript/vendor/tree-sitter-typescript/examples"
|
|
clone_repo "$ts_examples/desktop" desktop/desktop d1324f56d02dd9afca5d2e9da545905a7d41d671
|
|
|
|
# Java examples are disabled because the assignment code is not yet
|
|
# robust and for reasons of CI celerity.
|
|
|
|
java_examples="$dir/java/vendor/tree-sitter-java/examples"
|
|
# clone_repo "$java_examples/elasticsearch" elastic/elasticsearch 4d62640bf116af7e825d89c7319a39c3f2f325b4
|
|
# clone_repo "$java_examples/guava" google/guava e24fddc5fff7fd36d33ea38737b6606a7e476845
|
|
# clone_repo "$java_examples/RxJava" ReactiveX/RxJava 8a6bf14fc9a61f7c1c0016ca217be02ca86211d2
|
|
|
|
clone_repo "$ts_examples/npm" npm/npm ee147fbbca6f2707d3b16f4fa78f4c4606b2d9b1
|
|
|
|
haskell_examples="$dir/haskell/vendor/tree-sitter-haskell/examples"
|
|
clone_repo "$haskell_examples/effects" joshvera/effects 08f5f36f2600362685af593f4b327e933b60bf97
|
|
clone_repo "$haskell_examples/postgrest" PostgRest/postgrest f80cfbf165f951a062b3cbedac4556019905ca49
|
|
clone_repo "$haskell_examples/ivory" GaloisInc/ivory 3d00324ad1c113c7e70957ff6a6d636d271d0fc4
|
|
|
|
go_examples="$dir/go/vendor/tree-sitter-go/examples"
|
|
clone_repo "$go_examples/go" "golang/go" "870e12d7bfaea70fb0d743842f5864eb059cb939"
|
|
clone_repo "$go_examples/moby" "moby/moby" "f57f260b49b6142366e6bc1274204ee0a1205945"
|
|
|
|
ruby_examples="$dir/ruby/vendor/tree-sitter-ruby/examples"
|
|
clone_repo "$ruby_examples/ruby_spec" "ruby/spec" "c3e6b9017926f44a76e2b966c4dd35fa84c4cd3b"
|