[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [Git][tpo/applications/tor-browser-build][main] Bug 28595: Remove the need to update var/gradle_dependencies_version



Title: GitLab

boklm pushed to branch main at The Tor Project / Applications / tor-browser-build

Commits:

  • 7c8ce499
    by Nicolas Vigier at 2026-02-09T19:00:44+01:00
    Bug 28595: Remove the need to update var/gradle_dependencies_version
    

12 changed files:

Changes:

  • doc/how-to-update-gradle-dependencies-list.md
    ... ... @@ -13,8 +13,6 @@
    13 13
     5. Extract it.
    
    14 14
     6. Move the `gradle-dependencies-list.txt` you just extracted to
    
    15 15
        `projects/<project name>/`. 
    
    16
    -7. Bump `var/gradle_dependencies_version`.
    
    17
    -   The preferred format is `<project version>-<list version>`. 
    
    18 16
     
    
    19 17
     Theoretically, it should be also possible to set
    
    20 18
     `generate_gradle_dependencies_list: 1` in `rbm.local.conf`, run a full build and
    
    ... ... @@ -68,13 +66,8 @@ from the output artifact.
    68 66
     
    
    69 67
     New Android projects should be setup to do this.
    
    70 68
     
    
    71
    -> **Important**: dependencies are keyed and cached. So, after updating the list,
    
    72
    -> you must also bump `var/gradle_dependencies_version`.
    
    73
    -
    
    74
    -This used to be an integer, but to avoid clashes between the main and
    
    75
    -maintenance branches, we decided to switch to a
    
    76
    -`<project version>-<list version>` format.
    
    77
    -Usually, the list version will be `1`.
    
    69
    +Dependencies are keyed and cached. The key is a checksum of the
    
    70
    +gradle-dependencies-list.txt file.
    
    78 71
     
    
    79 72
     ## Consuming the list
    
    80 73
     
    
    ... ... @@ -86,6 +79,8 @@ hashes of all the other artifacts.
    86 79
     You can wire it in your project with code that looks like this:
    
    87 80
     
    
    88 81
     ```yaml
    
    82
    +- filename: gradle-dependencies-list.txt
    
    83
    +  name: gradle-dependencies-list
    
    89 84
     - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
    
    90 85
       name: gradle-dependencies
    
    91 86
       exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
    

  • projects/application-services/config
    ... ... @@ -20,8 +20,6 @@ container:
    20 20
     
    
    21 21
     var:
    
    22 22
       build_number: 1
    
    23
    -  # This should be updated when the list of gradle dependencies is changed.
    
    24
    -  gradle_dependencies_version: 147.0-1
    
    25 23
       gradle_version: 8.14.3
    
    26 24
       nss_version: '3.118.1'
    
    27 25
       nspr_version: '4.37'
    
    ... ... @@ -73,6 +71,8 @@ steps:
    73 71
           - URL: 'https://ftp.mozilla.org/pub/security/nss/releases/NSS_[% c("var/nss_version") | replace("\\.", "_") %]_RTM/src/nss-[% c("var/nss_version") %]-with-nspr-[% c("var/nspr_version") %].tar.gz'
    
    74 72
             name: nss
    
    75 73
             sha256sum: 9e1f7da9f4e5e3bdfd73f7dc2c618d6125a12354aadaeedbb35af3699bc03e15
    
    74
    +      - filename: gradle-dependencies-list.txt
    
    75
    +        name: gradle-dependencies-list
    
    76 76
           - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
    
    77 77
             name: gradle-dependencies
    
    78 78
             exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
    

  • projects/application-services/gradle-dependencies-list.txt
    1
    -# Don't forget to update var/gradle_dependencies_version when modifying this file
    
    2 1
     sha256sum | url
    
    3 2
     6bd4c7c7476f8260cd3bdbb81183583e93fc9f790c27dea7dc314181cbf87aa0 | https://dl.google.com/dl/android/maven2/androidx/annotation/annotation-experimental/1.4.1/annotation-experimental-1.4.1.aar
    
    4 3
     2ac2f7106e12f263425b4a4dfc80989447fb895675fe902d86759aa74fd12b7d | https://dl.google.com/dl/android/maven2/androidx/annotation/annotation-experimental/1.4.1/annotation-experimental-1.4.1.module
    

  • projects/geckoview/config
    ... ... @@ -36,9 +36,6 @@ var:
    36 36
         - python3-zstandard
    
    37 37
         - pkg-config
    
    38 38
         - openjdk-17-jdk-headless
    
    39
    -  # this should be updated when the list of gradle dependencies is changed
    
    40
    -  # see doc/how-to-create-gradle-dependencies-list.txt
    
    41
    -  gradle_dependencies_version: 147-1
    
    42 39
       gradle_version: 8.14.3
    
    43 40
       glean_parser: 14.0.1
    
    44 41
       # python/mozboot/mozboot/android.py
    
    ... ... @@ -181,6 +178,8 @@ input_files:
    181 178
         enable: '[% c("var/rlbox") %]'
    
    182 179
       - project: application-services
    
    183 180
         name: application-services
    
    181
    +  - filename: gradle-dependencies-list.txt
    
    182
    +    name: gradle-dependencies-list
    
    184 183
       - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
    
    185 184
         name: gradle-dependencies
    
    186 185
         exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
    

  • projects/geckoview/gradle-dependencies-list.txt
    1
    -# Don't forget to update var/gradle_dependencies_version when modifying this file
    
    2 1
     sha256sum | url
    
    3 2
     1ed13a50edbb885962751e1bcb5b8a4207a20cb780ea248ffa653aab3fb10fe9 | https://maven.google.com/androidx/activity/activity-compose/1.10.1/activity-compose-1.10.1.module
    
    4 3
     e64db6b7126fb512394bc3cf4332a38828009daa8dd56ecbe6c0c7300b2127f5 | https://maven.google.com/androidx/activity/activity-compose/1.10.1/activity-compose-1.10.1.pom
    

  • projects/glean/config
    ... ... @@ -10,8 +10,6 @@ container:
    10 10
         build: '[% !c("var/generate_gradle_dependencies_list") %]'
    
    11 11
     
    
    12 12
     var:
    
    13
    -  # This should be updated when the list of gradle dependencies is changed.
    
    14
    -  gradle_dependencies_version: 66.1.1-1
    
    15 13
       gradle_version: 8.14.3
    
    16 14
       # Uncomment this to run an online build to grab an updated
    
    17 15
       # gradle-dependencies-list.txt.
    
    ... ... @@ -49,6 +47,8 @@ steps:
    49 47
             pkg_type: cargo_vendor
    
    50 48
             norec:
    
    51 49
               sha256sum: 417e8e09a7fbe3205827dfa518bfc4a7a08f1869e6d4fd9edf5d8f3f1f48061a
    
    50
    +      - filename: gradle-dependencies-list.txt
    
    51
    +        name: gradle-dependencies-list
    
    52 52
           - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
    
    53 53
             name: gradle-dependencies
    
    54 54
             exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
    

  • projects/glean/gradle-dependencies-list.txt
    1
    -# Don't forget to update var/gradle_dependencies_version when modifying this file
    
    2 1
     sha256sum | url
    
    3 2
     6bd4c7c7476f8260cd3bdbb81183583e93fc9f790c27dea7dc314181cbf87aa0 | https://dl.google.com/dl/android/maven2/androidx/annotation/annotation-experimental/1.4.1/annotation-experimental-1.4.1.aar
    
    4 3
     2ac2f7106e12f263425b4a4dfc80989447fb895675fe902d86759aa74fd12b7d | https://dl.google.com/dl/android/maven2/androidx/annotation/annotation-experimental/1.4.1/annotation-experimental-1.4.1.module
    

  • projects/oss-licenses-plugin/config
    ... ... @@ -4,8 +4,6 @@ git_hash: 185216f8268f8b1f8bfe2377ed3e57aa73b1121c # oss-licenses-plugin-v0.10.7
    4 4
     git_url: https://github.com/google/play-services-plugins.git
    
    5 5
     
    
    6 6
     var:
    
    7
    -  # This should be updated when the list of gradle dependencies is changed.
    
    8
    -  gradle_dependencies_version: 2
    
    9 7
       gradle_version: 8.14.3
    
    10 8
     
    
    11 9
     container:
    
    ... ... @@ -15,6 +13,8 @@ input_files:
    15 13
       - project: container-image
    
    16 14
       - project: gradle
    
    17 15
         name: gradle
    
    16
    +  - filename: gradle-dependencies-list.txt
    
    17
    +    name: gradle-dependencies-list
    
    18 18
       - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
    
    19 19
         name: gradle-dependencies
    
    20 20
         exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
    

  • projects/oss-licenses-plugin/gradle-dependencies-list.txt
    1 1
     # On how to update dependencies see doc/how-to-create-gradle-dependencies-list.txt
    
    2
    -# Don't forget to update var/gradle_dependencies_version when modifying this file
    
    3 2
     sha256sum | url
    
    4 3
     33c839e4236eabde3896c154d120d651e72064f393e456297c92041d00cc058e | https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/7.1.0/apksig-7.1.0.jar
    
    5 4
     67a8f20626121a8e4f48fc63a392c0459173a9992eb35cc9c9c3ec82b882862c | https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/7.1.0/apksig-7.1.0.module
    

  • rbm
    1
    -Subproject commit 36608a50ccf8feedcd03eb846c606718f5ef2d6b
    1
    +Subproject commit 4c881eb45291e323dcf4e4f1ae7eabed045ea8a3

  • rbm.conf
    ... ... @@ -155,7 +155,7 @@ var:
    155 155
         input_files: [% c("input_files_id") %]
    
    156 156
         build:
    
    157 157
         [% SET step = c("step") -%]
    
    158
    -    [% c(step, { filename => 'f', output_dir => '/out', norec => {} }) %]
    
    158
    +    [% c(step, { filename => 'f', getting_id => 1, norec => {} }) %]
    
    159 159
     
    
    160 160
       display_name: '[% c("var/Project_Name") %] [% c("var/channel") FILTER ucfirst %]'
    
    161 161
       exe_name: firefox
    
    ... ... @@ -300,6 +300,8 @@ var:
    300 300
       # be enabled in rbm.local.conf.
    
    301 301
       dev_artifacts: 0
    
    302 302
     
    
    303
    +  gradle_dependencies_version: '[% c("input_files_ids_by_name/gradle-dependencies-list").split(":").1.substr(0, 15) %]'
    
    304
    +
    
    303 305
     targets:
    
    304 306
       notarget: linux-x86_64
    
    305 307
       noint:
    

  • tools/fix_gradle_deps.py
    ... ... @@ -14,13 +14,12 @@ import requests
    14 14
     # See https://gitlab.torproject.org/tpo/tpa/team/-/issues/41654.
    
    15 15
     requests.packages.urllib3.util.connection.HAS_IPV6 = False
    
    16 16
     
    
    17
    -if len(sys.argv) < 3:
    
    17
    +if len(sys.argv) < 2:
    
    18 18
         print(
    
    19
    -        f"Usage: {sys.argv[0]} project-name gradle-dep-num"
    
    19
    +        f"Usage: {sys.argv[0]} project-name"
    
    20 20
         )
    
    21 21
         sys.exit(1)
    
    22 22
     target = sys.argv[1]
    
    23
    -target_ver = sys.argv[2]
    
    24 23
     # We assume the script is in tor-browser-build/tools
    
    25 24
     tbbuild = Path(__file__).parent.parent
    
    26 25
     
    
    ... ... @@ -38,14 +37,18 @@ for p in java_projects:
    38 37
     
    
    39 38
     parser = re.compile(r"^([0-9a-fA-F]+)\s+\|\s+(\S+)\s*$")
    
    40 39
     pairs = []
    
    40
    +h = hashlib.sha256()
    
    41 41
     with open(tbbuild / "projects" / target / "gradle-dependencies-list.txt") as f:
    
    42 42
         for line in f.readlines():
    
    43
    +        h.update(line.encode("utf-8"))
    
    43 44
             line = line.strip()
    
    44 45
             if line[0] == '#' or line == 'sha256sum | url':
    
    45 46
                 continue
    
    46 47
             m = parser.match(line)
    
    47 48
             pairs.append((m.group(2), m.group(1)))
    
    48 49
     
    
    50
    +target_ver = h.hexdigest()[:15]
    
    51
    +
    
    49 52
     dest_dir = tbbuild / "out" / target / f"gradle-dependencies-{target_ver}"
    
    50 53
     dest_dir.mkdir(parents=True, exist_ok=True)
    
    51 54
     os.chdir(str(dest_dir))
    

  • _______________________________________________
    tor-commits mailing list -- tor-commits@xxxxxxxxxxxxxxxxxxxx
    To unsubscribe send an email to tor-commits-leave@xxxxxxxxxxxxxxxxxxxx