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

golem::amend_config() do no keep !expr #709

Closed
ColinFay opened this issue Jul 27, 2021 · 13 comments
Closed

golem::amend_config() do no keep !expr #709

ColinFay opened this issue Jul 27, 2021 · 13 comments

Comments

@ColinFay
Copy link
Member

ColinFay commented Jul 27, 2021

> 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
@teofiln
Copy link
Contributor

teofiln commented Oct 1, 2021

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()

@ColinFay
Copy link
Member Author

ColinFay commented Oct 1, 2021

@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 :)

@teofiln
Copy link
Contributor

teofiln commented Oct 1, 2021

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()

@ColinFay
Copy link
Member Author

ColinFay commented Oct 4, 2021

Woaw thanks @teofiln that's awesome.

Would you be willing to make a PR?

Thanks a lot,
Colin

@teofiln
Copy link
Contributor

teofiln commented Oct 6, 2021

PR incoming: #752

@ColinFay ColinFay closed this as completed Oct 8, 2021
@VincentGuyader
Copy link
Member

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

@ColinFay
Copy link
Member Author

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
Copy link
Member Author

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
Copy link
Member Author

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 added a commit that referenced this issue Jul 2, 2022
All config manipulation now go through amend_golem_config.
This allows to be sure that the !expr are not lost

Close #709
ColinFay added a commit that referenced this issue Aug 9, 2022
All config manipulation now go through amend_golem_config.
This allows to be sure that the !expr are not lost

Close #709
@dpprdan
Copy link

dpprdan commented Aug 11, 2022

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

==> devtools::check()

══ Documenting ═════════════════════════════════════════════════════════
ℹ Updating golem documentationLoading golem

══ Building ════════════════════════════════════════════════════════════
Setting env vars:CFLAGS    : -Wall -pedantic -fdiagnostics-color=alwaysCXXFLAGS  : -Wall -pedantic -fdiagnostics-color=alwaysCXX11FLAGS: -Wall -pedantic -fdiagnostics-color=alwaysCXX14FLAGS: -Wall -pedantic -fdiagnostics-color=alwaysCXX17FLAGS: -Wall -pedantic -fdiagnostics-color=alwaysCXX20FLAGS: -Wall -pedantic -fdiagnostics-color=alwayschecking 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 directoriesbuilding '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_      : FALSENOT_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-8using options '--no-manual --as-cran' (2.1s)
✔  checking for file 'golem/DESCRIPTION' ...this is package 'golem' version '0.3.3.9000'package encoding: UTF-8checking package namespace information ...checking package dependencies (4.2s)
✔  checking if this is a source package ...checking if there is a namespacechecking 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:221Running '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 haltedchecking 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 directorychecking 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.6schecking 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 dzhjbdybbw20220811212902Setting `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.9000Setting `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 notesError: R CMD check found ERRORs
Execution halted

Exited with status 1.

@ColinFay
Copy link
Member Author

Thank you @dpprdan !!

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

@dpprdan
Copy link

dpprdan commented Aug 12, 2022

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))

@VincentGuyader VincentGuyader mentioned this issue Aug 17, 2022
ColinFay added a commit that referenced this issue Aug 18, 2022
All config manipulation now go through amend_golem_config.
This allows to be sure that the !expr are not lost

Close #709
@ColinFay
Copy link
Member Author

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()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants