Changes between Version 1 and Version 4 of Ticket #4503


Ignore:
Timestamp:
10/11/2016 02:12:00 PM (3 years ago)
Author:
trev
Comment:

ensure_dependencies.py is part of our buildtools repository, so the correct component is Build-and-Release-Tools. I've also modified the description to make it more clear - initially I misunderstood what is being proposed here.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #4503

    • Property Cc sebastian trev kvas added
    • Property Component changed from Libadblockplus-Android to Build-and-Release-Tools
    • Property Priority changed from Unknown to P4
    • Property Ready unset
  • Ticket #4503 – Description

    v1 v4  
    1 === Environment === 
    2 ensure_dependencies script is used to extract required dependencies from git/mercurial repositories. However it fails for git submodules. Git submodules is widely used to extract dependencies, f.e. https://github.com/4ntoine/Lightning-Browser/blob/dev/.gitmodules. Since we're working on integrating `libadblockplus-android` into 3rd-party projects it would be good to fix it. 
     1=== Background === 
     2`ensure_dependencies.py` script is used to extract required dependencies from git/mercurial repositories. However, it currently fails when running within a git submodule. This is a problem for 3rd-party projects integrating `libadblockplus-android` as a submodule of their git repository. 
    33 
    44=== How to reproduce === 
     5Run the following commands: 
     6 
    57 1. git submodule add https://github.com/4ntoine/libadblockplus-android.git 
    68 2. cd ./libadblockplus-android 
    79 3. ./ensure_dependencies.py 
    8  4. make sure error is thrown: 
     10 
     11=== Observed behaviour === 
     12An error is thrown: 
    913{{{ 
    10 MBA-Anton:libadblockplus-android asmirnov$ ./ensure_dependencies.py  
    1114INFO: Cloning repository https://github.com/adblockplus/libadblockplus-binaries into ./libadblockplus-android/jni/libadblockplus-binaries 
    1215Traceback (most recent call last): 
     
    2326IOError: [Errno 20] Not a directory: './.git/info/exclude' 
    2427}}} 
    25 ... 
    2628 
    27 === Observed behaviour === 
    28 it's extracted without error 
    2929 
    3030=== Expected behaviour === 
    31 extraction error 
     31Dependencies for `libadblockplus-android` are fetched correctly. 
     32 
     33=== What to change === 
     34Git submodules don't have their own `.git/info/exclude` file, `ensure_dependencies.py` should modify the file for the parent directory instead.