This is an automated email from the ASF dual-hosted git repository.
alenka pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new 6d815a4d96 ARROW-14280: [Doc] R package Architectural Overview (#14294)
6d815a4d96 is described below
commit 6d815a4d96aa63a732aa50e50242a99bea22c9c3
Author: Alenka Frim <[email protected]>
AuthorDate: Thu Oct 13 13:29:06 2022 +0200
ARROW-14280: [Doc] R package Architectural Overview (#14294)
This PR adds an architectural overview of the R package to the New
Contributor's Guide.
This work is co-authored by @thisisnic .

Lead-authored-by: Alenka Frim <[email protected]>
Co-authored-by: Alenka Frim <[email protected]>
Signed-off-by: Alenka Frim <[email protected]>
---
.../developers/guide/architectural_overview.rst | 30 +++++++++++++++++++--
.../developers/images/R_architectural_overview.png | Bin 0 -> 43885 bytes
r/vignettes/developing.Rmd | 1 +
3 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/docs/source/developers/guide/architectural_overview.rst
b/docs/source/developers/guide/architectural_overview.rst
index 53f08b172c..d8b1da0af7 100644
--- a/docs/source/developers/guide/architectural_overview.rst
+++ b/docs/source/developers/guide/architectural_overview.rst
@@ -39,5 +39,31 @@ For an Architectural Overview of Arrow's libraries please
refer to:
- :ref:`py_arch_overview`
-- R package Architectural Overview (in progress, see
- `issue ARROW-14280 <https://issues.apache.org/jira/browse/ARROW-14280>`_)
+- R package Architecture can be found on this page.
+
+
+R package Architectural Overview
+--------------------------------
+
+.. figure:: /developers/images/R_architectural_overview.png
+ :alt: Main parts of R package architecture: dplyr-*,
+ dplyr-funcs*, tools, tests and src/.
+
+* The ``r/R/dplyr-*`` files define the verbs used in a regular
+ dplyr syntax on Arrow objects.
+* The ``r/R/dplyr-funcs*`` files define bindings to Arrow C++
+ functions that can be used with already defined dplyr verbs.
+* All the C++ code connected to the R package lives in ``arrow/r/src``.
+ It also includes C++ code which connects libarrow (the Arrow C++
+ library) and the R code in package.
+* If the libarrow source package is bundled with R package using
+ ``make sync-cpp`` command then it will be included in the
+ ``r/tools/cpp`` folder.
+
+**Additionally**
+
+* The ``r/man`` directory includes generated R documentation that
+ shouldn't be updated directly but in the corresponding ``.R`` file.
+* The vignettes are
+ `"a long-form guide to the package"
<https://r-pkgs.org/vignettes.html#introduction>`_
+ and can be found in ``r/vignettes``.
diff --git a/docs/source/developers/images/R_architectural_overview.png
b/docs/source/developers/images/R_architectural_overview.png
new file mode 100644
index 0000000000..7f897a41e2
Binary files /dev/null and
b/docs/source/developers/images/R_architectural_overview.png differ
diff --git a/r/vignettes/developing.Rmd b/r/vignettes/developing.Rmd
index 4aca2911a7..da1d4f12fb 100644
--- a/r/vignettes/developing.Rmd
+++ b/r/vignettes/developing.Rmd
@@ -12,6 +12,7 @@ at a high-level. If you're looking for more detailed
content, you may want to
look at one of the following links:
* [in-depth guide to contributing to Arrow, including step-by-step
examples](https://arrow.apache.org/docs/developers/guide/index.html)
+* [R package Architectural
Overview](https://arrow.apache.org/docs/developers/guide/architectural_overview.html#r-package-architectural-overview)
* [setting up a development environment and building the components that make
up the Arrow project and R
package](https://arrow.apache.org/docs/r/articles/developers/setup.html)
* [common Arrow dev workflow
tasks](https://arrow.apache.org/docs/r/articles/developers/workflow.html)
* [running R with the C++ debugger
attached](https://arrow.apache.org/docs/r/articles/developers/debugging.html)