golem icon indicating copy to clipboard operation
golem copied to clipboard

golem::amend_config() do no keep !expr

Open ColinFay opened this issue 4 years ago • 12 comments

> cat(readLines("inst/golem-config.yml"), sep = "\n")
default:
  golem_name: aa
  golem_version: 0.0.0.9000
  app_prod: no
production:
  app_prod: yes
dev:
  golem_wd: !expr here::here()
> golem::amend_golem_config("plop", "plop")
> cat(readLines("inst/golem-config.yml"), sep = "\n")
default:
  golem_name: aa
  golem_version: 0.0.0.9000
  app_prod: no
  plop: plop
production:
  app_prod: yes
dev:
  golem_wd: /Users/colin/Seafile/documents_colin/R/trash/aaaaaacc

ColinFay avatar Jul 27 '21 07:07 ColinFay

Hey @ColinFay

Would something like this work:

 ########
> library(golem)
> my_amend_golem_config <- function(
+   key,
+   value, 
+   config = "default", 
+   pkg = get_golem_wd(), 
+   talkative = TRUE
+ ){
+   conf_path <- golem:::get_current_config(pkg)
+   attempt::stop_if(
+     conf_path, 
+     is.null, 
+     "Unable to retrieve golem config file."
+   )
+   conf <- yaml::read_yaml(conf_path, eval.expr = FALSE)
+   conf[[config]][[key]] <- value
+   
+   golem_wd <- "here::here()"
+   attr(golem_wd, "tag") <- "!expr"
+   conf[["dev"]][["golem_wd"]] <- golem_wd
+   
+   yaml::write_yaml(
+     conf, 
+     conf_path
+   )
+   invisible(TRUE)
+ }
> 
> cat(readLines("inst/golem-config.yml"), sep = "\n")
default:
  golem_name: golem.dev2
  golem_version: 0.0.0.9000
  app_prod: no
production:
  app_prod: yes
dev:
  golem_wd: !expr here::here()
> my_amend_golem_config("plop", "plop")
> cat(readLines("inst/golem-config.yml"), sep = "\n")
default:
  golem_name: golem.dev2
  golem_version: 0.0.0.9000
  app_prod: no
  plop: plop
production:
  app_prod: yes
dev:
  golem_wd: !expr here::here()

teofiln avatar Oct 01 '21 17:10 teofiln

@teofiln thanks for taking some time to suggest this!

My issue with your solution is that it will only work with golem_wd, but theoretically speaking you could have any entry as an expr

For example:

default: golem_name: golem.dev2 golem_version: 0.0.0.9000 app_prod: no xyz: ! expr sample(1:10, 1)

So the fix to this issue would keep any expr in the yaml, not only the wd :)

ColinFay avatar Oct 01 '21 18:10 ColinFay

Here is an attempt. First a function to find the expressions in a yaml.

library(golem)

find_and_tag_exprs <- function(conf_path) {
  conf <- yaml::read_yaml(conf_path, eval.expr = FALSE)
  conf.eval <- yaml::read_yaml(conf_path, eval.expr = TRUE)
  
  expr_list <- lapply(names(conf), function(x) {
    conf[[x]][!conf[[x]] %in% conf.eval[[x]] ]
  })
  names(expr_list) <- names(conf)
  expr_list <- Filter(function(x) length(x) > 0, expr_list)
  add_expr_tag <- function(tag) {
    attr(tag[[1]], "tag") = "!expr"
    tag
  }
  tagged_exprs <- lapply(expr_list, add_expr_tag)
  modifyList(conf, tagged_exprs)
}
> str(find_and_tag_exprs("inst/golem-config.yml"))
List of 3
 $ default   :List of 5
  ..$ golem_name   : chr "golem.dev2"
  ..$ golem_version: chr "0.0.0.9000"
  ..$ app_prod     : logi FALSE
  ..$ xyz          : chr "mean(1:5)"
  .. ..- attr(*, "tag")= chr "!expr"
  ..$ plop         : chr "plop"
 $ production:List of 1
  ..$ app_prod: logi TRUE
 $ dev       :List of 1
  ..$ golem_wd: chr "here::here()"
  .. ..- attr(*, "tag")= chr "!expr"

Then the above test with this function:

my_amend_golem_config <- function(
  key,
  value, 
  config = "default", 
  pkg = golem::get_golem_wd(), 
  talkative = TRUE
){
  conf_path <- golem:::get_current_config(pkg)
  attempt::stop_if(
    conf_path, 
    is.null, 
    "Unable to retrieve golem config file."
  )
  
  conf <- find_and_tag_exprs(conf_path)
  conf[[config]][[key]] <- value

  yaml::write_yaml(
    conf, 
    conf_path
  )
  invisible(TRUE)
}
> cat(readLines("inst/golem-config.yml"), sep = "\n")
default:
  golem_name: golem.dev2
  golem_version: 0.0.0.9000
  app_prod: no
  xyz: !expr mean(1:5)
production:
  app_prod: yes
dev:
  golem_wd: !expr here::here()
> my_amend_golem_config("plop", "plop")
> cat(readLines("inst/golem-config.yml"), sep = "\n")
default:
  golem_name: golem.dev2
  golem_version: 0.0.0.9000
  app_prod: no
  xyz: !expr mean(1:5)
  plop: plop
production:
  app_prod: yes
dev:
  golem_wd: !expr here::here()

teofiln avatar Oct 01 '21 22:10 teofiln

Woaw thanks @teofiln that's awesome.

Would you be willing to make a PR?

Thanks a lot, Colin

ColinFay avatar Oct 04 '21 19:10 ColinFay

PR incoming: #752

teofiln avatar Oct 06 '21 21:10 teofiln

Will still have an issue using golem::set_golem_name("HOP")

it transform :

default:
  golem_name: golemcran032
  golem_version: 0.0.0.9000
  app_prod: no
production:
  app_prod: yes
dev:
  golem_wd: golem_wd: !expr here::here()

to

default:
  golem_name: HOP
  golem_version: 0.0.0.9000
  app_prod: no
production:
  app_prod: yes
dev:
  golem_wd: D:/sur_git/golemcran032

VincentGuyader avatar May 31 '22 10:05 VincentGuyader

Full reprex :

