Files
codeql/ql/scripts/create-extractor-pack.sh
Harry Maclean 8c60b6e657 QL: Merge extractor crates into one
This mirrors the structure we have in the Ruby extractor, and will allow
us to share more code.
2023-03-23 11:59:14 +13:00

32 lines
926 B
Bash
Executable File

#!/bin/bash
set -eux
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
platform="linux64"
elif [[ "$OSTYPE" == "darwin"* ]]; then
platform="osx64"
else
echo "Unknown OS"
exit 1
fi
if which codeql >/dev/null; then
CODEQL_BINARY="codeql"
elif gh codeql >/dev/null; then
CODEQL_BINARY="gh codeql"
else
gh extension install github/gh-codeql
CODEQL_BINARY="gh codeql"
fi
cargo build --release
cargo run --release --bin generator -- --dbscheme ql/src/ql.dbscheme --library ql/src/codeql_ql/ast/internal/TreeSitter.qll
$CODEQL_BINARY query format -i ql/src/codeql_ql/ast/internal/TreeSitter.qll
rm -rf extractor-pack
mkdir -p extractor-pack
cp -r codeql-extractor.yml tools ql/src/ql.dbscheme ql/src/ql.dbscheme.stats extractor-pack/
mkdir -p extractor-pack/tools/${platform}
cp target/release/extractor extractor-pack/tools/${platform}/extractor
cp target/release/autobuilder extractor-pack/tools/${platform}/autobuilder