diff --git a/.gitignore b/.gitignore index 34ae94c..8902c69 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ /try/ .ipynb_checkpoints/ /*.done +/done/*.done *.pyc *.pyo *.log diff --git a/Makefile b/Makefile index 2b49693..a583573 100644 --- a/Makefile +++ b/Makefile @@ -244,6 +244,9 @@ dist_included_files := \ setup.py \ $(package_name)/*.py \ +# Directory for .done files +done_dir := done + .PHONY: help help: @echo "Makefile for $(project_name) project" @@ -339,7 +342,7 @@ _check_installed: $(PYTHON_CMD) -c "import $(package_name)" @echo "Makefile: Done verifying installation of package $(package_name)" -pip_upgrade_$(pymn).done: Makefile +$(done_dir)/pip_upgrade_$(pymn)_$(PACKAGE_LEVEL).done: Makefile @echo "Makefile: Installing/upgrading Pip (with PACKAGE_LEVEL=$(PACKAGE_LEVEL))" -$(call RM_FUNC,$@) bash -c 'pv=$$($(PIP_CMD) --version); if [[ $$pv =~ (^pip [1-8]\..*) ]]; then $(PYTHON_CMD) -m pip $(pip_opts) install pip==9.0.1; fi' @@ -347,21 +350,21 @@ pip_upgrade_$(pymn).done: Makefile echo "done" >$@ @echo "Makefile: Done installing/upgrading Pip" -install_basic_$(pymn).done: Makefile pip_upgrade_$(pymn).done +$(done_dir)/install_basic_$(pymn)_$(PACKAGE_LEVEL).done: Makefile $(done_dir)/pip_upgrade_$(pymn)_$(PACKAGE_LEVEL).done @echo "Makefile: Installing/upgrading basic Python packages (with PACKAGE_LEVEL=$(PACKAGE_LEVEL))" -$(call RM_FUNC,$@) $(PIP_CMD_MOD) $(pip_opts) install $(pip_level_opts) setuptools wheel echo "done" >$@ @echo "Makefile: Done installing/upgrading basic Python packages" -install_reqs_$(pymn).done: Makefile install_basic_$(pymn).done requirements.txt +$(done_dir)/install_reqs_$(pymn)_$(PACKAGE_LEVEL).done: Makefile $(done_dir)/install_basic_$(pymn)_$(PACKAGE_LEVEL).done requirements.txt @echo "Makefile: Installing Python installation prerequisites (with PACKAGE_LEVEL=$(PACKAGE_LEVEL))" -$(call RM_FUNC,$@) $(PIP_CMD_MOD) $(pip_opts) install $(pip_level_opts) -r requirements.txt echo "done" >$@ @echo "Makefile: Done installing Python installation prerequisites" -develop_reqs_$(pymn).done: install_basic_$(pymn).done dev-requirements.txt test-requirements.txt +$(done_dir)/develop_reqs_$(pymn)_$(PACKAGE_LEVEL).done: $(done_dir)/install_basic_$(pymn)_$(PACKAGE_LEVEL).done dev-requirements.txt test-requirements.txt @echo "Makefile: Installing development requirements (with PACKAGE_LEVEL=$(PACKAGE_LEVEL))" -$(call RM_FUNC,$@) $(PIP_CMD_MOD) $(pip_opts) install $(pip_level_opts) -r dev-requirements.txt @@ -369,7 +372,7 @@ develop_reqs_$(pymn).done: install_basic_$(pymn).done dev-requirements.txt test- @echo "Makefile: Done installing development requirements" .PHONY: install -install: Makefile install_reqs_$(pymn).done setup.py +install: Makefile $(done_dir)/install_reqs_$(pymn)_$(PACKAGE_LEVEL).done setup.py ifdef TEST_INSTALLED @echo "Makefile: Skipping installation of package $(package_name) as standalone because TEST_INSTALLED is set" @echo "Makefile: Checking whether package $(package_name) is actually installed:" @@ -390,7 +393,7 @@ endif @echo "Makefile: Target $@ done." .PHONY: develop -develop: Makefile install_reqs_$(pymn).done develop_reqs_$(pymn).done setup.py +develop: Makefile $(done_dir)/install_reqs_$(pymn)_$(PACKAGE_LEVEL).done $(done_dir)/develop_reqs_$(pymn)_$(PACKAGE_LEVEL).done setup.py ifdef TEST_INSTALLED @echo "Makefile: Skipping installation of package $(package_name) as editable because TEST_INSTALLED is set" @echo "Makefile: Checking whether package $(package_name) is actually installed:" @@ -419,19 +422,19 @@ builddoc: html @echo "Makefile: Target $@ done." .PHONY: check -check: flake8_$(pymn).done +check: $(done_dir)/flake8_$(pymn)_$(PACKAGE_LEVEL).done @echo "Makefile: Target $@ done." .PHONY: safety -safety: safety_$(pymn).done +safety: $(done_dir)/safety_$(pymn)_$(PACKAGE_LEVEL).done @echo "Makefile: Target $@ done." .PHONY: pylint -pylint: pylint_$(pymn).done +pylint: $(done_dir)/pylint_$(pymn)_$(PACKAGE_LEVEL).done @echo "Makefile: Target $@ done." .PHONY: mypy -mypy: mypy_$(pymn).done +mypy: $(done_dir)/mypy_$(pymn)_$(PACKAGE_LEVEL).done @echo "Makefile: Target $@ done." .PHONY: all @@ -468,7 +471,7 @@ upload: _check_version $(dist_files) @echo "Makefile: Target $@ done." .PHONY: html -html: develop_reqs_$(pymn).done $(doc_build_dir)/html/docs/index.html +html: $(done_dir)/develop_reqs_$(pymn)_$(PACKAGE_LEVEL).done $(doc_build_dir)/html/docs/index.html @echo "Makefile: Target $@ done." $(doc_build_dir)/html/docs/index.html: Makefile $(doc_dependent_files) @@ -478,7 +481,7 @@ $(doc_build_dir)/html/docs/index.html: Makefile $(doc_dependent_files) @echo "Makefile: Done creating the documentation as HTML pages; top level file: $@" .PHONY: pdf -pdf: develop_reqs_$(pymn).done Makefile $(doc_dependent_files) +pdf: $(done_dir)/develop_reqs_$(pymn)_$(PACKAGE_LEVEL).done Makefile $(doc_dependent_files) @echo "Makefile: Creating the documentation as PDF file" -$(call RM_FUNC,$@) $(doc_cmd) -b latex $(doc_opts) $(doc_build_dir)/pdf @@ -488,7 +491,7 @@ pdf: develop_reqs_$(pymn).done Makefile $(doc_dependent_files) @echo "Makefile: Target $@ done." .PHONY: man -man: develop_reqs_$(pymn).done Makefile $(doc_dependent_files) +man: $(done_dir)/develop_reqs_$(pymn)_$(PACKAGE_LEVEL).done Makefile $(doc_dependent_files) @echo "Makefile: Creating the documentation as man pages" -$(call RM_FUNC,$@) $(doc_cmd) -b man $(doc_opts) $(doc_build_dir)/man @@ -496,7 +499,7 @@ man: develop_reqs_$(pymn).done Makefile $(doc_dependent_files) @echo "Makefile: Target $@ done." .PHONY: docchanges -docchanges: develop_reqs_$(pymn).done +docchanges: $(done_dir)/develop_reqs_$(pymn)_$(PACKAGE_LEVEL).done @echo "Makefile: Creating the doc changes overview file" $(doc_cmd) -b changes $(doc_opts) $(doc_build_dir)/changes @echo @@ -504,7 +507,7 @@ docchanges: develop_reqs_$(pymn).done @echo "Makefile: Target $@ done." .PHONY: doclinkcheck -doclinkcheck: develop_reqs_$(pymn).done +doclinkcheck: $(done_dir)/develop_reqs_$(pymn)_$(PACKAGE_LEVEL).done @echo "Makefile: Creating the doc link errors file" $(doc_cmd) -b linkcheck $(doc_opts) $(doc_build_dir)/linkcheck @echo @@ -512,7 +515,7 @@ doclinkcheck: develop_reqs_$(pymn).done @echo "Makefile: Target $@ done." .PHONY: doccoverage -doccoverage: develop_reqs_$(pymn).done +doccoverage: $(done_dir)/develop_reqs_$(pymn)_$(PACKAGE_LEVEL).done @echo "Makefile: Creating the doc coverage results file" $(doc_cmd) -b coverage $(doc_opts) $(doc_build_dir)/coverage @echo "Makefile: Done creating the doc coverage results file: $(doc_build_dir)/coverage/python.txt" @@ -548,7 +551,7 @@ $(bdist_file) $(sdist_file): setup.py MANIFEST.in $(dist_included_files) $(PYTHON_CMD) setup.py sdist -d $(dist_dir) bdist_wheel -d $(dist_dir) --universal @echo "Makefile: Done creating the distribution archive files: $(bdist_file) $(sdist_file)" -pylint_$(pymn).done: develop_reqs_$(pymn).done Makefile $(pylint_rc_file) $(py_src_files) +$(done_dir)/pylint_$(pymn)_$(PACKAGE_LEVEL).done: $(done_dir)/develop_reqs_$(pymn)_$(PACKAGE_LEVEL).done Makefile $(pylint_rc_file) $(py_src_files) @echo "Makefile: Running Pylint" -$(call RM_FUNC,$@) pylint --version @@ -556,7 +559,7 @@ pylint_$(pymn).done: develop_reqs_$(pymn).done Makefile $(pylint_rc_file) $(py_s echo "done" >$@ @echo "Makefile: Done running Pylint" -mypy_$(pymn).done: develop_reqs_$(pymn).done Makefile $(py_src_files) +$(done_dir)/mypy_$(pymn)_$(PACKAGE_LEVEL).done: $(done_dir)/develop_reqs_$(pymn)_$(PACKAGE_LEVEL).done Makefile $(py_src_files) @echo "Makefile: Running Mypy" -$(call RM_FUNC,$@) mypy --version @@ -564,7 +567,7 @@ mypy_$(pymn).done: develop_reqs_$(pymn).done Makefile $(py_src_files) echo "done" >$@ @echo "Makefile: Done running Mypy" -flake8_$(pymn).done: develop_reqs_$(pymn).done Makefile $(flake8_rc_file) $(py_src_files) +$(done_dir)/flake8_$(pymn)_$(PACKAGE_LEVEL).done: $(done_dir)/develop_reqs_$(pymn)_$(PACKAGE_LEVEL).done Makefile $(flake8_rc_file) $(py_src_files) @echo "Makefile: Running Flake8" -$(call RM_FUNC,$@) flake8 --version @@ -572,7 +575,7 @@ flake8_$(pymn).done: develop_reqs_$(pymn).done Makefile $(flake8_rc_file) $(py_s echo "done" >$@ @echo "Makefile: Done running Flake8" -safety_$(pymn).done: develop_reqs_$(pymn).done Makefile $(safety_policy_file) minimum-constraints.txt +$(done_dir)/safety_$(pymn)_$(PACKAGE_LEVEL).done: $(done_dir)/develop_reqs_$(pymn)_$(PACKAGE_LEVEL).done Makefile $(safety_policy_file) minimum-constraints.txt @echo "Makefile: Running pyup.io safety check" -$(call RM_FUNC,$@) safety check --policy-file $(safety_policy_file) -r minimum-constraints.txt --full-report diff --git a/done/.dummy b/done/.dummy new file mode 100644 index 0000000..e69de29