MacBook-Air-de-colin:~ colin$ cd /tmp/
MacBook-Air-de-colin:tmp colin$ Rscript -e "golem::create_golem('plop')"
── Checking package name ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
✔ Valid package name
── Creating dir ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
✔ Creating 'plop/'
✔ Setting active project to '/private/tmp/plop'
✔ Creating 'R/'
✔ Writing a sentinel file '.here'
• Build robust paths within your project via `here::here()`
• Learn more at <https://here.r-lib.org>
✔ Setting active project to '<no active project>'
✔ Created package directory
── Copying package skeleton ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
✔ Copied app skeleton
── Setting the default config ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
✔ Configured app
── Running project hook function ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
✔ All set
✔ Setting active project to '/private/tmp/plop'
── Done ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
A new golem named plop was created at /private/tmp/plop .
To continue working on your app, start editing the 01_start.R file.
Message d'avis :
Dans normalizePath(path) : path[1]="plop": No such file or directory
MacBook-Air-de-colin:tmp colin$ cd plop/
MacBook-Air-de-colin:plop colin$ ls
DESCRIPTION	NAMESPACE	R		dev		inst		man
MacBook-Air-de-colin:plop colin$ cat inst/golem-config.yml 
default:
  golem_name: plop
  golem_version: 0.0.0.9000
  app_prod: no
production:
  app_prod: yes
dev:
  golem_wd: !expr here::here()
MacBook-Air-de-colin:plop colin$ Rscript -e "golem::set_golem_name('xyz')"
✔ Setting `golem_name` to xyz
MacBook-Air-de-colin:plop colin$ cat inst/golem-config.yml 
default:
  golem_name: xyz
  golem_version: 0.0.0.9000
  app_prod: no
production:
  app_prod: yes
dev:
  golem_wd: /private/tmp/plop

ColinFay avatar Jun 30 '22 12:06 ColinFay

On the other hand:

MacBook-Air-de-colin:plop colin$ Rscript -e "golem::amend_golem_config('x', 'y')"
MacBook-Air-de-colin:plop colin$ cat inst/golem-config.yml 
default:
  golem_name: plop
  golem_version: 0.0.0.9000
  app_prod: no
  x: 'y'
production:
  app_prod: yes
dev:
  golem_wd: !expr here::here()

ColinFay avatar Jun 30 '22 12:06 ColinFay

Issue is that set_golem_name() uses set_golem_things() which doesn't use golem::amend_golem_config()

Rscript -e "golem:::set_golem_things"
function (key, value, path, talkative, config = "default") 
{
    conf_path <- get_current_config(path, set_options = FALSE)
    stop_if(conf_path, is.null, "Unable to retrieve golem config file.")
    cat_if_talk <- function(..., fun = cat_green_tick) {
        if (talkative) {
            fun(...)
        }
    }
    cat_if_talk(sprintf("Setting `%s` to %s", key, value))
    conf <- read_yaml(conf_path, eval.expr = TRUE)
    conf[[config]][[key]] <- value
    write_yaml(conf, conf_path)
    invisible(path)
}

ColinFay avatar Jun 30 '22 12:06 ColinFay

via https://twitter.com/_ColinFay/status/1557807482101276674

==> devtools::check()

══ Documenting ═════════════════════════════════════════════════════════
ℹ Updating golem documentation
ℹ Loading golem

══ Building ════════════════════════════════════════════════════════════
Setting env vars:
• CFLAGS    : -Wall -pedantic -fdiagnostics-color=always
• CXXFLAGS  : -Wall -pedantic -fdiagnostics-color=always
• CXX11FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX14FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX17FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX20FLAGS: -Wall -pedantic -fdiagnostics-color=always
✔  checking for file 'C:\Users\Daniel\Documents\R\github\golem/DESCRIPTION' (509ms)
─  preparing 'golem': (2.4s)
✔  checking DESCRIPTION meta-information ... 
─  installing the package to build vignettes (652ms)
✔  creating vignettes (21.4s)
─  checking for LF line-endings in source and make files and shell scripts (721ms)
─  checking for empty or unneeded directories
─  building 'golem_0.3.3.9000.tar.gz'
   
