base

package
v1.0.8 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2021 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package base defines shared basic pieces of the gop command, in particular logging and the Command structure.

Index

Constants

This section is empty.

Variables

View Source
var CmdName string

CmdName - "build", "install", "list", "mod tidy", etc.

View Source
var Gop = &Command{
	UsageLine: "gop",
	Short:     `Gop is a tool for managing Go+ source code.`,
}

Gop command

View Source
var Usage func()

Usage is the usage-reporting function, filled in by package main but here for reference by other packages.

Functions

func GenGoForBuild added in v1.0.2

func GenGoForBuild(dir string, recursive bool, errorHandle func())

Generate go code before building or installing, and cache pkgs if success

func GetBuildDir added in v1.0.2

func GetBuildDir(args []string) (dir string, recursive bool)

Get build directory from arguments

func Main

func Main(c *Command, app string, args []string)

Main runs a command.

func RunGoCmd added in v1.0.0

func RunGoCmd(dir string, op string, args ...string)

RunGoCmd executes `go` command tools.

func SkipSwitches added in v1.0.0

func SkipSwitches(args []string, f *flag.FlagSet) []string

SkipSwitches skips all switches and returns non-switch arguments.

Types

type Command

type Command struct {
	// Run runs the command.
	// The args are the arguments after the command name.
	Run func(cmd *Command, args []string)

	// UsageLine is the one-line usage message.
	// The words between "gop" and the first flag or argument in the line are taken to be the command name.
	UsageLine string

	// Short is the short description shown in the 'gop help' output.
	Short string

	// Flag is a set of flags specific to this command.
	Flag flag.FlagSet

	// Commands lists the available commands and help topics.
	// The order here is the order in which they are printed by 'gop help'.
	// Note that subcommands are in general best avoided.
	Commands []*Command
}

A Command is an implementation of a gop command like gop export or gop install.

func (*Command) LongName

func (c *Command) LongName() string

LongName returns the command's long name: all the words in the usage line between "gop" and a flag or argument,

func (*Command) Name

func (c *Command) Name() string

Name returns the command's short name: the last word in the usage line before a flag or argument.

func (*Command) Runnable

func (c *Command) Runnable() bool

Runnable reports whether the command can be run; otherwise it is a documentation pseudo-command.

func (*Command) Usage

func (c *Command) Usage(w io.Writer)

Usage show the command usage.

Jump to

Keyboard shortcuts

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