diff options
| author | Nicolas Paul <n@nc0.fr> | 2023-10-01 21:41:28 +0200 |
|---|---|---|
| committer | Nicolas Paul <n@nc0.fr> | 2023-10-01 21:52:15 +0200 |
| commit | a8b51ab6865d102a1c350f839209926bcb2c7ee7 (patch) | |
| tree | e0c52cc2fb6084822407ed6d67ef405442b269c2 /pkg/config/lib/git | |
| parent | e8487dabe11fdcc2eacd6759ffa3f9ca46d66196 (diff) | |
Remove helper functions
Diffstat (limited to 'pkg/config/lib/git')
| -rw-r--r-- | pkg/config/lib/git/git.go | 67 | ||||
| -rw-r--r-- | pkg/config/lib/git/git.star | 212 |
2 files changed, 0 insertions, 279 deletions
diff --git a/pkg/config/lib/git/git.go b/pkg/config/lib/git/git.go deleted file mode 100644 index 500b29d..0000000 --- a/pkg/config/lib/git/git.go +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright Nicolas Paul (2023) -// -// * Nicolas Paul -// -// This software is a computer program whose purpose is to allow the hosting -// and sharing of Go modules using a personal domain. -// -// This software is governed by the CeCILL license under French law and -// abiding by the rules of distribution of free software. You can use, -// modify and/ or redistribute the software under the terms of the CeCILL -// license as circulated by CEA, CNRS and INRIA at the following URL -// "http://www.cecill.info". -// -// As a counterpart to the access to the source code and rights to copy, -// modify and redistribute granted by the license, users are provided only -// with a limited warranty and the software's author, the holder of the -// economic rights, and the successive licensors have only limited -// liability. -// -// In this respect, the user's attention is drawn to the risks associated -// with loading, using, modifying and/or developing or reproducing the -// software by the user in light of its specific status of free software, -// that may mean that it is complicated to manipulate, and that also -// therefore means that it is reserved for developers and experienced -// professionals having in-depth computer knowledge. Users are therefore -// encouraged to load and test the software's suitability as regards their -// requirements in conditions enabling the security of their systems and/or -// data to be ensured and, more generally, to use and operate it in the -// same conditions as regards security. -// -// The fact that you are presently reading this means that you have had -// knowledge of the CeCILL license and that you accept its terms. -// Package git provides Starlark macros to declare modules hosted on Git -// repositories. - -package git - -import ( - _ "embed" - "go.nc0.fr/svgu/pkg/config/lib/prelude" - "go.starlark.net/starlark" - "go.starlark.net/starlarkstruct" - "sync" -) - -var ( - once = sync.Once{} - git = starlark.StringDict{} - //go:embed git.star - gitFile string - gitErr error -) - -// LoadGitModule loads the git module. -func LoadGitModule(t *starlark.Thread) (starlark.StringDict, error) { - once.Do(func() { - env := starlark.StringDict{ - "module": starlark.NewBuiltin("module", - prelude.InternModule), - "make_module": starlark.NewBuiltin("mod", - starlarkstruct.MakeModule), - } - git, gitErr = starlark.ExecFile(t, "git.star", gitFile, env) - }) - - return git, gitErr -} diff --git a/pkg/config/lib/git/git.star b/pkg/config/lib/git/git.star deleted file mode 100644 index 8e39b31..0000000 --- a/pkg/config/lib/git/git.star +++ /dev/null @@ -1,212 +0,0 @@ -# Copyright Nicolas (2023) -# -# * Nicolas Paul -# -# This software is a computer program whose purpose is to allow the hosting -# and sharing of Go modules using a personal domain. -# -# This software is governed by the CeCILL license under French law and -# abiding by the rules of distribution of free software. You can use, -# modify and/ or redistribute the software under the terms of the CeCILL -# license as circulated by CEA, CNRS and INRIA at the following URL -# "http://www.cecill.info". -# -# As a counterpart to the access to the source code and rights to copy, -# modify and redistribute granted by the license, users are provided only -# with a limited warranty and the software's author, the holder of the -# economic rights, and the successive licensors have only limited -# liability. -# -# In this respect, the user's attention is drawn to the risks associated -# with loading, using, modifying and/or developing or reproducing the -# software by the user in light of its specific status of free software, -# that may mean that it is complicated to manipulate, and that also -# therefore means that it is reserved for developers and experienced -# professionals having in-depth computer knowledge. Users are therefore -# encouraged to load and test the software's suitability as regards their -# requirements in conditions enabling the security of their systems and/or -# data to be ensured and, more generally, to use and operate it in the -# same conditions as regards security. -# -# The fact that you are presently reading this means that you have had -# knowledge of the CeCILL license and that you accept its terms. - -# Utilities to index Go modules hosted on Git repositories. - -_GIT = "git" - -# https://github.com/github/renaming -_GITHUB_DEFAULT_INSTANCE = "https://github.com" -_GITHUB_DEFAULT_REF = "main" - -def _github( - name, - user, - repo, - ref = _GITHUB_DEFAULT_REF, - instance = _GITHUB_DEFAULT_INSTANCE): - """Register a module hosted on GitHub. - - Args: - name (str): The name of the module. - user (str): The name of the user or organization. - repo (str): The name of the repository. - ref (str): The name of the ref. - Defaults to `git.GITHUB_DEFAULT_REF`. - instance (str): The name of the instance. - Defaults to `git.GITHUB_DEFAULT_INSTANCE`. - """ - - return module( - name = name, - vcs = _GIT, - repo = "%s/%s/%s" % (instance, user, repo), - dir = "%s/%s/%s/tree/%s{/dir}" % (instance, user, repo, ref), - file = "%s/%s/%s/blob/%s{/dir}/{file}#L{line}" % - (instance, user, repo, ref), - ) - -_SOURCEHUT_DEFAULT_INSTANCE = "https://git.sr.ht" -_SOURCEHUT_DEFAULT_REF = "master" - -# TODO(nc0): See the status for organizations and groups, as they are expected -# to use another symbol than `~`. -def _sourcehut( - name, - user, - repo, - ref = _SOURCEHUT_DEFAULT_REF, - instance = _SOURCEHUT_DEFAULT_INSTANCE): - """Register a module hosted on Source Hut's Git hosting. - - Args: - name (str): The name of the module. - user (str): The name of the user or organization. - repo (str): The name of the repository. - ref (str): The name of the ref. - Defaults to `git.SOURCEHUT_DEFAULT_REF`. - instance (str): The name of the instance. - Defaults to `git.SOURCEHUT_DEFAULT_INSTANCE`. - """ - - return module( - name = name, - vcs = _GIT, - repo = "%s/~%s/%s" % (instance, user, repo), - dir = "%s/~%s/%s/tree/%s{/dir}" % - (instance, user, repo, ref), - file = "%s/~%s/%s/tree/%s/item{/dir}/{file}#L{line}" % - (instance, user, repo, ref), - ) - -# https://about.gitlab.com/blog/2021/03/10/new-git-default-branch-name/ -_GITLAB_DEFAULT_INSTANCE = "https://gitlab.com" -_GITLAB_DEFAULT_REF = "main" - -def _gitlab( - name, - user, - repo, - ref = _GITLAB_DEFAULT_REF, - instance = _GITLAB_DEFAULT_INSTANCE): - """Register a module hosted on GitLab. - - Args: - name (str): The name of the module. - user (str): The name of the user or organization. - repo (str): The name of the repository. - ref (str): The name of the ref. - Defaults to `git.GITLAB_DEFAULT_REF`. - instance (str): The name of the instance. - Defaults to `git.GITLAB_DEFAULT_INSTANCE`. - """ - - return module( - name = name, - vcs = _GIT, - repo = "%s/%s/%s" % (instance, user, repo), - dir = "%s/%s/%s/-/tree/%s{/dir}" % (instance, user, repo, ref), - file = "%s/%s/%s/-/blob/%s{/dir}/{file}#L{line}" % - (instance, user, repo, ref), - ) - -# https://confluence.atlassian.com/bitbucketserver/setting-a-system-wide-default-branch-name-1021220665.html -_BITBUCKET_DEFAULT_INSTANCE = "https://bitbucket.org" -_BITBUCKET_DEFAULT_REF = "master" - -def _bitbucket( - name, - workspace, - repo, - ref = _BITBUCKET_DEFAULT_REF, - instance = _BITBUCKET_DEFAULT_INSTANCE): - """Register a module hosted on Bitbucket. - - By default, we use https://bitbucket.org, however you usually need to - change it with your username and workspace, following: - - https://<username>@bitbucket.org/<workspace> - - Args: - name (str): The name of the module. - workspace (str): The ID of the workspace. - repo (str): The name of the repository. - ref (str): The name of the ref. - Defaults to `git.BITBUCKET_DEFAULT_REF`. - instance (str): The name of the instance. - Defaults to `git.BITBUCKET_DEFAULT_INSTANCE`. - """ - - return module( - name = name, - vcs = _GIT, - repo = "%s/%s/%s" % (instance, workspace, repo), - dir = "%s/%s/%s/src/%s{/dir}" % (instance, workspace, repo, ref), - file = "%s/%s/%s/src/%s{/dir}/{file}#{file}-{line}" % - (instance, workspace, repo, ref), - ) - -_GITILES_DEFAULT_REF = "master" - -def _gitiles( - name, - instance, - repo, - ref = _GITILES_DEFAULT_REF): - """Register a module hosted a Gitiles (Gerrit) installation. - - Args: - name (str): The name of the module. - instance (str): The Gitiles instance URL. - repo (str): The repository path. - ref (str): The name of the ref. - Defaults to `git.GITILES_DEFAULT_REF`. - """ - - return module( - name = name, - vcs = _GIT, - repo = "%s/%s" % (instance, repo), - dir = "%s/%s/+/refs/heads/%s{/dir}" % (instance, repo, ref), - file = "%s/%s/+/refs/heads/%s{/dir}/{file}#{line}" % - (instance, repo, ref), - ) - -git = make_module( - "git", - GIT = _GIT, - GITHUB_DEFAULT_INSTANCE = _GITHUB_DEFAULT_INSTANCE, - GITHUB_DEFAULT_REF = _GITHUB_DEFAULT_REF, - SOURCEHUT_DEFAULT_INSTANCE = _SOURCEHUT_DEFAULT_INSTANCE, - SOURCEHUT_DEFAULT_REF = _SOURCEHUT_DEFAULT_REF, - GITLAB_DEFAULT_INSTANCE = _GITLAB_DEFAULT_INSTANCE, - GITLAB_DEFAULT_REF = _GITLAB_DEFAULT_REF, - BITBUCKET_DEFAULT_INSTANCE = _BITBUCKET_DEFAULT_INSTANCE, - BITBUCKET_DEFAULT_REF = _BITBUCKET_DEFAULT_REF, - GITILES_DEFAULT_REF = _GITILES_DEFAULT_REF, - github = _github, - sourcehut = _sourcehut, - gitlab = _gitlab, - bitbucket = _bitbucket, - gitiles = _gitiles, -) |