══ Checking ════════════════════════════════════════════════════════════
Setting env vars:
• _R_CHECK_CRAN_INCOMING_REMOTE_: FALSE
• _R_CHECK_CRAN_INCOMING_       : FALSE
• _R_CHECK_FORCE_SUGGESTS_      : FALSE
• NOT_CRAN                      : true
── R CMD check ─────────────────────────────────────────────────────────
─  using log directory 'C:/Users/Daniel/Documents/R/github/golem.Rcheck' (520ms)
─  using R version 4.2.1 (2022-06-23 ucrt)
─  using platform: x86_64-w64-mingw32 (64-bit)
─  using session charset: UTF-8
─  using options '--no-manual --as-cran' (2.1s)
✔  checking for file 'golem/DESCRIPTION' ...
─  this is package 'golem' version '0.3.3.9000'
─  package encoding: UTF-8
✔  checking package namespace information ...
✔  checking package dependencies (4.2s)
✔  checking if this is a source package ... 
✔  checking if there is a namespace
✔  checking for executable files (1.9s)
✔  checking for hidden files and directories ... 
✔  checking for portable file names ... 
✔  checking serialization versions ...
✔  checking whether package 'golem' can be installed (15.9s)
✔  checking installed package size ... 
✔  checking package directory (1.2s)
✔  checking for future file timestamps ... 
✔  checking 'build' directory ...
✔  checking DESCRIPTION meta-information (664ms)
✔  checking top-level files ...
✔  checking for left-over files ... 
✔  checking index information (455ms)
✔  checking package subdirectories (651ms)
✔  checking R files for non-ASCII characters ... 
✔  checking R files for syntax errors ... 
✔  checking whether the package can be loaded (1.7s)
✔  checking whether the package can be loaded with stated dependencies (1.4s)
✔  checking whether the package can be unloaded cleanly (1.3s)
✔  checking whether the namespace can be loaded with stated dependencies (1.2s)
✔  checking whether the namespace can be unloaded cleanly (1.9s)
✔  checking loading without being on the library search path (2.1s)
✔  checking dependencies in R code (2s)
✔  checking S3 generic/method consistency (2.2s)
✔  checking replacement functions (898ms)
✔  checking foreign function calls (1.3s)
✔  checking R code for possible problems (13s)
✔  checking Rd files (1.2s)
✔  checking Rd metadata ... 
✔  checking Rd line widths (346ms)
✔  checking Rd cross-references (679ms)
✔  checking for missing documentation entries (1s)
✔  checking for code/documentation mismatches (3.1s)
✔  checking Rd \usage sections (2.8s)
✔  checking Rd contents (349ms)
✔  checking for unstated dependencies in examples (570ms)
✔  checking installed files from 'inst/doc' ... 
✔  checking files in 'vignettes' ... 
✔  checking examples (2.5s)
✔  checking examples with --run-donttest (2.4s)
✔  checking for unstated dependencies in 'tests' ... 
─  checking tests (493ms)
─  Running 'manualtests.R' (357ms)
✔  Running 'spelling.R'
X  Comparing 'spelling.Rout' to 'spelling.Rout.save' ...
   10,120d9
   < Potential spelling errors:
   <   WORD               FOUND IN
   < Autoload           disable_autoload.Rd:5,16
   < C'est              bundle_resources.Rd:49
   < CDN                b_dev.Rmd:109
   < CMD                dockerfiles.Rd:156,157
   <                    README.md:7
   < ColinFay           README.md:103
   < DataFrame          sanity_check.Rd:13
   < Golem's            template.Rd:8
   < ICS                README.md:96
   < JSON               golem_js.Rd:15
   < Nottinghamshire    README.md:96
   < ORCID              fill_desc.Rd:32
   <                    golem.Rd:20,24,25,26
   < Pilbery            NEWS.md:185
   < Rbuildignore       NEWS.md:306
   < Rencontres         README.md:82
   < Shiny's            template.Rd:21
   < ShinyProxy         a_start.Rmd:182
   < TOFIX              sanity_check.Rd:17
   <                    NEWS.md:155
   < abeer              README.md:98
   < addins             addins.Rd:13,33
   <                    NEWS.md:274
   < availabily         NEWS.md:69
   < avec               README.md:83
   < balazs             README.md:97
   < barcelonar         README.md:67
   < benchmarking       NEWS.md:181
   < centos             dockerfiles.Rd:153
   < conditionned       NEWS.md:69
   < conf               README.md:65,80
   < config             amend_golem_config.Rd:5,32
   <                    get_current_config.Rd:5,10,13
   <                    golem_opts.Rd:57,80,84
   <                    NEWS.md:221,256
   <                    a_start.Rmd:92
   <                    e_config.Rmd:2,40,44,57,76,104,134,169
   < cranstars          README.md:98
   < dans               bundle_resources.Rd:49
   < debian             dockerfiles.Rd:144
   < debounce           add_files.Rd:113
   < des                bundle_resources.Rd:49
   < desc               fill_desc.Rd:39
   < developpement      c_deploy.Rmd:116
   < developpment       c_deploy.Rmd:90
   < dockerfile         NEWS.md:308
   < dockerfiler        get_sysreqs.Rd:23
   < d'applications   README.md:83
   < env                e_config.Rmd:147
   < exe                NEWS.md:103
   < explicitely        NEWS.md:298
   <                    f_extending_golem.Rmd:58
   < fct                file_creation.Rd:6
   <                    f_extending_golem.Rmd:114
   < filesystem         NEWS.md:302,350
   < getters            golem_opts.Rd:84
   < golemexamples      README.md:103
   < gz                 dockerfiles.Rd:139,141
   <                    NEWS.md:233,243
   < healthcareSPC      README.md:96
   < htmlDependency     bundle_resources.Rd:52
   < htmlTemplate       NEWS.md:24,91,125
   < kovacs             README.md:97
   < litte              NEWS.md:286
   < marton             README.md:97
   < matchine           NEWS.md:258
   < mettre             bundle_resources.Rd:49
   < namespaced         NEWS.md:298
   <                    f_extending_golem.Rmd:58
   < natively           NEWS.md:266
   < paillettes         bundle_resources.Rd:49
   < param              module_template.Rd:41
   <                    NEWS.md:59
   <                    f_extending_golem.Rmd:130
   < params             NEWS.md:61
   < preconfigured      bundle_resources.Rd:62
   < preload            bundle_resources.Rd:61
   < programmatically   NEWS.md:197
   < projet             NEWS.md:324
   < quand              bundle_resources.Rd:49
   < que                bundle_resources.Rd:49
   < referes            NEWS.md:1
   < renv               dockerfiles.Rd:149
   <                    c_deploy.Rmd:72,87,90,116,123,133
   < repo               NEWS.md:219
   < rerordered         NEWS.md:286
   < roclet             document_and_reload.Rd:21,31
   < roxygen            document_and_reload.Rd:22,27,30,31
   <                    NEWS.md:185
   < rstudio            dockerfiles.Rd:154
   <                    README.md:65,80
   < seanhardison       README.md:95
   < shahreyar          README.md:98
   < shinyproxy         NEWS.md:308
   < stylesheet         NEWS.md:107
   < subfolders         NEWS.md:173
   < sysreq             dockerfiles.Rd:130
   < tenzing            README.md:97
   < testServer         use_module_test.Rd:20
   < tu                 bundle_resources.Rd:49
   < vas                bundle_resources.Rd:49
   < vcrshiny           README.md:95
   < ver                NEWS.md:239
   < wd                 NEWS.md:332
   <                    e_config.Rmd:57
   < winlash            NEWS.md:310
   < www                NEWS.md:51
   < xenial             dockerfiles.Rd:153
   < yml                NEWS.md:221
─  Running 'testthat.R' [106s] (1m 46.4s)
E  Some test files failed
   Running the tests in 'tests/testthat.R' failed.
   Last 13 lines of output:
     ── Failure (test-config.R:2:3): config works ───────────────────────────────────
     tail(readLines("inst/golem-config.yml"), 1) (`actual`) not equal to "  golem_wd: !expr golem::pkg_path()" (`expected`).
     
     actual vs expected
     - "  golem_wd: C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902"
     + "  golem_wd: !expr golem::pkg_path()"
     Backtrace:
         ▆
      1. ├─withr::with_dir(...) at test-config.R:2:2
      2. │ └─base::force(code)
      3. └─testthat::expect_equal(...) at test-config.R:73:4
     
     [ FAIL 3 | WARN 0 | SKIP 1 | PASS 271 ]
     Error: Test failures
     Execution halted
✔  checking for unstated dependencies in vignettes (483ms)
✔  checking package vignettes in 'inst/doc' ... 
✔  checking re-building of vignette outputs (11.7s)
✔  checking for non-standard things in the check directory
✔  checking for detritus in the temp directory
   
   See
     'C:/Users/Daniel/Documents/R/github/golem.Rcheck/00check.log'
   for details.
   
   
── R CMD check results ─────────────────────────── golem 0.3.3.9000 ────
Duration: 3m 18.6s

❯ checking tests ...
  See below...

── Test failures ───────────────────────────────────────── testthat ────

