Documentation
¶
Index ¶
- Variables
- func CloneRepo(configPath string, project Project) error
- func ExecCmd(configPath string, shell string, project Project, cmdString string, ...) (string, error)
- func GetAbsolutePath(configPath string, projectPath string, projectName string) (string, error)
- func GetClosestConfigFile() (string, error)
- func GetProjectRelPath(configPath string, path string) (string, error)
- func ProjectInSlice(name string, list []Project) bool
- func UpdateProjectsToGitignore(projectNames []string, gitignoreFilename string) error
- type Command
- type Config
- func (c Config) CloneRepos()
- func (c Config) EditFile()
- func (c Config) FilterProjects(cwdFlag bool, allProjectsFlag bool, tagsFlag []string, projectsFlag []string) []Project
- func (c Config) GetCommand(command string) (*Command, error)
- func (c Config) GetCommandNames() []string
- func (c Config) GetCommands() []string
- func (c Config) GetCommandsByNames(names []string) []Command
- func (c Config) GetCwdProject() Project
- func (c Config) GetProjectNames() []string
- func (c Config) GetProjectUrls() []string
- func (c Config) GetProjects(flagProjects []string) []Project
- func (c Config) GetProjectsByName(names []string) []Project
- func (c Config) GetProjectsByTags(tags []string) []Project
- func (c Config) GetTags() []string
- func (c Config) GetTagsByProject(projectNames []string) []string
- type Project
- type ProjectOutput
Constants ¶
This section is empty.
Variables ¶
View Source
var ( Version = "dev" DEFAULT_SHELL = "sh -c" ACCEPTABLE_FILE_NAMES = []string{"mani.yaml", "mani.yml", ".mani", ".mani.yaml", ".mani.yml"} )
Functions ¶
func GetAbsolutePath ¶
Get the absolute path to a project Need to support following path types:
lala/land ./lala/land ../lala/land /lala/land $HOME/lala/land ~/lala/land ~root/lala/land
func GetClosestConfigFile ¶
func ProjectInSlice ¶
Types ¶
type Command ¶
type Command struct { Name string `yaml:"name"` Description string `yaml:"description"` Args map[string]string `yaml:"args"` Shell string `yaml:"shell"` Command string `yaml:"command"` }
func (Command) GetUserArguments ¶
func (Command) ParseUserArguments ¶
type Config ¶
type Config struct { Path string Shell string `yaml:"shell"` Projects []Project `yaml:"projects"` Commands []Command `yaml:"commands"` }
func ReadConfig ¶
func (Config) CloneRepos ¶
func (c Config) CloneRepos()
func (Config) FilterProjects ¶
func (Config) GetCommandNames ¶
func (Config) GetCommands ¶
func (Config) GetCommandsByNames ¶
func (Config) GetCwdProject ¶
func (Config) GetProjectNames ¶
func (Config) GetProjectUrls ¶
func (Config) GetProjects ¶
func (Config) GetProjectsByName ¶
func (Config) GetProjectsByTags ¶
Projects must have all tags to match. For instance, if --tags frontend,backend is passed, then a project must have both tags.
func (Config) GetTagsByProject ¶
type Project ¶
type Project struct { Name string `yaml:"name"` Path string `yaml:"path"` Description string `yaml:"description"` Url string `yaml:"url"` Tags []string `yaml:"tags"` RelPath string }
func FindVCSystems ¶
func GetIntersectProjects ¶
type ProjectOutput ¶
Click to show internal directories.
Click to hide internal directories.