Opened 13 months ago

Closed 13 months ago

Last modified 13 months ago

#6909 closed defect (fixed)

ensure_dependencies.py fails to install npm dependencies when subfolders aren't repositories

Reported by: sebastian Assignee: sebastian
Priority: P1 Milestone:
Module: Automation Keywords:
Cc: tlucas Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: yes Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

https://codereview.adblockplus.org/29868595

Description (last modified by sebastian)

How to reproduce

  1. Download a source archive (e.g. adblockplus-3.3-chrome-gecko-source.tgz) from the downloads repository.
  2. Unpack the source archive.
  3. Run ensure_dependencies.py (or use build.py which in turn calls the former).

Observed behaviour

ensure_dependencies.py completes without running npm install for buildtools and adblockplusui, causing build.py build to fail due to the lack of required Node.js packages (and not executing the postinstall hook in adblockplusui).

This is because in source archives the dependencies are already there but they are no repositories. In turn (when using Mercurial), hg id --id will produce no output on stdout (stderr and the exit code are ignored), and ensure_dependencies.py assumes that everything is up-to-date, skipping npm install as well.

Expected behaviour

ensure_dependencies.py must call npm install if the dependency is contained in a directory that isn't a repository, so that build.py build works from an unpacked source archive.

Change History (5)

comment:1 Changed 13 months ago by sebastian

  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

comment:2 Changed 13 months ago by sebastian

  • Description modified (diff)

comment:4 Changed 13 months ago by sebastian

  • Resolution set to fixed
  • Status changed from reviewing to closed

comment:5 Changed 13 months ago by sebastian

  • Description modified (diff)
Note: See TracTickets for help on using tickets.