> library(testthat)
> library(golem)
> 
> test_check("golem")
── Checking package name ───────────────────────────────────────────────────────
✔ Valid package name
── Creating dir ────────────────────────────────────────────────────────────────
✔ Created package directory
── Copying package skeleton ────────────────────────────────────────────────────
✔ Copied app skeleton
── Running project hook function ───────────────────────────────────────────────
✔ All set
── Done ────────────────────────────────────────────────────────────────────────
A new golem named dzhjbdybbw20220811212902 was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dzhjbdybbw20220811212902 .
To continue working on your app, start editing the 01_start.R file.
── Setting {golem} options in `golem-config.yml` ───────────────────────────────
✔ Setting `golem_name` to dzhjbdybbw20220811212902
✔ Setting `golem_wd` to golem::pkg_path()
You can change golem working directory with set_golem_wd('path/to/wd')
✔ Setting `golem_version` to 0.0.0.9000
✔ Setting `app_prod` to FALSE
── Setting {usethis} project as `golem_wd` ─────────────────────────────────────
✔ Setting `golem_wd` to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902
You can change golem working directory with set_golem_wd('path/to/wd')
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/zmltfacnfm.css
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/zmltfacnfm.css
v File already exists.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/zmltfacnfm.css
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/yjwxtqhdaw/zmltfacnfmfhzmpazjnz.css
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/yjwxtqhdaw/zmltfacnfmfhzmpazjnz.css
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/opbzpafxph.css
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/opbzpafxph.css
v File already exists.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/opbzpafxph.css
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/okatmkpcdt.sass
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/okatmkpcdt.sass
v Code added in run_dev.R to compile your Sass file to CSS file.
i After running the compilation, your CSS file will be automatically link in `golem_add_external_resources()`.
v File already exists.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/okatmkpcdt.sass
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/yjwxtqhdaw/okatmkpcdtznwqfktgzl.sass
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/yjwxtqhdaw/okatmkpcdtznwqfktgzl.sass
v Code added in run_dev.R to compile your Sass file to CSS file.
i After running the compilation, your CSS file will be automatically link in `golem_add_external_resources()`.
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/wmnpdfgcqn.sass
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/wmnpdfgcqn.sass
v Code added in run_dev.R to compile your Sass file to CSS file.
i After running the compilation, your CSS file will be automatically link in `golem_add_external_resources()`.
v File already exists.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/wmnpdfgcqn.sass
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/hbzbcbqlzh.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/hbzbcbqlzh.js
v File already exists.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/hbzbcbqlzh.js
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/yjwxtqhdaw/hbzbcbqlzhbkkynpdomh.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/yjwxtqhdaw/hbzbcbqlzhbkkynpdomh.js
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/hhzjqoblqy.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/hhzjqoblqy.js
v File already exists.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/hhzjqoblqy.js
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/nafdqwlgol.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/nafdqwlgol.js
v File already exists.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/nafdqwlgol.js
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/yjwxtqhdaw/nafdqwlgolkpnthcfmwl.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/yjwxtqhdaw/nafdqwlgolkpnthcfmwl.js
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/kthqdxxalo.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/kthqdxxalo.js
v File already exists.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/kthqdxxalo.js
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/input-mcaojgkqtt.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/input-mcaojgkqtt.js
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/input-input-mcaojgkqtt.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/input-input-mcaojgkqtt.js
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/yjwxtqhdaw/input-input-mcaojgkqttanlymfcjao.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/yjwxtqhdaw/input-input-mcaojgkqttanlymfcjao.js
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/input-gwpwbjnxcc.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/input-gwpwbjnxcc.js
v File already exists.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/input-gwpwbjnxcc.js
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/output-lghthblgnz.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/output-lghthblgnz.js
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/output-output-lghthblgnz.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/output-output-lghthblgnz.js
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/yjwxtqhdaw/output-output-lghthblgnzatlfzpjooy.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/yjwxtqhdaw/output-output-lghthblgnzatlfzpjooy.js
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/output-aoapylnpnp.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/output-aoapylnpnp.js
v File already exists.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/output-aoapylnpnp.js
v ui file created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/ui.R
v server file created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/server.R
v UI file already exists.
v server file already exists.
v UI file already exists.
v server file already exists.
v File created at R/mod_test.R
* Go to R/mod_test.R
v File created at R/mod_test_fct_ftest.R
* Go to R/mod_test_fct_ftest.R
v File created at R/mod_test_utils_utest.R
* Go to R/mod_test_utils_utest.R
v File already exists.
* Go to R/mod_output.R
v File created at R/mod_test2.R
* Go to R/mod_test2.R
v File created at R/mod_test2_fct_ftest.R
* Go to R/mod_test2_fct_ftest.R
v File created at R/mod_test2_utils_utest.R
* Go to R/mod_test2_utils_utest.R
v File created at R/fct_ui.R
* Go to R/fct_ui.R
v File created at R/utils_ui.R
* Go to R/utils_ui.R
v File created at R/mod_lfbzzmhccq.R
* Go to R/mod_lfbzzmhccq.R
v File created at R/mod_lfbzzmhccq_fct_ui.R
* Go to R/mod_lfbzzmhccq_fct_ui.R
v File created at R/mod_lfbzzmhccq_utils_ui.R
* Go to R/mod_lfbzzmhccq_utils_ui.R
v File created at R/mod_ploup.R
* Go to R/mod_ploup.R
v File created at R/mod_ploup_fct_fct.R
* Go to R/mod_ploup_fct_fct.R
v File created at R/mod_ploup_utils_utils.R
* Go to R/mod_ploup_utils_utils.R
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/bundle.css
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/bundle.css
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/bundle.js
v File automatically linked in `golem_add_external_resources()`.
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/bundle.js
v Setting `where` to indev
v Setting `where` to inprod
v Setting `golem_name` to plop
v Setting `golem_name` to dzhjbdybbw20220811212902
v Setting `golem_version` to 0.0.0.9001
v Setting `golem_version` to 0.0.0.9000
v Setting `golem_wd` to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst
You can change golem working directory with set_golem_wd('path/to/wd')
v Setting `golem_wd` to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902
You can change golem working directory with set_golem_wd('path/to/wd')
-- Checking package name -------------------------------------------------------
v Valid package name
-- Creating dir ----------------------------------------------------------------
v Created package directory
-- Copying package skeleton ----------------------------------------------------
v Copied app skeleton
-- Running project hook function -----------------------------------------------
v All set
-- Done ------------------------------------------------------------------------
A new golem named koko was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dummy58b01e9627c\koko .
To continue working on your app, start editing the 01_start.R file.
-- Checking package name -------------------------------------------------------
v Valid package name
-- Creating dir ----------------------------------------------------------------
v Created package directory
-- Copying package skeleton ----------------------------------------------------
v Copied app skeleton
-- Running project hook function -----------------------------------------------
v All set
-- Done ------------------------------------------------------------------------
A new golem named kokogui was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dummy58b01e9627c\kokogui .
To continue working on your app, start editing the 01_start.R file.
-- Checking package name -------------------------------------------------------
v Valid package name
-- Checking package name -------------------------------------------------------
v Valid package name
-- Checking package name -------------------------------------------------------
v Valid package name
* Overwriting existing project.
-- Copying package skeleton ----------------------------------------------------
v Copied app skeleton
-- Running project hook function -----------------------------------------------
v All set
-- Done ------------------------------------------------------------------------
A new golem named koko was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dummy58b01e9627c\koko .
To continue working on your app, start editing the 01_start.R file.
-- Checking package name -------------------------------------------------------
v Valid package name
* Overwriting existing project.
-- Copying package skeleton ----------------------------------------------------
v Copied app skeleton
-- Running project hook function -----------------------------------------------
v All set
-- Done ------------------------------------------------------------------------
A new golem named kokogui was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dummy58b01e9627c\kokogui .
To continue working on your app, start editing the 01_start.R file.
-- Checking package name -------------------------------------------------------
v Valid package name
-- Creating dir ----------------------------------------------------------------
v Created package directory
-- Copying package skeleton ----------------------------------------------------
v Copied app skeleton
-- Running project hook function -----------------------------------------------
v All set
-- Done ------------------------------------------------------------------------
A new golem named sesame was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dummy58b01e9627c\sesame .
To continue working on your app, start editing the 01_start.R file.
-- Checking package name -------------------------------------------------------
v Valid package name
-- Creating dir ----------------------------------------------------------------
v Created package directory
-- Copying package skeleton ----------------------------------------------------
v Copied app skeleton
-- Running project hook function -----------------------------------------------
v All set
-- Initializing git repository -------------------------------------------------
v Initialized git repository
-- Done ------------------------------------------------------------------------
A new golem named gigit was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dummy58b01e9627c\gigit .
To continue working on your app, start editing the 01_start.R file.
-- Checking package name -------------------------------------------------------
v Valid package name
-- Creating dir ----------------------------------------------------------------
v Created package directory
-- Copying package skeleton ----------------------------------------------------
v Copied app skeleton
-- Running project hook function -----------------------------------------------
v All set
-- Initializing git repository -------------------------------------------------
v Initialized git repository
-- Done ------------------------------------------------------------------------
A new golem named gigitgui was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dummy58b01e9627c\gigitgui .
To continue working on your app, start editing the 01_start.R file.
-- Checking package name -------------------------------------------------------
v Valid package name
-- Creating dir ----------------------------------------------------------------
v Created package directory
-- Copying package skeleton ----------------------------------------------------
v Copied app skeleton
-- Running project hook function -----------------------------------------------
v All set
-- Done ------------------------------------------------------------------------
A new golem named withooutcomments was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dummy58b01e9627c\withooutcomments .
To continue working on your app, start editing the 01_start.R file.
-- Checking package name -------------------------------------------------------
v Valid package name
-- Creating dir ----------------------------------------------------------------
v Created package directory
-- Copying package skeleton ----------------------------------------------------
v Copied app skeleton
-- Running project hook function -----------------------------------------------
v All set
-- Done ------------------------------------------------------------------------
A new golem named withooutcommentsgui was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dummy58b01e9627c\withooutcommentsgui .
To continue working on your app, start editing the 01_start.R file.
-- Checking package name -------------------------------------------------------
-- Checking package name -------------------------------------------------------
-- Creating dir ----------------------------------------------------------------
v Created package directory
-- Copying package skeleton ----------------------------------------------------
v Copied app skeleton
-- Running project hook function -----------------------------------------------
v All set
-- Done ------------------------------------------------------------------------
A new golem named 2cou_cou was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dummy58b01e9627c\2cou_cou .
To continue working on your app, start editing the 01_start.R file.
-- Creating dir ----------------------------------------------------------------
v Created package directory
-- Copying package skeleton ----------------------------------------------------
v Copied app skeleton
-- Running project hook function -----------------------------------------------
v All set
-- Done ------------------------------------------------------------------------
A new golem named 2cou_cou was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dummy58b01e9627c\2cou_cou .
To continue working on your app, start editing the 01_start.R file.
-- Checking package name -------------------------------------------------------
v Valid package name
-- Creating dir ----------------------------------------------------------------
v Created package directory
-- Copying package skeleton ----------------------------------------------------
v Copied app skeleton
-- Running project hook function -----------------------------------------------
v All set
-- Done ------------------------------------------------------------------------
A new golem named examplehook was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dummy58b01e9627c\examplehook .
To continue working on your app, start editing the 01_start.R file.
-- Checking package name -------------------------------------------------------
v Valid package name
-- Creating dir ----------------------------------------------------------------
v Created package directory
-- Copying package skeleton ----------------------------------------------------
v Copied app skeleton
-- Running project hook function -----------------------------------------------
v All set
-- Done ------------------------------------------------------------------------
A new golem named examplehookgui was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dummy58b01e9627c\examplehookgui .
To continue working on your app, start editing the 01_start.R file.
v favicon.ico created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/favicon.ico
Favicon is automatically linked in app_ui via `golem_add_external_resources()`
v Removing favicon at inst/app/www/favicon.ico
* No file found at inst/app/www/favicon.ico
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2734  100  2734    0     0  39042      0 --:--:-- --:--:-- --:--:-- 40205
v favicon.ico created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/inst/app/www/favicon.ico
Favicon is automatically linked in app_ui via `golem_add_external_resources()`
v Removing favicon at inst/app/www/favicon.ico
[1] "test"
[1] "test"
[1] "test"
[1] "test"
v File created at R/mod_mod1.R
* Go to R/mod_mod1.R
v File created at R/mod_mod2.R
* Go to R/mod_mod2.R
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/tests/testthat/test-mod_mod1.R
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/tests/testthat/test-mod_mod1.R
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/tests/testthat/test-mod_mod2.R
* Go to C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/tests/testthat/test-mod_mod2.R
Updating dzhjbdybbw20220811212902 documentation
Setting `RoxygenNote` to "7.2.1"
i Loading dzhjbdybbw20220811212902
Writing 'NAMESPACE'
Writing 'NAMESPACE'
Writing 'run_app.Rd'
[-] 1 package(s) removed: pkgload.
All required packages are installed
v create renv.lock at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8/working_dir\RtmpOQV6dY/deploy53312/renv.lock.prod
The following package(s) will be updated in the lockfile:

