Opened 4 years ago

Closed 4 years ago

#3194 closed change (fixed)

Support multiple sources for dependencies using a new syntax

Reported by: kzar Assignee: kzar
Priority: P4 Milestone:
Module: Automation Keywords: ensure_dependencies.py, dependencies
Cc: sebastian, trev Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: yes Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

https://codereview.adblockplus.org/29329056/

Description (last modified by kzar)

Background

Our dependency management tool ensure_dependencies.py reads a project's
dependencies file and fetches all the dependencies listed therein. For each
dependency in the file a repository source is specified, which can either be an
absolute URL or a relative path to be appended to the _root repository URL.

When a relative path is specified the preferred version control system (VCS)
(the one used to clone the parent repository) is used where possible. When an
absolute URL is specified however the VCS used is tied to the URL.

As it's not possible to specify multiple sources for a dependency this means
that you are stuck with using relative paths if you want to support multiple
VCS tools. If you use an absolute URL for a dependency the other VCS can no
longer be used for it.

What to change

Allow the specification of multiple sources for a dependency. Do this by
supporting a new syntax for dependencies:

directory = [vcs:][<url>@]<rev> [vcs:][<url>@]<rev>

However, if the first source for a dependency does not contain the VCS part it
should be interpreted as being a URL without revision. This is so that we are
backwards compatible with the existing syntax:

directory = url [vcs:][<url>@]<rev>

(Of course there can be as many source parts per dependency as required.)

Change History (5)

comment:1 Changed 4 years ago by kzar

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

comment:2 Changed 4 years ago by kzar

  • Description modified (diff)

comment:3 Changed 4 years ago by kzar

  • Description modified (diff)
  • Summary changed from Support multiple sources for dependencies to Support multiple sources for dependencies using a new syntax

comment:4 Changed 4 years ago by sebastian

  • Priority changed from Unknown to P4
  • Ready set

comment:5 Changed 4 years ago by kzar

  • Resolution set to fixed
  • Status changed from reviewing to closed
Note: See TracTickets for help on using tickets.