react-native/local-cli
Miron Pawlik 74146cb315 Make `react-native link` play nicely with CocoaPods-based iOS projects.
Summary:
The core React Native codebase already has full support for CocoaPods. However, `react-native link` doesn’t play nicely with CocoaPods, so installing third-party libs from the RN ecosystem is really hard.

This change will allow to link projects that contains its own `.podspec` file to CocoaPods-based projects. In case `link` detect `Podfile` in `iOS` directory, it will look for related `.podspec` file in linked project directory, and add it to `Podfile`. If `Podfile` and `.podspec` files are not present, it will fall back to previous implementation.

**Test Plan**
1. Build a React Native project where the iOS part uses CocoaPods to manage its dependencies. The most common scenario here is to have React Native be a Pod dependency, among others.
2. Install a RN-related library, that contains `.podspec` file, with `react-native link` (as an example it could be: [react-native-maps](https://github.com/airbnb/react-native-maps)
3. Building the resulting iOS workspace should succeed (and there should be new entry in `Podfile`)
Closes https://github.com/facebook/react-native/pull/15460

Differential Revision: D6078649

Pulled By: hramos

fbshipit-source-id: 9651085875892fd66299563ca0e42fb2bcc00825
2017-10-17 21:35:47 -07:00
..
__mocks__ Remove mockFs dependency 2017-10-11 15:11:28 -07:00
__tests__ Remove mockFs dependency 2017-10-11 15:11:28 -07:00
bundle Android: put all non-drawable resources to `res/raw` 2017-10-11 15:11:29 -07:00
core Make `react-native link` play nicely with CocoaPods-based iOS projects. 2017-10-17 21:35:47 -07:00
dependencies Reject local-cli promises with Error objects 2017-08-08 09:38:21 -07:00
eject Run eslint --fix 2017-10-09 17:46:44 -07:00
generator Run eslint --fix 2017-10-09 17:46:44 -07:00
info added info CLI command 2017-07-18 11:45:47 -07:00
init Change indentation of package.json including Jest to 2 spaces 2017-10-15 10:50:20 -07:00
install Use Yarn for Install/Uninstall CLI if available 2017-02-02 05:13:33 -08:00
library Reject local-cli promises with Error objects 2017-08-08 09:38:21 -07:00
link Make `react-native link` play nicely with CocoaPods-based iOS projects. 2017-10-17 21:35:47 -07:00
logAndroid Use native Promise in local-cli 2016-11-21 10:28:34 -08:00
logIOS Use native Promise in local-cli 2016-11-21 10:28:34 -08:00
runAndroid Run eslint --fix 2017-10-09 17:46:44 -07:00
runIOS Run eslint --fix 2017-10-09 17:46:44 -07:00
server Run eslint --fix 2017-10-09 17:46:44 -07:00
templates @allow-large-files Deploy Flow v0.57.2 2017-10-13 21:46:08 -07:00
upgrade New upgrading process, relying on Git 2016-11-28 08:28:35 -08:00
util Remove mockFs dependency 2017-10-11 15:11:28 -07:00
.eslintrc Disallow trailing commas in react-native-github 2017-08-17 16:20:04 -07:00
cli.js packager: centralize babelRegisterOnly callsites 2017-01-06 06:13:54 -08:00
cliEntry.js @allow-large-files Flow v0.54.0 2017-09-06 03:33:43 -07:00
commands.js added info CLI command 2017-07-18 11:45:47 -07:00
setup_env.bat Fix comments on .bat file 2015-10-28 21:36:07 -04:00
setup_env.sh CLI: Adding shebang to setup_env.sh script 2017-05-31 02:46:23 -07:00
wrong-react-native.js Run eslint on all js files 2017-07-12 14:09:53 -07:00