From 9d0ba6d46d7101199bf65b00145e149d3fcf1d2a Mon Sep 17 00:00:00 2001 From: Nicolas Paul Date: Thu, 1 Jun 2023 11:38:29 +0200 Subject: Add Launchpad's Bazaar hosting support Signed-off-by: Nicolas Paul --- pkg/config/lib/bzr/bzr.star | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'pkg/config/lib/bzr') diff --git a/pkg/config/lib/bzr/bzr.star b/pkg/config/lib/bzr/bzr.star index 2376f18..e53a089 100644 --- a/pkg/config/lib/bzr/bzr.star +++ b/pkg/config/lib/bzr/bzr.star @@ -2,7 +2,46 @@ _BAZAAR = "bzr" +_LAUNCHPAD_DEFAULT_INSTANCE = "https://bazaar.launchpad.net" +_LAUNCHPAD_DEFAULT_REV = "head:" +_LAUNCHPAD_DEFAULT_BRANCH = "trunk" + +def _launchpad( + name, + user, + repo, + branch = _LAUNCHPAD_DEFAULT_BRANCH, + rev = _LAUNCHPAD_DEFAULT_REV, + instance = _LAUNCHPAD_DEFAULT_INSTANCE): + """Register a module hosted on Launchpad. + + Args: + name (str): The name of the module. + user (str): The ID of the user. + repo (str): The name of the repository. + branch (str): The name of the branch. + Defaults to `bzr.LAUNCHPAD_DEFAULT_BRANCH`. + rev (str): The revision number. + Defaults to `bzr.LAUNCHPAD_DEFAULT_REV`. + instance (str): The name of the instance. + Defaults to `bzr.LAUNCHPAD_DEFAULT_INSTANCE`. + """ + + return module( + name = name, + vcs = _BAZAAR, + repo = "%s/~%s/%s/%s" % (instance, user, repo, branch), + dir = "%s/~%s/%s/%s/files/%s{/dir}" % + (instance, user, repo, branch, rev), + file = "%s/~%s/%s/%s/view/%s{/dir}/{file}#L{line}" % + (instance, user, repo, branch, rev), + ) + bzr = make_module( "bzr", BAZAR = _BAZAAR, + LAUNCHPAD_DEFAULT_INSTANCE = _LAUNCHPAD_DEFAULT_INSTANCE, + LAUNCHPAD_DEFAULT_REV = _LAUNCHPAD_DEFAULT_REV, + LAUNCHPAD_DEFAULT_BRANCH = _LAUNCHPAD_DEFAULT_BRANCH, + launchpad = _launchpad, ) -- cgit v1.2.3