Use umbrellas instead of direct includes in renderer core module - #58654
Open
j-piasecki wants to merge 4 commits into
Open
j-piasecki wants to merge 4 commits into
j-piasecki wants to merge 4 commits into
Conversation
Summary: Each module ships a small header that acts as its entry point. Those were being packaged into the React framework, but the code that includes them lives in the shared headers bundle the framework is built on top of. The two ended up pointing at each other and the iOS build failed. Ship the entry-point headers with the shared headers instead. They still resolve the same way for anyone including them, and no other header moves. Changelog: [Internal] Differential Revision: D121187558
Summary: Changelog: [Internal] Update the timing module to use `React/Debug.h` umbrella include instead of a direct one. Reviewed By: cipolleschi Differential Revision: D120137164
Summary: Changelog: [Internal] Add a `React/RawValue.h` umbrella for the `rawValue` target, the slice of `react/renderer/core` that exists so core and `react/renderer/graphics` do not form a dependency cycle. `React/RendererCore.h` re-exports it instead of listing the two headers directly. Differential Revision: D121388426
Summary: Changelog: [Internal] Update the `react/renderer/core` module to use the `React/Debug.h`, `React/FeatureFlags.h`, `React/Timing.h`, `React/Utils.h` and `React/MapBuffer.h` umbrella includes instead of direct ones. `react/renderer/graphics` and `react/renderer/debug` keep direct includes. Their umbrellas re-export `rounding.h` and `debugStringConvertibleUtils.h`, which are unsafe to pull into every translation unit that sees a core header: the former makes unqualified `round()` ambiguous in ObjC++, the latter resolves `toString(T)` before later overloads are declared. Differential Revision: D121395742
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
Changelog: [Internal]
Update the
react/renderer/coremodule to use theReact/Debug.h,React/FeatureFlags.h,React/Timing.h,React/Utils.handReact/MapBuffer.humbrella includes instead of direct ones.react/renderer/graphicsandreact/renderer/debugkeep direct includes. Their umbrellas re-exportrounding.handdebugStringConvertibleUtils.h, which are unsafe to pull into every translation unit that sees a core header: the former makes unqualifiedround()ambiguous in ObjC++, the latter resolvestoString(T)before later overloads are declared.Differential Revision: D121395742