From 0a3f90add5e0fa55d8079fedf0c187f2a1c5c508 Mon Sep 17 00:00:00 2001 From: Nicolas Paul Date: Wed, 31 May 2023 02:59:25 +0200 Subject: Add Subversion lib Signed-off-by: Nicolas Paul --- pkg/config/lib/svn/svn.go | 32 ++++++++++++++++++++++++++++++++ pkg/config/lib/svn/svn.star | 8 ++++++++ 2 files changed, 40 insertions(+) create mode 100644 pkg/config/lib/svn/svn.go create mode 100644 pkg/config/lib/svn/svn.star (limited to 'pkg/config/lib/svn') diff --git a/pkg/config/lib/svn/svn.go b/pkg/config/lib/svn/svn.go new file mode 100644 index 0000000..6d71259 --- /dev/null +++ b/pkg/config/lib/svn/svn.go @@ -0,0 +1,32 @@ +package svn + +import ( + _ "embed" + "go.nc0.fr/svgu/pkg/config" + "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", + config.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 new file mode 100644 index 0000000..16196d2 --- /dev/null +++ b/pkg/config/lib/svn/svn.star @@ -0,0 +1,8 @@ +# Utilities to index Go modules hosted on Subversion repositories. + +_SVN = "svn" + +svn = make_module( + "svn", + SVN = _SVN, +) -- cgit v1.2.3