PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/react-native/third-party-podspecs

Просмотр файла: ReactNativeDependencies.podspec

# 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"

begin
  react_native_path = File.dirname(Pod::Executable.execute_command('node', ['-p',
    'require.resolve(
    "react-native",
    {paths: [process.argv[1]]},
    )', __dir__]).strip
  )
rescue => e
  # Fallback to the parent directory if the above command fails (e.g when building locally in OOT Platform)
  react_native_path = File.join(__dir__, "..", "..")
end

# package.json
package = JSON.parse(File.read(File.join(react_native_path, "package.json")))
version = package['version']

source = ReactNativeDependenciesUtils.resolve_podspec_source()

Pod::Spec.new do |spec|
  spec.name                 = 'ReactNativeDependencies'
  spec.version              = version
  spec.summary              = 'React Native Dependencies'
  spec.description          = 'ReactNativeDependencies is a podspec that contains all the third-party dependencies of React Native.'
  spec.homepage             = 'https://github.com/facebook/react-native'
  spec.license              = package['license']
  spec.authors              = 'meta'
  spec.platforms            = min_supported_versions
  spec.user_target_xcconfig = {
    'WARNING_CFLAGS' => '-Wno-comma -Wno-shorten-64-to-32',
  }

  spec.source               = source
  spec.preserve_paths       = '**/*.*'
  spec.vendored_frameworks  = 'framework/packages/react-native/ReactNativeDependencies.xcframework'
  spec.header_mappings_dir  = 'Headers'
  spec.source_files         = 'Headers/**/*.{h,hpp}'

  # We need to make sure that the headers are copied to the right place - local tar.gz has a different structure
  # than the one from the maven repo
  spec.prepare_command    = <<-CMD
    CURRENT_PATH=$(pwd)
    mkdir -p Headers
    XCFRAMEWORK_PATH=$(find "$CURRENT_PATH" -type d -name "ReactNativeDependencies.xcframework")
    HEADERS_PATH=$(find "$XCFRAMEWORK_PATH" -type d -name "Headers" | head -n 1)

    # Check if XCFRAMEWORK_PATH is empty
    if [ -z "$XCFRAMEWORK_PATH" ]; then
      echo "ERROR: XCFRAMEWORK_PATH is empty."
      exit 0
    fi

    # Check if HEADERS_PATH is empty
    if [ -z "$HEADERS_PATH" ]; then
      echo "ERROR: HEADERS_PATH is empty."
      exit 0
    fi

    cp -R "$HEADERS_PATH/" Headers
    mkdir -p framework/packages/react-native
    cp -R "$XCFRAMEWORK_PATH/../." framework/packages/react-native/
    find "$XCFRAMEWORK_PATH/.." -type f -exec rm {} +
    find "$CURRENT_PATH" -type d -empty -delete
  CMD

  # If we are passing a local tarball, we don't want to switch between Debug and Release
  if !ENV["RCT_USE_LOCAL_RN_DEP"]
    script_phase = {
      :name => "[RNDeps] Replace React Native Dependencies for the right configuration, if needed",
      :execution_position => :before_compile,
      :script => <<-EOS
      . "$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh"

      CONFIG="Release"
      if echo $GCC_PREPROCESSOR_DEFINITIONS | grep -q "DEBUG=1"; then
        CONFIG="Debug"
      fi

      "$NODE_BINARY" "$REACT_NATIVE_PATH/third-party-podspecs/replace_dependencies_version.js" -c "$CONFIG" -r "#{version}" -p "$PODS_ROOT"
      EOS
    }


    # :always_out_of_date is only available in CocoaPods 1.13.0 and later
    if Gem::Version.new(Pod::VERSION) >= Gem::Version.new('1.13.0')
      # always run the script without warning
      script_phase[:always_out_of_date] = "1"
    end

    spec.script_phase = script_phase
  end

end

Выполнить команду


Для локальной разработки. Не используйте в интернете!