jonkeane commented on a change in pull request #11705:
URL: https://github.com/apache/arrow/pull/11705#discussion_r752514766



##########
File path: r/vignettes/developers/setup.Rmd
##########
@@ -0,0 +1,410 @@
+# Developer environment setup
+
+```{r setup-options, include=FALSE}
+knitr::opts_chunk$set(error = TRUE, eval = FALSE)
+# Get environment variables describing what to evaluate
+run <- tolower(Sys.getenv("RUN_DEVDOCS", "false")) == "true"
+macos <- tolower(Sys.getenv("DEVDOCS_MACOS", "false")) == "true"
+ubuntu <- tolower(Sys.getenv("DEVDOCS_UBUNTU", "false")) == "true"
+sys_install <- tolower(Sys.getenv("DEVDOCS_SYSTEM_INSTALL", "false")) == "true"
+# Update the source knit_hook to save the chunk (if it is marked to be saved)
+knit_hooks_source <- knitr::knit_hooks$get("source")
+knitr::knit_hooks$set(source = function(x, options) {
+  # Extra paranoia about when this will write the chunks to the script, we will
+  # only save when:
+  #   * CI is true
+  #   * RUN_DEVDOCS is true
+  #   * options$save is TRUE (and a check that not NULL won't crash it)
+  if (as.logical(Sys.getenv("CI", FALSE)) && run && !is.null(options$save) && 
options$save)
+    cat(x, file = "script.sh", append = TRUE, sep = "\n")
+  # but hide the blocks we want hidden:
+  if (!is.null(options$hide) && options$hide) {
+    return(NULL)
+  }
+  knit_hooks_source(x, options)
+})
+```
+
+```{bash, save=run, hide=TRUE}
+# Stop on failure, echo input as we go
+set -e
+set -x
+```
+
+This document is intended only for **developers** of Apache Arrow or 
+the Arrow R package. R package users do not need to do any of this setup. 
+If you're looking for how to install Arrow, see 
+[the instructions in the 
readme](https://arrow.apache.org/docs/r/#installation).
+
+This document is a work in progress and will grow and change as the Apache 
Arrow
+project grows and changes. We have tried to make these steps as robust as 
+possible (in fact, we even test exactly these instructions on our nightly CI 
to 
+ensure they don't become stale!), but custom configurations might conflict 
with 
+these instructions and there are differences of opinion across developers 
about 
+how to set up development environments like this.
+
+We welcome any feedback you have about things that are confusing or additions 
+you would like to see here - please 
+[report an issue](https://issues.apache.org/jira/projects/ARROW/issues) if you 
+have any suggestions or requests.
+
+
+## R-only {.tabset}
+
+Windows and macOS users who wish to contribute to the R package and
+don't need to alter libarrow (Arrow's C++ library) may be able to obtain a
+recent version of the library without building from source.

Review comment:
       While we're in here, could we fold in the spirit of 
https://issues.apache.org/jira/browse/ARROW-14371?
   
   Specifically:
   
   * A note that the brew-based method and the build-your-own methods are 
incompatible (mostly because of ARROW_HOME, but folks using brew shouldn't need 
to even think about that, so we should be careful how we phrase this)
   * A note about confirming that brew install apache-arrow --HEAD completes 
successfully and how to confirm it's being picked up in the install process
   * This might be part of the point above, but a description of what the 
difference/meaning of the following are: *** Using Homebrew ${PKG_BREW_NAME}, 
*** Arrow C++ libraries found via pkg-config, any mention of autobrew. 
Specifically, if one is trying to use homebrew for development, only the first 
one is ok, if someone sees something else that means that something isn't quite 
right.
   
   If this is too much or you don't want to extend scope, that's totally fine!




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to