Skip to content

Conversation

@nealrichardson
Copy link
Member

@nealrichardson nealrichardson commented Jan 15, 2021

Key features:

  • if arrowExports.* are not modified, they are not rewritten. This means that if there are no cpp changes, then nothing gets recompiled, which makes local dev faster (when you have ARROW_R_DEV=true set)
  • refactoring of codegen.R to be more consistently aware of "features" that can be flagged, like we have currently for arrow and s3 and potentially may get more of in the future with additional build-time features. Importantly, the wrapping with the fake implementation that we currently have for all functions has been encapsulated in such a way that we can choose whether to make some features always on or not.

A single commit (a963e7c) adds an if statement that effectively removes the arrow-without-arrow wrapping while still keeping S3 support optional (-2,795 lines of code).

IMO we should go with this for a while, and if there is no further problems, we can remove the ARROW_R_WITH_ARROW flags everywhere. Or if we decide to change our minds, we just remove the if statement in codegen.R, nothing else to restore.

In order to fully remove the flagging, we'd need to remove all occurrences of ARROW_R_WITH_ARROW and also the special test handling of this, which includes another environment variable that is set in CI.

@github-actions
Copy link

@nealrichardson nealrichardson marked this pull request as ready for review January 16, 2021 01:21
@jonkeane
Copy link
Member

LGTM

@nealrichardson
Copy link
Member Author

I've made ARROW-11392 for the final removal of the arrow-without-arrow flagging

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants