Permalink
Browse files

Removing test-driver symlink in ios third party install script

Summary:
After execution of `scripts/ios-install-third-party.sh` a symlink is created :
`<YOUR-APP-PATH>/node_modules/react-native/third-party/glog-0.3.4/test-driver`
that is pointing to `test-driver -> /usr/share/automake-1.14/test-driver`
This can be executed indirectly by `react-native run-ios`.

This breaks the bundle process if the system don't contain a given file under the link and having this strict dependency on the system setup is not a good practice.

Once the `test-driver` symlink is created android app release is failing, for :
`./gradlew assembleRelease`
the `:app:bundleReleaseJsAndAssets` returns :
```
FAILURE: Build failed with an exception.

* What went wrong:
Could not list contents of '<YOUR-APP-PATH>/node_modules/react-native/third-party/glog-0.3.4/test-driver'. Couldn't follow symbolic link.
```
Related issues:
#14417
#14464
#14548

1. Create new project with `react-native init <YOUR-APP>`
2. cd `<YOUR-APP>/`
3. Run app on iOS `react-native run-ios` so `scripts/ios-install-third-party.sh` is executed.
4. cd `android/`
5. Run android app release `./gradlew assembleRelease` (it will work properly after this fix and fail if the `test-driver` symlink exists)

IMHO we should resolve the issue with this quick fix and apply the proper fix later after the new version of `google/glog` will be released.
The proper cleanup of files generated by autotools was already applied : google/glog#188

Please let me know if I should provide more details : javache, mhorowitz, hramos
Closes #14638

Differential Revision: D5292362

Pulled By: javache

fbshipit-source-id: 81ff2273420ea078d624a76e781a5b67b96e6a4e
  • Loading branch information...
ArturKlajnerok authored and grabbou committed Jun 21, 2017
1 parent 579e574 commit 713ca68396f2d8d525539ef7781748af1e0b9db8
Showing with 5 additions and 0 deletions.
  1. +5 −0 scripts/ios-configure-glog.sh
@@ -7,6 +7,11 @@ CURRENT_ARCH="${CURRENT_ARCH:-armv7}"
export CC="$(xcrun -find -sdk $PLATFORM_NAME cc) -arch $CURRENT_ARCH -isysroot $(xcrun -sdk $PLATFORM_NAME --show-sdk-path)"
export CXX="$CC"
# Remove automake symlink if it exists
if [ -h "test-driver" ]; then
rm test-driver
fi
./configure --host arm-apple-darwin
# Fix build for tvOS

1 comment on commit 713ca68

@Selman555

This comment has been minimized.

Show comment
Hide comment
@Selman555

Selman555 Sep 1, 2017

RN 0.46.4 on Mac over here
After deleting and reinstalling react-native and building with xcode I still get the symlink error.
This addition to the script is present in the config script and the test-driver symlink doesn't exist in node modules/react-native/third-party/glog-0.3.4

Am I missing something?

Selman555 commented on 713ca68 Sep 1, 2017

RN 0.46.4 on Mac over here
After deleting and reinstalling react-native and building with xcode I still get the symlink error.
This addition to the script is present in the config script and the test-driver symlink doesn't exist in node modules/react-native/third-party/glog-0.3.4

Am I missing something?

Please sign in to comment.