Background
While reviewing a recent pull request, I noticed that regenerating documentation with roxygen2 8.x automatically replaces
with
Config/roxygen2/version: 8.0.0
in package DESCRIPTION files.
This is an intentional change introduced by roxygen2 8.x, where package configuration is now stored using Config/roxygen2/* fields instead of RoxygenNote.
Previously, issue #3811 coordinated the repository-wide migration from roxygen2 7.3.2 to 7.3.3. Since roxygen version changes affect generated files across the repository, it may be worth considering a similar coordinated migration for roxygen2 8.x
Current impact
During review, I found that the current PEcAn tooling still assumes the presence of RoxygenNote.
Confirmed
scripts/generate_dependencies.R currently reads the RoxygenNote field from package DESCRIPTION files.
- Regenerating documentation with roxygen2 8.x removes this field, causing the dependency generation workflow to fail with:
Field 'RoxygenNote' not found
As a result, the current CI is not compatible with packages documented using roxygen2 8.x.
Potential migration work
A repository-wide migration would likely involve:
- Updating all package
DESCRIPTION files to the new roxygen2 metadata format.
- Updating scripts that currently read
RoxygenNote to instead support Config/roxygen2/version (or both formats during migration).
- Updating CI workflows.
- Updating the docs
- Regenerating documentation (
DESCRIPTION, NAMESPACE, .Rd, and any other generated files) across all PEcAn packages using the new version.
As with the previous roxygen version update (#3811), it would also be useful to estimate how many generated files change and identify any open PRs that may be affected before performing the migration.
Discussion
If there is interest in moving forward with this migration, I'd be happy to test it locally first, identify all the required changes (including any affected scripts, generated files, and CI workflows), and report the findings back here. Once the scope has been agreed upon, I can then work on preparing a migration PR.
Background
While reviewing a recent pull request, I noticed that regenerating documentation with roxygen2 8.x automatically replaces
with
in package
DESCRIPTIONfiles.This is an intentional change introduced by roxygen2 8.x, where package configuration is now stored using
Config/roxygen2/*fields instead ofRoxygenNote.Previously, issue #3811 coordinated the repository-wide migration from roxygen2 7.3.2 to 7.3.3. Since roxygen version changes affect generated files across the repository, it may be worth considering a similar coordinated migration for roxygen2 8.x
Current impact
During review, I found that the current PEcAn tooling still assumes the presence of
RoxygenNote.Confirmed
scripts/generate_dependencies.Rcurrently reads theRoxygenNotefield from packageDESCRIPTIONfiles.As a result, the current CI is not compatible with packages documented using roxygen2 8.x.
Potential migration work
A repository-wide migration would likely involve:
DESCRIPTIONfiles to the new roxygen2 metadata format.RoxygenNoteto instead supportConfig/roxygen2/version(or both formats during migration).DESCRIPTION,NAMESPACE,.Rd, and any other generated files) across all PEcAn packages using the new version.As with the previous roxygen version update (#3811), it would also be useful to estimate how many generated files change and identify any open PRs that may be affected before performing the migration.
Discussion
If there is interest in moving forward with this migration, I'd be happy to test it locally first, identify all the required changes (including any affected scripts, generated files, and CI workflows), and report the findings back here. Once the scope has been agreed upon, I can then work on preparing a migration PR.