On 04/10/2015 10:10 AM, Jonathan Greenberg wrote: > Folks: > > I am getting a build failure when I: > #' @importFrom utils shortPathName > > which roxygenizes it to the NAMESPACE. > > I suspect this is because this particular function is Windows-only, but I'm > a bit confused how I should "properly" importFrom a function like this so > it doesn't cause a build failure, but I don't get a note in my R CMD CHECK > if I DON'T have it: > > gdal_setInstallation : correctPath: no visible global function > definition for 'shortPathName' > gdalinfo: no visible global function definition for 'glob2rx' > gdallocationinfo: no visible global function definition for > 'write.table' > gdaltransform: no visible global function definition for 'write.table' > get_subdatasets: no visible global function definition for 'glob2rx' > mosaic_rasters: no visible global function definition for 'write.table' > Undefined global functions or variables: > glob2rx shortPathName write.table > Consider adding > importFrom("utils", "glob2rx", "shortPathName", "write.table") > to your NAMESPACE. > > I'll note my function actually first checks to see what OS is running, and > doesn't use this function on non-Windows machines, so having this function > does not cause any actual errors: > > ... > > if (.Platform$OS.type=="windows") > > { > > x <- shortPathName(x) > > } else > > { > > x <- path.expand(x) > > } > > > ... > > Is there a way to do a conditional importFrom based on the OS? Or can I > safely ignore this (I'm trying to submit to CRAN). >
Yes, you can put conditionals into the NAMESPACE file. Apparently roxygen2 doesn't support this feature, so you'll have to do it by hand. Duncan Murdoch ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel