1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
PWD := $(shell pwd)
SOURCEDEPS_DIR ?= $(shell dirname $(PWD))/.sourcecode
HOOKS_DIR := $(PWD)/hooks
TEST_PREFIX := PYTHONPATH=$(HOOKS_DIR)
TEST_DIR := $(PWD)/hooks/tests
CHARM_DIR := $(PWD)
PYTHON := /usr/bin/env python
build: test lint proof
revision:
@test -f revision || echo 0 > revision
proof: revision
@echo Proofing charm...
@(charm proof $(PWD) || [ $$? -eq 100 ]) && echo OK
@test `cat revision` = 0 && rm revision
test:
@echo Starting tests...
@CHARM_DIR=$(CHARM_DIR) $(TEST_PREFIX) nosetests $(TEST_DIR)
lint:
@echo Checking for Python syntax...
@flake8 $(HOOKS_DIR) --ignore=E123 --exclude=$(HOOKS_DIR)/charmhelpers && echo OK
sourcedeps: $(PWD)/config-manager.txt
@echo Updating source dependencies...
@$(PYTHON) cm.py -c $(PWD)/config-manager.txt \
-p $(SOURCEDEPS_DIR) \
-t $(PWD)
@$(PYTHON) build/charm-helpers/tools/charm_helpers_sync/charm_helpers_sync.py \
-c charm-helpers.yaml \
-b build/charm-helpers \
-d hooks/charmhelpers
@echo Do not forget to commit the updated files if any.
.PHONY: revision proof test lint sourcedeps charm-payload
|