# CRAN ===============================
- R6            [* -> 2.5.1]
- Rcpp          [* -> 1.0.9]
- askpass       [* -> 1.1]
- attempt       [* -> 0.3.1]
- base64enc     [* -> 0.1-3]
- brio          [* -> 1.1.3]
- bslib         [* -> 0.4.0]
- cachem        [* -> 1.0.6]
- callr         [* -> 3.7.1]
- cli           [* -> 3.3.0]
- clipr         [* -> 0.8.0]
- commonmark    [* -> 1.8.0]
- config        [* -> 0.3.1]
- crayon        [* -> 1.5.1]
- credentials   [* -> 1.3.2]
- curl          [* -> 4.3.2]
- desc          [* -> 1.4.1]
- diffobj       [* -> 0.3.5]
- digest        [* -> 0.6.29]
- ellipsis      [* -> 0.3.2]
- evaluate      [* -> 0.16]
- fansi         [* -> 1.0.3]
- fastmap       [* -> 1.1.0]
- fontawesome   [* -> 0.3.0]
- fs            [* -> 1.5.2]
- gert          [* -> 1.7.0]
- gh            [* -> 1.3.0]
- gitcreds      [* -> 0.1.1]
- glue          [* -> 1.6.2]
- golem         [* -> 0.3.3.9000]
- here          [* -> 1.0.1]
- htmltools     [* -> 0.5.3]
- httpuv        [* -> 1.6.5]
- httr          [* -> 1.4.3]
- ini           [* -> 0.3.1]
- jquerylib     [* -> 0.1.4]
- jsonlite      [* -> 1.8.0]
- later         [* -> 1.3.0]
- lifecycle     [* -> 1.0.1]
- magrittr      [* -> 2.0.3]
- memoise       [* -> 2.0.1]
- mime          [* -> 0.12]
- openssl       [* -> 2.0.2]
- pillar        [* -> 1.8.0]
- pkgconfig     [* -> 2.0.3]
- pkgload       [* -> 1.3.0]
- praise        [* -> 1.0.0]
- processx      [* -> 3.7.0]
- promises      [* -> 1.2.0.1]
- ps            [* -> 1.7.1]
- purrr         [* -> 0.3.4]
- rappdirs      [* -> 0.3.3]
- rematch2      [* -> 2.1.2]
- remotes       [* -> 2.4.2]
- rlang         [* -> 1.0.4]
- rprojroot     [* -> 2.0.3]
- rstudioapi    [* -> 0.13]
- sass          [* -> 0.4.2]
- shiny         [* -> 1.7.2]
- sourcetools   [* -> 0.1.7]
- sys           [* -> 3.4]
- testthat      [* -> 3.1.4]
- tibble        [* -> 3.1.8]
- usethis       [* -> 2.1.6]
- utf8          [* -> 1.2.2]
- vctrs         [* -> 0.4.1]
- waldo         [* -> 0.4.0]
- whisker       [* -> 0.4]
- withr         [* -> 2.5.0]
- xtable        [* -> 1.8-4]
- yaml          [* -> 2.3.5]
- zip           [* -> 2.2.0]

