[VOL-5009] - Update release notes
config.mk
makefiles/*
-----------
o Refresh library makefiles from https://github.com/opencord/onf-make.
o More lint targets added with exclusions in config.mk
makefiles/virtualenv.mk
patches/lib/python3.10/site-packages/robot/utils/normalizing.py/patch
patches/lib/python3.10/site-packages/robot/utils/robottypes3.py/patch
patches/python_310_migration.sh
---------------------------------------------------------------------
o Continue normalizing virtualenv install directory.
o Update patches to modify .venv VS vst_venv [, vdoc_venv, vfoo_venv, vbar_venv, ...)
o virtualenv.mk now defines named targets for patching-up-to 3.10 installs.
release_notes/voltha_2.12.rst
-----------------------------
o Update version string info.
o Onos component table condensed and populated with versioned urls.
o voltha components table is a WIP.
howto/release/repositories/
---------------------------
o Begin capturing repo-specific activities for release.
o Silly having to figure this out each release cycle.
o Automation and release helper scripts can be found here:
- https://github.com/joey-onf/voltha-release
sphinx_conf/exclude_patterns.py
-------------------------------
o Roach squashing exercise, external repos pulled in as git-submodules.
o New repository files appear as problems when running 'make reload'
o Exclude files to squelch messages.
Change-Id: I7adf7b84498511f5cde1e43ad304f9e33283241e
diff --git a/config.mk b/config.mk
index b8c2922..72b2e9a 100644
--- a/config.mk
+++ b/config.mk
@@ -14,33 +14,127 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# -----------------------------------------------------------------------
+# https://gerrit.opencord.org/plugins/gitiles/onf-make
+# ONF.makefiles.include.version = 1.1
+# ONF.confg.mk = 1.5
+# -----------------------------------------------------------------------
-##---------------------------------------##
-##---] Disable lint targets by name [---##
-##---------------------------------------##
-# NO-LINT-DOC8 := true
-NO-LINT-FLAKE8 := true# # NOTE[1]
-# NO-LINT-JJB := true
-NO-LINT-JSON := true
-# python -m json.tool ./_build/linkcheck/output.json
-# Extra data: line 2 column 1 (char 181)
-# NO-LINT-MAKE := true
-NO-LINT-PYLINT := true# # NOTE[1]
-# NO-LINT-PYTHON := true
-NO-LINT-ROBOT := true# # NOTE[2]
-# NO-LINT-SHELL := true
-# NO-LINT-TOX := true# # WIP
-NO-LINT-YAML := true
+--repo-name-- := voltha-docs
+--repo-name-- ?= $(error --repo-name--= is required)
-# NOTE[1] - Cleanup needed to enable as a default make lint target
-# NOTE[2] - Doc repo, no need to lint robot sources here.
+##--------------------------------##
+##---] Disable lint targets [---##
+##--------------------------------##
+# NO-LINT-DOC8 := true
+# NO-LINT-GOLANG := true
+NO-LINT-GROOVY := true# # Note[1]
+# NO-LINT-JJB := true# # Note[2]
+# NO-LINT-JSON := true# # Note[1]
+NO-LINT-MAKEFILE := true# # Note[1]
+NO-LINT-REUSE := true # License check
+# NO-LINT-ROBOT := true
+NO-LINT-SHELL := true# # Note[1]
+# NO-LINT-TOX := true# # Note[1]
+NO-LINT-YAML := true# # Note[1]
+
+NO-LINT-FLAKE8 := true# # Note[1]
+# NO-LINT-PYTHON := true# # Note[1]
+NO-LINT-PYLINT := true# # Note[1]
+
+# Note[1] - A boatload of source to cleanup prior to enable.
+# Note[2] - No sources available
+
+##---------------------------------##
+##---] Conditional make logic [---##
+##---------------------------------##
+# USE-ONF-DOCKER-MK := true
+# USE-ONF-GERRIT-MK := true
+# USE-ONF-GIT-MK := true
+# USE-ONF-JJB-MK := true
+# USE-VOLTHA-RELEASE-MK := true
+
+##----------------------##
+##---] Debug Mode [---##
+##----------------------##
+# export DEBUG := 1 # makefile debug
+# export DISTUTILS_DEBUG := 1 # verbose: pip
+# export DOCKER_DEBUG := 1 # verbose: docker
+# export VERBOSE := 1 # makefile debug
+
+##-----------------------------------##
+##---] JJB/Jenkins Job Builder [---##
+##-----------------------------------##
+JJB_VERSION ?= 2.8.0
+JOBCONFIG_DIR ?= job-configs
+
+##---------------------------------##
+##---] Filesystem exclusions [---##
+##---------------------------------##
+onf-excl-dirs := $(null) # make clean: dirs=
+onf-excl-dirs += .venv# # $(venv-name)
+onf-excl-dirs += vendor# # golang / voltha*-go
+onf-excl-dirs += patches# # voltha docs - python upgrade
+onf-excl-dirs += .tox # also a python dependency
+
+ifeq ($(--repo-name--),voltha-docs)
+ lint-doc8-excl += '_build' # generated
+# lint-groovy-excl += 'bbsim' # external repo
+endif
+
+onf-excl-dirs ?= $(error onf-excl-dirs= is required)
##-----------------------------##
-##---] Custom exclusions [---##
+##---] Feature Detection [---##
##-----------------------------##
-lint-doc8-excl += '_build'
-lint-doc8-excl += 'vendor'
+# [TODO] include makefiles/features/include.mk
+# [TODO] All logic below can migrate there.
-config-mk-version := 1.0
+$(if $(filter %ci-management,$(--repo-name--)),\
+ $(eval --REPO-IS-CI-MANAGEMENT-- := true)\
+)
+$(if $(filter %voltha-docs,$(--repo-name--)),\
+ $(eval --REPO-IS-VOLTHA-DOCS-- := true)\
+)
+
+# create makefiles/config/byrepo/{--repo-name--}.mk for one-off snowflakes ?
+# $(if $(wildcard docker),$(eval USE-ONF-DOCKER-MK := true))
+
+##-------------------------##
+##---] Derived Flags [---##
+##-------------------------##
+ifdef --REPO-IS-CI-MANAGEMENT--
+ USE-ONF-JJB := true
+
+ onf-excl-dirs += global-jjb
+ onf-excl-dirs += lf-ansible
+ onf-excl-dirs += packer
+endif
+
+ifdef --REPO-IS-VOLTHA-DOCS--
+ onf-excl-dirs += _build
+ onf-excl-dirs += repos
+endif
+
+ifdef NO-LINT-PYTHON
+ NO-LINT-FLAKE8 := true
+ NO-LINT-PYLINT := true
+endif
+
+ifndef USE-ONF-JJB
+ NO-LINT-JJB := true
+endif
+
+onf-excl-dirs := $(sort $(strip $(onf-excl-dirs)))
+
+# [TODO]#
+# --------------------------------------------------------------------
+# o two distinct makefiles directories are needed, one for onf-make
+# o second for repository specific configs and logic.
+# o Two independent vars specify path:
+# ONF_MAKEDIR = library makefiles
+# MAKEDIR = repository specific content
+# o Conditional repository testing above can crush down into
+# include $(MAKEDIR)/config.mk # repo:$(--repo-name--)
+# --------------------------------------------------------------------
# [EOF]