Release units 0.7-0
Closed this issue · 16 comments
I'll run a revdepcheck to see if any packages are still using the stuff dropped in #259, and notify the maintainers accordingly.
Revdep checks added. Packages affected:
- constants 1.0.0. Fixed in r-quantities/constants@e99957e.
- EmissV 0.665.3.0. Reported in atmoschem/EmissV/issues/26.
- eplusr 0.14.0. Reported in hongyuanjia/eplusr/issues/410.
- ggforce 0.3.2. Fixed in thomasp85/ggforce/pull/218.
- magclass 5.15.6. Reported in pik-piam/magclass/issues/87.
- quantities 0.1.5. Fixed in r-quantities/quantities@3752552.
- traitdataform 0.6.1. Fixed in EcologicalTraitData/traitdataform/pull/42.
- yamlet 0.6.10. Maintainer notified by email.
I would like to address some more issues before submitting a new release to CRAN, so there will be plenty of time for those packages to merge the fixes and submit an update.
Prepare for release:
- Update NEWS
- urlchecker::url_check()
- Check current CRAN check results
- devtools::check(remote = TRUE, manual = TRUE)
- rhub::check_for_cran()
- devtools::check_win_devel()
- revdepcheck::revdep_check(num_workers = 4)
- Propose fixes or warn downstream maintainers.
@edzer This is ready for release. Affected downstream maintainers have been notified.
submitted ...
quantities and constants submitted too.
Revdep checks:
Dear maintainer,
package units_0.7-0.tar.gz has been auto-processed. The auto-check found problems when checking the first order strong reverse dependencies.
Please reply-all and explain: Is this expected or do you need to fix anything in your package? If expected, have all maintainers of affected packages been informed well in advance? Are there false positives in our results?
*** Changes to worse in reverse dependencies ***
Debian: <https://win-builder.r-project.org/incoming_pretest/units_0.7-0_20210221_112856/reverseDependencies/summary.txt>
Log dir: <https://win-builder.r-project.org/incoming_pretest/units_0.7-0_20210221_112856/>
The files will be removed after roughly 7 days.
Pretests:
Windows: <https://win-builder.r-project.org/incoming_pretest/units_0.7-0_20210221_112856/Windows/00check.log>
Debian: <https://win-builder.r-project.org/incoming_pretest/units_0.7-0_20210221_112856/Debian/00check.log>
Last published version on CRAN:
CRAN Web: <https://cran.r-project.org/package=units>
Best regards,
CRAN teams' auto-check service
Package check result: OK
Changes to worse in reverse depends:
Package: EmissV
Check: examples
New result: WARNING
Found the following significant warnings:
Warning: 'units::install_conversion_constant' is deprecated.
Deprecated functions may be defunct as soon as of the next release of
R.
See ?Deprecated.
Package: eplusr
Check: tests
New result: ERROR
Running ‘testthat.R’ [58s/45s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
> library(testthat)
> library(eplusr)
> eplusr_option(verbose_info = FALSE)
$verbose_info
[1] FALSE
>
> test_check("eplusr")
trying URL 'https://raw.githubusercontent.com/NREL/EnergyPlus/v9.4.0/idd/V8-8-0-Energy%2B.idd'
Content type 'text/plain; charset=utf-8' length 4055399 bytes (3.9 MB)
==================================================
downloaded 3.9 MB
trying URL 'https://raw.githubusercontent.com/NREL/EnergyPlus/v9.4.0/idd/V8-9-0-Energy%2B.idd'
Content type 'text/plain; charset=utf-8' length 4390209 bytes (4.2 MB)
==================================================
downloaded 4.2 MB
�� Skipped tests ���������������������������������������������������������������
â—� On CRAN (72)
â—� is_windows() is not TRUE (2)
�� Failed tests ����������������������������������������������������������������
── Error (test-units.R:4:5): Units conversion ──────────────────────────────────
Error: In 'person', 'person' is not recognized by udunits.
See a table of valid unit symbols and names with valid_udunits().
Custom user-defined units can be added with install_unit().
See a table of valid unit prefixes with valid_udunits_prefixes().
Prefixes will automatically work with any user-defined unit.
Backtrace:
â–ˆ
1. ├─testthat::expect_equal(...) test-units.R:4:4
2. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
3. │ └─rlang::eval_bare(expr, quo_get_env(quo))
4. ├─units::set_units(1, "person")
5. └─units:::set_units.numeric(1, "person")
6. ├─units::as_units(value, ...)
7. └─units:::as_units.character(value, ...)
8. └─units:::as_units.call(expr, check_is_valid = check_is_valid)
[ FAIL 1 | WARN 1 | SKIP 74 | PASS 2062 ]
Error: Test failures
Execution halted
Package: hydrolinks
Check: dependencies in R code
New result: WARNING
Missing or unexported object: ‘units::ud_units’
Package: quantities
Check: examples
New result: ERROR
Running examples in ‘quantities-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: Extract.quantities
> ### Title: Extract or Replace Parts of an Object
> ### Aliases: Extract.quantities [.quantities [[.quantities [<-.quantities
> ### [[<-.quantities
>
> ### ** Examples
>
> x <- set_quantities(1:3, m/s, 0.1)
> y <- set_quantities(4:6, m/s, 0.2)
> (z <- rbind(x, y))
Error in data.frame(val = as.numeric(x), from = I(units(x)), to = value, :
'list' object cannot be coerced to type 'double'
Calls: rbind -> rbind -> <Anonymous> -> data.frame
Execution halted
Package: quantities
Check: Rd cross-references
New result: WARNING
Missing link or links in documentation object 'units.Rd':
‘[units]{ud_units}’
See section 'Cross-references' in the 'Writing R Extensions' manual.
Package: quantities
Check: re-building of vignette outputs
New result: WARNING
Error(s) in re-building vignettes:
...
--- re-building ‘introduction.Rmd’ using rmarkdown
Quitting from lines 120-121 (introduction.Rmd)
Error: processing vignette 'introduction.Rmd' failed with diagnostics:
‘list’ object cannot be coerced to type ‘double’
--- failed re-building ‘introduction.Rmd’
--- re-building ‘parsing.Rmd’ using rmarkdown
--- finished re-building ‘parsing.Rmd’
SUMMARY: processing the following file failed:
‘introduction.Rmd’
Error: Vignette re-building failed.
Execution halted
Package: quantities
Check: tests
New result: ERROR
Running ‘testthat.R’ [3s/3s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
> library(testthat)
> library(quantities)
Loading required package: units
udunits database from /usr/share/xml/udunits/udunits2.xml
Loading required package: errors
>
> test_check("quantities")
�� Failed tests ����������������������������������������������������������������
── Error (test-math.R:31:3): math methods work properly ────────────────────────
Error: power operation only allowed with logarithmic unit
Backtrace:
â–ˆ
1. ├─testthat::expect_warning(expect_errors(exp(x), exp(xval), errors(exp(xe)))) test-math.R:31:2
2. │ └─testthat:::quasi_capture(enquo(object), label, capture_warnings)
3. │ ├─testthat:::.capture(...)
4. │ │ └─base::withCallingHandlers(...)
5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
6. ├─quantities:::expect_errors(exp(x), exp(xval), errors(exp(xe)))
7. │ └─testthat::expect_equal(class(x), "errors") helper-quantities.R:10:2
8. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
9. │ └─rlang::eval_bare(expr, quo_get_env(quo))
10. ├─quantities:::Math.quantities(x)
11. │ └─quantities:::reclass(NextMethod())
12. ├─base::NextMethod()
13. └─units:::Math.units(x)
14. ├─quantities:::Ops.quantities(exp(1), x)
15. │ └─quantities:::reclass(NextMethod())
16. ├─base::NextMethod()
17. └─units:::Ops.units(exp(1), x)
── Error (test-misc.R:66:3): data frame coercion works properly ────────────────
Error: 'list' object cannot be coerced to type 'double'
Backtrace:
â–ˆ
1. ├─base::as.data.frame(cbind(x, y)) test-misc.R:66:2
2. └─base::cbind(x, y)
3. └─quantities:::cbind(deparse.level, ...)
4. └─getS3method("set_units", "mixed_units")(dots, as.character(u))
5. └─base::data.frame(...)
── Error (test-misc.R:102:3): bind methods work properly ───────────────────────
Error: 'list' object cannot be coerced to type 'double'
Backtrace:
â–ˆ
1. └─base::rbind(x = a, y = a) test-misc.R:102:2
2. └─quantities:::rbind(deparse.level, ...)
3. └─getS3method("set_units", "mixed_units")(dots, as.character(u))
4. └─base::data.frame(...)
── Error (test-utils.R:30:3): dots are converted to the units of the first argument ──
Error: no applicable method for 'units' applied to an object of class "list"
Backtrace:
â–ˆ
1. ├─quantities:::expect_quantities(...) test-utils.R:30:2
2. │ └─testthat::expect_equal(class(x), c("quantities", "units", "errors")) helper-quantities.R:3:2
3. │ └─testthat::quasi_label(enquo(object), label, arg = "object")
4. │ └─rlang::eval_bare(expr, quo_get_env(quo))
5. └─base::cbind(x, y, x, y)
6. └─quantities:::cbind(deparse.level, ...)
7. └─getS3method("set_units", "mixed_units")(dots, as.character(u))
8. ├─base::data.frame(...)
9. ├─base::I(units(x))
10. │ └─base::unique.default(c("AsIs", oldClass(x)))
11. └─base::units(x)
[ FAIL 4 | WARN 11 | SKIP 0 | PASS 457 ]
Error: Test failures
Execution halted
Package: traitdataform
Check: dependencies in R code
New result: WARNING
Missing or unexported object: ‘units::parse_unit’
Package: yamlet [Old version: 0.6.9, New version: 0.6.10]
Check: examples
New result: WARNING
Found the following significant warnings:
Warning: 'install_symbolic_unit' is deprecated.
Deprecated functions may be defunct as soon as of the next release of
R.
See ?Deprecated.
The warning in hydrolinks
was not detected in my revdep checks. Email sent.
Hi @edzer. I am the maintainer of the {eplusr} package which depends on {units} package. I know that in v0.7-0, install_symbolic_unit()
is deprecated. Since install_unit()
function is newly introduced in v0.7-0 and v0.7-0 is not on CRAN, how can I use install_unit()
in {eplusr}? I updated my code and submitted to CRAN, but got a warning:
* checking dependencies in R code ... WARNING
Missing or unexported object: ‘units::install_unit’
Thanks
Yes, sorry for the delay; it should now reach CRAN soon.
On CRAN now.
According to BDR, there's more fallout:
> Thanks, on its way to CRAN.
>
> Team, this causes changes to worse in:
> EmissV eplusr hydrolinks quantities traitdataform yamlet
>
And
EML constants magclass sen2r sf
but I am not seeing quantities which was updated recently.
And a different problem in ggforce from the one in R-devel previously.
All expected except for sen2r
and sf
. Will take a look.
I couldn't find anything for sf
, except a deprecated install_symbolic_unit
, that's resolved now.
sen2r
uses ud_units
, which was removed for good. A surprise, because revdep checks should have caught this one (unless there are tests that only run on CRAN). Anyway, reported here: https://github.com/ranghetti/sen2r/issues/390
A surprise, because revdep checks should have caught this one (unless there are tests that only run on CRAN).
Maybe this was not done because units
is a suggested dependency, and ud_units()
is called inside if (requireNamespace("units"))
. By the way, thanks for reporting that.