Documentation ¶
Overview ¶
Package jadepmain contains Jadep's main() function. Its purpose is to allow organizations to build specialized Jadep binaries without forking the main repo.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Main ¶
func Main(custom Customization, flags *Flags, args []string)
Main is an entry point to Jadep program. Its purpose is to allow organizations to build their own specialized Jadep's without forking the main repo. This function should only be called from a main.main() function, as it uses and modifies global variables. args are the non-flag command-line arguments.
Types ¶
type Customization ¶
type Customization interface { // LoadDataSources loads any specialized data sources to be used by NewResolvers. LoadDataSources(context.Context) DataSources // NewDepsRanker returns the DepsRanker to be used in Jadep. NewDepsRanker(DataSources) jadeplib.DepsRanker // NewResolvers returns any specialized resolvers an organization has. // For example, an organization which employs Kythe to index their depot might implement a resolver that takes advantage of that index. NewResolvers(loader pkgloading.Loader, data interface{}) []jadeplib.Resolver // NewLoader returns a new Loader which will be used to load Bazel packages. NewLoader(ctx context.Context, flags *Flags, workspaceDir string) (pkgloading.Loader, func(), error) }
Customization is the specialization point for Main.
type DataSources ¶
type DataSources interface{}
DataSources is customized by users of jadepmain.Main to pass information between Customization.LoadDataSources and NewDepsRanker, NewResolvers.
type Flags ¶
type Flags struct { // See corresponding flag in jadep.go Workspace string // See corresponding flag in jadep.go ContentRoots []string // See corresponding flag in jadep.go DryRun bool // See corresponding flag in jadep.go ClassNames []string // See corresponding flag in jadep.go Blacklist []string // See corresponding flag in jadep.go BlacklistedPackageList string // See corresponding flag in jadep.go BuiltinClassList string // See corresponding flag in jadep.go PkgLoaderExecutable string // See corresponding flag in jadep.go PkgLoaderAddress string // See corresponding flag in jadep.go RPCDeadline time.Duration // See corresponding flag in jadep.go Cpuprofile string // See corresponding flag in jadep.go Vlevel int // See corresponding flag in jadep.go Color bool }
Flags gathers command-line flags that jadepmain uses.