merger

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Dec 6, 2017 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package merger provides methods for merging parsed BUILD files.

Index

Constants

This section is empty.

Variables

View Source
var (
	// MergeableGeneratedAttrs is the set of attributes that should be merged
	// before dependencies are resolved.
	MergeableGeneratedAttrs = map[string]bool{
		"cgo":        true,
		"clinkopts":  true,
		"copts":      true,
		"embed":      true,
		"importpath": true,
		"proto":      true,
		"srcs":       true,
	}

	// MergeableResolvedAttrs is the set of attributes that should be merged
	// after dependencies are resolved.
	MergeableResolvedAttrs = map[string]bool{
		"deps":                   true,
		config.GazelleImportsKey: true,
	}
)

Functions

func FixFile added in v0.5.3

func FixFile(c *config.Config, oldFile *bf.File) *bf.File

FixFile updates rules in oldFile that were generated by an older version of Gazelle to a newer form that can be merged with freshly generated rules.

FixLoads should be called after this, since it will fix load statements that may be broken by transformations applied by this function.

func FixFileMinor added in v0.7.1

func FixFileMinor(c *config.Config, oldFile *bf.File) *bf.File

FixFileMinor updates rules in oldFile that were generated by an older version of Gazelle to a newer form that can be merged with freshly generated rules.

FixFileMinor includes only small, low-risk fixes that can be applied in update mode. When both FixFileMinor and FixFile are called, FixFileMinor should be called first.

FixLoads should be called after this, since it will fix load statements that may be broken by transformations applied by this function.

func FixLoads added in v0.6.0

func FixLoads(oldFile *bf.File) *bf.File

FixLoads removes loads of unused go rules and adds loads of newly used rules. This should be called after FixFile and MergeWithExisting, since symbols may be introduced that aren't loaded.

func MergeFile added in v0.8.0

func MergeFile(genRules []bf.Expr, empty []bf.Expr, oldFile *bf.File, attrs map[string]bool) (mergedFile *bf.File, mergedRules []bf.Expr)

MergeFile merges the rules in genRules with matching rules in oldFile and adds unmatched rules to the end of the merged file. MergeFile also merges rules in empty with matching rules in oldFile and deletes rules that are empty after merging. attrs is the set of attributes to merge. Attributes not in this set will be left alone if they already exist.

Types

This section is empty.

Jump to

Keyboard shortcuts

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