* Lockfile written to 'C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/deploy53312/renv.lock.prod'.
i Please wait while we compute system requirements...
Fetching system dependencies for 72 package records.
v Done
* checking for file 'C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dzhjbdybbw20220811212902/DESCRIPTION' ... OK
* preparing 'dzhjbdybbw20220811212902':
* checking DESCRIPTION meta-information ... OK
* excluding invalid files
Subdirectory 'R' contains invalid file names:
  '_disable_autoload.R'
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
Omitted 'LazyData' from DESCRIPTION
* building 'dzhjbdybbw20220811212902_0.0.0.9000.tar.gz'

v  C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8/working_dir\RtmpOQV6dY/deploy53312/dzhjbdybbw20220811212902_0.0.0.9000.tar.gz created.
* Go to C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8/working_dir\RtmpOQV6dY/deploy53312/README
Updating dzhjbdybbw20220811212902 documentation
i Loading dzhjbdybbw20220811212902
Writing 'NAMESPACE'
Writing 'NAMESPACE'
All required packages are installed
v create renv.lock at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8/working_dir\RtmpOQV6dY/deploy5528/renv.lock.prod
The following package(s) will be updated in the lockfile:

# CRAN ===============================
- R6            [* -> 2.5.1]
- Rcpp          [* -> 1.0.9]
- askpass       [* -> 1.1]
- attempt       [* -> 0.3.1]
- base64enc     [* -> 0.1-3]
- brio          [* -> 1.1.3]
- bslib         [* -> 0.4.0]
- cachem        [* -> 1.0.6]
- callr         [* -> 3.7.1]
- cli           [* -> 3.3.0]
- clipr         [* -> 0.8.0]
- commonmark    [* -> 1.8.0]
- config        [* -> 0.3.1]
- crayon        [* -> 1.5.1]
- credentials   [* -> 1.3.2]
- curl          [* -> 4.3.2]
- desc          [* -> 1.4.1]
- diffobj       [* -> 0.3.5]
- digest        [* -> 0.6.29]
- ellipsis      [* -> 0.3.2]
- evaluate      [* -> 0.16]
- fansi         [* -> 1.0.3]
- fastmap       [* -> 1.1.0]
- fontawesome   [* -> 0.3.0]
- fs            [* -> 1.5.2]
- gert          [* -> 1.7.0]
- gh            [* -> 1.3.0]
- gitcreds      [* -> 0.1.1]
- glue          [* -> 1.6.2]
- golem         [* -> 0.3.3.9000]
- here          [* -> 1.0.1]
- htmltools     [* -> 0.5.3]
- httpuv        [* -> 1.6.5]
- httr          [* -> 1.4.3]
- ini           [* -> 0.3.1]
- jquerylib     [* -> 0.1.4]
- jsonlite      [* -> 1.8.0]
- later         [* -> 1.3.0]
- lifecycle     [* -> 1.0.1]
- magrittr      [* -> 2.0.3]
- memoise       [* -> 2.0.1]
- mime          [* -> 0.12]
- openssl       [* -> 2.0.2]
- pillar        [* -> 1.8.0]
- pkgconfig     [* -> 2.0.3]
- pkgload       [* -> 1.3.0]
- praise        [* -> 1.0.0]
- processx      [* -> 3.7.0]
- promises      [* -> 1.2.0.1]
- ps            [* -> 1.7.1]
- purrr         [* -> 0.3.4]
- rappdirs      [* -> 0.3.3]
- rematch2      [* -> 2.1.2]
- remotes       [* -> 2.4.2]
- rlang         [* -> 1.0.4]
- rprojroot     [* -> 2.0.3]
- rstudioapi    [* -> 0.13]
- sass          [* -> 0.4.2]
- shiny         [* -> 1.7.2]
- sourcetools   [* -> 0.1.7]
- sys           [* -> 3.4]
- testthat      [* -> 3.1.4]
- tibble        [* -> 3.1.8]
- usethis       [* -> 2.1.6]
- utf8          [* -> 1.2.2]
- vctrs         [* -> 0.4.1]
- waldo         [* -> 0.4.0]
- whisker       [* -> 0.4]
- withr         [* -> 2.5.0]
- xtable        [* -> 1.8-4]
- yaml          [* -> 2.3.5]
- zip           [* -> 2.2.0]

