mirror of
https://github.com/github/codeql.git
synced 2026-01-29 22:32:58 +01:00
62 lines
2.3 KiB
Makefile
62 lines
2.3 KiB
Makefile
all: tools ql/src/go.dbscheme
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
EXE = .exe
|
|
else
|
|
EXE =
|
|
endif
|
|
|
|
.PHONY: tools
|
|
tools: tools/bin/go-extractor$(EXE) tools/bin/go-tokenizer$(EXE) tools/bin/go-autobuilder$(EXE) tools/tokenizer.jar tools/bin/go-bootstrap$(EXE)
|
|
|
|
tools/bin/go-extractor$(EXE): FORCE
|
|
go build -mod=vendor -o $@ ./extractor/cli/go-extractor
|
|
|
|
tools/bin/go-tokenizer$(EXE): FORCE
|
|
go build -mod=vendor -o $@ ./extractor/cli/go-tokenizer
|
|
|
|
tools/bin/go-autobuilder$(EXE): FORCE
|
|
go build -mod=vendor -o $@ ./extractor/cli/go-autobuilder
|
|
|
|
tools/bin/go-bootstrap$(EXE): FORCE
|
|
go build -mod=vendor -o $@ ./extractor/cli/go-bootstrap
|
|
|
|
FORCE:
|
|
|
|
tools/tokenizer.jar: tools/net/sourceforge/pmd/cpd/GoLanguage.class
|
|
jar cf $@ -C tools net
|
|
jar uf $@ -C tools opencsv
|
|
|
|
tools/net/sourceforge/pmd/cpd/GoLanguage.class: extractor/net/sourceforge/pmd/cpd/GoLanguage.java
|
|
javac -cp extractor -d tools $^
|
|
rm tools/net/sourceforge/pmd/cpd/AbstractLanguage.class
|
|
rm tools/net/sourceforge/pmd/cpd/SourceCode.class
|
|
rm tools/net/sourceforge/pmd/cpd/TokenEntry.class
|
|
rm tools/net/sourceforge/pmd/cpd/Tokenizer.class
|
|
|
|
ql/src/go.dbscheme: tools/bin/go-extractor$(EXE)
|
|
env TRAP_FOLDER=/tmp tools/bin/go-extractor --dbscheme $@
|
|
|
|
ql/src/go.dbscheme.stats: ql/src/go.dbscheme
|
|
odasa createProject --force --template templates/project --threads 4 \
|
|
--variable repository https://github.com/golang/tools \
|
|
--variable revision 6e04913c \
|
|
--variable SEMMLE_REPO_URL golang.org/x/tools \
|
|
build/stats-project
|
|
odasa addSnapshot --latest --overwrite --name revision --project build/stats-project
|
|
odasa buildSnapshot --latest --project build/stats-project
|
|
odasa collectStats --dbscheme $^ --db build/stats-project/revision/working/db-go --outputFile $@
|
|
|
|
test: all build/testdb/check-upgrade-path
|
|
odasa qltest --language go --library ql/src ql/test
|
|
cd extractor; go test -mod=vendor ./... | grep -vF "[no test files]"
|
|
|
|
.PHONY: build/testdb/check-upgrade-path
|
|
build/testdb/check-upgrade-path : build/testdb/go.dbscheme ql/src/go.dbscheme
|
|
odasa upgradeDatabase --db build/testdb --upgrade-packs upgrades
|
|
diff -q build/testdb/go.dbscheme ql/src/go.dbscheme
|
|
|
|
build/testdb/go.dbscheme: upgrades/initial/go.dbscheme
|
|
echo >build/empty.trap
|
|
odasa cli --dbscheme upgrades/initial/go.dbscheme --import build/empty.trap --db build/testdb
|