forked from wordpress-mobile/WordPress-iOS
-
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.
Extract CocoaPods Gutenberg logic in dedicated file (wordpress-mobile…
- Loading branch information
Showing
5 changed files
with
130 additions
and
88 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,99 @@ | ||
# frozen_string_literal: true | ||
|
||
# Helpers and configurations for integrating Gutenberg in Jetpack and WordPress via CocoaPods. | ||
|
||
require_relative './version' | ||
|
||
DEFAULT_GUTENBERG_LOCATION = File.join(__dir__, '..', '..', 'gutenberg-mobile') | ||
|
||
# Note that the pods in this array might seem unused if you look for | ||
# `import` statements in this codebase. However, make sure to also check | ||
# whether they are used in the gutenberg-mobile and Gutenberg projects. | ||
# | ||
# See https://github.com/wordpress-mobile/gutenberg-mobile/issues/5025 | ||
DEPENDENCIES = %w[ | ||
FBLazyVector | ||
React | ||
ReactCommon | ||
RCTRequired | ||
RCTTypeSafety | ||
React-Core | ||
React-CoreModules | ||
React-RCTActionSheet | ||
React-RCTAnimation | ||
React-RCTBlob | ||
React-RCTImage | ||
React-RCTLinking | ||
React-RCTNetwork | ||
React-RCTSettings | ||
React-RCTText | ||
React-RCTVibration | ||
React-callinvoker | ||
React-cxxreact | ||
React-jsinspector | ||
React-jsi | ||
React-jsiexecutor | ||
React-logger | ||
React-perflogger | ||
React-runtimeexecutor | ||
boost | ||
Yoga | ||
RCT-Folly | ||
glog | ||
react-native-safe-area | ||
react-native-safe-area-context | ||
react-native-video | ||
react-native-webview | ||
RNSVG | ||
react-native-slider | ||
BVLinearGradient | ||
react-native-get-random-values | ||
react-native-blur | ||
RNScreens | ||
RNReanimated | ||
RNGestureHandler | ||
RNCMaskedView | ||
RNCClipboard | ||
RNFastImage | ||
React-Codegen | ||
React-bridging | ||
].freeze | ||
|
||
def gutenberg_pod(config: GUTENBERG_CONFIG) | ||
options = config | ||
|
||
local_gutenberg_key = 'LOCAL_GUTENBERG' | ||
local_gutenberg = ENV.fetch(local_gutenberg_key, nil) | ||
if local_gutenberg | ||
options = { path: File.exist?(local_gutenberg) ? local_gutenberg : DEFAULT_GUTENBERG_LOCATION } | ||
|
||
raise "Could not find Gutenberg pod at #{options[:path]}. You can configure the path using the #{local_gutenberg_key} environment variable." unless File.exist?(options[:path]) | ||
else | ||
options[:git] = "https://github.com/#{GITHUB_ORG}/#{REPO_NAME}.git" | ||
options[:submodules] = true | ||
end | ||
|
||
pod 'Gutenberg', options | ||
pod 'RNTAztecView', options | ||
|
||
gutenberg_dependencies(options: options) | ||
end | ||
|
||
def gutenberg_dependencies(options:) | ||
if options[:path] | ||
podspec_prefix = options[:path] | ||
else | ||
tag_or_commit = options[:tag] || options[:commit] | ||
podspec_prefix = "https://raw.githubusercontent.com/#{GITHUB_ORG}/#{REPO_NAME}/#{tag_or_commit}" | ||
end | ||
|
||
podspec_prefix += '/third-party-podspecs' | ||
podspec_extension = 'podspec.json' | ||
|
||
# FBReactNativeSpec needs special treatment because of react-native-codegen code generation | ||
pod 'FBReactNativeSpec', podspec: "#{podspec_prefix}/FBReactNativeSpec/FBReactNativeSpec.#{podspec_extension}" | ||
|
||
DEPENDENCIES.each do |pod_name| | ||
pod pod_name, podspec: "#{podspec_prefix}/#{pod_name}.#{podspec_extension}" | ||
end | ||
end |
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,19 @@ | ||
# frozen_string_literal: true | ||
|
||
# This file isolates the definition of which version of Gutenberg to use. | ||
# This way, it can be accessed by multiple sources without duplication. | ||
|
||
# Either use commit or tag, if both are left uncommented, tag will take precedence. | ||
# | ||
# If you want to use a local version, please use the LOCAL_GUTENBERG environment variable when calling CocoaPods. | ||
# | ||
# Example: | ||
# | ||
# LOCAL_GUTENBERG=../my-gutenberg-fork bundle exec pod install | ||
GUTENBERG_CONFIG = { | ||
# commit: '', | ||
tag: 'v1.94.0' | ||
} | ||
|
||
GITHUB_ORG = 'wordpress-mobile' | ||
REPO_NAME = 'gutenberg-mobile' |
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