grab / grab/cocoapods-binary-cache

"No podspec found for `React-Codegen` in `build/generated/ios`" when running prebuild with React Native 0.69.1

Open
#108 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Ruby
Stars
488
Forks
69
PR merge metrics
No merged PRs in 30d

Description

### Checklist

- [x] Updated the plugin to the latest version
- [x] I've read the [Contribution Guidelines](https://github.com/grab/cocoapods-binary-cache/blob/master/CONTRIBUTING.md)
- [x] I've searched for [existing GitHub issues](https://github.com/grab/cocoapods-binary-cache/issues)

### Issue Description
#### Command executed

bundle exec pod binary prebuild

#### What went wrong?

Even with no pods marked as binary, the prebuild fails with error "No podspec found for `React-Codegen` in `build/generated/ios" when normal `pod install` works just fine.

#### Stack trace

warn Multiple Podfiles were found: ios/Podfile,vendor/bundle/ruby/3.1.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/Podfile. Choosing ios/Podfile automatically. If you would like to select a different one, you can configure it via "project.ios.sourceDir". You can learn more about it here: https://github.com/react-native-community/cli/blob/master/docs/configuration.md

[Codegen] Generating ./build/generated/ios/React-Codegen.podspec.json
❯❯❯ Step: Fetching cache
Fetching cache from git@github.com:Gaia-AI/ios-app-cocoapod-cache.git (branch: master)
From github.com:Gaia-AI/ios-app-cocoapod-cache
* branch master -> FETCH_HEAD
Switched to a new branch 'master'
Unzipping cache: /Users/acshi/.cocoapods-binary-cache/prebuilt-frameworks -> _Prebuild
❯❯❯ Step: Installation
-----------------------------------------
🚀 Prebuild frameworks
-----------------------------------------

Detect implicit dependencies
[Codegen] Found FBReactNativeSpec
/Users/acshi/BinaryCacheTest/node_modules/react-native/scripts/react_native_pods_utils/script_phases.rb:51: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.
/Users/acshi/BinaryCacheTest/node_modules/react-native/scripts/react_native_pods_utils/script_phases.rb:51: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.
Exclude pods with empty source files: ["FBReactNativeSpec", "React", "boost"]

Validate prebuilt cache
Cache validation: hit (0) []

Prebuilding...
Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`
[Codegen] Found FBReactNativeSpec
/Users/acshi/BinaryCacheTest/node_modules/react-native/scripts/react_native_pods_utils/script_phases.rb:51: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.
/Users/acshi/BinaryCacheTest/node_modules/react-native/scripts/react_native_pods_utils/script_phases.rb:51: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.
Fetching podspec for `RCT-Folly` from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`
Fetching podspec for `boost` from `../node_modules/react-native/third-party-podspecs/boost.podspec`
Fetching podspec for `glog` from `../node_modules/react-native/third-party-podspecs/glog.podspec`
Installing DoubleConversion (1.1.6)
Installing FBLazyVector (0.69.1)
Installing FBReactNativeSpec (0.69.1)
Installing RCT-Folly (2021.06.28.00-v2)
Installing RCTRequired (0.69.1)
Installing RCTTypeSafety (0.69.1)
Installing React (0.69.1)
Installing React-Codegen (0.69.1)
Installing React-Core (0.69.1)
Installing React-CoreModules (0.69.1)
Installing React-RCTActionSheet (0.69.1)
Installing React-RCTAnimation (0.69.1)
Installing React-RCTBlob (0.69.1)
Installing React-RCTImage (0.69.1)
Installing React-RCTLinking (0.69.1)
Installing React-RCTNetwork (0.69.1)
Installing React-RCTSettings (0.69.1)
Installing React-RCTText (0.69.1)
Installing React-RCTVibration (0.69.1)
Installing React-bridging (0.69.1)
Installing React-callinvoker (0.69.1)
Installing React-cxxreact (0.69.1)
Installing React-jsi (0.69.1)
Installing React-jsiexecutor (0.69.1)
Installing React-jsinspector (0.69.1)
Installing React-logger (0.69.1)
Installing React-perflogger (0.69.1)
Installing React-runtimeexecutor (0.69.1)
Installing ReactCommon (0.69.1)
Installing Yoga (1.14.0)
Installing boost (1.76.0)
Installing fmt (6.2.1)
Installing glog (0.3.5)
/Users/acshi/BinaryCacheTest/ios/_Prebuild/Target Support Files/Pods-BinaryCacheTest/Pods-BinaryCacheTest.release.xcconfig
/Users/acshi/BinaryCacheTest/ios/_Prebuild/Target Support Files/Pods-BinaryCacheTest/Pods-BinaryCacheTest.debug.xcconfig
/Users/acshi/BinaryCacheTest/ios/_Prebuild/Target Support Files/Pods-BinaryCacheTest-BinaryCacheTestTests/Pods-BinaryCacheTest-BinaryCacheTestTests.release.xcconfig
/Users/acshi/BinaryCacheTest/ios/_Prebuild/Target Support Files/Pods-BinaryCacheTest-BinaryCacheTestTests/Pods-BinaryCacheTest-BinaryCacheTestTests.debug.xcconfig
Setting REACT_NATIVE build settings
Prebuild frameworks (total 0): []
No changes in prebuild
Pod installation complete! There are 34 dependencies from the Podfile and 33 total pods installed.
-----------------------------------------
🤖 Resume pod installation
-----------------------------------------
[Codegen] Found FBReactNativeSpec
/Users/acshi/BinaryCacheTest/node_modules/react-native/scripts/react_native_pods_utils/script_phases.rb:51: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.
/Users/acshi/BinaryCacheTest/node_modules/react-native/scripts/react_native_pods_utils/script_phases.rb:51: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.
[!] No podspec found for `React-Codegen` in `build/generated/ios`

