From 40a5e429f9b73dc834f9693a034bace3ff51d7e9 Mon Sep 17 00:00:00 2001 From: Daniel Biehl Date: Thu, 23 Nov 2023 15:15:50 +0100 Subject: [PATCH 1/5] feat(langserver): implemented deprecation warning for old [RETURN] setting for RF 7 --- .../robotframework/diagnostics/analyzer.py | 14 +++++++++++++- .../robotframework/diagnostics/errors.py | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/language_server/src/robotcode/language_server/robotframework/diagnostics/analyzer.py b/packages/language_server/src/robotcode/language_server/robotframework/diagnostics/analyzer.py index 66c9608b0..b8b34893e 100644 --- a/packages/language_server/src/robotcode/language_server/robotframework/diagnostics/analyzer.py +++ b/packages/language_server/src/robotcode/language_server/robotframework/diagnostics/analyzer.py @@ -954,7 +954,7 @@ async def visit_TemplateArguments(self, node: ast.AST) -> None: # noqa: N802 async def visit_ForceTags(self, node: Statement) -> None: # noqa: N802 if get_robot_version() >= (6, 0): tag = node.get_token(Token.FORCE_TAGS) - if tag.value.upper() == "FORCE TAGS": + if tag is not None and tag.value.upper() == "FORCE TAGS": self.append_diagnostics( range=range_from_node_or_token(node, tag), message="`Force Tags` is deprecated in favour of new `Test Tags` setting.", @@ -990,6 +990,18 @@ async def visit_Tags(self, node: Statement) -> None: # noqa: N802 code=Error.DEPRECATED_HYPHEN_TAG, ) + async def visit_ReturnSetting(self, node: Statement) -> None: # noqa: N802 + if get_robot_version() >= (7, 0): + token = node.get_token(Token.RETURN_SETTING) + if token is not None and token.error: + self.append_diagnostics( + range=range_from_node_or_token(node, token), + message=token.error, + severity=DiagnosticSeverity.WARNING, + tags=[DiagnosticTag.DEPRECATED], + code=Error.DEPRECATED_RETURN_SETTING, + ) + def _check_import_name(self, value: Optional[str], node: ast.AST, type: str) -> None: if not value: self.append_diagnostics( diff --git a/packages/language_server/src/robotcode/language_server/robotframework/diagnostics/errors.py b/packages/language_server/src/robotcode/language_server/robotframework/diagnostics/errors.py index 3da747b77..2016cf6ee 100644 --- a/packages/language_server/src/robotcode/language_server/robotframework/diagnostics/errors.py +++ b/packages/language_server/src/robotcode/language_server/robotframework/diagnostics/errors.py @@ -27,6 +27,7 @@ class Error: TESTCASE_NAME_EMPTY = "TestCaseNameEmpty" KEYWORD_CONTAINS_NORMAL_AND_EMBBEDED_ARGUMENTS = "KeywordContainsNormalAndEmbbededArguments" DEPRECATED_HYPHEN_TAG = "DeprecatedHyphenTag" + DEPRECATED_RETURN_SETTING = "DeprecatedReturnSetting" DEPRECATED_FORCE_TAG = "DeprecatedForceTag" IMPORT_REQUIRES_VALUE = "ImportRequiresValue" KEYWORD_ERROR = "KeywordError" From 77244cc1b5de4b4a25dd07ac310d4b03ae8c2810 Mon Sep 17 00:00:00 2001 From: Daniel Biehl Date: Thu, 23 Nov 2023 15:46:08 +0100 Subject: [PATCH 2/5] chore(build): don't use cache if running mypy in lint env --- hatch.toml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/hatch.toml b/hatch.toml index 2a5db385c..e3f73c247 100644 --- a/hatch.toml +++ b/hatch.toml @@ -105,14 +105,26 @@ matrix.rf.dependencies = [ [envs.lint] #skip-install = true #extra-dependencies = ["tomli>=2.0.0"] +extra-dependencies = [ + "types-PyYAML", + "types-Pygments", + "types-colorama", + "types-docutils", + "types-setuptools", +] features = ["all"] + [envs.lint.scripts] -typing = ["mypy --install-types --non-interactive {args:.}", "npm run compile"] +typing-py = "mypy --no-incremental --cache-dir /dev/null {args:.}" +typing = ["typing-py", "npm run compile"] style = ["ruff .", "black --check --diff .", "npx eslint ."] fmt = ["black .", "ruff --fix .", "style", "npx eslint --fix ."] all = ["style", "typing"] +[envs.lint.overrides] +platform.windows.scripts = ["typing-py=mypy --no-incremental --cache-dir nul {args:.}"] + [envs.pages] python = "3.11" #detached = true From 2439578053624d7a6b3e4538f85ae7b60a9dda5e Mon Sep 17 00:00:00 2001 From: Daniel Biehl Date: Thu, 23 Nov 2023 15:47:49 +0100 Subject: [PATCH 3/5] chore(build): correct bump message so that it fits to semantic release --- cliff.toml | 1 + pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/cliff.toml b/cliff.toml index 11a19404b..a8057fea7 100644 --- a/cliff.toml +++ b/cliff.toml @@ -84,6 +84,7 @@ commit_parsers = [ { message = "^chore\\(deps\\)", skip = true }, { message = "^chore\\(pr\\)", skip = true }, { message = "^chore\\(pull\\)", skip = true }, + { message = "^chore\\(build\\)", skip = true }, { message = "^chore|ci", group = "Miscellaneous Tasks", skip = true }, { message = "^bump", skip = true }, { body = ".*security", group = "Security" }, diff --git a/pyproject.toml b/pyproject.toml index c75a33c02..efaef089d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -256,7 +256,6 @@ module = [ "debugpy.*", "robotidy.*", "robocop.*", - "pytest_regtest.*", "pluggy", ] ignore_missing_imports = true @@ -287,6 +286,7 @@ pythonVersion = "3.8" [tool.commitizen] name = "cz_conventional_commits" +bump_message = "chore(release): bump version $current_version → $new_version" tag_format = "v$version" version_scheme = "semver" version_provider = "scm" From ce20bf5124705a4a84de694430ea37a8df64b86f Mon Sep 17 00:00:00 2001 From: Daniel Biehl Date: Thu, 23 Nov 2023 16:24:39 +0100 Subject: [PATCH 4/5] fix(langserver): handle unwanted warning messages at libdoc generation for robot files --- .../language_server/robotframework/diagnostics/library_doc.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/language_server/src/robotcode/language_server/robotframework/diagnostics/library_doc.py b/packages/language_server/src/robotcode/language_server/robotframework/diagnostics/library_doc.py index f12d29b58..9862d7757 100644 --- a/packages/language_server/src/robotcode/language_server/robotframework/diagnostics/library_doc.py +++ b/packages/language_server/src/robotcode/language_server/robotframework/diagnostics/library_doc.py @@ -2431,6 +2431,7 @@ def get_model_doc( ) -> LibraryDoc: from robot.errors import DataError, VariableError from robot.libdocpkg.robotbuilder import KeywordDocBuilder + from robot.output.logger import LOGGER from robot.parsing.lexer.tokens import Token as RobotToken from robot.parsing.model.blocks import Keyword from robot.parsing.model.statements import Arguments, KeywordName @@ -2502,7 +2503,8 @@ def get_argument_definitions_from_line(line: int) -> List[ArgumentDefinition]: res = ResourceFile(source=source) - ResourceBuilder(res).visit(model) + with LOGGER.cache_only: + ResourceBuilder(res).visit(model) class MyUserLibrary(UserLibrary): current_kw: Any = None From 72bbdbdee83fb3f8fa2c3698e818094d5ae1f434 Mon Sep 17 00:00:00 2001 From: Daniel Biehl Date: Thu, 23 Nov 2023 16:48:57 +0100 Subject: [PATCH 5/5] =?UTF-8?q?chore(release):=20bump=20version=200.65.1?= =?UTF-8?q?=20=E2=86=92=200.66.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 12 ++++++++++++ package.json | 2 +- packages/analyze/pyproject.toml | 6 +++--- .../src/robotcode/analyze/__version__.py | 2 +- .../core/src/robotcode/core/__version__.py | 2 +- packages/debugger/pyproject.toml | 4 ++-- .../src/robotcode/debugger/__version__.py | 2 +- packages/jsonrpc2/pyproject.toml | 2 +- .../src/robotcode/jsonrpc2/__version__.py | 2 +- packages/language_server/pyproject.toml | 4 ++-- .../robotcode/language_server/__version__.py | 2 +- .../src/robotcode/modifiers/__version__.py | 2 +- .../plugin/src/robotcode/plugin/__version__.py | 2 +- packages/robot/pyproject.toml | 2 +- .../robot/src/robotcode/robot/__version__.py | 2 +- packages/runner/pyproject.toml | 6 +++--- .../runner/src/robotcode/runner/__version__.py | 2 +- pyproject.toml | 18 +++++++++--------- src/robotcode/cli/__version__.py | 2 +- 19 files changed, 44 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7119513a4..19b5631d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,18 @@ All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines. +## [0.66.0](https://github.com/d-biehl/robotcode/compare/v0.65.1..v0.66.0) - 2023-11-23 + +### Bug Fixes + +- **langserver:** Handle unwanted warning messages at libdoc generation for robot files ([ce20bf5](https://github.com/d-biehl/robotcode/commit/ce20bf5124705a4a84de694430ea37a8df64b86f)) + + +### Features + +- **langserver:** Implemented deprecation warning for old [RETURN] setting for RF 7 ([40a5e42](https://github.com/d-biehl/robotcode/commit/40a5e429f9b73dc834f9693a034bace3ff51d7e9)) + + ## [0.65.1](https://github.com/d-biehl/robotcode/compare/v0.65.0..v0.65.1) - 2023-11-23 ### Refactor diff --git a/package.json b/package.json index 75038d9f0..96e219899 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "RobotFramework support for Visual Studio Code", "icon": "images/icon.png", "publisher": "d-biehl", - "version": "0.65.1", + "version": "0.66.0", "author": { "name": "Daniel Biehl", "url": "https://github.com/d-biehl/" diff --git a/packages/analyze/pyproject.toml b/packages/analyze/pyproject.toml index 083c8467f..f16cc1b47 100644 --- a/packages/analyze/pyproject.toml +++ b/packages/analyze/pyproject.toml @@ -27,9 +27,9 @@ classifiers = [ ] dependencies = [ "robotframework>=4.1.0", - "robotcode-plugin==0.65.1", - "robotcode-robot==0.65.1", - "robotcode==0.65.1", + "robotcode-plugin==0.66.0", + "robotcode-robot==0.66.0", + "robotcode==0.66.0", ] dynamic = ["version"] diff --git a/packages/analyze/src/robotcode/analyze/__version__.py b/packages/analyze/src/robotcode/analyze/__version__.py index 9d6030f96..8833468a7 100644 --- a/packages/analyze/src/robotcode/analyze/__version__.py +++ b/packages/analyze/src/robotcode/analyze/__version__.py @@ -1 +1 @@ -__version__ = "0.65.1" +__version__ = "0.66.0" diff --git a/packages/core/src/robotcode/core/__version__.py b/packages/core/src/robotcode/core/__version__.py index 9d6030f96..8833468a7 100644 --- a/packages/core/src/robotcode/core/__version__.py +++ b/packages/core/src/robotcode/core/__version__.py @@ -1 +1 @@ -__version__ = "0.65.1" +__version__ = "0.66.0" diff --git a/packages/debugger/pyproject.toml b/packages/debugger/pyproject.toml index c90050a85..9d6a1ec46 100644 --- a/packages/debugger/pyproject.toml +++ b/packages/debugger/pyproject.toml @@ -28,8 +28,8 @@ classifiers = [ dynamic = ["version"] dependencies = [ "robotframework>=4.1.0", - "robotcode-jsonrpc2==0.65.1", - "robotcode-runner==0.65.1", + "robotcode-jsonrpc2==0.66.0", + "robotcode-runner==0.66.0", ] [project.optional-dependencies] diff --git a/packages/debugger/src/robotcode/debugger/__version__.py b/packages/debugger/src/robotcode/debugger/__version__.py index 9d6030f96..8833468a7 100644 --- a/packages/debugger/src/robotcode/debugger/__version__.py +++ b/packages/debugger/src/robotcode/debugger/__version__.py @@ -1 +1 @@ -__version__ = "0.65.1" +__version__ = "0.66.0" diff --git a/packages/jsonrpc2/pyproject.toml b/packages/jsonrpc2/pyproject.toml index 76e094470..0d3e33c89 100644 --- a/packages/jsonrpc2/pyproject.toml +++ b/packages/jsonrpc2/pyproject.toml @@ -25,7 +25,7 @@ classifiers = [ "Framework :: Robot Framework", "Framework :: Robot Framework :: Tool", ] -dependencies = ["robotcode-core==0.65.1"] +dependencies = ["robotcode-core==0.66.0"] dynamic = ["version"] [project.urls] diff --git a/packages/jsonrpc2/src/robotcode/jsonrpc2/__version__.py b/packages/jsonrpc2/src/robotcode/jsonrpc2/__version__.py index 9d6030f96..8833468a7 100644 --- a/packages/jsonrpc2/src/robotcode/jsonrpc2/__version__.py +++ b/packages/jsonrpc2/src/robotcode/jsonrpc2/__version__.py @@ -1 +1 @@ -__version__ = "0.65.1" +__version__ = "0.66.0" diff --git a/packages/language_server/pyproject.toml b/packages/language_server/pyproject.toml index 517b7b76a..475a74bbc 100644 --- a/packages/language_server/pyproject.toml +++ b/packages/language_server/pyproject.toml @@ -27,8 +27,8 @@ classifiers = [ ] dependencies = [ "robotframework>=4.1.0", - "robotcode-jsonrpc2==0.65.1", - "robotcode==0.65.1", + "robotcode-jsonrpc2==0.66.0", + "robotcode==0.66.0", ] dynamic = ["version"] diff --git a/packages/language_server/src/robotcode/language_server/__version__.py b/packages/language_server/src/robotcode/language_server/__version__.py index 9d6030f96..8833468a7 100644 --- a/packages/language_server/src/robotcode/language_server/__version__.py +++ b/packages/language_server/src/robotcode/language_server/__version__.py @@ -1 +1 @@ -__version__ = "0.65.1" +__version__ = "0.66.0" diff --git a/packages/modifiers/src/robotcode/modifiers/__version__.py b/packages/modifiers/src/robotcode/modifiers/__version__.py index 9d6030f96..8833468a7 100644 --- a/packages/modifiers/src/robotcode/modifiers/__version__.py +++ b/packages/modifiers/src/robotcode/modifiers/__version__.py @@ -1 +1 @@ -__version__ = "0.65.1" +__version__ = "0.66.0" diff --git a/packages/plugin/src/robotcode/plugin/__version__.py b/packages/plugin/src/robotcode/plugin/__version__.py index 9d6030f96..8833468a7 100644 --- a/packages/plugin/src/robotcode/plugin/__version__.py +++ b/packages/plugin/src/robotcode/plugin/__version__.py @@ -1 +1 @@ -__version__ = "0.65.1" +__version__ = "0.66.0" diff --git a/packages/robot/pyproject.toml b/packages/robot/pyproject.toml index 3be19966c..2a05aa8b6 100644 --- a/packages/robot/pyproject.toml +++ b/packages/robot/pyproject.toml @@ -29,7 +29,7 @@ dependencies = [ "robotframework>=4.1.0", "tomli>=1.1.0; python_version < '3.11'", "platformdirs<3.12.0,>=3.2.0", - "robotcode-core==0.65.1", + "robotcode-core==0.66.0", ] dynamic = ["version"] diff --git a/packages/robot/src/robotcode/robot/__version__.py b/packages/robot/src/robotcode/robot/__version__.py index 9d6030f96..8833468a7 100644 --- a/packages/robot/src/robotcode/robot/__version__.py +++ b/packages/robot/src/robotcode/robot/__version__.py @@ -1 +1 @@ -__version__ = "0.65.1" +__version__ = "0.66.0" diff --git a/packages/runner/pyproject.toml b/packages/runner/pyproject.toml index ec81bce81..929b3800e 100644 --- a/packages/runner/pyproject.toml +++ b/packages/runner/pyproject.toml @@ -28,9 +28,9 @@ classifiers = [ dynamic = ["version"] dependencies = [ "robotframework>=4.1.0", - "robotcode-robot==0.65.1", - "robotcode-modifiers==0.65.1", - "robotcode==0.65.1", + "robotcode-robot==0.66.0", + "robotcode-modifiers==0.66.0", + "robotcode==0.66.0", ] [project.entry-points.robotcode] diff --git a/packages/runner/src/robotcode/runner/__version__.py b/packages/runner/src/robotcode/runner/__version__.py index 9d6030f96..8833468a7 100644 --- a/packages/runner/src/robotcode/runner/__version__.py +++ b/packages/runner/src/robotcode/runner/__version__.py @@ -1 +1 @@ -__version__ = "0.65.1" +__version__ = "0.66.0" diff --git a/pyproject.toml b/pyproject.toml index efaef089d..38472c0b4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,7 +49,7 @@ classifiers = [ "Framework :: Robot Framework :: Tool", ] requires-python = ">=3.8" -dependencies = ["robotcode-core==0.65.1"] +dependencies = ["robotcode-core==0.66.0"] dynamic = ["version"] @@ -66,20 +66,20 @@ robotcode = "robotcode.cli.__main__:main" [project.optional-dependencies] -debugger = ["robotcode-debugger==0.65.1"] -languageserver = ["robotcode-language-server==0.65.1"] -runner = ["robotcode-runner==0.65.1"] -analyze = ["robotcode-analyze==0.65.1"] +debugger = ["robotcode-debugger==0.66.0"] +languageserver = ["robotcode-language-server==0.66.0"] +runner = ["robotcode-runner==0.66.0"] +analyze = ["robotcode-analyze==0.66.0"] yaml = ["PyYAML>=5.4"] lint = ["robotframework-robocop>=2.0.0"] tidy = ["robotframework-tidy>=2.0.0"] rest = ["docutils"] colored = ["rich"] all = [ - "robotcode-debugger==0.65.1", - "robotcode-language-server==0.65.1", - "robotcode-runner==0.65.1", - "robotcode-analyze==0.65.1", + "robotcode-debugger==0.66.0", + "robotcode-language-server==0.66.0", + "robotcode-runner==0.66.0", + "robotcode-analyze==0.66.0", "PyYAML>=5.4", "robotframework-robocop>=2.0.0", "robotframework-tidy>=2.0.0", diff --git a/src/robotcode/cli/__version__.py b/src/robotcode/cli/__version__.py index 9d6030f96..8833468a7 100644 --- a/src/robotcode/cli/__version__.py +++ b/src/robotcode/cli/__version__.py @@ -1 +1 @@ -__version__ = "0.65.1" +__version__ = "0.66.0"