status-mobile/nix/deps/gradle
Jakub Sokołowski d0216674da
nix: use go-maven-resolver to fix nix-update-gradle
This Go package was implemented by me to avoid having to use Mavan or
Gradle to resolve all the dependencies for Nix:
https://github.com/status-im/go-maven-resolver

The Go tool is essentially a slightly smarter and more efficient version
of the `get_urls.sh` script, which was mostly slow due to the `mvn
dependency:list` calls and slow HTTP requests.

This takes down the `make nix-update-gradle` target to under 2 minutes
on my machine.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-05-24 18:08:05 +02:00
..
README.md
default.nix
deps.json nix: use go-maven-resolver to fix nix-update-gradle 2020-05-24 18:08:05 +02:00
deps.list
deps.urls nix: use go-maven-resolver to fix nix-update-gradle 2020-05-24 18:08:05 +02:00
generate.sh nix: use go-maven-resolver to fix nix-update-gradle 2020-05-24 18:08:05 +02:00
get_deps.sh
get_projects.sh
proj.list
url2json.sh nix: use go-maven-resolver to fix nix-update-gradle 2020-05-24 18:08:05 +02:00

README.md

Maven dependencies Nix wrapper

Overview

This folder contains the Nix expression (maven-sources.nix) that downloads all Maven dependencies required for Gradle, as well as the scripts used to generate that file, namely:

  • generate-nix.sh: This is the main entry point script, which will use Gradle to determine the dependencies (into maven-inputs.txt), and nix/tools/maven/maven-inputs2nix.sh to generate default.nix from those dependencies.
  • fetch-maven-deps.sh: This script does the heavy work of determining Gradle dependencies and outputting a maven-inputs.txt file listing the external URLs.
  • reactnative-android-native-deps.nix: Contains the Nix attribute set used to download the React Native dependencies used in React Native Gradle scripts.
  • maven-inputs.txt: A list of Maven dependenciy URLs that can be used by nix/tools/maven/maven-inputs2nix.sh to generate maven-sources.nix.