From 6d603dbc3e3dcefb210555a8ca54575b96cb0bb2 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 12 Mar 2021 22:22:14 +0100 Subject: Merging upstream version 2.11.1. Signed-off-by: Daniel Baumann --- .pre-commit-config.yaml | 2 +- CHANGELOG.md | 7 +++++++ pre_commit/languages/r.py | 20 +++++++++----------- setup.cfg | 2 +- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2859e31..bcfde90 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,7 +21,7 @@ repos: hooks: - id: autopep8 - repo: https://github.com/pre-commit/pre-commit - rev: v2.11.0 + rev: v2.11.1 hooks: - id: validate_manifest - repo: https://github.com/asottile/pyupgrade diff --git a/CHANGELOG.md b/CHANGELOG.md index eea5863..5da7866 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +2.11.1 - 2021-03-09 +=================== + +### Fixes +- Fix r hooks when hook repo is a package + - #1831 PR by @lorenzwalthert. + 2.11.0 - 2021-03-07 =================== diff --git a/pre_commit/languages/r.py b/pre_commit/languages/r.py index 1d42fea..83e6000 100644 --- a/pre_commit/languages/r.py +++ b/pre_commit/languages/r.py @@ -88,13 +88,11 @@ def install_environment( env_dir = _get_env_dir(prefix, version) with clean_path_on_failure(env_dir): os.makedirs(env_dir, exist_ok=True) - path_desc_source = prefix.path('DESCRIPTION') - if os.path.exists(path_desc_source): - shutil.copy(path_desc_source, env_dir) shutil.copy(prefix.path('renv.lock'), env_dir) cmd_output_b( 'Rscript', '--vanilla', '-e', - """\ + f"""\ + prefix_dir <- {prefix.prefix_dir!r} missing_pkgs <- setdiff( "renv", unname(installed.packages()[, "Package"]) ) @@ -109,15 +107,15 @@ def install_environment( 'renv::activate("', file.path(getwd()), '"); ' ) writeLines(activate_statement, 'activate.R') - is_package <- tryCatch( - suppressWarnings( - unname(read.dcf('DESCRIPTION')[,'Type'] == "Package") - ), + is_package <- tryCatch({{ + content_desc <- read.dcf(file.path(prefix_dir, 'DESCRIPTION')) + suppressWarnings(unname(content_desc[,'Type']) == "Package") + }}, error = function(...) FALSE ) - if (is_package) { - renv::install(normalizePath('.')) - } + if (is_package) {{ + renv::install(prefix_dir) + }} """, cwd=env_dir, ) diff --git a/setup.cfg b/setup.cfg index 5a4ee6e..a14e95d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = pre_commit -version = 2.11.0 +version = 2.11.1 description = A framework for managing and maintaining multi-language pre-commit hooks. long_description = file: README.md long_description_content_type = text/markdown -- cgit v1.2.3