diff options
Diffstat (limited to 'pkg/config/lib/bzr')
| -rw-r--r-- | pkg/config/lib/bzr/bzr.go | 32 | ||||
| -rw-r--r-- | pkg/config/lib/bzr/bzr.star | 8 | 
2 files changed, 40 insertions, 0 deletions
diff --git a/pkg/config/lib/bzr/bzr.go b/pkg/config/lib/bzr/bzr.go new file mode 100644 index 0000000..81b0177 --- /dev/null +++ b/pkg/config/lib/bzr/bzr.go @@ -0,0 +1,32 @@ +package bzr + +import ( +	_ "embed" +	"go.nc0.fr/svgu/pkg/config" +	"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", +				config.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 new file mode 100644 index 0000000..afcc08a --- /dev/null +++ b/pkg/config/lib/bzr/bzr.star @@ -0,0 +1,8 @@ +# Utilities to index Go modules hosted on Bazaar repositories. + +_BZR = "bzr" + +bzr = make_module( +    "bzr", +    BZR = _BZR, +)  | 
