mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
* [ios][precompile] Add use_frameworks resolve method To be able to handle cocoapods USE_FRAMEWORKS with both dynamic/static linkage and precompiled we needed a common way to resolve this. The issue was that when using precompiled and USE_FRAMEWORKS our precompiled framework caused the resulting Pods project to only include header files - hence there where no need to change the header_mappings_dir which a lot of the podspecs did. A method was added that handles this in a common way. * [ios][precompile] added resolve_use_frameworks to podspecs Replaced logic for resolving header mappings and module name using the new method `resolve_use_frameworks` in all podspecs. Also added `React-oscompat` dependency on `React-jsiinspector_modern` which failed when linkage was "dynamic". * [ios][precompile] added explicit handling of ReactCoden When using precompiled and building with frameworks (USE_FRAMEWORKS) we need to explicitly add the correct path to ReactCodegen when calling `create_header_search_path_for_frameworks` to ensure libraries can access their codegen files. This commit adds an explicit check to make sure we add the correct path when using frameworks and the pod is ReactCodegen. Added includes in the NativeCXXModuleExample.cpp file to test this. * Update packages/react-native/scripts/cocoapods/utils.rb Co-authored-by: Riccardo Cipolleschi <cipolleschi@meta.com> * codereview: removed test include files * codereview: fixed issue in ruby.rb After a github `suggestion` we had a superfluous `end`. Sorry for that. --------- Co-authored-by: Christian Falch <christian.falch@gmail.com> Co-authored-by: Christian Falch <875252+chrfalch@users.noreply.github.com>
35 lines
1.4 KiB
Ruby
35 lines
1.4 KiB
Ruby
# 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.
|
||
|
||
require "json"
|
||
|
||
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
|
||
version = package['version']
|
||
|
||
source = { :git => 'https://github.com/facebook/react-native.git' }
|
||
if version == '1000.0.0'
|
||
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
||
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
||
else
|
||
source[:tag] = "v#{version}"
|
||
end
|
||
|
||
Pod::Spec.new do |s|
|
||
s.name = "React-debug"
|
||
s.version = version
|
||
s.summary = "-" # TODO
|
||
s.homepage = "https://reactnative.dev/"
|
||
s.license = package["license"]
|
||
s.author = "Meta Platforms, Inc. and its affiliates"
|
||
s.platforms = min_supported_versions
|
||
s.source = source
|
||
s.source_files = podspec_sources("**/*.{cpp,h}", "**/*.h")
|
||
s.header_dir = "react/debug"
|
||
s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
||
"DEFINES_MODULE" => "YES" }
|
||
|
||
resolve_use_frameworks(s, header_mappings_dir: "../..", module_name: "React_debug")
|
||
end
|