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 | |
| parent | e8487dabe11fdcc2eacd6759ffa3f9ca46d66196 (diff) | |
Remove helper functions
| -rw-r--r-- | pkg/config/lib/bzr/bzr.go | 65 | ||||
| -rw-r--r-- | pkg/config/lib/bzr/bzr.star | 80 | ||||
| -rw-r--r-- | pkg/config/lib/fossil/fossil.go | 65 | ||||
| -rw-r--r-- | pkg/config/lib/fossil/fossil.star | 41 | ||||
| -rw-r--r-- | pkg/config/lib/git/git.go | 67 | ||||
| -rw-r--r-- | pkg/config/lib/git/git.star | 212 | ||||
| -rw-r--r-- | pkg/config/lib/hg/hg.go | 65 | ||||
| -rw-r--r-- | pkg/config/lib/hg/hg.star | 75 | ||||
| -rw-r--r-- | pkg/config/lib/svn/svn.go | 65 | ||||
| -rw-r--r-- | pkg/config/lib/svn/svn.star | 41 | ||||
| -rw-r--r-- | pkg/config/starlark.go | 25 |
11 files changed, 0 insertions, 801 deletions
diff --git a/pkg/config/lib/bzr/bzr.go b/pkg/config/lib/bzr/bzr.go deleted file mode 100644 index 6771533..0000000 --- a/pkg/config/lib/bzr/bzr.go +++ /dev/null @@ -1,65 +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 bzr - -import ( - _ "embed" - "go.nc0.fr/svgu/pkg/config/lib/prelude" - "go.starlark.net/starlark" - "go.starlark.net/starlarkstruct" - "sync" -) - -var ( - once = sync.Once{} - bzr = starlark.StringDict{} - //go:embed bzr.star - bzrFile string - bzrErr error -) - -// LoadBzrModule loads the Bazaar module. -func LoadBzrModule(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), - } - bzr, bzrErr = starlark.ExecFile(t, "bzr.star", bzrFile, env) - }) - - return bzr, bzrErr -} diff --git a/pkg/config/lib/bzr/bzr.star b/pkg/config/lib/bzr/bzr.star deleted file mode 100644 index 74b2d61..0000000 --- a/pkg/config/lib/bzr/bzr.star +++ /dev/null @@ -1,80 +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. - -# Utilities to index Go modules hosted on Bazaar repositories. - -_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, -) diff --git a/pkg/config/lib/fossil/fossil.go b/pkg/config/lib/fossil/fossil.go deleted file mode 100644 index b1e2177..0000000 --- a/pkg/config/lib/fossil/fossil.go +++ /dev/null @@ -1,65 +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 fossil - -import ( - _ "embed" - "go.nc0.fr/svgu/pkg/config/lib/prelude" - "go.starlark.net/starlark" - "go.starlark.net/starlarkstruct" - "sync" -) - -var ( - once = sync.Once{} - fossil = starlark.StringDict{} - //go:embed fossil.star - fossilFile string - fossilErr error -) - -// LoadFossilModule loads the Fossil module. -func LoadFossilModule(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), - } - fossil, fossilErr = starlark.ExecFile(t, "fossil.star", fossilFile, env) - }) - - return fossil, fossilErr -} diff --git a/pkg/config/lib/fossil/fossil.star b/pkg/config/lib/fossil/fossil.star deleted file mode 100644 index 6502756..0000000 --- a/pkg/config/lib/fossil/fossil.star +++ /dev/null @@ -1,41 +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 Fossil repositories. - -_FOSSIL = "fossil" - -fossil = make_module( - "fossil", - FOSSIL = _FOSSIL, -) 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, -) diff --git a/pkg/config/lib/hg/hg.go b/pkg/config/lib/hg/hg.go deleted file mode 100644 index 0572a5b..0000000 --- a/pkg/config/lib/hg/hg.go +++ /dev/null @@ -1,65 +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 hg - -import ( - _ "embed" - "go.nc0.fr/svgu/pkg/config/lib/prelude" - "go.starlark.net/starlark" - "go.starlark.net/starlarkstruct" - "sync" -) - -var ( - once = sync.Once{} - hg = starlark.StringDict{} - //go:embed hg.star - hgFile string - hgErr error -) - -// LoadHgModule loads the Mercurial module. -func LoadHgModule(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), - } - hg, hgErr = starlark.ExecFile(t, "hg.star", hgFile, env) - }) - - return hg, hgErr -} diff --git a/pkg/config/lib/hg/hg.star b/pkg/config/lib/hg/hg.star deleted file mode 100644 index 9a003c9..0000000 --- a/pkg/config/lib/hg/hg.star +++ /dev/null @@ -1,75 +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 Mercurial repositories. - -_MERCURIAL = "hg" - -_SOURCEHUT_DEFAULT_INSTANCE = "https://hg.sr.ht" -_SOURCEHUT_DEFAULT_REV = "tip" - -def _sourcehut( - name, - user, - repo, - rev = _SOURCEHUT_DEFAULT_REV, - instance = _SOURCEHUT_DEFAULT_INSTANCE): - """Register a module hosted on a Mercurial repository on Source Hut. - - Args: - name (str): The name of the module. - user (str): The name of the user or organization that owns the - repository. - repo (str): The name of the repository. - rev (str): The revision to use. Defaults to `hg.SOURCEHUT_DEFAULT_REV`. - instance (str): The instance of Source Hut to use. - Defaults to `hg.SOURCEHUT_DEFAULT_INSTANCE`. - """ - - module( - name = name, - vcs = _MERCURIAL, - repo = "%s/~%s/%s" % (instance, user, repo), - dir = "%s/~%s/%s/browse{/dir}?rev=%s" % - (instance, user, repo, rev), - file = "%s/~%s/%s/browse{/dir}/{file}?rev=%s#L{line}" % - (instance, user, repo, rev), - ) - -hg = make_module( - "hg", - MERCURIAL = _MERCURIAL, - SOURCEHUT_DEFAULT_INSTANCE = _SOURCEHUT_DEFAULT_INSTANCE, - SOURCEHUT_DEFAULT_REV = _SOURCEHUT_DEFAULT_REV, - sourcehut = _sourcehut, -) diff --git a/pkg/config/lib/svn/svn.go b/pkg/config/lib/svn/svn.go deleted file mode 100644 index 0181e78..0000000 --- a/pkg/config/lib/svn/svn.go +++ /dev/null @@ -1,65 +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 svn - -import ( - _ "embed" - "go.nc0.fr/svgu/pkg/config/lib/prelude" - "go.starlark.net/starlark" - "go.starlark.net/starlarkstruct" - "sync" -) - -var ( - once = sync.Once{} - svn = starlark.StringDict{} - //go:embed svn.star - svnFile string - svnErr error -) - -// LoadSvnModule loads the Subversion module. -func LoadSvnModule(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), - } - svn, svnErr = starlark.ExecFile(t, "svn.star", svnFile, env) - }) - - return svn, svnErr -} diff --git a/pkg/config/lib/svn/svn.star b/pkg/config/lib/svn/svn.star deleted file mode 100644 index 4d67006..0000000 --- a/pkg/config/lib/svn/svn.star +++ /dev/null @@ -1,41 +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 Subversion repositories. - -_SUBVERSION = "svn" - -svn = make_module( - "svn", - SUBVERSION = _SUBVERSION, -) diff --git a/pkg/config/starlark.go b/pkg/config/starlark.go index e2a886c..bb65465 100644 --- a/pkg/config/starlark.go +++ b/pkg/config/starlark.go @@ -35,12 +35,7 @@ package config import ( "fmt" - "go.nc0.fr/svgu/pkg/config/lib/bzr" - "go.nc0.fr/svgu/pkg/config/lib/fossil" - "go.nc0.fr/svgu/pkg/config/lib/git" - "go.nc0.fr/svgu/pkg/config/lib/hg" "go.nc0.fr/svgu/pkg/config/lib/prelude" - "go.nc0.fr/svgu/pkg/config/lib/svn" "go.nc0.fr/svgu/pkg/types" "go.starlark.net/starlark" ) @@ -52,10 +47,8 @@ import ( func ExecConfig(fl string) (*types.Index, error) { th := &starlark.Thread{ Name: "exec " + fl, - Load: load, } - // TODO(nc0): add built-ins env := starlark.StringDict{ "index": starlark.NewBuiltin("index", prelude.InternIndex), "module": starlark.NewBuiltin("module", prelude.InternModule), @@ -71,21 +64,3 @@ func ExecConfig(fl string) (*types.Index, error) { return &prelude.Registered, nil } - -// load loads a module from the given path. -func load(t *starlark.Thread, module string) (starlark.StringDict, error) { - switch module { - case "@svgu/git.star": // git - return git.LoadGitModule(t) - case "@svgu/hg.star": // mercurial - return hg.LoadHgModule(t) - case "@svgu/svn.star": // subversion - return svn.LoadSvnModule(t) - case "@svgu/fossil.star": // fossil - return fossil.LoadFossilModule(t) - case "@svgu/bzr.star": // bazaar - return bzr.LoadBzrModule(t) - default: - return nil, fmt.Errorf("unknown module %q", module) - } -} |
