2015-03-05 12:46:31 -05:00
|
|
|
DOMAIN=lxd
|
|
|
|
|
POFILES=$(wildcard po/*.po)
|
|
|
|
|
MOFILES=$(patsubst %.po,%.mo,$(POFILES))
|
|
|
|
|
LINGUAS=$(basename $(POFILES))
|
|
|
|
|
POTFILE=po/$(DOMAIN).pot
|
2016-12-16 15:36:53 -05:00
|
|
|
VERSION=$(shell grep "var Version" shared/version/flex.go | cut -d'"' -f2)
|
2015-03-05 12:46:31 -05:00
|
|
|
ARCHIVE=lxd-$(VERSION).tar
|
2020-02-17 14:08:53 +02:00
|
|
|
HASH := \#
|
2020-09-11 18:19:32 +02:00
|
|
|
TAG_SQLITE3=$(shell printf "$(HASH)include <dqlite.h>\nvoid main(){dqlite_node_id n = 1;}" | $(CC) ${CGO_CFLAGS} -o /dev/null -xc - >/dev/null 2>&1 && echo "libsqlite3")
|
2021-08-26 11:50:00 +01:00
|
|
|
GOPATH ?= $(shell go env GOPATH)
|
2021-06-27 22:07:19 -04:00
|
|
|
CGO_LDFLAGS_ALLOW ?= (-Wl,-wrap,pthread_create)|(-Wl,-z,now)
|
2021-11-23 20:03:52 -05:00
|
|
|
SPHINXENV=.sphinx/venv/bin/activate
|
2015-03-05 12:46:31 -05:00
|
|
|
|
2021-08-23 17:55:20 -04:00
|
|
|
ifneq "$(wildcard vendor)" ""
|
|
|
|
|
RAFT_PATH=$(CURDIR)/vendor/raft
|
|
|
|
|
DQLITE_PATH=$(CURDIR)/vendor/dqlite
|
|
|
|
|
else
|
|
|
|
|
RAFT_PATH=$(GOPATH)/deps/raft
|
|
|
|
|
DQLITE_PATH=$(GOPATH)/deps/dqlite
|
|
|
|
|
endif
|
2021-06-07 09:39:40 -04:00
|
|
|
|
2021-08-23 17:55:20 -04:00
|
|
|
# raft
|
|
|
|
|
.PHONY: default
|
|
|
|
|
default: build
|
2021-06-07 09:39:40 -04:00
|
|
|
|
|
|
|
|
.PHONY: build
|
|
|
|
|
build:
|
2021-08-24 17:20:54 -04:00
|
|
|
ifeq "$(TAG_SQLITE3)" ""
|
2020-09-11 18:19:32 +02:00
|
|
|
@echo "Missing dqlite, run \"make deps\" to setup."
|
2018-08-01 12:53:12 -04:00
|
|
|
exit 1
|
|
|
|
|
endif
|
|
|
|
|
|
2021-06-27 22:07:19 -04:00
|
|
|
CC="$(CC)" CGO_LDFLAGS_ALLOW="$(CGO_LDFLAGS_ALLOW)" go install -v -tags "$(TAG_SQLITE3)" $(DEBUG) ./...
|
2021-12-14 15:57:22 +01:00
|
|
|
CGO_ENABLED=0 go install -v -tags netgo ./lxd-migrate
|
2020-05-19 17:13:02 -04:00
|
|
|
CGO_ENABLED=0 go install -v -tags agent,netgo ./lxd-agent
|
2016-02-11 21:20:29 +01:00
|
|
|
@echo "LXD built successfully"
|
2014-11-07 03:58:32 -06:00
|
|
|
|
2015-08-03 10:56:47 -04:00
|
|
|
.PHONY: client
|
2015-08-03 10:25:35 -04:00
|
|
|
client:
|
2018-08-01 12:42:03 -04:00
|
|
|
go install -v -tags "$(TAG_SQLITE3)" $(DEBUG) ./lxc
|
2016-02-11 21:20:29 +01:00
|
|
|
@echo "LXD client built successfully"
|
2015-08-03 10:25:35 -04:00
|
|
|
|
2019-11-08 16:58:37 -05:00
|
|
|
.PHONY: lxd-agent
|
|
|
|
|
lxd-agent:
|
2020-05-19 17:13:02 -04:00
|
|
|
CGO_ENABLED=0 go install -v -tags agent,netgo ./lxd-agent
|
2019-11-08 16:58:37 -05:00
|
|
|
@echo "LXD agent built successfully"
|
|
|
|
|
|
2021-12-14 15:57:22 +01:00
|
|
|
.PHONY: lxd-migrate
|
|
|
|
|
lxd-migrate:
|
|
|
|
|
CGO_ENABLED=0 go install -v -tags netgo ./lxd-migrate
|
|
|
|
|
@echo "LXD-MIGRATE built successfully"
|
2018-10-04 12:58:05 -04:00
|
|
|
|
2023-05-08 17:14:49 +02:00
|
|
|
.PHONY: lxd-doc
|
|
|
|
|
lxd-doc:
|
|
|
|
|
@go version > /dev/null 2>&1 || (echo "go is not installed for lxd-doc installation." && exit 1)
|
|
|
|
|
cd lxd/config/generate && CGO_ENABLED=0 go build -o $(GOPATH)/bin/lxd-doc
|
|
|
|
|
@echo "LXD-DOC built successfully"
|
|
|
|
|
|
2018-08-01 13:31:30 -04:00
|
|
|
.PHONY: deps
|
|
|
|
|
deps:
|
2021-08-23 17:55:20 -04:00
|
|
|
@if [ ! -e "$(RAFT_PATH)" ]; then \
|
|
|
|
|
git clone --depth=1 "https://github.com/canonical/raft" "$(RAFT_PATH)"; \
|
|
|
|
|
elif [ -e "$(RAFT_PATH)/.git" ]; then \
|
|
|
|
|
cd "$(RAFT_PATH)"; git pull; \
|
2019-06-24 10:31:19 +02:00
|
|
|
fi
|
|
|
|
|
|
2021-08-23 17:55:20 -04:00
|
|
|
cd "$(RAFT_PATH)" && \
|
2019-06-24 10:31:19 +02:00
|
|
|
autoreconf -i && \
|
|
|
|
|
./configure && \
|
|
|
|
|
make
|
|
|
|
|
|
2018-08-01 13:31:30 -04:00
|
|
|
# dqlite
|
2021-08-23 17:55:20 -04:00
|
|
|
@if [ ! -e "$(DQLITE_PATH)" ]; then \
|
|
|
|
|
git clone --depth=1 "https://github.com/canonical/dqlite" "$(DQLITE_PATH)"; \
|
|
|
|
|
elif [ -e "$(DQLITE_PATH)/.git" ]; then \
|
|
|
|
|
cd "$(DQLITE_PATH)"; git pull; \
|
2018-08-01 13:31:30 -04:00
|
|
|
fi
|
|
|
|
|
|
2021-08-23 17:55:20 -04:00
|
|
|
cd "$(DQLITE_PATH)" && \
|
2018-08-01 13:31:30 -04:00
|
|
|
autoreconf -i && \
|
2021-08-23 17:55:20 -04:00
|
|
|
PKG_CONFIG_PATH="$(RAFT_PATH)" ./configure && \
|
|
|
|
|
make CFLAGS="-I$(RAFT_PATH)/include/" LDFLAGS="-L$(RAFT_PATH)/.libs/"
|
2018-08-01 13:31:30 -04:00
|
|
|
|
|
|
|
|
# environment
|
|
|
|
|
@echo ""
|
|
|
|
|
@echo "Please set the following in your environment (possibly ~/.bashrc)"
|
2021-08-23 17:55:20 -04:00
|
|
|
@echo "export CGO_CFLAGS=\"-I$(RAFT_PATH)/include/ -I$(DQLITE_PATH)/include/\""
|
|
|
|
|
@echo "export CGO_LDFLAGS=\"-L$(RAFT_PATH)/.libs -L$(DQLITE_PATH)/.libs/\""
|
|
|
|
|
@echo "export LD_LIBRARY_PATH=\"$(RAFT_PATH)/.libs/:$(DQLITE_PATH)/.libs/\""
|
2021-06-23 18:29:52 +02:00
|
|
|
@echo "export CGO_LDFLAGS_ALLOW=\"(-Wl,-wrap,pthread_create)|(-Wl,-z,now)\""
|
2020-01-19 00:13:13 +01:00
|
|
|
|
2015-12-20 22:15:21 -05:00
|
|
|
.PHONY: update
|
|
|
|
|
update:
|
2021-08-24 17:21:35 -04:00
|
|
|
ifneq "$(LXD_OFFLINE)" ""
|
|
|
|
|
@echo "The update target cannot be run in offline mode."
|
|
|
|
|
exit 1
|
|
|
|
|
endif
|
2015-12-20 22:15:21 -05:00
|
|
|
go get -t -v -d -u ./...
|
2021-08-23 17:55:20 -04:00
|
|
|
go mod tidy
|
2015-12-20 22:15:21 -05:00
|
|
|
@echo "Dependencies updated"
|
|
|
|
|
|
2018-08-01 12:25:54 -04:00
|
|
|
.PHONY: update-protobuf
|
|
|
|
|
update-protobuf:
|
|
|
|
|
protoc --go_out=. ./lxd/migration/migrate.proto
|
|
|
|
|
|
2018-08-01 12:24:56 -04:00
|
|
|
.PHONY: update-schema
|
2019-09-04 14:38:19 -04:00
|
|
|
update-schema:
|
2021-08-26 11:51:13 +01:00
|
|
|
cd lxd/db/generate && go build -o $(GOPATH)/bin/lxd-generate -tags "$(TAG_SQLITE3)" $(DEBUG) && cd -
|
2018-09-05 09:29:07 +02:00
|
|
|
go generate ./...
|
2021-07-13 21:07:08 +00:00
|
|
|
gofmt -s -w ./lxd/db/
|
2021-08-02 17:50:41 +00:00
|
|
|
goimports -w ./lxd/db/
|
2018-09-05 09:29:07 +02:00
|
|
|
@echo "Code generation completed"
|
2017-08-25 08:08:45 +00:00
|
|
|
|
2021-02-16 18:16:03 -05:00
|
|
|
.PHONY: update-api
|
|
|
|
|
update-api:
|
2021-08-24 17:21:35 -04:00
|
|
|
ifeq "$(LXD_OFFLINE)" ""
|
2022-03-27 13:55:01 -04:00
|
|
|
(cd / ; go install -v -x github.com/go-swagger/go-swagger/cmd/swagger@latest)
|
2021-08-24 17:21:35 -04:00
|
|
|
endif
|
2021-02-16 18:16:03 -05:00
|
|
|
swagger generate spec -o doc/rest-api.yaml -w ./lxd -m
|
|
|
|
|
|
2022-09-21 18:03:34 +02:00
|
|
|
.PHONY: doc-setup
|
|
|
|
|
doc-setup:
|
2021-11-23 20:03:52 -05:00
|
|
|
@echo "Setting up documentation build environment"
|
|
|
|
|
python3 -m venv .sphinx/venv
|
|
|
|
|
. $(SPHINXENV) ; pip install --upgrade -r .sphinx/requirements.txt
|
|
|
|
|
mkdir -p .sphinx/deps/ .sphinx/themes/
|
2021-12-06 16:49:29 +01:00
|
|
|
git -C .sphinx/deps/swagger-ui pull || git clone --depth 1 https://github.com/swagger-api/swagger-ui.git .sphinx/deps/swagger-ui
|
2022-01-13 11:27:51 +01:00
|
|
|
mkdir -p .sphinx/_static/swagger-ui
|
|
|
|
|
ln -sf ../../deps/swagger-ui/dist/swagger-ui-bundle.js ../../deps/swagger-ui/dist/swagger-ui-standalone-preset.js ../../deps/swagger-ui/dist/swagger-ui.css .sphinx/_static/swagger-ui/
|
2022-02-08 10:20:30 +01:00
|
|
|
wget -N -P .sphinx/_static/download https://linuxcontainers.org/static/img/favicon.ico https://linuxcontainers.org/static/img/containers.png https://linuxcontainers.org/static/img/containers.small.png
|
2021-11-23 20:03:52 -05:00
|
|
|
rm -Rf doc/html
|
2022-09-21 18:03:34 +02:00
|
|
|
|
|
|
|
|
.PHONY: doc
|
2023-05-08 17:14:49 +02:00
|
|
|
doc: lxd-doc doc-setup doc-incremental
|
2021-11-23 20:03:52 -05:00
|
|
|
|
|
|
|
|
.PHONY: doc-incremental
|
|
|
|
|
doc-incremental:
|
|
|
|
|
@echo "Build the documentation"
|
2023-05-08 17:14:49 +02:00
|
|
|
$(GOPATH)/bin/lxd-doc ./lxd -y ./doc/config_options.yaml -t ./doc/config_options.txt
|
2021-11-23 20:03:52 -05:00
|
|
|
. $(SPHINXENV) ; sphinx-build -c .sphinx/ -b dirhtml doc/ doc/html/ -w .sphinx/warnings.txt
|
|
|
|
|
|
2022-01-26 11:27:23 +01:00
|
|
|
.PHONY: doc-serve
|
|
|
|
|
doc-serve:
|
|
|
|
|
cd doc/html; python3 -m http.server 8001
|
|
|
|
|
|
2022-07-12 15:39:49 +02:00
|
|
|
.PHONY: doc-spellcheck
|
|
|
|
|
doc-spellcheck: doc
|
|
|
|
|
. $(SPHINXENV) ; python3 -m pyspelling -c .sphinx/.spellcheck.yaml
|
|
|
|
|
|
2022-09-21 18:05:42 +02:00
|
|
|
.PHONY: doc-linkcheck
|
|
|
|
|
doc-linkcheck: doc-setup
|
|
|
|
|
. $(SPHINXENV) ; sphinx-build -c .sphinx/ -b linkcheck doc/ doc/html/
|
|
|
|
|
|
2022-08-24 15:06:52 +02:00
|
|
|
.PHONY: doc-lint
|
|
|
|
|
doc-lint:
|
|
|
|
|
.sphinx/.markdownlint/doc-lint.sh
|
|
|
|
|
|
2017-03-24 01:46:59 +01:00
|
|
|
.PHONY: debug
|
|
|
|
|
debug:
|
2021-08-24 17:20:54 -04:00
|
|
|
ifeq "$(TAG_SQLITE3)" ""
|
2018-08-01 12:53:12 -04:00
|
|
|
@echo "Missing custom libsqlite3, run \"make deps\" to setup."
|
|
|
|
|
exit 1
|
|
|
|
|
endif
|
|
|
|
|
|
2021-06-27 22:07:19 -04:00
|
|
|
CC="$(CC)" CGO_LDFLAGS_ALLOW="$(CGO_LDFLAGS_ALLOW)" go install -v -tags "$(TAG_SQLITE3) logdebug" $(DEBUG) ./...
|
2021-12-14 15:57:22 +01:00
|
|
|
CGO_ENABLED=0 go install -v -tags "netgo,logdebug" ./lxd-migrate
|
2020-08-06 17:10:54 +01:00
|
|
|
CGO_ENABLED=0 go install -v -tags "agent,netgo,logdebug" ./lxd-agent
|
2017-03-24 01:46:59 +01:00
|
|
|
@echo "LXD built successfully"
|
|
|
|
|
|
2019-10-21 20:58:55 +02:00
|
|
|
.PHONY: nocache
|
|
|
|
|
nocache:
|
2021-08-24 17:20:54 -04:00
|
|
|
ifeq "$(TAG_SQLITE3)" ""
|
2019-10-21 20:58:55 +02:00
|
|
|
@echo "Missing custom libsqlite3, run \"make deps\" to setup."
|
|
|
|
|
exit 1
|
|
|
|
|
endif
|
|
|
|
|
|
2021-06-27 22:07:19 -04:00
|
|
|
CC="$(CC)" CGO_LDFLAGS_ALLOW="$(CGO_LDFLAGS_ALLOW)" go install -a -v -tags "$(TAG_SQLITE3)" $(DEBUG) ./...
|
2021-12-14 15:57:22 +01:00
|
|
|
CGO_ENABLED=0 go install -a -v -tags netgo ./lxd-migrate
|
2020-08-06 17:10:54 +01:00
|
|
|
CGO_ENABLED=0 go install -a -v -tags agent,netgo ./lxd-agent
|
2019-10-21 20:58:55 +02:00
|
|
|
@echo "LXD built successfully"
|
|
|
|
|
|
2020-08-06 15:58:20 +01:00
|
|
|
race:
|
2021-08-24 17:20:54 -04:00
|
|
|
ifeq "$(TAG_SQLITE3)" ""
|
2020-08-06 15:58:20 +01:00
|
|
|
@echo "Missing custom libsqlite3, run \"make deps\" to setup."
|
|
|
|
|
exit 1
|
|
|
|
|
endif
|
|
|
|
|
|
2021-06-27 22:07:19 -04:00
|
|
|
CC="$(CC)" CGO_LDFLAGS_ALLOW="$(CGO_LDFLAGS_ALLOW)" go install -race -v -tags "$(TAG_SQLITE3)" $(DEBUG) ./...
|
2021-12-14 15:57:22 +01:00
|
|
|
CGO_ENABLED=0 go install -v -tags netgo ./lxd-migrate
|
2020-08-06 15:58:20 +01:00
|
|
|
CGO_ENABLED=0 go install -v -tags agent,netgo ./lxd-agent
|
|
|
|
|
@echo "LXD built successfully"
|
|
|
|
|
|
2014-11-07 03:58:32 -06:00
|
|
|
.PHONY: check
|
|
|
|
|
check: default
|
2021-08-24 17:21:35 -04:00
|
|
|
ifeq "$(LXD_OFFLINE)" ""
|
2022-03-27 13:55:01 -04:00
|
|
|
(cd / ; go install -v -x github.com/rogpeppe/godeps@latest)
|
|
|
|
|
(cd / ; go install -v -x github.com/tsenart/deadcode@latest)
|
|
|
|
|
(cd / ; go install -v -x golang.org/x/lint/golint@latest)
|
2021-08-24 17:21:35 -04:00
|
|
|
endif
|
2021-06-27 22:07:19 -04:00
|
|
|
CGO_LDFLAGS_ALLOW="$(CGO_LDFLAGS_ALLOW)" go test -v -tags "$(TAG_SQLITE3)" $(DEBUG) ./...
|
2014-11-07 06:07:22 -06:00
|
|
|
cd test && ./main.sh
|
2014-11-07 03:58:32 -06:00
|
|
|
|
2015-01-28 06:54:44 +01:00
|
|
|
.PHONY: dist
|
2022-02-08 11:07:38 +01:00
|
|
|
dist: doc
|
2016-12-16 16:21:49 -05:00
|
|
|
# Cleanup
|
|
|
|
|
rm -Rf $(ARCHIVE).gz
|
2017-05-30 10:47:11 +02:00
|
|
|
|
2016-12-16 16:21:49 -05:00
|
|
|
# Create build dir
|
2016-09-28 01:27:52 -04:00
|
|
|
$(eval TMP := $(shell mktemp -d))
|
2016-12-16 16:21:49 -05:00
|
|
|
git archive --prefix=lxd-$(VERSION)/ HEAD | tar -x -C $(TMP)
|
2021-08-23 17:55:20 -04:00
|
|
|
git show-ref HEAD | cut -d' ' -f1 > $(TMP)/lxd-$(VERSION)/.gitref
|
2017-05-30 10:47:11 +02:00
|
|
|
|
2016-12-16 16:21:49 -05:00
|
|
|
# Download dependencies
|
2021-08-23 17:55:20 -04:00
|
|
|
(cd $(TMP)/lxd-$(VERSION) ; go mod vendor)
|
2017-05-30 10:47:11 +02:00
|
|
|
|
2021-08-23 17:55:20 -04:00
|
|
|
# Download the dqlite libraries
|
|
|
|
|
git clone --depth=1 https://github.com/canonical/dqlite $(TMP)/lxd-$(VERSION)/vendor/dqlite
|
|
|
|
|
(cd $(TMP)/lxd-$(VERSION)/vendor/dqlite ; git show-ref HEAD | cut -d' ' -f1 > .gitref)
|
2018-02-28 14:56:23 -05:00
|
|
|
|
2021-08-23 17:55:20 -04:00
|
|
|
git clone --depth=1 https://github.com/canonical/raft $(TMP)/lxd-$(VERSION)/vendor/raft
|
|
|
|
|
(cd $(TMP)/lxd-$(VERSION)/vendor/raft ; git show-ref HEAD | cut -d' ' -f1 > .gitref)
|
2018-04-09 12:58:30 +02:00
|
|
|
|
2022-02-08 11:07:38 +01:00
|
|
|
# Copy doc output
|
|
|
|
|
cp -r doc/html $(TMP)/lxd-$(VERSION)/doc/html/
|
|
|
|
|
|
2016-12-16 16:21:49 -05:00
|
|
|
# Assemble tarball
|
|
|
|
|
tar --exclude-vcs -C $(TMP) -zcf $(ARCHIVE).gz lxd-$(VERSION)/
|
2017-05-30 10:47:11 +02:00
|
|
|
|
2016-12-16 16:21:49 -05:00
|
|
|
# Cleanup
|
|
|
|
|
rm -Rf $(TMP)
|
2015-01-29 11:28:36 +01:00
|
|
|
|
2021-08-23 17:54:44 -04:00
|
|
|
.PHONY: i18n
|
2017-06-02 01:09:08 -04:00
|
|
|
i18n: update-pot update-po
|
2015-03-05 12:46:31 -05:00
|
|
|
|
|
|
|
|
po/%.mo: po/%.po
|
|
|
|
|
msgfmt --statistics -o $@ $<
|
|
|
|
|
|
|
|
|
|
po/%.po: po/$(DOMAIN).pot
|
|
|
|
|
msgmerge -U po/$*.po po/$(DOMAIN).pot
|
|
|
|
|
|
2021-08-23 17:54:44 -04:00
|
|
|
.PHONY: update-po
|
2015-03-05 12:46:31 -05:00
|
|
|
update-po:
|
2017-02-17 16:02:12 -05:00
|
|
|
for lang in $(LINGUAS); do\
|
2015-03-05 12:46:31 -05:00
|
|
|
msgmerge -U $$lang.po po/$(DOMAIN).pot; \
|
2015-09-12 16:27:02 +01:00
|
|
|
rm -f $$lang.po~; \
|
2015-03-05 12:46:31 -05:00
|
|
|
done
|
|
|
|
|
|
2021-08-23 17:54:44 -04:00
|
|
|
.PHONY: update-pot
|
2015-03-05 12:46:31 -05:00
|
|
|
update-pot:
|
2021-08-24 17:21:35 -04:00
|
|
|
ifeq "$(LXD_OFFLINE)" ""
|
2022-08-19 22:32:46 -04:00
|
|
|
(cd / ; go install -v -x github.com/snapcore/snapd/i18n/xgettext-go@2.57.1)
|
2021-08-24 17:21:35 -04:00
|
|
|
endif
|
2018-02-22 03:13:28 -05:00
|
|
|
xgettext-go -o po/$(DOMAIN).pot --add-comments-tag=TRANSLATORS: --sort-output --package-name=$(DOMAIN) --msgid-bugs-address=lxc-devel@lists.linuxcontainers.org --keyword=i18n.G --keyword-plural=i18n.NG lxc/*.go lxc/*/*.go
|
2015-09-09 15:31:49 -04:00
|
|
|
|
2021-08-23 17:54:44 -04:00
|
|
|
.PHONY: build-mo
|
2015-03-05 12:46:31 -05:00
|
|
|
build-mo: $(MOFILES)
|
2015-05-26 13:38:52 -04:00
|
|
|
|
2021-08-23 17:54:44 -04:00
|
|
|
.PHONY: static-analysis
|
2015-05-26 13:38:52 -04:00
|
|
|
static-analysis:
|
2022-06-29 09:56:09 +01:00
|
|
|
ifeq ($(shell command -v golangci-lint 2> /dev/null),)
|
2022-09-08 22:40:57 +01:00
|
|
|
go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.46.2
|
2022-06-29 09:56:09 +01:00
|
|
|
endif
|
|
|
|
|
ifeq ($(shell command -v shellcheck 2> /dev/null),)
|
|
|
|
|
echo "Please install shellcheck"
|
|
|
|
|
exit 1
|
|
|
|
|
endif
|
2022-09-08 22:20:09 +01:00
|
|
|
ifneq "$(shell shellcheck --version | grep version: | cut -d ' ' -f2)" "0.8.0"
|
2022-07-07 16:27:54 +01:00
|
|
|
@echo "WARN: shellcheck version is not 0.8.0"
|
|
|
|
|
endif
|
2022-06-29 09:56:09 +01:00
|
|
|
ifeq ($(shell command -v flake8 2> /dev/null),)
|
|
|
|
|
echo "Please install flake8"
|
|
|
|
|
exit 1
|
|
|
|
|
endif
|
|
|
|
|
golangci-lint run --timeout 5m
|
|
|
|
|
flake8 test/deps/import-busybox
|
|
|
|
|
shellcheck --shell sh test/*.sh test/includes/*.sh test/suites/*.sh test/backends/*.sh test/lint/*.sh
|
2022-11-28 13:34:56 -05:00
|
|
|
shellcheck test/extras/*.sh
|
2023-02-08 13:52:17 -05:00
|
|
|
run-parts --exit-on-error --regex '.sh' test/lint
|
2015-08-21 09:47:20 -07:00
|
|
|
|
2021-08-23 17:54:44 -04:00
|
|
|
.PHONY: tags
|
2015-10-22 09:03:48 -06:00
|
|
|
tags: *.go lxd/*.go shared/*.go lxc/*.go
|
2022-11-28 13:18:41 -05:00
|
|
|
find . -type f -name '*.go' | xargs gotags > tags
|