gopkg2files

package module
v0.0.0-...-6b4d6f2 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2022 License: MIT Imports: 9 Imported by: 0

README

gopkg2files

Convert go packages to files list.

Usage

Install github.com/rosylilly/gopkg2files/cmd/gopkg2files.

Write your makefile like below:

GO?=go

GO_ALL_PACKAGES:=$(shell ${GO} list ./...)
GO_ROOT_PACKAGE:=$(shell ${GO} list .)
GO_CMD_PACKAGES:=$(shell ${GO} list ./cmd/...)

GO_CMD_ARTIFACTS:=$(patsubst ${GO_ROOT_PACKAGE}/cmd/%,bin/%,${GO_CMD_PACKAGES})

GOPKG2FILES?=gopkg2files

.PHONY: build
build: ${GO_CMD_ARTIFACTS}

.SECONDEXPANSION:
bin/%: Makefile $$(shell ${GOPKG2FILES} ${GO_ROOT_PACKAGE}/cmd/%)
	@${GO} build -o $@ $(patsubst bin/%,${GO_ROOT_PACKAGE}/cmd/%,$@)

and Run make build to build binaries on changed dependent go files.

Options

$ ./bin/gopkg2files -h
Usage of gopkg2files:
  -cgo
    	list cgo files
  -debug
    	debug mode
  -goroot
    	list undered $GOROOT files
  -test
    	list test files
  -w string
    	Working directory (default ".")
  -xtest
    	list xtest files

Author

Sho Kusano / @rosylilly

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Option

type Option struct {
	Debug            bool
	Goroot           bool
	Gopkg            bool
	Cgo              bool
	Test             bool
	XTest            bool
	WorkingDirectory string
	Packages         []string
}

func NewOption

func NewOption() *Option

func (*Option) FlagSet

func (o *Option) FlagSet(name string) (*flag.FlagSet, error)

func (*Option) Logger

func (o *Option) Logger() *log.Logger

func (*Option) Parse

func (o *Option) Parse(name string, arguments []string) error

type Resolver

type Resolver struct {
	GoFiles      []string
	CgoFiles     []string
	TestGoFiles  []string
	XTestGoFiles []string
	// contains filtered or unexported fields
}

func NewResolver

func NewResolver(option *Option) *Resolver

func (*Resolver) GOPATH

func (r *Resolver) GOPATH() string

func (*Resolver) GopkgRoot

func (r *Resolver) GopkgRoot() string

func (*Resolver) IsGomodPackage

func (r *Resolver) IsGomodPackage(pkg *build.Package) bool

func (*Resolver) PrintFiles

func (r *Resolver) PrintFiles(w io.Writer) error

func (*Resolver) Resolve

func (r *Resolver) Resolve(nameOrDir string) error

func (*Resolver) ResolveAll

func (r *Resolver) ResolveAll() error

func (*Resolver) ResolveDir

func (r *Resolver) ResolveDir(dir string) error

func (*Resolver) ResolvePackage

func (r *Resolver) ResolvePackage(name string) error

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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