makefiles/
----------
o Adding more lint target logic.
o Copy in virtualenv.mk from voltha-docs to support dependency
based virtualenv installations.
*/*.yaml
--------
o Misc yamllint cleanups.
Makefile
--------
o Prune inlined logic since replaced by library makefile logic.
o Replaced explicit pyenv installation with dependency driven
so venv will only require installation once per target run.
o Library make clean/sterile targets handle cleanup.
Change-Id: Ie2ce0ebc01b07c0004a5904c2641c394e46d5044
diff --git a/Makefile b/Makefile
index c36248b..e299ee2 100644
--- a/Makefile
+++ b/Makefile
@@ -1,30 +1,60 @@
# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
# Makefile for testing JJB jobs in a virtualenv
-.PHONY: test clean
+.PHONY: all clean help test
+.DEFAULT_GOAL := all
-SHELL := bash -e -o pipefail
+##-------------------##
+##---] GLOBALS [---##
+##-------------------##
+TOP ?= .
+MAKEDIR ?= $(TOP)/makefiles
+export SHELL := bash -e -o pipefail
+
+NO-LINT-MAKE := true
+NO-LINT-SHELL := true
+
+##--------------------##
+##---] INCLUDES [---##
+##--------------------##
+include $(MAKEDIR)/include.mk
+
VENV_DIR ?= venv-jjb
-JJB_VERSION ?= 4.1.0
+# JJB_VERSION ?= 4.1.0
JOBCONFIG_DIR ?= job-configs
-$(VENV_DIR):
- @echo "Setting up virtualenv for JJB testing"
- python3 -m venv $@
- $@/bin/pip install jenkins-job-builder==$(JJB_VERSION) pipdeptree
-
$(JOBCONFIG_DIR):
mkdir $@
-lint:
- yamllint -c yamllint.conf jjb/
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+.PHONY: test
+test: $(venv-activate-script) $(JOBCONFIG_DIR)
+ $(activate) \
+ && pipdeptree \
+ && jenkins-jobs -l DEBUG test --recursive --config-xml -o "$(JOBCONFIG_DIR)" jjb/ ;
-test: $(VENV_DIR) $(JOBCONFIG_DIR)
- source $(VENV_DIR)/bin/activate ; \
- pipdeptree ; \
- jenkins-jobs -l DEBUG test --recursive --config-xml -o $(JOBCONFIG_DIR) jjb/ ;
-
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+.PHONY: clean
clean:
- $(RM) -r $(VENV_DIR) $(JOBCONFIG_DIR)
+ $(RM) -r $(JOBCONFIG_DIR)
+
+include $(ONF_MAKE)/help/trailer.mk
# [EOF]