forked from facebook/hermes
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rename and conditionalize source for podspec (facebook#385)
Summary: This PR did two things. 1. rename everything to `hermes-engine` since <https://cocoapods.org/pods/Hermes> already exists 2. conditionalize `spec.source` so it can distribute prebuilt binaries as alloy suggested at facebook#368 (comment) Pull Request resolved: facebook#385 Test Plan: CircleCI doing fine Reviewed By: tmikov Differential Revision: D24206180 Pulled By: Huxpro fbshipit-source-id: ec46350e00099c61a7de8cc9eb99991af72abdb4
- Loading branch information
1 parent
e4f8ebd
commit 922b613
Showing
4 changed files
with
69 additions
and
65 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Copyright (c) Facebook, Inc. and its affiliates. | ||
# | ||
# This source code is licensed under the MIT license found in the | ||
# LICENSE file in the root directory of this source tree. | ||
|
||
module HermesHelper | ||
# BUILD_TYPE = :debug | ||
BUILD_TYPE = :release | ||
|
||
OSX_DEPLOYMENT_TARGET = "10.13" | ||
IOS_DEPLOYMENT_TARGET = "10.0" | ||
end | ||
|
||
Pod::Spec.new do |spec| | ||
spec.name = "hermes-engine" | ||
spec.version = "0.7.0" | ||
spec.summary = "Hermes is a small and lightweight JavaScript engine optimized for running React Native." | ||
spec.description = "Hermes is a JavaScript engine optimized for fast start-up of React Native apps. It features ahead-of-time static optimization and compact bytecode." | ||
spec.homepage = "https://hermesengine.dev" | ||
spec.license = { type: "MIT", file: "LICENSE" } | ||
spec.author = "Facebook" | ||
# This env var should be supplied with a CDN URL for hermes-engine-darwin.tgz on the Github releases before pod push. | ||
# The podspec would be serialized to JSON and people will download prebuilt binaries instead of the source. | ||
spec.source = ENV['hermes-artifact-url'] ? ENV['hermes-artifact-url'] : { git: "https://github.com/facebook/hermes.git", tag: "v#{spec.version}" } | ||
spec.platforms = { :osx => HermesHelper::OSX_DEPLOYMENT_TARGET, :ios => HermesHelper::IOS_DEPLOYMENT_TARGET } | ||
|
||
spec.preserve_paths = ["destroot/bin/*"].concat(HermesHelper::BUILD_TYPE == :debug ? ["**/*.{h,c,cpp}"] : []) | ||
spec.source_files = "destroot/include/**/*.h" | ||
spec.header_mappings_dir = "destroot/include" | ||
|
||
spec.ios.vendored_frameworks = "destroot/Library/Frameworks/iphoneos/hermes.framework" | ||
spec.osx.vendored_frameworks = "destroot/Library/Frameworks/macosx/hermes.framework" | ||
|
||
spec.xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++14", "CLANG_CXX_LIBRARY" => "compiler-default", "GCC_PREPROCESSOR_DEFINITIONS" => "HERMES_ENABLE_DEBUGGER=1" } | ||
|
||
unless ENV['hermes-artifact-url'] | ||
spec.prepare_command = <<-EOS | ||
# When true, debug build will be used. | ||
# See `build-apple-framework.sh` for details | ||
DEBUG=#{HermesHelper::BUILD_TYPE == :debug} | ||
# In a release package, there are no utilities and source files, we exit | ||
# early as there is nothing to build | ||
if [ ! -f ./utils/build-apple-framework.sh ]; then | ||
exit 0; | ||
fi | ||
# Source utilities into the scope | ||
. ./utils/build-apple-framework.sh | ||
# If universal framework for iOS does not exist, build one | ||
if [ ! -d destroot/Library/Frameworks/iphoneos/hermes.framework ]; then | ||
build_apple_framework "iphoneos" "armv7;armv7s;arm64" "#{HermesHelper::IOS_DEPLOYMENT_TARGET}" | ||
build_apple_framework "iphonesimulator" "x86_64;i386" "#{HermesHelper::IOS_DEPLOYMENT_TARGET}" | ||
create_universal_framework "iphoneos" "iphonesimulator" | ||
fi | ||
# If MacOS framework does not exist, build one | ||
if [ ! -d destroot/Library/Frameworks/macosx/hermes.framework ]; then | ||
build_apple_framework "macosx" "x86_64;arm64" "#{HermesHelper::OSX_DEPLOYMENT_TARGET}" | ||
fi | ||
EOS | ||
end | ||
end |
This file was deleted.
Oops, something went wrong.
This file contains 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