### Environment
#### Plugin version

0.1.14

#### Installed CocoaPods plugins

Installed CocoaPods Plugins:

- cocoapods-binary-cache : 0.1.14 (pre_install and post_install hooks)
- cocoapods-deintegrate : 1.0.5
- cocoapods-plugins : 1.0.0
- cocoapods-search : 1.0.1
- cocoapods-trunk : 1.6.0
- cocoapods-try : 1.2.0

M1 Macbook Pro on MacOS 12.4, using Ruby 3.1.2 (probably not important), React Native 0.69.1 and React 18.0.0, building for iOS.

### Reproducing
Create a new React Native app:
```
npx react-native init BinaryCacheTest
```

Modify Gemfile to:
```
source 'https://rubygems.org'

# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
ruby '3.1.2'

gem "cocoapods-binary-cache", :git => "https://github.com/grab/cocoapods-binary-cache.git", :tag => "0.1.14"
gem 'cocoapods', '~> 1.11', '>= 1.11.2'
```

And Podfile (just adding the first lines before `require_relative` and commenting out `use_flipper!()`):
```
use_frameworks!
plugin "cocoapods-binary-cache"

config_cocoapods_binary_cache(
cache_repo: {
"default" => {
"remote" => "git@github.com:Example/example.git",
"local" => "~/.cocoapods-binary-cache/prebuilt-frameworks"
}
},
prebuild_config: "Debug"
)

require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

platform :ios, '12.4'
install! 'cocoapods', :deterministic_uuids => false

target 'BinaryCacheTest' do
config = use_native_modules!

# Flags change depending on the env values.
flags = get_default_flags()

use_react_native!(
:path => config[:reactNativePath],
# to enable hermes on iOS, change `false` to `true` and then install pods
:hermes_enabled => flags[:hermes_enabled],
:fabric_enabled => flags[:fabric_enabled],
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/.."
)

target 'BinaryCacheTestTests' do
inherit! :complete
# Pods for testing
end

# Enables Flipper.
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable the next line.
# use_flipper!()

post_install do |installer|
react_native_post_install(installer)
__apply_Xcode_12_5_M1_post_install_workaround(installer)
end
end
```

Then run:
```
cd BinaryCacheTest/ios
bundle install
npm install
pod install # works fine
pod binary prebuild # Gives an error
bundle exec pod binary prebuild # Exactly the same as without bundle exec
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.