Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Training #24

Merged
merged 120 commits into from
Aug 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
59ac77a
add training materials; few enhancements
pawelru Jun 19, 2023
6c9381c
move up entry
pawelru Jun 19, 2023
982b47b
correct date; add thank you slide
pawelru Jun 19, 2023
e0dcb4d
add pdf
pawelru Jun 19, 2023
4f5d639
Merge branch 'main' into training
pawelru Jun 19, 2023
e0bd3e4
add more discussion on min strategy
pawelru Jun 20, 2023
66576fc
pdf
pawelru Jun 20, 2023
9d1b5a4
Merge remote-tracking branch 'origin/training' into training
pawelru Jun 20, 2023
2d70c4b
remove code that has been introduced after merge
pawelru Jun 20, 2023
ccee2ce
redesign min strategy
pawelru Jun 26, 2023
d08bc0c
docs
pawelru Jun 26, 2023
1d662c9
rm min_direct; rename _cohorts into _isolated; move ppm logic into ob…
pawelru Jul 5, 2023
d4a0cc8
Merge branch 'main' into training
pawelru Jul 5, 2023
11188af
typo
pawelru Jul 5, 2023
36278df
update training
pawelru Jul 6, 2023
3c15ab6
fix: should use host only
averissimo Jul 13, 2023
5c99daf
test: update test logic to new solve_ip()
averissimo Jul 13, 2023
031f118
test: adds github testing that was failing to new framework
averissimo Jul 13, 2023
0fd3869
test: converts remmaining tests
averissimo Jul 13, 2023
91ffcef
tests: adds documentation on new functions
averissimo Jul 13, 2023
1b65bfc
test: adds Config/Needs/verdepcheck to temporary DESCRIPTION
averissimo Jul 13, 2023
f7ef8c6
docs: adds comment with reason of testing if package exists
averissimo Jul 14, 2023
ed42d20
Update tests/testthat/helper.R
averissimo Jul 14, 2023
6046b67
fix: corrects variable name
averissimo Jul 14, 2023
a0dab4c
Merge pull request #27 from insightsengineering/tests-update
averissimo Jul 17, 2023
8a238bf
Merge a0dab4cdbd71d775dbdff8d706b922baaf854bca into d1cf34c3bbe4f2d2c…
pawelru Jul 17, 2023
c433994
[skip actions] Restyle files
github-actions[bot] Jul 17, 2023
d86414e
(min_isolatd): enforce Rcpp min version and select min version duplicate
averissimo Jul 10, 2023
aad9662
docs: typo
averissimo Jul 10, 2023
261ed9b
fix: minor bugs and keeps only minimum version of packages
averissimo Jul 10, 2023
c7d2368
fix: typo
averissimo Jul 10, 2023
81dcef0
remove duplicate packages with same version
averissimo Jul 10, 2023
3edf4e6
fix: keep primary dependency version
averissimo Jul 10, 2023
37b6748
docs: move function to utils
averissimo Jul 10, 2023
9821383
fix: improve code on keeping primary dependency version
averissimo Jul 10, 2023
c9f98e5
fix: keep primary dependency min version
averissimo Jul 11, 2023
4352850
remove Rcpp enforment
averissimo Jul 11, 2023
d940853
revert minimal version enforcement
averissimo Jul 11, 2023
0579af9
feat: shows error log from package building
averissimo Jul 11, 2023
c2d4b99
fix: account for multiple dates from gh query
averissimo Jul 12, 2023
89f3b76
feat: supports github only dependencies
averissimo Jul 12, 2023
f65c8b3
docs: remove documentation for deleted function
averissimo Jul 13, 2023
e58166a
fix: improve on graphql query and adds unit test
averissimo Jul 14, 2023
33e7277
chore: adds documentation and compare dates that come from GH GraphQL
averissimo Jul 14, 2023
846f5b0
chore: adds if clause for examples
averissimo Jul 14, 2023
a470d97
fix: solution for Remotes conflicts in version and key (ref)
averissimo Jul 17, 2023
9796b12
fix: Applied Remotes cleanup to min_cohort too
averissimo Jul 17, 2023
5a3a6d9
Adds verbose message to exception that is not self-descriptive
averissimo Jul 18, 2023
0f6b80e
Update R/get_ref.R
averissimo Jul 18, 2023
ac12fea
PR feedback: useless expression corrected, code/msg improvement
averissimo Jul 18, 2023
31ff448
text: Improves on message
averissimo Jul 18, 2023
5370242
fix: Avoid identical calls to resolve_ppm_snapshot
averissimo Jul 19, 2023
7ae7b72
cleanup: remove parent column
averissimo Jul 19, 2023
109db00
chore: replace tab with spaces
averissimo Jul 19, 2023
047d3f2
fix: keep only top version on resolution table to correct non-converg…
averissimo Jul 20, 2023
bf166cd
Merge pull request #26 from insightsengineering/training-improvements
averissimo Jul 24, 2023
d484a30
Merge bf166cd796211d3eecd3f15c308e7112afb8a195 into d1cf34c3bbe4f2d2c…
pawelru Jul 24, 2023
ad404d1
[skip actions] Restyle files
github-actions[bot] Jul 24, 2023
a80dbc2
chore: add reusable function to determine package version from descri…
averissimo Jul 24, 2023
f1adec1
chore: cleanup and documentation improvement
averissimo Jul 25, 2023
b6c8ddd
fix: test compatibility with current strategies
averissimo Jul 17, 2023
3ab80f7
tests: Adds encapsulation tests for min_isolated strategy
averissimo Jul 17, 2023
78352d9
chore: reverts suppress messages and correct CHECK problems with subset
averissimo Jul 17, 2023
793f21d
chore: lint corrections
averissimo Jul 18, 2023
7a2e65d
chore: simplifies code
averissimo Jul 25, 2023
11c267b
chore: remove browser() call and update logic to use already implemen…
averissimo Jul 25, 2023
6cc7222
use numeric package versioning to be more permissible
averissimo Jul 25, 2023
5c27947
feat: add functions that test the install of multiple versions of a p…
averissimo Jul 25, 2023
776134f
fix: cohort problem with Bioc pkgs not having a published date
averissimo Jul 26, 2023
c93644b
fix: adds httr dep and uses official metadata from bioc
averissimo Jul 26, 2023
6453e8a
fix: replace bioc general release by last modified date from source
averissimo Jul 26, 2023
b0ec8d8
chore: refactor desc_field cleanup so it depends only on desc
averissimo Aug 1, 2023
ecce629
chore: adds tests for local_description and documentation
averissimo Aug 1, 2023
bb91882
chore: added 1 more test
averissimo Aug 1, 2023
2a63d94
ci: test check ci, to be reverted
averissimo Aug 1, 2023
535b7b0
Revert "ci: test check ci, to be reverted"
averissimo Aug 1, 2023
0bd24ee
fix: corrects a bunch of problems with R CMD check
averissimo Aug 1, 2023
38c06cb
ci: test check ci, to be reverted
averissimo Aug 1, 2023
ecde252
Merge 38c06cb1e44a54cddda898bccc961df9ad53257c into ad404d1ed6495f556…
averissimo Aug 1, 2023
999714e
[skip actions] Restyle files
github-actions[bot] Aug 1, 2023
1bbd883
chore: correct spelling and replace rlang call
averissimo Aug 1, 2023
70f6869
cleanup: remove feature from branch
averissimo Aug 1, 2023
1c957af
chore: cleanup
averissimo Aug 2, 2023
03bc473
[skip actions] Roxygen Man Pages Auto Update
github-actions[bot] Aug 2, 2023
e3a18d4
clean: cleanup of function that is only called once
averissimo Aug 8, 2023
5b71394
Apply suggestions from code review
averissimo Aug 8, 2023
7a094f2
[skip actions] Roxygen Man Pages Auto Update
github-actions[bot] Aug 8, 2023
a5be19b
chore: update examples to use dplyr/rlang
averissimo Aug 8, 2023
e3ffda0
dplyr in examples; pre-commit
pawelru Aug 8, 2023
fc94e3d
chore: remove bioc download method in favor of fallback to latest CRAN
averissimo Aug 12, 2023
157b6ad
fix: defaults to latest snapshot for Bioc packages
averissimo Aug 16, 2023
b3f7de2
fix: fix naming convention of function
averissimo Aug 16, 2023
bc0730b
tests: adds test suites and fixes a hardcoded string
averissimo Aug 16, 2023
16929bf
Merge bc0730be249aa70389125ac64373d9b1870ffc87 into ad404d1ed6495f556…
averissimo Aug 16, 2023
eec97b1
[skip actions] Restyle files
github-actions[bot] Aug 16, 2023
a9926e3
fix: corrects bugs found during tests
averissimo Aug 16, 2023
0819cbd
chore: document
averissimo Aug 17, 2023
49e4e8b
chore: remove httr dependency
averissimo Aug 17, 2023
783d755
fix: corrects typo on test
averissimo Aug 17, 2023
bd256b8
alphabetical order in pre-commit config
pawelru Aug 17, 2023
4a3236c
remove duplicates prior solving min_isolated
pawelru Aug 17, 2023
0719bdd
fix: issue in test_common and code cleanup
averissimo Aug 18, 2023
28b2dca
fix: bunch of corrections on cohort and code
averissimo Aug 18, 2023
74332e0
clean-up importFrom; add withr to pkg imports
pawelru Aug 21, 2023
6d22e75
add stats::na.omit to namespace
pawelru Aug 21, 2023
2074a76
fix: failure to resolve package should raise error later in the process
averissimo Aug 21, 2023
7ce8e09
chore: remove unnecessary parameter
averissimo Aug 21, 2023
99b0dc2
Apply suggestions from code review
averissimo Aug 21, 2023
95f7989
chore: change order of arguments and tests update
averissimo Aug 21, 2023
d72747d
chore: change order of arguments and tests update
averissimo Aug 21, 2023
fce38e3
chore: remove unnecessary NA as argument can be of length 0 or a date
averissimo Aug 21, 2023
d11385b
fix: small improvement on dealing with NA dates
averissimo Aug 21, 2023
9190f74
fix: enforce class on get_release_date methods output
averissimo Aug 22, 2023
826ddf5
add withr to pre-commit
pawelru Aug 24, 2023
68cb7eb
use map_key_character in other places
pawelru Aug 24, 2023
a0b01a5
add Andre to authors; Roche cph and fnd; LICENSE
pawelru Aug 24, 2023
ecbdc98
fix DESCRIPTION file
pawelru Aug 24, 2023
cfabadf
Merge pull request #28 from insightsengineering/training-cleanup
averissimo Aug 28, 2023
939d598
Merge branch 'main' into training
pawelru Aug 28, 2023
1fd5899
docs
pawelru Aug 28, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
- ready_for_review
branches:
- main
- training
push:
branches:
- main
Expand Down
19 changes: 11 additions & 8 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,25 @@ repos:
args: [--style_pkg=styler, --style_fun=tidyverse_style]
- id: roxygenize
additional_dependencies:
- r-lib/cli@*release
- r-lib/desc@*release
- r-lib/gh@*release
- r-lib/pkgcache@*release
- r-lib/pkgdepends@*release
- r-lib/rcmdcheck@*release
- r-lib/remotes@*release
- cli
- desc
- gh
- knitr
- pkgcache
- pkgdepends
- rcmdcheck
- remotes
- stats
- utils
- r-lib/zip@*release
- withr
# codemeta must be above use-tidy-description when both are used
# - id: codemeta-description-updated
- id: use-tidy-description
- id: spell-check
exclude: >
(?x)^(
data/.*|
inst/.*|
(.*/|)\.Rprofile|
(.*/|)\.Renviron|
(.*/|)\.gitignore|
Expand Down
17 changes: 10 additions & 7 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@ Package: verdepcheck
Title: Check Package using Various Versions of Dependencies
Version: 0.0.0.9000
Date: 2023-02-14
Authors@R:
person("Pawel Rucki", , , "[email protected]", role = c("aut", "cre"))
Authors@R: c(
person("Pawel Rucki", , , "[email protected]", role = c("aut", "cre")),
person("Andre Verissimo", , , "[email protected]", role = "aut"),
person("F. Hoffmann-La Roche AG", role = c("cph", "fnd"))
)
Description: Derive package dependencies from DESCRIPTION file using various strategies and run "R CMD CHECK" to validate package compatibility.
License: Apache License 2.0 | file LICENSE
URL: https://github.com/insightsengineering/verdepcheck/
Expand All @@ -20,23 +23,23 @@ Imports:
rcmdcheck,
remotes (>= 2.2.0),
stats,
utils
utils,
withr (>= 2.4.3)
Suggests:
knitr (>= 1.42),
pingr,
testthat (>= 3.0.4),
withr (>= 2.4.3)
testthat (>= 3.0.4)
Config/Needs/verdepcheck:
r-lib/desc,
r-lib/gh,
r-lib/pkgcache,
r-lib/pkgdepends,
r-lib/rcmdcheck,
r-lib/remotes,
r-lib/withr,
yihui/knitr,
r-lib/pingr,
r-lib/testthat,
r-lib/withr
r-lib/testthat
VignetteBuilder:
knitr
Encoding: UTF-8
Expand Down
208 changes: 10 additions & 198 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,201 +1,13 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
Copyright 2022 F. Hoffmann-La Roche AG

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

1. Definitions.
http://www.apache.org/licenses/LICENSE-2.0

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
39 changes: 37 additions & 2 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,61 @@ S3method(get_ref_min,remote_ref_github)
S3method(get_ref_min,remote_ref_standard)
S3method(get_ref_min_incl_cran,remote_ref)
S3method(get_ref_min_incl_cran,remote_ref_github)
S3method(get_release_date,remote_ref)
S3method(get_release_date,remote_ref_cran)
S3method(get_release_date,remote_ref_github)
S3method(get_release_date,remote_ref_standard)
S3method(solve_ip,deps_installation_proposal)
S3method(solve_ip,min_isolated_deps_installation_proposal)
export(check_ip)
export(download_ip)
export(execute_ip)
export(get_ref_max)
export(get_ref_min)
export(get_ref_min_incl_cran)
export(get_ref_release)
export(get_release_date)
export(install_ip)
export(max_deps_check)
export(min_deps_check)
export(min_cohort_deps_check)
export(min_isolated_deps_check)
export(new_max_deps_installation_proposal)
export(new_min_deps_installation_proposal)
export(new_min_cohort_deps_installation_proposal)
export(new_min_isolated_deps_installation_proposal)
export(new_release_deps_installation_proposal)
export(release_deps_check)
export(solve_ip)
importFrom(cli,cli_alert_danger)
importFrom(cli,cli_progress_bar)
importFrom(cli,cli_progress_update)
importFrom(cli,col_blue)
importFrom(cli,col_green)
importFrom(cli,col_yellow)
importFrom(cli,pb_current)
importFrom(cli,pb_elapsed)
importFrom(cli,pb_eta)
importFrom(cli,pb_extra)
importFrom(cli,pb_spin)
importFrom(cli,pb_total)
importFrom(cli,style_bold)
importFrom(cli,symbol)
importFrom(desc,desc)
importFrom(gh,gh)
importFrom(gh,gh_gql)
importFrom(pkgcache,cran_archive_list)
importFrom(pkgcache,meta_cache_list)
importFrom(pkgcache,ppm_repo_url)
importFrom(pkgcache,ppm_snapshots)
importFrom(pkgdepends,as_pkg_dependencies)
importFrom(pkgdepends,new_pkg_deps)
importFrom(pkgdepends,new_pkg_installation_proposal)
importFrom(pkgdepends,parse_pkg_ref)
importFrom(pkgdepends,parse_pkg_refs)
importFrom(pkgdepends,pkg_dep_types)
importFrom(rcmdcheck,rcmdcheck)
importFrom(remotes,github_remote)
importFrom(stats,na.omit)
importFrom(stats,setNames)
importFrom(utils,head)
importFrom(utils,installed.packages)
importFrom(withr,defer)
Loading