tool

package
v1.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 25, 2026 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotFound      = xgomod.ErrNotFound
	ErrIgnoreNotated = errors.New("notated error ignored")
)
View Source
var (
	ErrMultiPackges     = errors.New("multiple packages")
	ErrMultiTestPackges = errors.New("multiple test packages")
)

Functions

func BuildDir

func BuildDir(dir string, conf *Config, build *gocmd.BuildConfig, flags ...GenFlags) (err error)

BuildDir builds an XGo package directory.

func BuildFiles

func BuildFiles(files []string, conf *Config, build *gocmd.BuildConfig) (err error)

BuildFiles builds specified XGo files.

func BuildPkgPath

func BuildPkgPath(workDir, pkgPath string, conf *Config, build *gocmd.BuildConfig, flags ...GenFlags) (err error)

BuildPkgPath builds an XGo package.

func ErrorPos

func ErrorPos(err error) token.Pos

ErrorPos returns where the error occurs.

func FilterNoTestFiles

func FilterNoTestFiles(fi fs.FileInfo) bool

FilterNoTestFiles filters to skip all testing files.

func GenGo

func GenGo(dir string, conf *Config, genTestPkg bool) (string, bool, error)

GenGo generates xgo_autogen.go for an XGo package directory.

func GenGoEx

func GenGoEx(dir string, conf *Config, genTestPkg bool, flags GenFlags) (string, bool, error)

GenGoEx generates xgo_autogen.go for an XGo package directory.

func GenGoFiles

func GenGoFiles(autogen string, files []string, conf *Config) (outFiles []string, err error)

GenGoFiles generates xgo_autogen.go for specified XGo files.

func GenGoPkgPath

func GenGoPkgPath(workDir, pkgPath string, conf *Config, allowExtern bool) (localDir string, recursively bool, err error)

GenGoPkgPath generates xgo_autogen.go for an XGo package.

func GenGoPkgPathEx

func GenGoPkgPathEx(workDir, pkgPath string, conf *Config, allowExtern bool, flags GenFlags) (localDir string, recursively bool, err error)

GenGoPkgPathEx generates xgo_autogen.go for an XGo package.

func GetFileClassType

func GetFileClassType(mod *xgomod.Module, file *ast.File, filename string) (classType string, isTest bool)

GetFileClassType get xgo module file classType.

func IgnoreNotated

func IgnoreNotated(err error) bool

IgnoreNotated returns if cause err is ErrIgnoreNotated or not.

func InstallDir

func InstallDir(dir string, conf *Config, install *gocmd.InstallConfig, flags ...GenFlags) (err error)

InstallDir installs an XGo package directory.

func InstallFiles

func InstallFiles(files []string, conf *Config, install *gocmd.InstallConfig) (err error)

InstallFiles installs specified XGo files.

func InstallPkgPath

func InstallPkgPath(workDir, pkgPath string, conf *Config, install *gocmd.InstallConfig, flags ...GenFlags) (err error)

InstallPkgPath installs an XGo package.

func LoadDir

func LoadDir(dir string, conf *Config, genTestPkg bool, promptGenGo ...bool) (out, test *gogen.Package, err error)

LoadDir loads XGo packages from a specified directory.

func LoadFiles

func LoadFiles(dir string, files []string, conf *Config) (out *gogen.Package, err error)

LoadFiles loads an XGo package from specified files.

func LoadMod

func LoadMod(dir string) (mod *xgomod.Module, err error)

LoadMod loads an XGo module from a specified directory.

func NotFound

func NotFound(err error) bool

NotFound returns if cause err is ErrNotFound or not

func Outline

func Outline(dir string, conf *Config) (out outline.Package, err error)

func OutlinePkgPath

func OutlinePkgPath(workDir, pkgPath string, conf *Config, allowExtern bool) (out outline.Package, err error)

func RunDir

func RunDir(dir string, args []string, conf *Config, run *gocmd.RunConfig, flags ...GenFlags) (err error)

RunDir runs an application from an XGo package directory.

func RunFiles

func RunFiles(autogen string, files []string, args []string, conf *Config, run *gocmd.RunConfig) (err error)

RunFiles runs an application from specified XGo files.

func RunPkgPath

func RunPkgPath(pkgPath string, args []string, chDir bool, conf *Config, run *gocmd.RunConfig, flags ...GenFlags) (err error)

RunPkgPath runs an application from an XGo package.

func TestDir

func TestDir(dir string, conf *Config, test *gocmd.TestConfig, flags ...GenFlags) (err error)

TestDir tests an XGo package directory.

func TestFiles

func TestFiles(files []string, conf *Config, test *gocmd.TestConfig) (err error)

TestFiles tests specified XGo files.

func TestPkgPath

func TestPkgPath(workDir, pkgPath string, conf *Config, test *gocmd.TestConfig, flags ...GenFlags) (err error)

TestPkgPath tests an XGo package.

func Tidy

func Tidy(dir string, xgo *env.XGo) (err error)

Types

type ConfFlags

type ConfFlags int

ConfFlags represents configuration flags.

const (
	ConfFlagIgnoreNotatedError ConfFlags = 1 << iota
	ConfFlagDontUpdateGoMod
	ConfFlagNoTestFiles
	ConfFlagNoCacheFile
)

type Config

type Config struct {
	XGo      *env.XGo
	Fset     *token.FileSet
	Mod      *xgomod.Module
	Importer *Importer

	Filter func(fs.FileInfo) bool

	// If not nil, it is used for returning result of checks XGo dependencies.
	// see https://pkg.go.dev/github.com/goplus/gogen#File.CheckGopDeps
	XGoDeps *int

	// CacheFile specifies the file path of the cache.
	CacheFile string

	IgnoreNotatedError bool
	DontUpdateGoMod    bool
}

Config represents a configuration for loading XGo packages.

func NewDefaultConf

func NewDefaultConf(dir string, flags ConfFlags, tags ...string) (conf *Config, err error)

NewDefaultConf creates a dfault configuration for common cases.

func (*Config) NewGoCmdConf

func (conf *Config) NewGoCmdConf() *gocmd.Config

func (*Config) UpdateCache

func (conf *Config) UpdateCache(verbose ...bool)

UpdateCache updates the cache.

type GenFlags

type GenFlags int
const (
	GenFlagCheckOnly GenFlags = 1 << iota
	GenFlagSingleFile
	GenFlagPrintError
	GenFlagPrompt
)

type Importer

type Importer struct {
	Flags GenFlags // can change this for loading XGo modules
	// contains filtered or unexported fields
}

Importer represents an XGo importer.

func NewImporter

func NewImporter(mod *xgomod.Module, xgo *env.XGo, fset *token.FileSet) *Importer

NewImporter creates an XGo Importer.

func (*Importer) Cache

func (p *Importer) Cache() *cache.Impl

Cache returns the cache object.

func (*Importer) CacheFile

func (p *Importer) CacheFile() string

CacheFile returns file path of the cache.

func (*Importer) Import

func (p *Importer) Import(pkgPath string) (pkg *types.Package, err error)

Import imports a Go/XGo package.

func (*Importer) PkgHash

func (p *Importer) PkgHash(pkgPath string, self bool) string

PkgHash calculates hash value for a package. It is required by cache.New func.

func (*Importer) SetTags

func (p *Importer) SetTags(tags string)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL