-
Notifications
You must be signed in to change notification settings - Fork 24.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switched to npm hosted boost lib #11469
Conversation
cc @mkonicek |
Restarted build with no caches: https://circleci.com/gh/facebook/react-native/14122 |
The npm package is temporary, don't merge yet. |
How is this different that rest of the dependencies such as glog or folly? As far as I see they're also hosted in Github and there's no throttling happening when we download their zip files. Is this a problem only because Boost has a larger size than the others? I think if that's possible (uploading either the zip file or the source code to Github), it would be more consistent with the rest of the gradle script. Also is there a documentation about throttling? This page https://help.github.com/articles/distributing-large-binaries/ reads it's a valid use case. |
What if we kept just the source code (the entire |
@ide, it would be better from licensing points of view if it is not committed to RN GitHub repo. |
0343f71
to
f14aefd
Compare
@bestander I put the files up on GitHub, this way other people can maintain it too: https://github.com/react-native-community/boost-for-react-native/releases/tag/v1.57.0-0. There's both a .tar.gz (9.6MB) and .zip file (12MB). |
@ide Thanks for taking the initiative. However @bestander has a point about licensing. IANAL but Boost's license at http://www.boost.org/users/license.html reads to be very permissive, so we're likely to be ok. |
fcp.exclude() | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why this extra code rather than only replacing the URL?
Thanks for doing this @bestander, thank you for the help @ide! @facebook-github-bot shipit |
@mkonicek has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
Summary: Improvement over #11469. Depends on react-native-community/boost-for-react-native#1, **don't merge before it is fixed**. It would be more in line with other dependencies to depend only on github for thirdparty bridge dependencies. **Test plan (required)** - Circle (testing with caches cleaned) - ./gradlew ReactAndroid:packageReactNdkLibsForBuck (check twice to make sure caches work) REACT_NATIVE_BOOST_PATH=./path-to-local-boost/ - ./gradlew ReactAndroid:packageReactNdkLibsForBuck (check twice to make sure caches work) Closes #11511 Differential Revision: D4348098 fbshipit-source-id: 5c2f25cc395ae0cad19d56b7c0b2b102513580fb
Summary: Boost is officially hosted on SourceForge which has ab SSL problem that Gradle complains about and also it is sometimes unavailable. I switched to using npm hosted (yarnpkg mirrored for performance) boost lib exactly the same as from Source Forge. Other alternatives considered: - CDN e.g. mirror.nienbo.com started responding with 4XX code when requested by Gradle - File sharing like DropBox are not for mass anonymous downloads - Github is not good for binary files and is throttled for anonymous raw file downloads - S3 or similar. Requires amazon account for maintenance and does not expose semver API and other nice features that npm has In the future I'd like to try Yarn as dependency management tool for bridge builds, this could be the first step. **Test plan (required)** - Circle (testing with caches cleaned) - `./gradlew ReactAndroid:packageReactNdkLibsForBuck` (check twice to make sure caches work) - `REACT_NATIVE_BOOST_PATH=./bridge-dependencies/node_modules/boost-react-native-bundle ./ Closes #11469 Differential Revision: D4339446 Pulled By: mkonicek fbshipit-source-id: ccc9196e9b675c16a235a318c4861aaa4e263d6e
Summary: Improvement over #11469. Depends on react-native-community/boost-for-react-native#1, **don't merge before it is fixed**. It would be more in line with other dependencies to depend only on github for thirdparty bridge dependencies. **Test plan (required)** - Circle (testing with caches cleaned) - ./gradlew ReactAndroid:packageReactNdkLibsForBuck (check twice to make sure caches work) REACT_NATIVE_BOOST_PATH=./path-to-local-boost/ - ./gradlew ReactAndroid:packageReactNdkLibsForBuck (check twice to make sure caches work) Closes #11511 Differential Revision: D4348098 fbshipit-source-id: 5c2f25cc395ae0cad19d56b7c0b2b102513580fb
Summary: Boost is officially hosted on SourceForge which has ab SSL problem that Gradle complains about and also it is sometimes unavailable. I switched to using npm hosted (yarnpkg mirrored for performance) boost lib exactly the same as from Source Forge. Other alternatives considered: - CDN e.g. mirror.nienbo.com started responding with 4XX code when requested by Gradle - File sharing like DropBox are not for mass anonymous downloads - Github is not good for binary files and is throttled for anonymous raw file downloads - S3 or similar. Requires amazon account for maintenance and does not expose semver API and other nice features that npm has In the future I'd like to try Yarn as dependency management tool for bridge builds, this could be the first step. **Test plan (required)** - Circle (testing with caches cleaned) - `./gradlew ReactAndroid:packageReactNdkLibsForBuck` (check twice to make sure caches work) - `REACT_NATIVE_BOOST_PATH=./bridge-dependencies/node_modules/boost-react-native-bundle ./ Closes facebook#11469 Differential Revision: D4339446 Pulled By: mkonicek fbshipit-source-id: ccc9196e9b675c16a235a318c4861aaa4e263d6e
Summary: Improvement over facebook#11469. Depends on react-native-community/boost-for-react-native#1, **don't merge before it is fixed**. It would be more in line with other dependencies to depend only on github for thirdparty bridge dependencies. **Test plan (required)** - Circle (testing with caches cleaned) - ./gradlew ReactAndroid:packageReactNdkLibsForBuck (check twice to make sure caches work) REACT_NATIVE_BOOST_PATH=./path-to-local-boost/ - ./gradlew ReactAndroid:packageReactNdkLibsForBuck (check twice to make sure caches work) Closes facebook#11511 Differential Revision: D4348098 fbshipit-source-id: 5c2f25cc395ae0cad19d56b7c0b2b102513580fb
Summary: Improvement over facebook#11469. Depends on react-native-community/boost-for-react-native#1, **don't merge before it is fixed**. It would be more in line with other dependencies to depend only on github for thirdparty bridge dependencies. **Test plan (required)** - Circle (testing with caches cleaned) - ./gradlew ReactAndroid:packageReactNdkLibsForBuck (check twice to make sure caches work) REACT_NATIVE_BOOST_PATH=./path-to-local-boost/ - ./gradlew ReactAndroid:packageReactNdkLibsForBuck (check twice to make sure caches work) Closes facebook#11511 Differential Revision: D4348098 fbshipit-source-id: 5c2f25cc395ae0cad19d56b7c0b2b102513580fb
since the old boost location was giving ssl errors, facebook has moved it to ashared repo. for more info, see: facebook#11469
Summary: Boost is officially hosted on SourceForge which has ab SSL problem that Gradle complains about and also it is sometimes unavailable. I switched to using npm hosted (yarnpkg mirrored for performance) boost lib exactly the same as from Source Forge. Other alternatives considered: - CDN e.g. mirror.nienbo.com started responding with 4XX code when requested by Gradle - File sharing like DropBox are not for mass anonymous downloads - Github is not good for binary files and is throttled for anonymous raw file downloads - S3 or similar. Requires amazon account for maintenance and does not expose semver API and other nice features that npm has In the future I'd like to try Yarn as dependency management tool for bridge builds, this could be the first step. **Test plan (required)** - Circle (testing with caches cleaned) - `./gradlew ReactAndroid:packageReactNdkLibsForBuck` (check twice to make sure caches work) - `REACT_NATIVE_BOOST_PATH=./bridge-dependencies/node_modules/boost-react-native-bundle ./ Closes facebook#11469 Differential Revision: D4339446 Pulled By: mkonicek fbshipit-source-id: ccc9196e9b675c16a235a318c4861aaa4e263d6e
Summary: Improvement over facebook#11469. Depends on react-native-community/boost-for-react-native#1, **don't merge before it is fixed**. It would be more in line with other dependencies to depend only on github for thirdparty bridge dependencies. **Test plan (required)** - Circle (testing with caches cleaned) - ./gradlew ReactAndroid:packageReactNdkLibsForBuck (check twice to make sure caches work) REACT_NATIVE_BOOST_PATH=./path-to-local-boost/ - ./gradlew ReactAndroid:packageReactNdkLibsForBuck (check twice to make sure caches work) Closes facebook#11511 Differential Revision: D4348098 fbshipit-source-id: 5c2f25cc395ae0cad19d56b7c0b2b102513580fb
Boost is officially hosted on SourceForge which has ab SSL problem that Gradle complains about and also it is sometimes unavailable.
I switched to using npm hosted (yarnpkg mirrored for performance) boost lib exactly the same as from Source Forge.
Other alternatives considered:
In the future I'd like to try Yarn as dependency management tool for bridge builds, this could be the first step.
Test plan (required)
./gradlew ReactAndroid:packageReactNdkLibsForBuck
(check twice to make sure caches work)REACT_NATIVE_BOOST_PATH=./bridge-dependencies/node_modules/boost-react-native-bundle ./gradlew ReactAndroid:packageReactNdkLibsForBuck
(check twice to make sure caches work)