[tbb-commits] [tor-browser-build/master] Bug 31568: Update How to Create Gradle Dependencies
gk at torproject.org
gk at torproject.org
Wed Oct 9 13:05:32 UTC 2019
commit 5d8507dd6ae08f9d3552aba0b34cab918c35e341
Author: sisbell <shane.isbell at gmail.com>
Date: Mon Sep 16 12:01:54 2019 -0700
Bug 31568: Update How to Create Gradle Dependencies
---
.../how-to-create-gradle-dependencies-list.txt | 25 +++++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)
diff --git a/projects/common/how-to-create-gradle-dependencies-list.txt b/projects/common/how-to-create-gradle-dependencies-list.txt
index d980ba2..e85c56a 100644
--- a/projects/common/how-to-create-gradle-dependencies-list.txt
+++ b/projects/common/how-to-create-gradle-dependencies-list.txt
@@ -1,11 +1,22 @@
### Updating Gradle Dependencies
If additional Android dependencies are required by the project's build, then
the Gradle build will fail due to missing dependencies. To find out what the
-missing dependencies are, comment out the following line in the project's build
-file:
+missing dependencies are take the following steps.
+
+For tor-onion-proxy-library and tor-android-service, replace the following line
+in the respective project build file:
+ $GRADLE_HOME/gradle-4.10.2/bin/gradle --offline --no-daemon -P androidplugin=3.1.0 -Dmaven.repo.local=$gradle_repo assembleRelease -x lint
+with
+ $GRADLE_HOME/gradle-4.10.2/bin/gradle --debug --no-daemon -P androidplugin=3.1.0 assembleRelease -x lint
+
+For the firefox project, comment out the following line in the project's build file:
export GRADLE_MAVEN_REPOSITORIES="file://$rootdir/[% c('input_files_by_name/gradle-dependencies') %]"
+Also modify the gradle flags to include the debug option so the download logs will show up:
+
+ export GRADLE_FLAGS="--no-daemon --debug"
+
then allow network access during the build by setting
var/container/disable_network/build to 0 in rbm.conf, and rerun the build.
@@ -13,7 +24,15 @@ Dependent artifacts will show up as downloads in the logs. You can pull out
these dependencies into a list with the following command (replacing
"firefox-android-armv7.log" with the build log file name of the actual project):
-`cat logs/firefox-android-armv7.log | grep "Download http" | sed "s/^.*Download //g" > download-urls.txt`
+`cat logs/firefox-android-armv7.log | grep "Performing HTTP" | grep -o "https://.*" | sort | uniq > download-attempts.txt`
+
+The download-attempts.txt file contains all the attempted downloads, so we need to find out which ones failed
+
+`cat logs/firefox-android-armv7.log | grep "Resource missing" | grep -o "https:.*[^]]" | sort | uniq > download-fails.txt`
+
+Now take the intersection. This removes failures from attempts, leaving just successful downloads
+
+`sort download-attempts.txt download-fails.txt | uniq -u | rev | sort -t/ -u -k1,4 | rev | sort > download-urls.txt`
You will then need to add the new dependency URLs and SHA-256 values into the
projects/$project/gradle-dependencies-list.txt file. The format of this file is
More information about the tbb-commits
mailing list