From 38d3296dc34fa2de578a936181c1c87ef5b1fff8 Mon Sep 17 00:00:00 2001 From: Wei Lee Date: Thu, 26 Dec 2019 17:24:46 +0800 Subject: [PATCH 1/2] refactor(config): set "files" to alias of "version_files" "files" will be deprecated in 2.0 "verion_files" is not used internally But, user can still use "files" to achieve the same functionality --- commitizen/config/base_config.py | 14 ++++++++++++++ commitizen/config/ini_config.py | 13 +++++++------ commitizen/config/toml_config.py | 4 ++++ 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/commitizen/config/base_config.py b/commitizen/config/base_config.py index e554853b83..f2dd46ae54 100644 --- a/commitizen/config/base_config.py +++ b/commitizen/config/base_config.py @@ -1,3 +1,4 @@ +import warnings from typing import Optional from commitizen.defaults import DEFAULT_SETTINGS @@ -32,3 +33,16 @@ def add_path(self, path: str): def _parse_setting(self, data: str) -> dict: raise NotImplementedError() + + # TODO: remove "files" supported in 2.0 + @classmethod + def _show_files_column_deprecated_warning(cls): + warnings.simplefilter("always", DeprecationWarning) + warnings.warn( + ( + '"files" is renamed as "version_files" ' + "and will be deprecated in next major version\n" + 'Please repalce "files" with "version_files"' + ), + category=DeprecationWarning, + ) diff --git a/commitizen/config/ini_config.py b/commitizen/config/ini_config.py index 5c02e22e9b..e35ef55245 100644 --- a/commitizen/config/ini_config.py +++ b/commitizen/config/ini_config.py @@ -56,13 +56,14 @@ def _parse_setting(self, data: str): try: _data: dict = dict(config["commitizen"]) if "files" in _data: - files = _data["files"] - _f = json.loads(files) - _data.update({"files": _f}) + IniConfig._show_files_column_deprecated_warning() + _data.update({"version_files": json.loads(_data["files"])}) + + if "version_files" in _data: + _data.update({"version_files": json.loads(_data["version_files"])}) + if "style" in _data: - style = _data["style"] - _s = json.loads(style) - _data.update({"style": _s}) + _data.update({"style": json.loads(_data["style"])}) self._settings.update(_data) except KeyError: diff --git a/commitizen/config/toml_config.py b/commitizen/config/toml_config.py index 7e669b18e0..4f18635772 100644 --- a/commitizen/config/toml_config.py +++ b/commitizen/config/toml_config.py @@ -37,3 +37,7 @@ def _parse_setting(self, data: str): self.settings.update(doc["tool"]["commitizen"]) except exceptions.NonExistentKey: self.is_empty_config = True + + if "files" in self.settings: + self.settings["version_files"] = self.settings["files"] + TomlConfig._show_files_column_deprecated_warning From 797ed6d47f9363f5dace10916bb9d4ef2abccc79 Mon Sep 17 00:00:00 2001 From: Wei Lee Date: Thu, 26 Dec 2019 17:25:27 +0800 Subject: [PATCH 2/2] refactor(commands/bump): use "version_files" internally #82 --- commitizen/commands/bump.py | 4 ++-- commitizen/defaults.py | 3 +-- tests/test_conf.py | 10 +++++----- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/commitizen/commands/bump.py b/commitizen/commands/bump.py index 2779fb9de4..cf325447df 100644 --- a/commitizen/commands/bump.py +++ b/commitizen/commands/bump.py @@ -81,7 +81,7 @@ def __call__(self): current_tag_version: str = bump.create_tag( current_version, tag_format=tag_format ) - files: list = self.parameters["files"] + version_files: list = self.parameters["version_files"] dry_run: bool = self.parameters["dry_run"] is_yes: bool = self.arguments["yes"] @@ -124,7 +124,7 @@ def __call__(self): if dry_run: raise SystemExit() - bump.update_version_in_files(current_version, new_version.public, files) + bump.update_version_in_files(current_version, new_version.public, version_files) if is_files_only: raise SystemExit() diff --git a/commitizen/defaults.py b/commitizen/defaults.py index 498b4f0558..a9358f2b10 100644 --- a/commitizen/defaults.py +++ b/commitizen/defaults.py @@ -2,11 +2,10 @@ # TODO: .cz, setup.cfg, .cz.cfg should be removed in 2.0 config_files: list = ["pyproject.toml", ".cz.toml", ".cz", "setup.cfg", ".cz.cfg"] - DEFAULT_SETTINGS = { "name": "cz_conventional_commits", "version": None, - "files": [], + "version_files": [], "tag_format": None, # example v$version "bump_message": None, # bumped v$current_version to $new_version } diff --git a/tests/test_conf.py b/tests/test_conf.py index 2335085967..09b94b396b 100644 --- a/tests/test_conf.py +++ b/tests/test_conf.py @@ -8,7 +8,7 @@ [tool.commitizen] name = "cz_jira" version = "1.0.0" -files = [ +version_files = [ "commitizen/__version__.py", "pyproject.toml" ] @@ -26,7 +26,7 @@ [commitizen] name = cz_jira version = 1.0.0 -files = [ +version_files = [ "commitizen/__version__.py", "pyproject.toml" ] @@ -41,7 +41,7 @@ "version": "1.0.0", "tag_format": None, "bump_message": None, - "files": ["commitizen/__version__.py", "pyproject.toml"], + "version_files": ["commitizen/__version__.py", "pyproject.toml"], "style": [["pointer", "reverse"], ["question", "underline"]], } @@ -50,14 +50,14 @@ "version": "2.0.0", "tag_format": None, "bump_message": None, - "files": ["commitizen/__version__.py", "pyproject.toml"], + "version_files": ["commitizen/__version__.py", "pyproject.toml"], "style": [["pointer", "reverse"], ["question", "underline"]], } _read_settings = { "name": "cz_jira", "version": "1.0.0", - "files": ["commitizen/__version__.py", "pyproject.toml"], + "version_files": ["commitizen/__version__.py", "pyproject.toml"], "style": [["pointer", "reverse"], ["question", "underline"]], }