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

Commits:

10 changed files:

Changes:

  • projects/geckoview/build
    1 1
     #!/bin/bash
    
    2
    -[% c("var/set_default_env") -%]
    
    3
    -[% pc(c('var/compiler'), 'var/setup', {
    
    4
    -    compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')),
    
    5
    -    gradle_tarfile => c("input_files_by_name/gradle"),
    
    6
    -  }) %]
    
    7
    -distdir=/var/tmp/dist
    
    8
    -mkdir -p /var/tmp/build
    
    9
    -mkdir -p $distdir
    
    2
    +[% INCLUDE 'build_common' %]
    
    10 3
     
    
    11 4
     tar -C /var/tmp/dist -xf [% c('input_files_by_name/rust') %]
    
    12 5
     tar -C /var/tmp/dist -xf [% c('input_files_by_name/cbindgen') %]
    
    13 6
     tar -C /var/tmp/dist -xf [% c('input_files_by_name/nasm') %]
    
    14
    -tar -C /var/tmp/dist -xf [% c('input_files_by_name/node') %]
    
    15 7
     tar -C /var/tmp/dist -xf [% c('input_files_by_name/clang') %]
    
    16 8
     export LLVM_CONFIG="/var/tmp/dist/clang/bin/llvm-config"
    
    17 9
     tar -C /var/tmp/dist -xf [% c('input_files_by_name/llvm-runtimes') %]
    
    18 10
     cp -r /var/tmp/dist/llvm-runtimes/* /var/tmp/dist/clang/
    
    19 11
     tar -C /var/tmp/dist -xf [% c('input_files_by_name/binutils') %]
    
    20
    -export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/nasm/bin:/var/tmp/dist/node/bin:/var/tmp/dist/clang/bin:/var/tmp/dist/binutils/bin:$PATH"
    
    12
    +export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/nasm/bin:/var/tmp/dist/clang/bin:/var/tmp/dist/binutils/bin:$PATH"
    
    21 13
     
    
    22 14
     [% IF c("var/rlbox") -%]
    
    23 15
       tar -C /var/tmp/dist -xf [% c('input_files_by_name/wasi-sysroot') %]
    
    ... ... @@ -31,13 +23,6 @@ export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/nasm/bi
    31 23
       export WASI_SYSROOT=/var/tmp/dist/wasi-sysroot/share/wasi-sysroot
    
    32 24
     [% END -%]
    
    33 25
     
    
    34
    -tar -xf [% c('input_files_by_name/application-services') %]
    
    35
    -export NIMBUS_FML=$rootdir/application-services/nimbus-fml
    
    36
    -
    
    37
    -[% INCLUDE 'fake-git' %]
    
    38
    -
    
    39
    -tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
    
    40
    -
    
    41 26
     cd /var/tmp/build/[% project %]-[% c("version") %]
    
    42 27
     cat > .mozconfig << 'MOZCONFIG_EOF'
    
    43 28
     . $topsrcdir/mozconfig-[% c("var/osname") %]
    
    ... ... @@ -50,28 +35,6 @@ export MOZ_SOURCE_CHANGESET=[% c("var/git_commit") %]
    50 35
     ac_add_options --enable-update-channel=[% c("var/variant") %]
    
    51 36
     MOZCONFIG_EOF
    
    52 37
     
    
    53
    -[% c("var/set_MOZ_BUILD_DATE") %]
    
    54
    -
    
    55
    -export JAVA_HOME=/usr/lib/jvm/java-1.17.0-openjdk-amd64
    
    56
    -gradle_repo=/var/tmp/dist/gradle-dependencies
    
    57
    -export GRADLE_MAVEN_REPOSITORIES="file://$gradle_repo","file://$gradle_repo/maven2"
    
    58
    -# Set the Maven local repository because Gradle ignores our overriding of $HOME.
    
    59
    -# It is only used for the local pubblication of single-arch AARs.
    
    60
    -export GRADLE_FLAGS="--no-daemon --offline -Dmaven.repo.local=$distdir/[% project %]"
    
    61
    -# Move the Gradle repo to a hard-coded location. The location is embedded in
    
    62
    -# the file chrome/toolkit/content/global/buildconfig.html so it needs to be
    
    63
    -# standardized for reproducibility.
    
    64
    -mv $rootdir/[% c('input_files_by_name/gradle-dependencies') %] $gradle_repo
    
    65
    -cp -rl $rootdir/application-services/maven/* $gradle_repo
    
    66
    -cp -rl $gradle_repo/dl/android/maven2/* $gradle_repo || true
    
    67
    -cp -rl $gradle_repo/m2/* $gradle_repo || true
    
    68
    -cp -rl $gradle_repo/maven2/* $gradle_repo || true
    
    69
    -
    
    70
    -# We unbreak mach, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1656993 and https://bugzilla.mozilla.org/show_bug.cgi?id=1755516
    
    71
    -export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
    
    72
    -# Create .mozbuild to avoid interactive prompt in configure
    
    73
    -mkdir "$HOME/.mozbuild"
    
    74
    -
    
    75 38
     echo "Starting ./mach configure $(date)"
    
    76 39
     ./mach configure \
    
    77 40
       --with-base-browser-version=[% c("var/torbrowser_version") %] \
    

  • projects/geckoview/build_apk
    1 1
     #!/bin/bash
    
    2
    -[% c("var/set_default_env") -%]
    
    3
    -[% pc(c('var/compiler'), 'var/setup', {
    
    4
    -  compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')),
    
    5
    -  gradle_tarfile => c("input_files_by_name/gradle"),
    
    6
    -}) %]
    
    7
    -distdir=/var/tmp/dist
    
    8
    -builddir=/var/tmp/build
    
    9
    -mkdir -p $builddir $distdir
    
    10
    -
    
    11
    -tar -C $distdir -xf [% c('input_files_by_name/node') %]
    
    12
    -export PATH="/var/tmp/dist/node/bin:$PATH"
    
    2
    +[% INCLUDE 'build_common' %]
    
    13 3
     
    
    14 4
     tar -C $distdir -xf $rootdir/[% c('input_files_by_name/translation-fenix') %]
    
    15 5
     
    
    16 6
     tar -xf [% c('input_files_by_name/glean-wheels') %]
    
    17 7
     export GLEAN_PYTHON_WHEELS_DIR=$rootdir/glean-wheels
    
    18 8
     
    
    19
    -tar -xf [% c('input_files_by_name/application-services') %]
    
    20
    -export NIMBUS_FML=$rootdir/application-services/nimbus-fml
    
    21
    -
    
    22
    -[% INCLUDE 'fake-git' %]
    
    23
    -
    
    24 9
     tar -C $builddir -xf [% c('input_files_by_name/geckoview_armv7') %]
    
    25 10
     tar -C $builddir -xf [% c('input_files_by_name/geckoview_aarch64') %]
    
    26 11
     tar -C $builddir -xf [% c('input_files_by_name/geckoview_x86') %]
    
    ... ... @@ -44,23 +29,6 @@ export MOZ_SOURCE_REPO="[% c('var/gitlab_project') %]"
    44 29
     export MOZ_SOURCE_CHANGESET=[% c("var/git_commit") %]
    
    45 30
     MOZCONFIG_EOF
    
    46 31
     
    
    47
    -[% c("var/set_MOZ_BUILD_DATE") %]
    
    48
    -
    
    49
    -export JAVA_HOME=/usr/lib/jvm/java-1.17.0-openjdk-amd64
    
    50
    -gradle_repo=/var/tmp/dist/gradle-dependencies
    
    51
    -export GRADLE_MAVEN_REPOSITORIES="file://$gradle_repo","file://$gradle_repo/maven2"
    
    52
    -export GRADLE_FLAGS="--no-daemon --offline -Dmaven.repo.local=$distdir/[% project %]"
    
    53
    -mv $rootdir/[% c('input_files_by_name/gradle-dependencies') %] $gradle_repo
    
    54
    -cp -rl $rootdir/application-services/maven/* $gradle_repo
    
    55
    -cp -rl $gradle_repo/dl/android/maven2/* $gradle_repo || true
    
    56
    -cp -rl $gradle_repo/m2/* $gradle_repo || true
    
    57
    -cp -rl $gradle_repo/maven2/* $gradle_repo || true
    
    58
    -
    
    59
    -# We unbreak mach, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1656993.
    
    60
    -export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
    
    61
    -# Create .mozbuild to avoid interactive prompt in configure
    
    62
    -mkdir "$HOME/.mozbuild"
    
    63
    -
    
    64 32
     [% IF c("var/has_l10n") -%]
    
    65 33
       supported_locales="[% tmpl(c('var/locales_mobile').join(' ')).replace('-r', '-').replace('in', 'id').replace('iw', 'he') %]"
    
    66 34
       l10ncentral="$HOME/.mozbuild/l10n-central"
    
    ... ... @@ -73,9 +41,6 @@ mkdir "$HOME/.mozbuild"
    73 41
       # through GeckoView.
    
    74 42
     [% END -%]
    
    75 43
     
    
    76
    -export LC_ALL=C.UTF-8
    
    77
    -export LANG=C.UTF-8
    
    78
    -
    
    79 44
     # We still need to specify --tor-browser-version due to bug 34005.
    
    80 45
     ./mach configure \
    
    81 46
       --with-base-browser-version=[% c("var/torbrowser_version") %] \
    

  • projects/geckoview/build_common
    1
    +[% c("var/set_default_env") -%]
    
    2
    +[% pc(c('var/compiler'), 'var/setup', {
    
    3
    +  compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')),
    
    4
    +  gradle_tarfile => c("input_files_by_name/gradle"),
    
    5
    +}) %]
    
    6
    +distdir=/var/tmp/dist
    
    7
    +builddir=/var/tmp/build
    
    8
    +mkdir -p $builddir $distdir
    
    9
    +
    
    10
    +tar -C $distdir -xf [% c('input_files_by_name/node') %]
    
    11
    +export PATH="/var/tmp/dist/node/bin:$PATH"
    
    12
    +
    
    13
    +export LC_ALL=C.UTF-8
    
    14
    +export LANG=C.UTF-8
    
    15
    +
    
    16
    +tar -xf [% c('input_files_by_name/application-services') %]
    
    17
    +export NIMBUS_FML=$rootdir/application-services/nimbus-fml
    
    18
    +
    
    19
    +[% INCLUDE 'fake-git' %]
    
    20
    +
    
    21
    +tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
    
    22
    +
    
    23
    +[% c("var/set_MOZ_BUILD_DATE") %]
    
    24
    +
    
    25
    +export JAVA_HOME=/usr/lib/jvm/java-1.17.0-openjdk-amd64
    
    26
    +gradle_repo=/var/tmp/dist/gradle-dependencies
    
    27
    +export GRADLE_MAVEN_REPOSITORIES="file://$gradle_repo","file://$gradle_repo/maven2"
    
    28
    +# Set the Maven local repository because Gradle ignores our overriding of $HOME.
    
    29
    +# It is only used for the local pubblication of single-arch AARs.
    
    30
    +export GRADLE_FLAGS="--no-daemon --offline -Dmaven.repo.local=$distdir/[% project %]"
    
    31
    +# Move the Gradle repo to a hard-coded location. The location is embedded in
    
    32
    +# the file chrome/toolkit/content/global/buildconfig.html so it needs to be
    
    33
    +# standardized for reproducibility.
    
    34
    +mv $rootdir/[% c('input_files_by_name/gradle-dependencies') %] $gradle_repo
    
    35
    +cp -rl $rootdir/application-services/maven/* $gradle_repo
    
    36
    +cp -rl $gradle_repo/dl/android/maven2/* $gradle_repo || true
    
    37
    +cp -rl $gradle_repo/m2/* $gradle_repo || true
    
    38
    +cp -rl $gradle_repo/maven2/* $gradle_repo || true
    
    39
    +
    
    40
    +tar -xf [% c('input_files_by_name/oss-licenses-plugin') %]
    
    41
    +cp -rl oss-licenses-plugin/. $gradle_repo
    
    42
    +
    
    43
    +# We unbreak mach, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1656993.
    
    44
    +export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
    
    45
    +# Create .mozbuild to avoid interactive prompt in configure
    
    46
    +mkdir "$HOME/.mozbuild"

  • projects/geckoview/config
    ... ... @@ -36,7 +36,7 @@ var:
    36 36
         - openjdk-17-jdk-headless
    
    37 37
       # this should be updated when the list of gradle dependencies is changed
    
    38 38
       # see doc/how-to-create-gradle-dependencies-list.txt
    
    39
    -  gradle_dependencies_version: 13
    
    39
    +  gradle_dependencies_version: 14
    
    40 40
       gradle_version: 8.8
    
    41 41
       glean_parser: 14.0.1
    
    42 42
       variant: beta
    
    ... ... @@ -111,6 +111,9 @@ steps:
    111 111
           - name: tor-expert-bundle-aar
    
    112 112
             project: tor-expert-bundle-aar
    
    113 113
             pkg_type: build
    
    114
    +      - project: oss-licenses-plugin
    
    115
    +        name: oss-licenses-plugin
    
    116
    +        pkg_type: build
    
    114 117
     
    
    115 118
       list_toolchain_updates:
    
    116 119
         git_hash: tor-browser-128.0b1-14.0-1
    
    ... ... @@ -147,3 +150,5 @@ input_files:
    147 150
       - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
    
    148 151
         name: gradle-dependencies
    
    149 152
         exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
    
    153
    +  - project: oss-licenses-plugin
    
    154
    +    name: oss-licenses-plugin

  • projects/geckoview/gradle-dependencies-list.txt
    ... ... @@ -961,8 +961,6 @@ bc787098a208e6bdc8d93720a162bbea01df1b26394d1c1ef5ec523b1d604e8b | https://maven
    961 961
     d6ff762251fb35594afe5efe860b5871064e18c0bd1bdb77084e3573f90e4e8f | https://maven.google.com/com/google/android/datatransport/transport-runtime/3.1.8/transport-runtime-3.1.8.pom
    
    962 962
     41745c5b8f427d24439015b84f651ad420718991867d2afc262c264009b802c1 | https://maven.google.com/com/google/android/datatransport/transport-runtime/3.1.9/transport-runtime-3.1.9.aar
    
    963 963
     86f452b74551062623fad0b0bb6bc4dc2a6ba9f44a99834d0e50fb047051357b | https://maven.google.com/com/google/android/datatransport/transport-runtime/3.1.9/transport-runtime-3.1.9.pom
    
    964
    -a2625e5f849e9d03a564cd85a08caa4266cd89c25af4298aad86c276f9efbc42 | https://maven.google.com/com/google/android/gms/oss-licenses-plugin/0.10.4/oss-licenses-plugin-0.10.4.jar
    
    965
    -7e782a6e268910e89a0549f4a559385042d17dcf42f70c1031c02b3db5ba5bd0 | https://maven.google.com/com/google/android/gms/oss-licenses-plugin/0.10.4/oss-licenses-plugin-0.10.4.pom
    
    966 964
     380b09bfc5389fff93b5719c04e57c99678c9c3af0402a91e26d89734babcc49 | https://maven.google.com/com/google/android/gms/play-services-ads-identifier/16.0.0/play-services-ads-identifier-16.0.0.aar
    
    967 965
     d851ae0d9232951d36b1060eb8a3dc07ac5fcf668cb741b0a5a165c60519c898 | https://maven.google.com/com/google/android/gms/play-services-ads-identifier/16.0.0/play-services-ads-identifier-16.0.0.pom
    
    968 966
     eb1a063e5f2bccfc0568957d6699b6efbe741eb7ca785d8dcc9fac4de5d092bc | https://maven.google.com/com/google/android/gms/play-services-base/18.4.0/play-services-base-18.4.0.aar
    

  • projects/oss-licenses-plugin/build
    1
    +#!/bin/bash
    
    2
    +[% c("var/set_default_env") -%]
    
    3
    +
    
    4
    +distdir=/var/tmp/dist/[% project %]
    
    5
    +builddir=/var/tmp/build/[% project %]-[% c('version') %]/[% project %]
    
    6
    +mkdir -p $distdir $builddir
    
    7
    +tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
    
    8
    +
    
    9
    +tar -C /var/tmp/dist -xf [% c('input_files_by_name/gradle') %] 
    
    10
    +export PATH=/var/tmp/dist/gradle/bin:$PATH
    
    11
    +
    
    12
    +gradle_repo=/var/tmp/dist/gradle-dependencies
    
    13
    +mv $rootdir/[% c('input_files_by_name/gradle-dependencies') %] $gradle_repo
    
    14
    +cp -rl $gradle_repo/m2/* $gradle_repo || true
    
    15
    +
    
    16
    +cd $builddir
    
    17
    +patch -p2 < $rootdir/sort-dependencies.diff
    
    18
    +patch -p2 < $rootdir/build-customization.diff
    
    19
    +gradle --no-daemon --offline -Dmaven.repo.local=$gradle_repo assemble publish
    
    20
    +cd build/repo
    
    21
    +cp -a . $distdir/
    
    22
    +
    
    23
    +cd /var/tmp/dist
    
    24
    +
    
    25
    +[% c('tar', {
    
    26
    +    tar_src => [ project ],
    
    27
    +    tar_args => '-caf ' _ dest_dir _ '/' _ c('filename'),
    
    28
    +  }) %]

  • projects/oss-licenses-plugin/build-customization.diff
    1
    +diff --git a/oss-licenses-plugin/build.gradle b/oss-licenses-plugin/build.gradle
    
    2
    +index 2a7dd74..f9368e1 100644
    
    3
    +--- a/oss-licenses-plugin/build.gradle
    
    4
    ++++ b/oss-licenses-plugin/build.gradle
    
    5
    +@@ -15,34 +15,25 @@ dependencies {
    
    6
    + group = 'com.google.android.gms'
    
    7
    + version = '0.10.4'
    
    8
    + 
    
    9
    +-apply plugin: 'maven'
    
    10
    ++apply plugin: 'maven-publish'
    
    11
    + 
    
    12
    + repositories {
    
    13
    +     google()
    
    14
    +     jcenter()
    
    15
    ++    mavenLocal()
    
    16
    + }
    
    17
    + 
    
    18
    +-// upload and build in local
    
    19
    +-uploadArchives {
    
    20
    +-    repositories {
    
    21
    +-        mavenDeployer {
    
    22
    +-            repository(url: uri('../repo'))
    
    23
    +-            pom.project {
    
    24
    +-                licenses {
    
    25
    +-                    license {
    
    26
    +-                        name 'The Apache Software License, Version 2.0'
    
    27
    +-                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
    
    28
    +-                        distribution 'repo'
    
    29
    +-                    }
    
    30
    +-                }
    
    31
    +-
    
    32
    +-            }
    
    33
    ++publishing {
    
    34
    ++    publications {
    
    35
    ++        customLibrary(MavenPublication) {
    
    36
    ++            from components.java
    
    37
    +         }
    
    38
    +     }
    
    39
    +-}
    
    40
    + 
    
    41
    +-// generate zip file for android maven release tool
    
    42
    +-task packageFiles(type: Zip, dependsOn: 'uploadArchives') {
    
    43
    +-    def groupDir = rootProject.group.replaceAll('\\.', '/')
    
    44
    +-    from("../repo/$groupDir/$rootProject.name/$rootProject.version/")
    
    45
    ++    repositories {
    
    46
    ++        maven {
    
    47
    ++            name = 'sampleRepo'
    
    48
    ++            url = layout.buildDirectory.dir("repo")
    
    49
    ++        }
    
    50
    ++    }
    
    51
    + }

  • projects/oss-licenses-plugin/config
    1
    +version: 0.10.4
    
    2
    +filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
    
    3
    +git_url: https://github.com/google/play-services-plugins.git
    
    4
    +git_hash: c9ed0e48abe2c55dd67f2c2224988d1d690cecc9 # oss-licenses-plugin-v0.10.4
    
    5
    +
    
    6
    +var:
    
    7
    +  # This should be updated when the list of gradle dependencies is changed.
    
    8
    +  gradle_dependencies_version: 1
    
    9
    +  gradle_version: 8.8
    
    10
    +
    
    11
    +container:
    
    12
    +  use_container: 1
    
    13
    +
    
    14
    +input_files:
    
    15
    +  - project: container-image
    
    16
    +  - project: gradle
    
    17
    +    name: gradle
    
    18
    +  - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
    
    19
    +    name: gradle-dependencies
    
    20
    +    exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
    
    21
    +  - filename: build-customization.diff
    
    22
    +  - filename: sort-dependencies.diff

  • projects/oss-licenses-plugin/gradle-dependencies-list.txt
    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
    +sha256sum | url
    
    4
    +408d8ed48da2b7b2c8f7216906c1b76a1ecdb9c165cdb52c9eeb32af0cc67f0f | https://maven.google.com/androidx/databinding/databinding-common/3.5.1/databinding-common-3.5.1.jar
    
    5
    +008e3641392787bd3f6e5fe3a56457379cbba8be62ae5a91ba982b7e534a2b37 | https://maven.google.com/androidx/databinding/databinding-common/3.5.1/databinding-common-3.5.1.pom
    
    6
    +b6235dd4ff7457f517e30479fe050a2ae27a2b3ef8ae33d44d9a3d2197911779 | https://maven.google.com/androidx/databinding/databinding-compiler-common/3.5.1/databinding-compiler-common-3.5.1.jar
    
    7
    +4a3bfe5d22a4df2490f6180ef1e22a2ea189f42676532d6d7d6ece9b57a2c506 | https://maven.google.com/androidx/databinding/databinding-compiler-common/3.5.1/databinding-compiler-common-3.5.1.pom
    
    8
    +4b698a77c578215a7f746e93422757a8e4d6ee9c8a29fdd9f994712f723604ed | https://maven.google.com/com/android/databinding/baseLibrary/3.5.1/baseLibrary-3.5.1.jar
    
    9
    +6659dd657846c519b12ad701815f2009f8d9991c798ca3a5a628e163987aecab | https://maven.google.com/com/android/databinding/baseLibrary/3.5.1/baseLibrary-3.5.1.pom
    
    10
    +9e9618ed7f1d24df2a4365e1719d630d8ac9c2dd31bea3343157a4ae5efa7fb9 | https://maven.google.com/com/android/tools/analytics-library/crash/26.5.1/crash-26.5.1.jar
    
    11
    +215d75a04ddcfa897e12f3c4d204f24e94214385f1f11ddcea4ddcd56ddb5243 | https://maven.google.com/com/android/tools/analytics-library/crash/26.5.1/crash-26.5.1.pom
    
    12
    +8dde1130725461fe827f2a343d353f2b51e8870661fc860d7d5ebddb097ead4e | https://maven.google.com/com/android/tools/analytics-library/protos/26.5.1/protos-26.5.1.jar
    
    13
    +7b042861662b26a41e8f71a093cffc78dd8eb746e5ab98a645e1dcf49612bd0a | https://maven.google.com/com/android/tools/analytics-library/protos/26.5.1/protos-26.5.1.pom
    
    14
    +ccc2f3b00ec17b11401610ba68553544fc8fc517120e84439ac6eb86b875e18d | https://maven.google.com/com/android/tools/analytics-library/shared/26.5.1/shared-26.5.1.jar
    
    15
    +727842ddf56dbf158091a4f113005ec0e2d04ae2c066d7ede9b65ce6a9131aa8 | https://maven.google.com/com/android/tools/analytics-library/shared/26.5.1/shared-26.5.1.pom
    
    16
    +3a76984c0fe2e847ca7a8b35b4780ef0447a9d1666946cb8e60466318e0ab5ae | https://maven.google.com/com/android/tools/analytics-library/tracker/26.5.1/tracker-26.5.1.jar
    
    17
    +6327d446e6c59adacad78265fc61ac09ddcb751fe4e62b3697dc9d6534c0c451 | https://maven.google.com/com/android/tools/analytics-library/tracker/26.5.1/tracker-26.5.1.pom
    
    18
    +2c43c82f8c59d8f7a61e3239e1a2dc9f69dc342ec09af9b7c9f69b25337c0b6e | https://maven.google.com/com/android/tools/annotations/26.5.1/annotations-26.5.1.jar
    
    19
    +3caa859d7b198f9f429f50874921f5e05f105112400eed666d5e56a0e8417e09 | https://maven.google.com/com/android/tools/annotations/26.5.1/annotations-26.5.1.pom
    
    20
    +fac0435e08898f89eeeb9ca236bea707155ff816c12205ced285ad53604133ca | https://maven.google.com/com/android/tools/build/aapt2-proto/0.4.0/aapt2-proto-0.4.0.jar
    
    21
    +a24bdd4e8e374fdcd8cef8d77ea723f147ccd0f25dc6de4fbe290039be904339 | https://maven.google.com/com/android/tools/build/aapt2-proto/0.4.0/aapt2-proto-0.4.0.pom
    
    22
    +1fd33e7f009a2a0da766cfeec4211a09f548034b015c289a66d75dd8a9302f4a | https://maven.google.com/com/android/tools/build/apksig/3.5.1/apksig-3.5.1.jar
    
    23
    +4c9f03d9fbc5accffafd56b0ae677d41ea0a395980a2cc052a7bcefccb2483a9 | https://maven.google.com/com/android/tools/build/apksig/3.5.1/apksig-3.5.1.pom
    
    24
    +9f330167cbe973b7db407692f74f4f6453b7ffa5f2048934b06280c2ceee60fa | https://maven.google.com/com/android/tools/build/apkzlib/3.5.1/apkzlib-3.5.1.jar
    
    25
    +f299c423220ae47404b9013e54caec84ea64f45f69885e4dc0e2e66b7095e33e | https://maven.google.com/com/android/tools/build/apkzlib/3.5.1/apkzlib-3.5.1.pom
    
    26
    +39ea3c82b76b6e0c9f9fa88d93e0edc1dd4a0f1dfae0ef6fbf2d451da47e5450 | https://maven.google.com/com/android/tools/build/builder-model/3.5.1/builder-model-3.5.1.jar
    
    27
    +466e5005cf0a7c7bad8991b14c70b04457b77d28195ec04ec2baf6495e88f4a2 | https://maven.google.com/com/android/tools/build/builder-model/3.5.1/builder-model-3.5.1.pom
    
    28
    +a1b59305584cbcaa078fdc9cfb80871012755b822dd32e8da19add6f7bbcb762 | https://maven.google.com/com/android/tools/build/builder-test-api/3.5.1/builder-test-api-3.5.1.jar
    
    29
    +704e2ad557e5659b98bb8955fbab20977cddb09c06e72825cf2516635424b8cb | https://maven.google.com/com/android/tools/build/builder-test-api/3.5.1/builder-test-api-3.5.1.pom
    
    30
    +e3a8d382434c5f60990730c4719fc814e85a898a33a1e96c1df8d627d3c6eea6 | https://maven.google.com/com/android/tools/build/builder/3.5.1/builder-3.5.1.jar
    
    31
    +aa0092dd227856f6a9c42df1f6ae14ba8a5bde16ea77d760e48c25e575d31668 | https://maven.google.com/com/android/tools/build/builder/3.5.1/builder-3.5.1.pom
    
    32
    +50c44557ca75b068e364ac35a648b81eeba7639ab5eb04036e390c727ad2fa3d | https://maven.google.com/com/android/tools/build/bundletool/0.9.0/bundletool-0.9.0.jar
    
    33
    +124e124227803689b71da7440f0dbdff71cbb4c661a18e0f4e2e0d3a80d367c2 | https://maven.google.com/com/android/tools/build/bundletool/0.9.0/bundletool-0.9.0.pom
    
    34
    +be9b41859bace11998f66b04ed944f87e413f3ad6da3c4665587699da125addc | https://maven.google.com/com/android/tools/build/gradle-api/3.5.1/gradle-api-3.5.1.jar
    
    35
    +e977170f2bf4fdf335d924f8bf94eea54c54422f74f8915fc8d592dc9a226eb8 | https://maven.google.com/com/android/tools/build/gradle-api/3.5.1/gradle-api-3.5.1.pom
    
    36
    +fe188188002bbb2e51c7db6da1ed03fc82af8f3be1a33991d38381837bc6708a | https://maven.google.com/com/android/tools/build/gradle/3.5.1/gradle-3.5.1.jar
    
    37
    +b4a5b3db612b70ad8ba1b22bc469444d946bcd60e399f97ee6e498d195239c84 | https://maven.google.com/com/android/tools/build/gradle/3.5.1/gradle-3.5.1.pom
    
    38
    +c9f8b016144cfb31c5aee92d47f34de23289167cac5e8ef68365b2dd05766f11 | https://maven.google.com/com/android/tools/build/jetifier/jetifier-core/1.0.0-beta04/jetifier-core-1.0.0-beta04.jar
    
    39
    +db025ad1bbc6896edf0f67cda1222ba9b7ec9a0187df7f4fd0a318475c758e4e | https://maven.google.com/com/android/tools/build/jetifier/jetifier-core/1.0.0-beta04/jetifier-core-1.0.0-beta04.pom
    
    40
    +1dd481e7606ccb30868908d9ae80f27d1c5ba882f792532bd91ed731c54f4efb | https://maven.google.com/com/android/tools/build/jetifier/jetifier-processor/1.0.0-beta04/jetifier-processor-1.0.0-beta04.jar
    
    41
    +4973a6c6d7f89297a1cfea56c623cea72b3db3b4a49992afa00dd77ac052b89f | https://maven.google.com/com/android/tools/build/jetifier/jetifier-processor/1.0.0-beta04/jetifier-processor-1.0.0-beta04.pom
    
    42
    +dcad9ecb967251f4d750f55a4204a2b400e8fbfe5cb930a1d0d5dbe10ae8bdfc | https://maven.google.com/com/android/tools/build/manifest-merger/26.5.1/manifest-merger-26.5.1.jar
    
    43
    +0dfcac2f9fa87c1742945875ef1e6f9fbade2149426502323c40eb01c05a7e36 | https://maven.google.com/com/android/tools/build/manifest-merger/26.5.1/manifest-merger-26.5.1.pom
    
    44
    +4de4a3d05e1c534c2db9e4588bf34082bb2bd232d8abb9727c430290ce225740 | https://maven.google.com/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.jar
    
    45
    +7c62f3856e8abca1d79257925f26c12668693f5d95904056bbac88605cfd8575 | https://maven.google.com/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.pom
    
    46
    +eccfa54486ed54c4e3123cc42195d023bd0dd21bcd2f0e4868e8c6fc70f8ef6b | https://maven.google.com/com/android/tools/common/26.5.1/common-26.5.1.jar
    
    47
    +4492eb509dc784ca5e1600a2b0505ad1468bed4d116220fca67f34b49ac18ffb | https://maven.google.com/com/android/tools/common/26.5.1/common-26.5.1.pom
    
    48
    +b081aef2a4ed3f4d47cae4cdb128469735f25a114e026d37123bf9ffdec742a8 | https://maven.google.com/com/android/tools/ddms/ddmlib/26.5.1/ddmlib-26.5.1.jar
    
    49
    +a6e4693d05779c25cbfbbf4e67f96150c4de3d398ae3ed6a38f786971eb89634 | https://maven.google.com/com/android/tools/ddms/ddmlib/26.5.1/ddmlib-26.5.1.pom
    
    50
    +46f93ad498b4756e7d867d2fe38c38890a80e7407a4ae459e4a8c8d5c5aeacfe | https://maven.google.com/com/android/tools/dvlib/26.5.1/dvlib-26.5.1.jar
    
    51
    +1d5f88a4eb1c76901bc7b19af2311418a3f259d0f68756b058df850b1e8f913f | https://maven.google.com/com/android/tools/dvlib/26.5.1/dvlib-26.5.1.pom
    
    52
    +88732f11396c427273e515d23042e35633f4fe4295528a99b866aa2adf0efd9c | https://maven.google.com/com/android/tools/layoutlib/layoutlib-api/26.5.1/layoutlib-api-26.5.1.jar
    
    53
    +63832aa426428edb1a9ad7b1fc06c8ecf8f38b98041c13bfe433ac46688e5ed8 | https://maven.google.com/com/android/tools/layoutlib/layoutlib-api/26.5.1/layoutlib-api-26.5.1.pom
    
    54
    +82453fd98a8394cc84ed995c04d2cd744abd1d6589403427ba7eef53115406f3 | https://maven.google.com/com/android/tools/lint/lint-gradle-api/26.5.1/lint-gradle-api-26.5.1.jar
    
    55
    +2ddefa31501b320b366a0d18ba169118be7073d04c9337dd77bdc4ebd4ced959 | https://maven.google.com/com/android/tools/lint/lint-gradle-api/26.5.1/lint-gradle-api-26.5.1.pom
    
    56
    +2b3ee791aa4c3e8ce60498c161a27ca7228816fc630eed4d9f25f2f36a106dce | https://maven.google.com/com/android/tools/repository/26.5.1/repository-26.5.1.jar
    
    57
    +8312471ec5165d599404e2225157c5639bdd9ad5c6980f79b1c1c4b517ff93b3 | https://maven.google.com/com/android/tools/repository/26.5.1/repository-26.5.1.pom
    
    58
    +365f749676c3574676fd465177c8a492f340816db2b520d6ed114d3b6e77bea7 | https://maven.google.com/com/android/tools/sdk-common/26.5.1/sdk-common-26.5.1.jar
    
    59
    +33b0649ae6e3dd95340123c462f6ef32992ee858e6e132f45bb7dec332627d59 | https://maven.google.com/com/android/tools/sdk-common/26.5.1/sdk-common-26.5.1.pom
    
    60
    +007da104afb27c8c682a1628023fe9ec438249c8d15ef0fd6624c5bb8e23b696 | https://maven.google.com/com/android/tools/sdklib/26.5.1/sdklib-26.5.1.jar
    
    61
    +3f5ee952ea6a07767688a464c545354fbbce296419973397e65280142914b2a4 | https://maven.google.com/com/android/tools/sdklib/26.5.1/sdklib-26.5.1.pom
    
    62
    +feab9191311c3d7aeef2b66d6064afc80d3d1d52d980fb07ae43c78c987ba93a | https://plugins.gradle.org/m2/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom
    
    63
    +766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7 | https://plugins.gradle.org/m2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
    
    64
    +19889dbdf1b254b2601a5ee645b8147a974644882297684c798afe5d63d78dfe | https://plugins.gradle.org/m2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.pom
    
    65
    +8f1fec72b91a71ea39ec39f5f778c4d1124b6b097c6d55b3a50b554a52237b27 | https://plugins.gradle.org/m2/com/google/code/gson/gson-parent/2.8.5/gson-parent-2.8.5.pom
    
    66
    +233a0149fc365c9f6edbd683cfe266b19bdc773be98eabdaf6b3c924b48e7d81 | https://plugins.gradle.org/m2/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar
    
    67
    +b8308557a7fccc92d9fe7c8cd0599258b361285d2ecde7689eda98843255a092 | https://plugins.gradle.org/m2/com/google/code/gson/gson/2.8.5/gson-2.8.5.pom
    
    68
    +6ebd22ca1b9d8ec06d41de8d64e0596981d9607b42035f9ed374f9de271a481a | https://plugins.gradle.org/m2/com/google/errorprone/error_prone_annotations/2.2.0/error_prone_annotations-2.2.0.jar
    
    69
    +5e0258ea1ba4e51a133742680bc22448f7ab214be4073e8619f645ef1be42dd5 | https://plugins.gradle.org/m2/com/google/errorprone/error_prone_annotations/2.2.0/error_prone_annotations-2.2.0.pom
    
    70
    +c460902ddf5ece68832c6b271ce52a0928b05cf3a6ac81a8f548c73cbd541138 | https://plugins.gradle.org/m2/com/google/errorprone/error_prone_parent/2.2.0/error_prone_parent-2.2.0.pom
    
    71
    +cd6db17a11a31ede794ccbd1df0e4d9750f640234731f21cff885a9997277e81 | https://plugins.gradle.org/m2/com/google/google/1/google-1.pom
    
    72
    +a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26 | https://plugins.gradle.org/m2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
    
    73
    +e96042ce78fecba0da2be964522947c87b40a291b5fd3cd672a434924103c4b9 | https://plugins.gradle.org/m2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.pom
    
    74
    +f8698ab46ca996ce889c1afc8ca4f25eb8ac6b034dc898d4583742360016cc04 | https://plugins.gradle.org/m2/com/google/guava/guava-parent/26.0-android/guava-parent-26.0-android.pom
    
    75
    +317e88291262e0cf2805e956c18850f1d4565c85c2e1112f5d9d08ab1732e696 | https://plugins.gradle.org/m2/com/google/guava/guava-parent/27.0.1-jre/guava-parent-27.0.1-jre.pom
    
    76
    +e1c814fd04492a27c38e0317eabeaa1b3e950ec8010239e400fe90ad6c9107b4 | https://plugins.gradle.org/m2/com/google/guava/guava/27.0.1-jre/guava-27.0.1-jre.jar
    
    77
    +6a8dd041f23a6bb14a86e440fccb993537b62271357a0dac0a3cb0ff39158f36 | https://plugins.gradle.org/m2/com/google/guava/guava/27.0.1-jre/guava-27.0.1-jre.pom
    
    78
    +b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99 | https://plugins.gradle.org/m2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
    
    79
    +18d4b1db26153d4e55079ce1f76bb1fe05cdb862ef9954a88cbcc4ff38b8679b | https://plugins.gradle.org/m2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.pom
    
    80
    +2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6 | https://plugins.gradle.org/m2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar
    
    81
    +f0c98c571e93a7cb4dd18df0fa308f0963e7a0620ac2d4244e61e709d03ad6be | https://plugins.gradle.org/m2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.pom
    
    82
    +c71555751e57e0ef912870e8ac9625ae782502a6a5b9c19ccf83b2a97d8b26bd | https://plugins.gradle.org/m2/com/google/jimfs/jimfs-parent/1.1/jimfs-parent-1.1.pom
    
    83
    +c4828e28d7c0a930af9387510b3bada7daa5c04d7c25a75c7b8b081f1c257ddd | https://plugins.gradle.org/m2/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar
    
    84
    +efa86e5cd922f17b472fdfcae57234d8d4ac3e148b6250737dfce454af7a7a44 | https://plugins.gradle.org/m2/com/google/jimfs/jimfs/1.1/jimfs-1.1.pom
    
    85
    +4189e0be5ab15cf2330f70b24fbdc75ca37514f188388fce8580ce16a9a68052 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java-util/3.4.0/protobuf-java-util-3.4.0.jar
    
    86
    +89c43073e7eaa0eaba72a4a36ae1b6bfdfe5d81bb9d0e156aee05e4a72de3cb8 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java-util/3.4.0/protobuf-java-util-3.4.0.pom
    
    87
    +dce7e66b32456a1b1198da0caff3a8acb71548658391e798c79369241e6490a4 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java/3.4.0/protobuf-java-3.4.0.jar
    
    88
    +83f17ba86c5fa1a15a3a3c8030d4ce42ef21c1d39b65db6cc004a8eeb2c59406 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java/3.4.0/protobuf-java-3.4.0.pom
    
    89
    +24909c552842c0eb7a4c769d631a43cbef5a9a10c1640f2bdbd1ea149c573a47 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-parent/3.4.0/protobuf-parent-3.4.0.pom
    
    90
    +2d9484f4c649f708f47f9a479465fc729770ee65617dca3011836602264f6439 | https://plugins.gradle.org/m2/com/googlecode/json-simple/json-simple/1.1/json-simple-1.1.jar
    
    91
    +47a89be0fa0fedd476db5fd2c83487654d2a119c391f83a142be876667cf7dab | https://plugins.gradle.org/m2/com/googlecode/json-simple/json-simple/1.1/json-simple-1.1.pom
    
    92
    +757bfe906193b8b651e79dc26cd67d6b55d0770a2cdfb0381591504f779d4a76 | https://plugins.gradle.org/m2/com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar
    
    93
    +7846399b35c7cd642a9b3a000c3e2d62d04eb37a4547b6933cc8b18bcc2f086b | https://plugins.gradle.org/m2/com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.pom
    
    94
    +8e108c92027bb428196f10fa11cffbe589f7648a6af2016d652279385fdfd789 | https://plugins.gradle.org/m2/com/squareup/javapoet/1.8.0/javapoet-1.8.0.jar
    
    95
    +b3760f40f19e735b2cd418f7656335d926d1d9413e10982a1c9695b64edbb647 | https://plugins.gradle.org/m2/com/squareup/javapoet/1.8.0/javapoet-1.8.0.pom
    
    96
    +fcfb09fb0ea0aa97d3cfe7ea792398081348e468f126b3603cb3803f240197f0 | https://plugins.gradle.org/m2/com/squareup/javawriter/2.5.0/javawriter-2.5.0.jar
    
    97
    +e1abd7f1116cf5e0c59947693e2189208ec94296b2a3394c959e3511d399a7b0 | https://plugins.gradle.org/m2/com/squareup/javawriter/2.5.0/javawriter-2.5.0.pom
    
    98
    +1d8518e3ac7532a104e4f7be77def37c982e530723c6bdb3d67708cce2b0c2c4 | https://plugins.gradle.org/m2/com/sun/activation/all/1.2.0/all-1.2.0.pom
    
    99
    +993302b16cd7056f21e779cc577d175a810bb4900ef73cd8fbf2b50f928ba9ce | https://plugins.gradle.org/m2/com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.jar
    
    100
    +f879b6e945854c6900b0dbee1c8384d7ab3de7e157fd7ac84937405c416d2a5e | https://plugins.gradle.org/m2/com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.pom
    
    101
    +c33e67a0807095f02a0e2da139412dd7c4f9cc1a4c054b3e434f96831ba950f4 | https://plugins.gradle.org/m2/com/sun/istack/istack-commons-runtime/2.21/istack-commons-runtime-2.21.jar
    
    102
    +ebe7137b5fbfd050545f9a7f3f339ae55beb0b53755071b4fd62aa024c626d1c | https://plugins.gradle.org/m2/com/sun/istack/istack-commons-runtime/2.21/istack-commons-runtime-2.21.pom
    
    103
    +c3071277f89b162982606b4e65c92077212efb6cbf1bdc365c51bd0b57ac818c | https://plugins.gradle.org/m2/com/sun/istack/istack-commons/2.21/istack-commons-2.21.pom
    
    104
    +b25e0693de21cb92b039a2e4608f396590fb8773108f10d6dc9f1465f03b5be9 | https://plugins.gradle.org/m2/com/sun/xml/bind/jaxb-bom-ext/2.2.11/jaxb-bom-ext-2.2.11.pom
    
    105
    +b5301b711c01547e571b615f9a0832ee525d34a4ce3372f53907a87cf20b0480 | https://plugins.gradle.org/m2/com/sun/xml/bind/mvn/jaxb-parent/2.2.11/jaxb-parent-2.2.11.pom
    
    106
    +21918cb8e4eda67f24251e909a5d81672201d93604c4ffbf33522ad836a58e90 | https://plugins.gradle.org/m2/com/sun/xml/bind/mvn/jaxb-runtime-parent/2.2.11/jaxb-runtime-parent-2.2.11.pom
    
    107
    +9a398c699a5d3f3b56f1056c68890ede25d94a12d98eabc2a473733e6ab2362c | https://plugins.gradle.org/m2/com/sun/xml/bind/mvn/jaxb-txw-parent/2.2.11/jaxb-txw-parent-2.2.11.pom
    
    108
    +27a77db909f3c2833c0b1a37c55af1db06045118ad2eed96ce567b6632bce038 | https://plugins.gradle.org/m2/com/sun/xml/fastinfoset/FastInfoset/1.2.13/FastInfoset-1.2.13.jar
    
    109
    +b7505e0ecf7d495b4daa3e6569f71611d1a789dc531cbd92a2025922ff2655d3 | https://plugins.gradle.org/m2/com/sun/xml/fastinfoset/FastInfoset/1.2.13/FastInfoset-1.2.13.pom
    
    110
    +fd0857899f1067e0287c2ffd91e38f967a26bd405b83a34650c2742cee9fc261 | https://plugins.gradle.org/m2/com/sun/xml/fastinfoset/fastinfoset-project/1.2.13/fastinfoset-project-1.2.13.pom
    
    111
    +4241dfa94e711d435f29a4604a3e2de5c4aa3c165e23bd066be6fc1fc4309569 | https://plugins.gradle.org/m2/commons-codec/commons-codec/1.10/commons-codec-1.10.jar
    
    112
    +bdb8db7012d112a6e3ea8fdb7c510b300d99eff0819d27dddba9c43397ea4cfb | https://plugins.gradle.org/m2/commons-codec/commons-codec/1.10/commons-codec-1.10.pom
    
    113
    +cc6a41dc3eaacc9e440a6bd0d2890b20d36b4ee408fe2d67122f328bb6e01581 | https://plugins.gradle.org/m2/commons-io/commons-io/2.4/commons-io-2.4.jar
    
    114
    +b2b5dd46cf998fa626eb6f8a1c114f6167c8d392694164e62533e5898e9b31f2 | https://plugins.gradle.org/m2/commons-io/commons-io/2.4/commons-io-2.4.pom
    
    115
    +daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636 | https://plugins.gradle.org/m2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
    
    116
    +c91ab5aa570d86f6fd07cc158ec6bc2c50080402972ee9179fe24100739fbb20 | https://plugins.gradle.org/m2/commons-logging/commons-logging/1.2/commons-logging-1.2.pom
    
    117
    +74fa208043740642f7e6eb09faba15965218ad2f50ce3020efb100136e4b591c | https://plugins.gradle.org/m2/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.jar
    
    118
    +953b116521a73575eee990e3f2c36a892fb088bb2d9a3027c82193cb7a013ef7 | https://plugins.gradle.org/m2/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.pom
    
    119
    +91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff | https://plugins.gradle.org/m2/javax/inject/javax.inject/1/javax.inject-1.jar
    
    120
    +943e12b100627804638fa285805a0ab788a680266531e650921ebfe4621a8bfa | https://plugins.gradle.org/m2/javax/inject/javax.inject/1/javax.inject-1.pom
    
    121
    +b5e60cd8b7b5ff01ce4a74c5dd008f4fbd14ced3495d0b47b85cfedc182211f2 | https://plugins.gradle.org/m2/javax/xml/bind/jaxb-api/2.2.12-b140109.1041/jaxb-api-2.2.12-b140109.1041.jar
    
    122
    +2092a7d8d9bc5698c59b094bdea46622915c48c83ae66d5b5ad549c7bf16155b | https://plugins.gradle.org/m2/javax/xml/bind/jaxb-api/2.2.12-b140109.1041/jaxb-api-2.2.12-b140109.1041.pom
    
    123
    +281440811268e65d9e266b3cc898297e214e04f09740d0386ceeb4a8923d63bf | https://plugins.gradle.org/m2/net/java/jvnet-parent/1/jvnet-parent-1.pom
    
    124
    +30f5789efa39ddbf96095aada3fc1260c4561faf2f714686717cb2dc5049475a | https://plugins.gradle.org/m2/net/java/jvnet-parent/3/jvnet-parent-3.pom
    
    125
    +471395735549495297c8ff939b9a32e08b91302020ff773586d27e497abb8fbb | https://plugins.gradle.org/m2/net/java/jvnet-parent/4/jvnet-parent-4.pom
    
    126
    +26c5856e954b5f864db76f13b86919b59c6eecf9fd930b96baa8884626baf2f5 | https://plugins.gradle.org/m2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.jar
    
    127
    +7af7e2d8b24b4798f04c2b7da24c9fbd1b7557b4e017c2054481565916079092 | https://plugins.gradle.org/m2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.pom
    
    128
    +f264dd9f79a1fde10ce5ecc53221eff24be4c9331c830b7d52f2f08a7b633de2 | https://plugins.gradle.org/m2/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar
    
    129
    +31ce606f4e9518936299bb0d27c978fa61e185fd1de7c9874fe959a53e34a685 | https://plugins.gradle.org/m2/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.pom
    
    130
    +75bc89695fa66e75374ecda439b802406f0ab1d826dd386eed0a23b1f0a9d264 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-base/6.0.3/proguard-base-6.0.3.jar
    
    131
    +2a823d79f2675582a988d539466d1b175e939782efbe0f6e61f06cb165ed4907 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-base/6.0.3/proguard-base-6.0.3.pom
    
    132
    +cc12b1168e521491dd0e687cfebec11a4af874b22af70e10cf2a05b47ca00c8f | https://plugins.gradle.org/m2/net/sf/proguard/proguard-gradle/6.0.3/proguard-gradle-6.0.3.jar
    
    133
    +5a5c7317d68ce80d1d40c9d8bd4e38814d42d1b16c265146e333634833a35a57 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-gradle/6.0.3/proguard-gradle-6.0.3.pom
    
    134
    +d87266bfd2312c3b036c4ac709310afa35c448ceb18027c3b87a33d03c6de0a0 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-parent/6.0.3/proguard-parent-6.0.3.pom
    
    135
    +401877d5e70ad599e9b6cff18434ea0332f637b51f8ec68352646c836f9bb2a4 | https://plugins.gradle.org/m2/org/antlr/antlr4-master/4.5.3/antlr4-master-4.5.3.pom
    
    136
    +a32de739cfdf515774e696f91aa9697d2e7731e5cb5045ca8a4b657f8b1b4fb4 | https://plugins.gradle.org/m2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.jar
    
    137
    +8a4e4b32eedaa72976a757e12cf1dfe742725db0b7311bf176dd937ba4236384 | https://plugins.gradle.org/m2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.pom
    
    138
    +ff513db0361fd41237bef4784968bc15aae478d4ec0a9496f811072ccaf3841d | https://plugins.gradle.org/m2/org/apache/apache/13/apache-13.pom
    
    139
    +36c2f2f979ac67b450c0cb480e4e9baf6b40f3a681f22ba9692287d1139ad494 | https://plugins.gradle.org/m2/org/apache/apache/15/apache-15.pom
    
    140
    +9f85ff2fd7d6cb3097aa47fb419ee7f0ebe869109f98aba9f4eca3f49e74a40e | https://plugins.gradle.org/m2/org/apache/apache/16/apache-16.pom
    
    141
    +7831307285fd475bbc36b20ae38e7882f11c3153b1d5930f852d44eda8f33c17 | https://plugins.gradle.org/m2/org/apache/apache/18/apache-18.pom
    
    142
    +4946e60a547c8eda69f3bc23c5b6f0dadcf8469ea49b1d1da7de34aecfcf18dd | https://plugins.gradle.org/m2/org/apache/apache/9/apache-9.pom
    
    143
    +2c1542faf343185b7cab9c3d55c8ae5471d6d095d3887a4adefdbdf2984dc0b6 | https://plugins.gradle.org/m2/org/apache/commons/commons-compress/1.12/commons-compress-1.12.jar
    
    144
    +b787d574c851505e76212968b9ae1641ea79804aef7f5a2cee2a01cd4055213a | https://plugins.gradle.org/m2/org/apache/commons/commons-compress/1.12/commons-compress-1.12.pom
    
    145
    +467ae650442e876867379094e7518dfdd67d22c5352ebd39808c84259e9790ba | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/25/commons-parent-25.pom
    
    146
    +3a2e69d06d641d1f3b293126dc9e2e4ea6563bf8c36c87e0ab6fa4292d04b79c | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/34/commons-parent-34.pom
    
    147
    +7098a1ab8336ecd4c9dc21cbbcac869f82c66f64b8ac4f7988d41b4fcb44e49a | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/35/commons-parent-35.pom
    
    148
    +87cd27e1a02a5c3eb6d85059ce98696bb1b44c2b8b650f0567c86df60fa61da7 | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/39/commons-parent-39.pom
    
    149
    +c03f813195e7a80e3608d0ddd8da80b21696a4c92a6a2298865bf149071551c7 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar
    
    150
    +7efc1241e73e7fbb268bfd33242d11ebd3ca07061d7d85f2962dc32a0f0b8855 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.pom
    
    151
    +b042b41f2391edb00d35f7f4e509aed2123648c1d246ce58d0f7b905c9fe1f73 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcomponents-client/4.5.6/httpcomponents-client-4.5.6.pom
    
    152
    +61e9427d4be326c307a7f16ba828d1cb3b14713c9b04fc8ba992a58f376c3136 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcomponents-core/4.4.10/httpcomponents-core-4.4.10.pom
    
    153
    +caaf967d94afb21753f36082c6086206bd1f48825ff596932cceba72b65d39fa | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcomponents-parent/10/httpcomponents-parent-10.pom
    
    154
    +78ba1096561957db1b55200a159b648876430342d15d461277e62360da19f6fd | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar
    
    155
    +c5c12066df2b3b88a89a2c8602b81ea9a61627e976e5129eea1899ebbaea392b | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.pom
    
    156
    +0b2b1102c18d3c7e05a77214b9b7501a6f6056174ae5604e0e256776eda7553e | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpmime/4.5.6/httpmime-4.5.6.jar
    
    157
    +dfbfd6ffe2a784ca9817c46365aa7f8a578320b805bde39d6f55a0b09d8aa8ca | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpmime/4.5.6/httpmime-4.5.6.pom
    
    158
    +7043dee4e9e7175e93e0b36f45b1ec1ecb893c5f755667e8b916eb8dd201c6ca | https://plugins.gradle.org/m2/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk15on-1.56.jar
    
    159
    +321668fc474a73140eb9cc73c779f1ebb9f60948aade3beddee082ecefcf0259 | https://plugins.gradle.org/m2/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk15on-1.56.pom
    
    160
    +963e1ee14f808ffb99897d848ddcdb28fa91ddda867eb18d303e82728f878349 | https://plugins.gradle.org/m2/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56.jar
    
    161
    +8fdc3336e7b01873193ba9c48b87de7d788dc0954d1eb45c322492627a4b5c6e | https://plugins.gradle.org/m2/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56.pom
    
    162
    +64b02691c8b9d4e7700f8ee2e742dce7ea2c6e81e662b7522c9ee3bf568c040a | https://plugins.gradle.org/m2/org/checkerframework/checker-qual/2.5.2/checker-qual-2.5.2.jar
    
    163
    +dc4cd438a36462d013c2338c8e206d102a322a00f33729e8955ee219859c9ede | https://plugins.gradle.org/m2/org/checkerframework/checker-qual/2.5.2/checker-qual-2.5.2.pom
    
    164
    +92654f493ecfec52082e76354f0ebf87648dc3d5cec2e3c3cdb947c016747a53 | https://plugins.gradle.org/m2/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar
    
    165
    +e956ab5d2eb48fabae12300d0cd2d3294d4a2a41abc2068c23cb4d60ad76cbe5 | https://plugins.gradle.org/m2/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.pom
    
    166
    +18a03df16e2a184c582db7b125633c15fb7714027a84c1b532d72933dc08b81f | https://plugins.gradle.org/m2/org/codehaus/mojo/animal-sniffer-parent/1.17/animal-sniffer-parent-1.17.pom
    
    167
    +fc648dcdc404f8bf66e0583914ecf980176618201227bea114fae85043cb755e | https://plugins.gradle.org/m2/org/codehaus/mojo/mojo-parent/40/mojo-parent-40.pom
    
    168
    +a52e6850f070dc9f7a2a51d0b25dfaafd49b0b9bf8196db6c0b3c5b7c94d8d38 | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-bom/2.2.11/jaxb-bom-2.2.11.pom
    
    169
    +37bcaee8ebb04362c8352a5bf6221b86967ecdab5164c696b10b9a2bb587b2aa | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-core/2.2.11/jaxb-core-2.2.11.jar
    
    170
    +ec31409f203bcabf99534f59231ec0576d875d4d4b7349b09566a7a8c8179b24 | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-core/2.2.11/jaxb-core-2.2.11.pom
    
    171
    +a874f2351cfba8e2946be3002d10c18a6da8f21b52ba2acf52f2b85d5520ed70 | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-runtime/2.2.11/jaxb-runtime-2.2.11.jar
    
    172
    +e5327b31b595ab8143e97836d5ccdf85feb91e7ff5666f7b26913632facca4aa | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-runtime/2.2.11/jaxb-runtime-2.2.11.pom
    
    173
    +272a3ccad45a4511351920cd2a8633c53cab8d5220c7a92954da5526bb5eafea | https://plugins.gradle.org/m2/org/glassfish/jaxb/txw2/2.2.11/txw2-2.2.11.jar
    
    174
    +8514cb724b4fca59a5cf272b632e539bd0a0f3cacf1844082d0a173a86406bd8 | https://plugins.gradle.org/m2/org/glassfish/jaxb/txw2/2.2.11/txw2-2.2.11.pom
    
    175
    +1345f11ba606d15603d6740551a8c21947c0215640770ec67271fe78bea97cf5 | https://plugins.gradle.org/m2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.jar
    
    176
    +47b23a79fe336b741b82434c6e049d68165256e405e75c10921fd72fa8a65d8d | https://plugins.gradle.org/m2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.pom
    
    177
    +ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478 | https://plugins.gradle.org/m2/org/jetbrains/annotations/13.0/annotations-13.0.jar
    
    178
    +965aeb2bedff369819bdde1bf7a0b3b89b8247dd69c88b86375d76163bb8c397 | https://plugins.gradle.org/m2/org/jetbrains/annotations/13.0/annotations-13.0.pom
    
    179
    +64583199ea5a54aefd1bd1595288925f784226ee562d1dd279011c6075b3d7a4 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-reflect/1.3.50/kotlin-reflect-1.3.50.jar
    
    180
    +8745181e5a3e0bafefd46309c6b810df7253f379feb985131eaf8d4d9c302635 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-reflect/1.3.50/kotlin-reflect-1.3.50.pom
    
    181
    +8ce678e88e4ba018b66dacecf952471e4d7dfee156a8a819760a5a5ff29d323c | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.50/kotlin-stdlib-common-1.3.50.jar
    
    182
    +b6396fe802d7bc76a381485e266cb975f3b2f2d3dd9bf7213aab6ca27a561fc1 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.50/kotlin-stdlib-common-1.3.50.pom
    
    183
    +9a026639e76212f8d57b86d55b075394c2e009f1979110751d34c05c5f75d57b | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.50/kotlin-stdlib-jdk7-1.3.50.jar
    
    184
    +a3aef46388ee96e975110db51df3ab794c87d892bdbc6d5a49bf926e4779438b | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.50/kotlin-stdlib-jdk7-1.3.50.pom
    
    185
    +1b351fb6e09c14b55525c74c1f4cf48942eae43c348b7bc764a5e6e423d4da0c | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.50/kotlin-stdlib-jdk8-1.3.50.jar
    
    186
    +8674b002f66a2948981c4f6cb5987ec62ff3d54b6a2799a6d2cd23afb83f2ad3 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.50/kotlin-stdlib-jdk8-1.3.50.pom
    
    187
    +e6f05746ee0366d0b52825a090fac474dcf44082c9083bbb205bd16976488d6c | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.3.50/kotlin-stdlib-1.3.50.jar
    
    188
    +704fd78960ae046428f69bcd5b951c122e4c180c9400238a866e12cb18494a61 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.3.50/kotlin-stdlib-1.3.50.pom
    
    189
    +1917871c8deb468307a584680c87a44572f5a8b0b98c6d397fc0f5f86596dbe7 | https://plugins.gradle.org/m2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
    
    190
    +c94b0b73790c70c709bcd445a01247908888211e38cc59e946ff6fe900785ae9 | https://plugins.gradle.org/m2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
    
    191
    +a31ff7d77163c0deb09e7fee59ad35ae44c2cee2cc8552a116ccd1583d813fb4 | https://plugins.gradle.org/m2/org/jvnet/staxex/stax-ex/1.7.7/stax-ex-1.7.7.jar
    
    192
    +27cb450b6c367a00bd8362519907f84defac7b12086c64d4d6e97e33ab873ead | https://plugins.gradle.org/m2/org/jvnet/staxex/stax-ex/1.7.7/stax-ex-1.7.7.pom
    
    193
    +2f1a6387219c3a6cc4856481f221b03bd9f2408a326d416af09af5d6f608c1f4 | https://plugins.gradle.org/m2/org/ow2/asm/asm-analysis/6.0/asm-analysis-6.0.jar
    
    194
    +d3aaf42e40e3e24aabda53b5de4de5e17cb78e06549bf37312dca6c77e251054 | https://plugins.gradle.org/m2/org/ow2/asm/asm-analysis/6.0/asm-analysis-6.0.pom
    
    195
    +f1bce5c648a96a017bdcd01fe5d59af9845297fd7b79b81c015a6fbbd9719abf | https://plugins.gradle.org/m2/org/ow2/asm/asm-commons/6.0/asm-commons-6.0.jar
    
    196
    +90f4f29473afb957229016eb5741954976cc1b67bc049b3981c0d1e653ad5cdd | https://plugins.gradle.org/m2/org/ow2/asm/asm-commons/6.0/asm-commons-6.0.pom
    
    197
    +791d064bb9ecc9a46d43bc9efecd74c91464dfc451f321b802d2261e2ccd7d14 | https://plugins.gradle.org/m2/org/ow2/asm/asm-parent/6.0/asm-parent-6.0.pom
    
    198
    +887998fb69727c8759e4d253f856822801e33f9fd4caa566b3ac58ee92106215 | https://plugins.gradle.org/m2/org/ow2/asm/asm-tree/6.0/asm-tree-6.0.jar
    
    199
    +36887e0d7fdb185a92378a38ea45e596a97f10f385c5d050eb6252454ee701b4 | https://plugins.gradle.org/m2/org/ow2/asm/asm-tree/6.0/asm-tree-6.0.pom
    
    200
    +356afebdb0f870175262e5188f8709a3b17aa2a5a6a4b0340b04d4b449bca5f6 | https://plugins.gradle.org/m2/org/ow2/asm/asm-util/6.0/asm-util-6.0.jar
    
    201
    +3cdfc61f988d167b97503419da82a5808b20f4205aeb46c394e6e7ffd3211f12 | https://plugins.gradle.org/m2/org/ow2/asm/asm-util/6.0/asm-util-6.0.pom
    
    202
    +dd8971c74a4e697899a8e95caae4ea8760ea6c486dc6b97b1795e75760420461 | https://plugins.gradle.org/m2/org/ow2/asm/asm/6.0/asm-6.0.jar
    
    203
    +c2bc497e197112e699085426bbb45b1ab0be8002da68267a3b1f450a0312c32e | https://plugins.gradle.org/m2/org/ow2/asm/asm/6.0/asm-6.0.pom
    
    204
    +51215c67d2c068d8b7d2f6f80f51372a098075deccc448d4bdd7b987ba8328fb | https://plugins.gradle.org/m2/org/ow2/ow2/1.3/ow2-1.3.pom
    
    205
    +b51f8867c92b6a722499557fc3a1fdea77bdf9ef574722fe90ce436a29559454 | https://plugins.gradle.org/m2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom
    
    206
    +fb40265f982548212ff82e362e59732b2187ec6f0d80182885c14ef1f982827a | https://plugins.gradle.org/m2/org/sonatype/oss/oss-parent/9/oss-parent-9.pom
    
    207
    +

  • projects/oss-licenses-plugin/sort-dependencies.diff
    1
    +diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy
    
    2
    +index d6d854d..622072d 100644
    
    3
    +--- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy
    
    4
    ++++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy
    
    5
    +@@ -16,7 +16,7 @@
    
    6
    + 
    
    7
    + package com.google.android.gms.oss.licenses.plugin
    
    8
    + 
    
    9
    +-class ArtifactInfo {
    
    10
    ++class ArtifactInfo implements Comparable<ArtifactInfo> {
    
    11
    +     private String group
    
    12
    +     private String name
    
    13
    +     private String fileLocation
    
    14
    +@@ -47,4 +47,13 @@ class ArtifactInfo {
    
    15
    +     String getVersion() {
    
    16
    +         return version
    
    17
    +     }
    
    18
    ++
    
    19
    ++    String toString() {
    
    20
    ++        return "$group:$name:$version"
    
    21
    ++    }
    
    22
    ++
    
    23
    ++    @Override
    
    24
    ++    int compareTo(ArtifactInfo other) {
    
    25
    ++        return toString().compareTo(other.toString())
    
    26
    ++    }
    
    27
    + }
    
    28
    +diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
    
    29
    +index 75f6527..26a9bf7 100644
    
    30
    +--- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
    
    31
    ++++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy
    
    32
    +@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory
    
    33
    +  */
    
    34
    + class DependencyTask extends DefaultTask {
    
    35
    +     protected Set<String> artifactSet = []
    
    36
    +-    protected Set<ArtifactInfo> artifactInfos = []
    
    37
    ++    protected TreeSet<ArtifactInfo> artifactInfos = []
    
    38
    +     protected static final String LOCAL_LIBRARY_VERSION = "unspecified"
    
    39
    +     private static final String TEST_PREFIX = "test"
    
    40
    +     private static final String ANDROID_TEST_PREFIX = "androidTest"