jarvis

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2023 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppCtx added in v0.5.0

type AppCtx struct {
	// contains filtered or unexported fields
}

AppCtx 配置文件管理器

func New added in v0.5.0

func New(name string) *AppCtx

New 创建一个配置文件管理器

func (*AppCtx) AddCommand added in v0.5.0

func (app *AppCtx) AddCommand(use string, fn func(args ...string), cmdOpts ...func(*cobra.Command))

AddCommand 添加子命令 ex: AddCommand(migrate, module.Migrate())

cmdOpts can be flags options ex:

func WithFlags(flag string) func(*cobra.Command) {
	return func(cmd *cobra.Command) {
		cmd.Flags().StringVarP(&flag, "targets", "t", "nothing", "specify targets")
	}
}

func (*AppCtx) Conf added in v0.5.0

func (app *AppCtx) Conf(config interface{}) error

Conf 解析配置, 并在 config 目录下生成 xxx.yml 文件

func (*AppCtx) Run added in v0.5.0

func (app *AppCtx) Run(jobs ...launcher.IJob)

Run 启动服务

func (*AppCtx) RunContext added in v0.5.0

func (app *AppCtx) RunContext(ctx context.Context, jobs ...launcher.IJob)

RunContext 启动服务

func (*AppCtx) WithOptions added in v0.5.0

func (app *AppCtx) WithOptions(opts ...AppCtxOption) *AppCtx

type AppCtxOption added in v0.5.0

type AppCtxOption = func(app *AppCtx)

func WithHelpMode added in v0.5.0

func WithHelpMode() AppCtxOption

func WithName added in v0.5.0

func WithName(name string) AppCtxOption

WithName 设置 name

func WithRoot added in v0.5.0

func WithRoot(root string) AppCtxOption

WithRoot 指定项目根目录, 即 go.mod 所在的目录。

root 可以是相对 main.go 的相对路径, 也是可以是绝对路径

type ProjectInfo

type ProjectInfo struct {
	Name    string `flag:"name" usage:"project name"`
	Workdir string `flag:"dir" usage:"project src path, \ndefault: <project_name>"`
	PkgName string `flag:"pkg" usage:"go module name, \ndefault: github.com/go-jarvis/<project_name>"`
}
var Project *ProjectInfo

var makefile = tmpl.GetFile("Makefile")

func (*ProjectInfo) CreateProject

func (info *ProjectInfo) CreateProject()

CreateProject create a new project

Jump to

Keyboard shortcuts

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