[R-pkg-devel] CRAN submission struggle

Christiaan Pieterse p|et|e@cjp@1908 @end|ng |rom gm@||@com
Sun Dec 17 20:48:51 CET 2023


Hi Ivan

I have decided to clean up the existing package using a branch, as you
suggested. The branch I've created is available at:
https://github.com/WoutersResearchGroup/R-IO-PS/tree/CRAN-prep.

I've cleaned, built and checked this branch package but I get one error and
2 notes (one is the new submission note).
The error is related to the example I'm running. I suspect it might be due
to the way I am trying to import the ExampleTradeData. Here is the error
and note:

* checking examples ... ERROR
Running examples in ‘iopspackage-Ex.R’ failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: IOPS
> ### Title: IOPS
> ### Aliases: IOPS
>
> ### ** Examples
>
> # Load the example data
> ExampleTradeData <-
read.csv(system.file("extdata","ExampleTradeData.csv",package="iopspackage"))
>
> # Create a temporary directory
> temp_dir <- tempfile()
> dir.create(temp_dir)
>
> # Set the working directory to the temporary directory
> old_dir <- setwd(temp_dir)
>
> # Then use it in your function
> IOPS(
+   CountryCode = 710,
+   tradeData = ExampleTradeData,
+   ComplexMethod = "reflections",
+   iterCompl = 5,
+   GVCMapping = NULL,
+   tradedigit = 6
+ )
Selected country: ZAF
Export data 6-digit summation complete
Trade data successfully imported
M-matrices calculated
RCA calculated
Starting calculation of complexity measures using the 'reflections' method
Warning in complexity_measures(Mbin, method = "reflections", iterations =
iterCompl) :
  'iterations' was changed to 'iterations + 1' to work with an even number
of iterations
Killed

* checking HTML version of manual ... NOTE
Skipping checking HTML validation: no command 'tidy' found

Note that I also updated the iopspackage2.0.R as you suggested, and I did
re-run roxygen before building and checking (using roxygen2::roxygenize()).
All the updated folders are in the "CRAN-prep" branch (link provided above).

Regards
Christiaan

On Sun, 17 Dec 2023 at 16:06, Ivan Krylov <krylov.r00t using gmail.com> wrote:

> On Sun, 17 Dec 2023 15:29:34 +0200
> Christiaan Pieterse <pietie.cjp.1908 using gmail.com> wrote:
>
> > But, I've uploaded the newly created package as discussed in my first
> > email, available at:
> > https://github.com/ChristiaanPieterse/iopspackage2.1.0
>
> Are you sure it wouldn't be better to clean up the existing package
> instead of creating unrelated forks? If you're afraid of breaking
> something that works, do the work on a separate branch
> <https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell>
> until it both works as well as your current repo currently does *and*
> passes R CMD check --as-cran.
>
> > * checking CRAN incoming feasibility ... [25s] NOTE
> > Maintainer: 'C.J Pieterse <pietie.cjp.1908 using gmail.com>'
> > New submission
>
> "New submission" is to be expected.
>
> > Unknown, possibly misspelled, fields in DESCRIPTION:
> >   'Exports'
>
> "Writing R Extensions" doesn't define a field named "Exports". The
> exports are declared in the NAMESPACE file. Since you're using
> roxygen2, use its @export tag to export your functions and remove the
> Exports: field.
>
> > * checking whether package 'iopspackage' can be installed ... [27s]
> > WARNING Found the following significant warnings:
> >   Warning: package 'Rcpp' was built under R version 4.3.2
>
> This is probably not a problem with your package (but may be a problem
> with the way the machine running R CMD check is set up).
>
> > * checking dependencies in R code ... NOTE
> > Namespaces in Imports field not imported from:
> >   'openxlsx' 'roxygen2' 'tibble'
> >   All declared Imports should be used.
>
> > * checking R code for possible problems ... [12s] NOTE
> > IOPS: no visible global function definition for 'createWorkbook'
> > IOPS: no visible global function definition for 'addWorksheet'
> > IOPS: no visible global function definition for 'writeData'
> > IOPS: no visible global function definition for 'saveWorkbook'
> > Undefined global functions or variables:
> >   addWorksheet createWorkbook saveWorkbook writeData
>
> Are you sure you should be importing roxygen2? You only run
> roxygenise() before running R CMD build in order to generate
> man/*.Rd and NAMESPACE; I don't think it's used after that.
>
> If you don't use functions from tibble, there's no need to import it
> or depend on it either. I also don't see you directly using Rcpp, but
> there's no warning about it for some reason.
>
> Use the @importFrom tags to import individual functions that you
> actually use (i.e. createWorkbook and friends). See
> <https://cran.r-project.org/doc/manuals/R-exts.html#Package-namespaces>
> for more information on importing.
>
> Also, remove all library() calls from R/iopspackage2.R. Packages live
> in namespaces, not in the global environment; your package should rely
> upon the dependency information in DESCRIPTION and NAMESPACE (the
> latter generated by roxygen2) for its dependencies.
>
> > > data(ExampleTradeData)
> > Warning in data(ExampleTradeData) :
> >   data set 'ExampleTradeData' not found
>
> There's no 'data' directory and no file named ExampleTradeData.* in it.
> Data for use by the function data() should be prepared as described in
> <https://cran.r-project.org/doc/manuals/R-exts.html#Data-in-packages>.
> If you want to use files under inst/extdata, you have to read them
> manually:
>
> ETD <- read.csv(system.file(
>  file.path('extdata','ExampleTradeData.csv'),
>  package = 'iopspackage'
> ))
>
> > * checking for detritus in the temp directory ... NOTE
> > Found the following files/directories:
> >   'lastMiKTeXException'
>
> Is this on R-hub? This usually happens on R-hub and doesn't indicate a
> problem with your package.
>
> > #' temp_dir <- tempdir()
> > #'
> > #' # Set the working directory to a temporary directory
> > #' setwd(temp_dir)
> <...>
> > #' # Clean up the temporary directory
> > #' unlink(temp_dir, recursive = TRUE)
>
> Please make it a subdirectory of the session temporary directory:
>
> temp_dir <- tempfile()
> dir.create(temp_dir)
> ...
>
> Removing the session temporary directory is not as bad as directly
> overwriting user data (it's all going away after the process is shut
> down), but quite a lot of parts of R and other packages rely on
> tempdir() being a directory that exists, not to mention that there
> could be other temporary files in use by other packages.
>
> --
> Best regards,
> Ivan
>

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list