tables

package
v0.0.0-...-3a48437 Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2025 License: Apache-2.0 Imports: 2 Imported by: 19

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AndroidLoadPath = "@rules_android//android:rules.bzl"

AndroidLoadPath is the load path for the Starlark Android Rules.

View Source
var AndroidNativeRules = []string{
	"aar_import",
	"android_binary",
	"android_device",
	"android_instrumentation_test",
	"android_library",
	"android_local_test",
	"android_ndk_respository",
	"android_sdk_repository",
}

AndroidNativeRules lists all Android rules that are being migrated from Native to Starlark.

View Source
var CcLoadPath = "@rules_cc//cc:defs.bzl"

CcLoadPath is the load path for the Starlark C++ Rules.

View Source
var CcNativeRules = []string{
	"cc_binary",
	"cc_test",
	"cc_library",
	"cc_import",
	"fdo_prefetch_hints",
	"fdo_profile",
	"cc_toolchain",
	"cc_toolchain_suite",
	"objc_library",
	"objc_import",
}

CcNativeRules lists all C++ rules that are being migrated from Native to Starlark.

View Source
var IsLabelArg = map[string]bool{
	"app_target":          true,
	"appdir":              true,
	"base_package":        true,
	"build_deps":          true,
	"cc_deps":             true,
	"ccdeps":              true,
	"common_deps":         true,
	"compile_deps":        true,
	"compiler":            true,
	"data":                true,
	"default_visibility":  true,
	"dep":                 true,
	"deps":                true,
	"deps_java":           true,
	"dont_depend_on":      true,
	"env_deps":            true,
	"envscripts":          true,
	"exported_deps":       true,
	"exports":             true,
	"externs_list":        true,
	"files":               true,
	"globals":             true,
	"implementation":      true,
	"implementation_deps": true,
	"implements":          true,
	"includes":            true,
	"interface":           true,
	"jar":                 true,
	"jars":                true,
	"javadeps":            true,
	"lib_deps":            true,
	"library":             true,
	"malloc":              true,
	"model":               true,
	"mods":                true,
	"module_deps":         true,
	"module_target":       true,
	"of":                  true,
	"plugins":             true,
	"private_deps":        true,
	"proto_deps":          true,
	"proto_target":        true,
	"protos":              true,
	"resource":            true,
	"resources":           true,
	"runtime_deps":        true,
	"scope":               true,
	"shared_deps":         true,
	"similar_deps":        true,
	"source_jar":          true,
	"src":                 true,
	"srcs":                true,
	"stripped_targets":    true,
	"suites":              true,
	"swigdeps":            true,
	"target":              true,
	"target_devices":      true,
	"target_platforms":    true,
	"template":            true,
	"test":                true,
	"test_data":           true,
	"test_deps":           true,
	"test_srcs":           true,
	"tests":               true,
	"tests_deps":          true,
	"tool":                true,
	"tools":               true,
	"visibility":          true,
}

IsLabelArg contains a list of named arguments to a rule call that are considered to have a value that can be treated as a label or list of labels. There is a separate denylist for rule-specific exceptions.

View Source
var IsListArg = map[string]bool{}

By default, edit.types.IsList consults lang.TypeOf to determine if an arg is a list. You may override this using IsListArg. Specifying a name here overrides any value in lang.TypeOf.

View Source
var IsModuleOverride = map[string]bool{
	"archive_override":          true,
	"git_override":              true,
	"local_path_override":       true,
	"multiple_version_override": true,
	"single_version_override":   true,
}

IsModuleOverride contains the names of all Bzlmod module overrides available in MODULE.bazel.

View Source
var IsSortableListArg = map[string]bool{
	"cc_deps":             true,
	"common_deps":         true,
	"compile_deps":        true,
	"configs":             true,
	"constraints":         true,
	"data":                true,
	"default_visibility":  true,
	"deps":                true,
	"deps_java":           true,
	"exported_deps":       true,
	"exports":             true,
	"filegroups":          true,
	"files":               true,
	"hdrs":                true,
	"implementation_deps": true,
	"imports":             true,
	"includes":            true,
	"inherits":            true,
	"javadeps":            true,
	"lib_deps":            true,
	"module_deps":         true,
	"out":                 true,
	"outs":                true,
	"packages":            true,
	"plugin_modules":      true,
	"private_deps":        true,
	"proto_deps":          true,
	"protos":              true,
	"pubs":                true,
	"resources":           true,
	"runtime_deps":        true,
	"shared_deps":         true,
	"similar_deps":        true,
	"srcs":                true,
	"swigdeps":            true,
	"swig_includes":       true,
	"tags":                true,
	"test_data":           true,
	"test_deps":           true,
	"test_srcs":           true,
	"test_tags":           true,
	"tests":               true,
	"tools":               true,
	"to_start_extensions": true,
	"visibility":          true,
}

