package bp2build

import (
	"android/soong/bazel"
	"fmt"
)

// Data from the code generation process that is used to improve compatibility
// between build systems.
type CodegenCompatLayer struct {
	// A map from the original module name to the generated/handcrafted Bazel
	// label for legacy build systems to be able to build a fully-qualified
	// Bazel target from an unique module name.
	NameToLabelMap map[string]string
}

// Log an entry of module name -> Bazel target label.
func (compatLayer CodegenCompatLayer) AddNameToLabelEntry(name, label string) {
	// The module name may be prefixed with bazel.BazelTargetModuleNamePrefix if
	// generated from bp2build.
	name = bazel.StripNamePrefix(name)
	if existingLabel, ok := compatLayer.NameToLabelMap[name]; ok {
		panic(fmt.Errorf(
			"Module '%s' maps to more than one Bazel target label: %s, %s. "+
				"This shouldn't happen. It probably indicates a bug with the bp2build internals.",
			name,
			existingLabel,
			label))
	}
	compatLayer.NameToLabelMap[name] = label
}
