Jakub Sokołowski
80a75c5232
Before we were patching only `build.gradle`, which is not the only type of Gradle config file. If we do not cover them all we can encounter errors about missing package because they will continue using remote repositories instead of `mavenLocal()`, to which pass Nix store path. We also need to cover `gradlePluginPortal()` to provide plugins. This is also necessary for the React Native upgrade: https://github.com/status-im/status-mobile/pull/15203 Signed-off-by: Jakub Sokołowski <jakub@status.im> |
||
---|---|---|
.. | ||
README.md | ||
default.nix |
README.md
Description
This Nix derivation takes the result of the nix/deps/nodejs/default.nix
derivation and adjusts it for use with Gradle.
Details
Modules provided by yarn2nix
are normally fine, but we use react-native-*
packages which have their own gradle.build
files that reference external Maven repositories:
repositories {
google()
maven { url "https://www.jitpack.io" }
}
And these need to be patched and replaced with mavenLocal()
to make sure Gradle doesn't try to fetch dependencies from remote repos.
This derivation symlinks most of the modules found in the yarn2nix
result and copies the ones that require patching of gradle.build
files in patchGradlePhase
.
It also applies other fixes like making BuildId
static in patchBuildIdPhase
and fixing a Hermes bug in patchHermesPhase
.