IsSortableListArg contains a list of named arguments to a rule call that are considered to be a sortable list . There is a separate denylist for rule-specific exceptions.

View Source
var JavaLoadPathPrefix = "@rules_java//java"

JavaLoadPathPrefix is the load package for the Starlark Java Rules.

View Source
var LabelDenylist = map[string]bool{

	"package_group.includes": true,
}

LabelDenylist is the list of call arguments that cannot be shortened, because they are not interpreted using the same rules as for other labels.

View Source
var ModuleToLegacyRepoName = map[string]string{
	"protobuf": "com_google_protobuf",
}

ModuleToLegacyRepoName contains the mapping from module name to WORKSPACE repository name for modules with load fixes if those names are different.

View Source
var NamePriority = map[string]int{
	"name":                                  -99,
	"archive_override.module_name":          -99,
	"git_override.module_name":              -99,
	"local_path_override.module_name":       -99,
	"multiple_version_override.module_name": -99,
	"single_version_override.module_name":   -99,
	"bazel_dep.version":                     -98,
	"module.version":                        -98,
	"gwt_name":                              -98,
	"package_name":                          -97,
	"visible_node_name":                     -96,
	"size":                                  -95,
	"timeout":                               -94,
	"testonly":                              -93,
	"src":                                   -92,
	"srcdir":                                -91,
	"srcs":                                  -90,
	"out":                                   -89,
	"outs":                                  -88,
	"hdrs":                                  -87,
	"has_services":                          -86,
	"include":                               -85,
	"of":                                    -84,
	"baseline":                              -83,

	"destdir":        1,
	"exports":        2,
	"runtime_deps":   3,
	"deps":           4,
	"implementation": 5,
	"implements":     6,
	"alwayslink":     7,
}

NamePriority maps an argument name to its sorting priority.

NOTE(bazel-team): These are the old buildifier rules. It is likely that this table will change, perhaps swapping in a separate table for each call, derived from the order used in the Build Encyclopedia.

View Source
var ProtoLoadPathPrefix = "@protobuf//bazel"

ProtoLoadPathPrefix is the load path prefix for the Starlark Proto Rules.

View Source
var PyLoadPath = "@rules_python//python:defs.bzl"

PyLoadPath is the load path for the Starlark Python Rules.

View Source
var PyNativeRules = []string{
	"py_library",
	"py_binary",
	"py_test",
	"py_runtime",
}

PyNativeRules lists all Python rules that are being migrated from Native to Starlark.

View Source
var ShortenAbsoluteLabelsToRelative = false
View Source
var SortableAllowlist = map[string]bool{}

SortableAllowlist records specific rule arguments that are guaranteed to be reorderable (format: "rule_name.attribute_name").

View Source
var SortableDenylist = map[string]bool{
	"genrule.outs":       true,
	"genrule.srcs":       true,
	"cc_embed_data.srcs": true,
}

SortableDenylist records specific rule arguments that must not be reordered.

View Source
var StripLabelLeadingSlashes = false

Functions

func MergeTables

func MergeTables(labelArg, denylist, listArg, sortableListArg, sortDenylist, sortAllowlist map[string]bool, namePriority map[string]int, stripLabelLeadingSlashes, shortenAbsoluteLabelsToRelative bool)

MergeTables allows a user of the build package to override the special-case rules. The user-provided tables are merged into the built-in tables.

func OverrideTables

func OverrideTables(labelArg, denylist, listArg, sortableListArg, sortDenylist, sortAllowlist map[string]bool, namePriority map[string]int, stripLabelLeadingSlashes, shortenAbsoluteLabelsToRelative bool)

OverrideTables allows a user of the build package to override the special-case rules. The user-provided tables replace the built-in tables.

func ParseAndUpdateJSONDefinitions

func ParseAndUpdateJSONDefinitions(file string, merge bool) error

ParseAndUpdateJSONDefinitions reads definitions from file and merges or overrides the values in memory.

Types

type Definitions

type Definitions struct {
	IsLabelArg                      map[string]bool
	LabelDenylist                   map[string]bool
	IsListArg                       map[string]bool
	IsSortableListArg               map[string]bool
	SortableDenylist                map[string]bool
	SortableAllowlist               map[string]bool
	NamePriority                    map[string]int
	StripLabelLeadingSlashes        bool
	ShortenAbsoluteLabelsToRelative bool
}

func ParseJSONDefinitions

func ParseJSONDefinitions(file string) (Definitions, error)

ParseJSONDefinitions reads and parses JSON table definitions from file.

Jump to

Keyboard shortcuts

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