Move CSSTokenizer to "react/renderer/css" (#42832)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/42832

Various analogs to CSS types and utilities currently exist between `core` and `components/view`. These don't really belong well with either, so this adds a top-level "css" library, and moves `CSSTokenizer` there.

This is statically linked into Fabric binary on Android OSS.

Changelog: [Internal]

Reviewed By: rshest

Differential Revision: D53377527

fbshipit-source-id: e2d3091ecb3533ecde4d0a08084369b4909532c3
This commit is contained in:
Nick Gerleman
2024-02-13 20:13:22 -08:00
committed by Facebook GitHub Bot
parent 6c2f0888a4
commit f63efaf920
9 changed files with 35 additions and 3 deletions
@@ -79,6 +79,9 @@ val preparePrefab by
// migrate one library at a time.
input.set(
listOf(
PrefabPreprocessingEntry(
"react_render_css",
Pair("../ReactCommon/react/renderer/css/", "react/renderer/css/")),
PrefabPreprocessingEntry(
"react_render_debug",
Pair("../ReactCommon/react/renderer/debug/", "react/renderer/debug/")),
@@ -632,6 +635,7 @@ android {
create("react_render_debug") {
headers = File(prefabHeadersDir, "react_render_debug").absolutePath
}
create("react_render_css") { headers = File(prefabHeadersDir, "react_render_css").absolutePath }
create("turbomodulejsijni") {
headers = File(prefabHeadersDir, "turbomodulejsijni").absolutePath
}
@@ -62,6 +62,7 @@ target_compile_options(${CMAKE_PROJECT_NAME}
# Prefab packages from React Native
find_package(ReactAndroid REQUIRED CONFIG)
add_library(react_render_css ALIAS ReactAndroid::react_render_css)
add_library(react_render_debug ALIAS ReactAndroid::react_render_debug)
add_library(turbomodulejsijni ALIAS ReactAndroid::turbomodulejsijni)
add_library(runtimeexecutor ALIAS ReactAndroid::runtimeexecutor)
@@ -102,6 +103,7 @@ target_link_libraries(${CMAKE_PROJECT_NAME}
react_cxxreactpackage # prefab ready
react_render_componentregistry # prefab ready
react_render_core # prefab ready
react_render_css # prefab ready
react_render_debug # prefab ready
react_render_graphics # prefab ready
react_render_imagemanager # prefab ready
@@ -79,6 +79,7 @@ add_react_common_subdir(react/renderer/scheduler)
add_react_common_subdir(react/renderer/telemetry)
add_react_common_subdir(react/renderer/uimanager)
add_react_common_subdir(react/renderer/core)
add_react_common_subdir(react/renderer/css)
add_react_common_subdir(react/renderer/element)
add_react_common_subdir(react/renderer/graphics)
add_react_common_subdir(react/renderer/debug)
@@ -31,6 +31,7 @@ target_link_libraries(
react_render_attributedstring
react_render_componentregistry
react_render_core
react_render_css
react_render_debug
react_render_graphics
react_render_imagemanager
@@ -225,6 +225,11 @@ Pod::Spec.new do |s|
end
end
s.subspec "css" do |ss|
ss.source_files = "react/renderer/css/*.{cpp,h}"
ss.header_dir = "react/renderer/css"
end
s.subspec "imagemanager" do |ss|
ss.dependency folly_dep_name, folly_version
ss.compiler_flags = folly_compiler_flags
@@ -0,0 +1,20 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
cmake_minimum_required(VERSION 3.13)
set(CMAKE_VERBOSE_MAKEFILE on)
add_compile_options(
-fexceptions
-frtti
-std=c++20
-Wall
-Wpedantic)
file(GLOB react_render_css_SRC CONFIGURE_DEPENDS *.cpp)
add_library(react_render_css STATIC ${react_render_css_SRC})
target_include_directories(react_render_css PUBLIC ${REACT_COMMON_DIR})
target_link_libraries(react_render_css glog glog_init react_debug)
@@ -9,7 +9,7 @@
#include <cstdint>
#include <react/debug/react_native_assert.h>
#include <react/renderer/components/view/CSSTokenizer.h>
#include <react/renderer/css/CSSTokenizer.h>
namespace facebook::react {
@@ -6,8 +6,7 @@
*/
#include <gtest/gtest.h>
#include <react/renderer/components/view/CSSTokenizer.h>
#include <deque>
#include <react/renderer/css/CSSTokenizer.h>
namespace facebook::react {