[tor-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 tor-commits mailing list