jadepmain

package
v0.0.0-...-62694dd Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2018 License: Apache-2.0 Imports: 20 Imported by: 0

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.

Jump to

Keyboard shortcuts

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