5f1408858a
Summary: Thanks for submitting a PR! Please read these instructions carefully: - [x] Explain the **motivation** for making this change. - [x] Provide a **test plan** demonstrating that the code is solid. - [x] Match the **code formatting** of the rest of the codebase. - [x] Target the `master` branch, NOT a "stable" branch. Previously, `isInstalled` was somewhat naively checking for the presence of a string in the `build.gradle` file to determine whether or not that dependency was already linked. I.e.: ``` compile project(':${name}')\n ``` …where `name` is replaced with the name of the dependency being checked. This was inflexible as it only supported that particular format of `compile` definition. Another, valid `compile` definition follows: ``` compile(project(':example') { … } ``` However, this failed the check because it didn't _exactly_ match the format for which the check was searching the `build.gradle` contents. As a result, running `react-native link` would incorrectly duplicate the dependency definition and thus cause a crash upon launching the app. This change adds an `installPattern` to the object returned from `makeBuildPatch`, which includes the particular dependency name and is valid for both `compile` definition formats. This commit adds an additional compile definition in the associated fixture, an additional test case in `isInstalled.spec.js` to check for this additional format, and an additional test in `makeBuildPatch.spec.js` to ensure the object returned includes the aforementioned `installPattern` Regex pattern. Sign the [CLA][2], if you haven't already. ✅ Small pull requests are much easier to review and more likely to get merged. Make sure the PR does only one thing, otherwise please split it. ✅ Make sure all **tests pass** on both [Travis][3] and [Circle CI][4]. PRs that break tests are unlikely to be merged. For more info, see the ["Pull Requests"][5] section of our "Contributing" guidelines. [1]: https://medium.com/martinkonicek/what-is-a-test-plan-8bfc840ec171#.y9lcuqqi9 [2]: https://code.facebook.com/cla [3]: https://travis-ci.org/facebook/react-native [4]: http://circleci.com/gh/facebook/react-native [5]: https://github.com/facebook/react-native/blob/master/CONTRIBUTING.md#pull-requests Closes https://github.com/facebook/react-native/pull/14475 Differential Revision: D5398552 Pulled By: hramos fbshipit-source-id: 1eaf84ba5bcfc43202f13c6b8fcfc68c30f36c33 |
||
---|---|---|
.. | ||
__fixtures__ | ||
__tests__ | ||
android | ||
ios | ||
windows | ||
commandStub.js | ||
getDependencyConfig.js | ||
getProjectDependencies.js | ||
groupFilesByType.js | ||
link.js | ||
pollParams.js | ||
promiseWaterfall.js | ||
promisify.js | ||
unlink.js |