* Lockfile written to 'C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/deploy5528/renv.lock.prod'.
i Please wait while we compute system requirements...
Fetching system dependencies for 72 package records.
v Done
* checking for file 'C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dzhjbdybbw20220811212902/DESCRIPTION' ... OK
* preparing 'dzhjbdybbw20220811212902':
* checking DESCRIPTION meta-information ... OK
* excluding invalid files
Subdirectory 'R' contains invalid file names:
  '_disable_autoload.R'
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
Omitted 'LazyData' from DESCRIPTION
* building 'dzhjbdybbw20220811212902_0.0.0.9000.tar.gz'

v  C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8/working_dir\RtmpOQV6dY/deploy5528/dzhjbdybbw20220811212902_0.0.0.9000.tar.gz created.
* Go to C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8/working_dir\RtmpOQV6dY/deploy5528/README
Updating dzhjbdybbw20220811212902 documentation
i Loading dzhjbdybbw20220811212902
Writing 'NAMESPACE'
Writing 'NAMESPACE'
All required packages are installed
v create renv.lock at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8/working_dir\RtmpOQV6dY/deploy12352/renv.lock.prod
The following package(s) will be updated in the lockfile:

# CRAN ===============================
- R6            [* -> 2.5.1]
- Rcpp          [* -> 1.0.9]
- askpass       [* -> 1.1]
- attempt       [* -> 0.3.1]
- base64enc     [* -> 0.1-3]
- brio          [* -> 1.1.3]
- bslib         [* -> 0.4.0]
- cachem        [* -> 1.0.6]
- callr         [* -> 3.7.1]
- cli           [* -> 3.3.0]
- clipr         [* -> 0.8.0]
- commonmark    [* -> 1.8.0]
- config        [* -> 0.3.1]
- crayon        [* -> 1.5.1]
- credentials   [* -> 1.3.2]
- curl          [* -> 4.3.2]
- desc          [* -> 1.4.1]
- diffobj       [* -> 0.3.5]
- digest        [* -> 0.6.29]
- ellipsis      [* -> 0.3.2]
- evaluate      [* -> 0.16]
- fansi         [* -> 1.0.3]
- fastmap       [* -> 1.1.0]
- fontawesome   [* -> 0.3.0]
- fs            [* -> 1.5.2]
- gert          [* -> 1.7.0]
- gh            [* -> 1.3.0]
- gitcreds      [* -> 0.1.1]
- glue          [* -> 1.6.2]
- golem         [* -> 0.3.3.9000]
- here          [* -> 1.0.1]
- htmltools     [* -> 0.5.3]
- httpuv        [* -> 1.6.5]
- httr          [* -> 1.4.3]
- ini           [* -> 0.3.1]
- jquerylib     [* -> 0.1.4]
- jsonlite      [* -> 1.8.0]
- later         [* -> 1.3.0]
- lifecycle     [* -> 1.0.1]
- magrittr      [* -> 2.0.3]
- memoise       [* -> 2.0.1]
- mime          [* -> 0.12]
- openssl       [* -> 2.0.2]
- pillar        [* -> 1.8.0]
- pkgconfig     [* -> 2.0.3]
- pkgload       [* -> 1.3.0]
- praise        [* -> 1.0.0]
- processx      [* -> 3.7.0]
- promises      [* -> 1.2.0.1]
- ps            [* -> 1.7.1]
- purrr         [* -> 0.3.4]
- rappdirs      [* -> 0.3.3]
- rematch2      [* -> 2.1.2]
- remotes       [* -> 2.4.2]
- rlang         [* -> 1.0.4]
- rprojroot     [* -> 2.0.3]
- rstudioapi    [* -> 0.13]
- sass          [* -> 0.4.2]
- shiny         [* -> 1.7.2]
- sourcetools   [* -> 0.1.7]
- sys           [* -> 3.4]
- testthat      [* -> 3.1.4]
- tibble        [* -> 3.1.8]
- usethis       [* -> 2.1.6]
- utf8          [* -> 1.2.2]
- vctrs         [* -> 0.4.1]
- waldo         [* -> 0.4.0]
- whisker       [* -> 0.4]
- withr         [* -> 2.5.0]
- xtable        [* -> 1.8-4]
- yaml          [* -> 2.3.5]
- zip           [* -> 2.2.0]

* Lockfile written to 'C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/deploy12352/renv.lock.prod'.
i Please wait while we compute system requirements...
Fetching system dependencies for 72 package records.
v Done
* checking for file 'C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\dzhjbdybbw20220811212902/DESCRIPTION' ... OK
* preparing 'dzhjbdybbw20220811212902':
* checking DESCRIPTION meta-information ... OK
* excluding invalid files
Subdirectory 'R' contains invalid file names:
  '_disable_autoload.R'
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
Omitted 'LazyData' from DESCRIPTION
* building 'dzhjbdybbw20220811212902_0.0.0.9000.tar.gz'

v  C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8/working_dir\RtmpOQV6dY/deploy12352/dzhjbdybbw20220811212902_0.0.0.9000.tar.gz created.
* Go to C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8/working_dir\RtmpOQV6dY/deploy12352/README
* Go to C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8/working_dir\RtmpOQV6dY/deploy12352/README
Loading required namespace: DT
Failed with error:  'there is no package called 'DT''
v Dependencies added
v Tests added
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/R/golem_utils_ui.R
v Utils UI added
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/R/golem_utils_ui.R
v Utils UI added
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/tests/testthat/test-golem_utils_ui.R
v Tests on utils_server added
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/R/golem_utils_server.R
v Utils server added
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/R/golem_utils_server.R
v Utils server added
v File created at C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902/tests/testthat/test-golem_utils_server.R
v Tests on utils_server added
── Checking package name ───────────────────────────────────────────────────────
✔ Valid package name
── Creating dir ────────────────────────────────────────────────────────────────
✔ Created package directory
── Copying package skeleton ────────────────────────────────────────────────────
✔ Copied app skeleton
── Running project hook function ───────────────────────────────────────────────
✔ All set
── Done ────────────────────────────────────────────────────────────────────────
A new golem named nlyuttkley was created at C:\Users\Daniel\AppData\Local\Temp\RtmpUDimA8\working_dir\RtmpOQV6dY\nlyuttkley .
To continue working on your app, start editing the 01_start.R file.
Setting `RoxygenNote` to "7.2.1"
i Loading nlyuttkley
Writing 'NAMESPACE'
Writing 'run_app.Rd'
i Loading nlyuttkley
Error in enc2utf8(path) : argument is not a character vector
[ FAIL 3 | WARN 0 | SKIP 1 | PASS 271 ]

══ Skipped tests ═══════════════════════════════════════════════════════════════
• On Windows (1)

══ Failed tests ════════════════════════════════════════════════════════════════
── Failure (test-config.R:2:3): config works ───────────────────────────────────
tail(readLines("inst/golem-config.yml"), 1) (`actual`) not equal to "  golem_wd: !expr golem::pkg_path()" (`expected`).

actual vs expected
- "  golem_wd: C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902"
+ "  golem_wd: !expr golem::pkg_path()"
Backtrace:
    ▆
 1. ├─withr::with_dir(...) at test-config.R:2:2
 2. │ └─base::force(code)
 3. └─testthat::expect_equal(...) at test-config.R:6:4
── Failure (test-config.R:2:3): config works ───────────────────────────────────
tail(readLines("inst/golem-config.yml"), 1) (`actual`) not equal to "  golem_wd: !expr golem::pkg_path()" (`expected`).

actual vs expected
- "  golem_wd: C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902"
+ "  golem_wd: !expr golem::pkg_path()"
Backtrace:
    ▆
 1. ├─withr::with_dir(...) at test-config.R:2:2
 2. │ └─base::force(code)
 3. └─testthat::expect_equal(...) at test-config.R:31:4
── Failure (test-config.R:2:3): config works ───────────────────────────────────
tail(readLines("inst/golem-config.yml"), 1) (`actual`) not equal to "  golem_wd: !expr golem::pkg_path()" (`expected`).

actual vs expected
- "  golem_wd: C:/Users/Daniel/AppData/Local/Temp/RtmpUDimA8/working_dir/RtmpOQV6dY/dzhjbdybbw20220811212902"
+ "  golem_wd: !expr golem::pkg_path()"
Backtrace:
    ▆
 1. ├─withr::with_dir(...) at test-config.R:2:2
 2. │ └─base::force(code)
 3. └─testthat::expect_equal(...) at test-config.R:73:4

[ FAIL 3 | WARN 0 | SKIP 1 | PASS 271 ]
Error: Test failures
Execution halted

1 error ✖ | 0 warnings ✔ | 0 notes ✔
Error: R CMD check found ERRORs
Execution halted

Exited with status 1.


dpprdan avatar Aug 11 '22 19:08 dpprdan

Thank you @dpprdan !!

So there is a windows specific issue here, thanks a lot for your help!

ColinFay avatar Aug 11 '22 19:08 ColinFay

FWIW these are the test failures I see with devtools::test():

⠼ | 2       3 | config                                                  v Setting `golem_name` to plop
v Setting `golem_name` to oytayjktkx20220812091150
v Setting `golem_version` to 0.0.0.9001
⠏ | 2       8 | config                                                  v Setting `golem_version` to 0.0.0.9000
v Setting `golem_wd` to C:/Users/Daniel/AppData/Local/Temp/Rtmp0erN3n/oytayjktkx20220812091150/inst
v Setting `golem_wd` to here::here()
✖ | 3       9 | config [0.6s]                                           
────────────────────────────────────────────────────────────────────────
Failure (test-config.R:2:3): config works
tail(readLines("inst/golem-config.yml"), 1) (`actual`) not equal to "  golem_wd: !expr golem::pkg_path()" (`expected`).

`actual`:   "  golem_wd: !expr here::here()"     
`expected`: "  golem_wd: !expr golem::pkg_path()"
Backtrace:
 1. withr::with_dir(...)
      at test-config.R:2:2
 3. testthat::expect_equal(...)
      at test-config.R:6:4

Failure (test-config.R:2:3): config works
tail(readLines("inst/golem-config.yml"), 1) (`actual`) not equal to "  golem_wd: !expr golem::pkg_path()" (`expected`).

`actual`:   "  golem_wd: !expr here::here()"     
`expected`: "  golem_wd: !expr golem::pkg_path()"
Backtrace:
 1. withr::with_dir(...)
      at test-config.R:2:2
 3. testthat::expect_equal(...)
      at test-config.R:31:4

Failure (test-config.R:2:3): config works
tail(readLines("inst/golem-config.yml"), 1) (`actual`) not equal to "  golem_wd: !expr golem::pkg_path()" (`expected`).

`actual`:   "  golem_wd: !expr here::here()"     
`expected`: "  golem_wd: !expr golem::pkg_path()"
Backtrace:
 1. withr::with_dir(...)
      at test-config.R:2:2
 3. testthat::expect_equal(...)
      at test-config.R:73:4

And I got an additional test failure here.

✖ | 1       1 | pkg_tools                                               
────────────────────────────────────────────────────────────────────────
Error (test-pkg_tools.R:2:3): pkgtools works
Error in `pkg_version()`: could not find function "pkg_version"
Backtrace:
 1. withr::with_dir(...)
      at test-pkg_tools.R:2:2
 3. testthat::expect_equal(pkg_version(), "0.0.0.9000")
      at test-pkg_tools.R:4:4
 4. testthat::quasi_label(enquo(object), label, arg = "object")
 5. rlang::eval_bare(expr, quo_get_env(quo))

dpprdan avatar Aug 12 '22 07:08 dpprdan

colin@colin golem % cd /tmp
colin@colin /tmp % Rscript -e "golem::create_golem('plop')"
── [.Rprofile] Sourcing user-wide rprofile ─────────────────────
── Checking package name ─────────────────
✔ Valid package name
── Creating dir ───────────────────────
✔ Creating 'plop/'
✔ Setting active project to '/private/tmp/plop'
✔ Creating 'R/'
✔ Writing a sentinel file '.here'
• Build robust paths within your project via `here::here()`
• Learn more at <https://here.r-lib.org>
✔ Setting active project to '<no active project>'
✔ Created package directory
── Copying package skeleton ──────────────
✔ Copied app skeleton
── Running project hook function ────────────
✔ All set
✔ Setting active project to '/private/tmp/plop'
── Done ────────────────────────
A new golem named plop was created at plop .
To continue working on your app, start editing the 01_start.R file.
colin@colin /tmp % cd plop/
colin@colin plop % Rscript -e "golem::set_golem_name('xyz')" 
✔ Setting `golem_name` to xyz
colin@colin plop % cat inst/golem-config.yml
default:
  golem_name: xyz
  golem_version: 0.0.0.9000
  app_prod: no
production:
  app_prod: yes
dev:
  golem_wd: !expr golem::pkg_path()

ColinFay avatar Aug 18 '22 14:08 ColinFay