Documentation ¶
Index ¶
- Variables
- func AndroidBpFile() bpwriter.File
- func AppendMatchingProperties(dst []interface{}, src interface{}) error
- func AppendProperties(dst interface{}, src interface{}) error
- func ApplyTemplate(props interface{}, properties *config.Properties)
- func DefaultApplierMutator(ctx blueprint.BottomUpMutatorContext)
- func DefaultDepsStage1Mutator(ctx blueprint.BottomUpMutatorContext)
- func DefaultDepsStage2Mutator(ctx blueprint.BottomUpMutatorContext)
- func GetGeneratedHeadersFiles(ctx blueprint.ModuleContext) (orderOnly []string)
- func GetLogger() *warnings.WarningLogger
- func GetWholeStaticLibs(ctx blueprint.ModuleContext) []string
- func LibraryFactory(config *BobConfig) (blueprint.Module, []interface{})
- func Main()
- func MetaDataWriteToFile(file string)
- func ModuleToolchainFactory(config *BobConfig) (blueprint.Module, []interface{})
- func PrependMatchingProperties(dst []interface{}, src interface{}) error
- func PrependProperties(dst interface{}, src interface{}) error
- func RegisterModuleTypes(register func(string, FactoryWithConfig))
- func RegisterToolchainModules(ctx blueprint.EarlyMutatorContext)
- func ResolveGenericDepsMutator(ctx blueprint.BottomUpMutatorContext)
- func SetupLogger(env *config.EnvironmentVariables)
- func StrictBinaryFactory(config *BobConfig) (blueprint.Module, []interface{})
- func TearDownLogger()
- type AliasProps
- type AliasableProps
- type AndroidMTEProps
- type AndroidPGOProps
- type AndroidProps
- type Archivable
- type BackendCommonLibraryInterface
- type BackendCommonSharedLibraryInterface
- type BackendConfiguration
- type BackendConfigurationProvider
- type BobConfig
- type Build
- type BuildMeta
- type BuildProps
- type CommonProps
- type Compilable
- type EnableableProps
- type ExternalLibProps
- type FactoryWithConfig
- type Featurable
- type Features
- type GenerateLibraryProps
- type GenerateProps
- type GenerateSourceProps
- type GenruleProps
- type GensrcsProps
- type GlobProps
- type IncludeDirsProps
- type IncludeProps
- type InstallGroupProps
- type InstallableProps
- type KernelProps
- type LegacySourceProps
- type LegacySourcePropsInterface
- type ModuleAlias
- type ModuleBinary
- func (m *ModuleBinary) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m *ModuleBinary) GetBackendConfiguration(ctx blueprint.ModuleContext) BackendConfiguration
- func (m ModuleBinary) GetProperties() interface{}
- func (m *ModuleBinary) OutFileTargets() (tgts []string)
- func (m *ModuleBinary) OutFiles() (srcs file.Paths)
- type ModuleDefaults
- type ModuleExternalLibrary
- func (m *ModuleExternalLibrary) FeaturableProperties() []interface{}
- func (m *ModuleExternalLibrary) Features() *Features
- func (m *ModuleExternalLibrary) FlagsIn() flag.Flags
- func (m *ModuleExternalLibrary) FlagsInTransitive(ctx blueprint.BaseModuleContext) (ret flag.Flags)
- func (m *ModuleExternalLibrary) FlagsOut() flag.Flags
- func (m *ModuleExternalLibrary) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m ModuleExternalLibrary) GetProperties() interface{}
- type ModuleFilegroup
- func (m *ModuleFilegroup) FeaturableProperties() []interface{}
- func (m *ModuleFilegroup) Features() *Features
- func (m *ModuleFilegroup) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m ModuleFilegroup) GetProperties() interface{}
- func (m *ModuleFilegroup) GetTags() []string
- func (m *ModuleFilegroup) GetTagsRegex(query *regexp.Regexp) []string
- func (m *ModuleFilegroup) HasTag(query string) bool
- func (m *ModuleFilegroup) HasTagRegex(query *regexp.Regexp) bool
- func (m *ModuleFilegroup) OutFileTargets() []string
- func (m *ModuleFilegroup) OutFiles() file.Paths
- func (m *ModuleFilegroup) ResolveFiles(ctx blueprint.BaseModuleContext)
- type ModuleGenerateCommon
- type ModuleGenerateSource
- func (m *ModuleGenerateSource) FeaturableProperties() []interface{}
- func (m *ModuleGenerateSource) FlagsOut() (flags flag.Flags)
- func (m *ModuleGenerateSource) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m *ModuleGenerateSource) GetDirectFiles() file.Paths
- func (m *ModuleGenerateSource) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
- func (m ModuleGenerateSource) GetProperties() interface{}
- func (m *ModuleGenerateSource) GetTargets() (tgts []string)
- func (m *ModuleGenerateSource) OutFileTargets() []string
- func (m *ModuleGenerateSource) OutFiles() file.Paths
- func (m *ModuleGenerateSource) ResolveFiles(ctx blueprint.BaseModuleContext)
- type ModuleGenrule
- func (m *ModuleGenrule) FeaturableProperties() []interface{}
- func (m *ModuleGenrule) FlagsOut() (flags flag.Flags)
- func (m *ModuleGenrule) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m *ModuleGenrule) GetDirectFiles() file.Paths
- func (m *ModuleGenrule) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
- func (m ModuleGenrule) GetProperties() interface{}
- func (m *ModuleGenrule) GetTags() []string
- func (m *ModuleGenrule) GetTagsRegex(query *regexp.Regexp) []string
- func (m *ModuleGenrule) GetTargets() []string
- func (m *ModuleGenrule) HasTag(query string) bool
- func (m *ModuleGenrule) HasTagRegex(query *regexp.Regexp) bool
- func (m *ModuleGenrule) OutFileTargets() (tgts []string)
- func (m *ModuleGenrule) OutFiles() file.Paths
- func (m *ModuleGenrule) ResolveFiles(ctx blueprint.BaseModuleContext)
- type ModuleGenruleInterface
- type ModuleGensrcs
- func (m *ModuleGensrcs) FeaturableProperties() []interface{}
- func (m *ModuleGensrcs) FlagsOut() (flags flag.Flags)
- func (m *ModuleGensrcs) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m *ModuleGensrcs) GetDirectFiles() file.Paths
- func (m *ModuleGensrcs) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
- func (m ModuleGensrcs) GetProperties() interface{}
- func (m *ModuleGensrcs) GetTags() []string
- func (m *ModuleGensrcs) GetTagsRegex(query *regexp.Regexp) []string
- func (m *ModuleGensrcs) GetTargets() []string
- func (m *ModuleGensrcs) HasTag(query string) bool
- func (m *ModuleGensrcs) HasTagRegex(query *regexp.Regexp) bool
- func (m *ModuleGensrcs) OutFileTargets() (tgts []string)
- func (m *ModuleGensrcs) OutFiles() file.Paths
- func (m *ModuleGensrcs) ResolveFiles(ctx blueprint.BaseModuleContext)
- func (m *ModuleGensrcs) ResolveOutFiles(ctx blueprint.BaseModuleContext)
- type ModuleGensrcsInterface
- type ModuleGlob
- func (m *ModuleGlob) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m ModuleGlob) GetProperties() interface{}
- func (m *ModuleGlob) GetTags() []string
- func (m *ModuleGlob) GetTagsRegex(query *regexp.Regexp) []string
- func (m *ModuleGlob) HasTag(query string) bool
- func (m *ModuleGlob) HasTagRegex(query *regexp.Regexp) bool
- func (m *ModuleGlob) OutFileTargets() (tgts []string)
- func (m *ModuleGlob) OutFiles() file.Paths
- func (m *ModuleGlob) ResolveFiles(ctx blueprint.BaseModuleContext)
- type ModuleInstallGroup
- func (m *ModuleInstallGroup) FeaturableProperties() []interface{}
- func (m *ModuleInstallGroup) Features() *Features
- func (m *ModuleInstallGroup) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m ModuleInstallGroup) GetProperties() interface{}
- func (m *ModuleInstallGroup) GetTags() []string
- func (m *ModuleInstallGroup) GetTagsRegex(query *regexp.Regexp) []string
- func (m *ModuleInstallGroup) HasTag(query string) bool
- func (m *ModuleInstallGroup) HasTagRegex(query *regexp.Regexp) bool
- type ModuleKernelObject
- func (m *ModuleKernelObject) FeaturableProperties() []interface{}
- func (m *ModuleKernelObject) Features() *Features
- func (m *ModuleKernelObject) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m ModuleKernelObject) GetProperties() interface{}
- func (m *ModuleKernelObject) GetTags() []string
- func (m *ModuleKernelObject) GetTagsRegex(query *regexp.Regexp) []string
- func (m *ModuleKernelObject) HasTag(query string) bool
- func (m *ModuleKernelObject) HasTagRegex(query *regexp.Regexp) bool
- func (m *ModuleKernelObject) OutFileTargets() []string
- func (m *ModuleKernelObject) OutFiles() file.Paths
- func (m *ModuleKernelObject) ResolveFiles(ctx blueprint.BaseModuleContext)
- type ModuleLibrary
- func (m *ModuleLibrary) FeaturableProperties() []interface{}
- func (m *ModuleLibrary) Features() *Features
- func (m *ModuleLibrary) FlagsIn() flag.Flags
- func (m *ModuleLibrary) FlagsInTransitive(ctx blueprint.BaseModuleContext) (ret flag.Flags)
- func (m *ModuleLibrary) FlagsOut() flag.Flags
- func (m *ModuleLibrary) FlagsOutTargets() []string
- func (m *ModuleLibrary) GenerateBuildActions(blueprint.ModuleContext)
- func (m *ModuleLibrary) GetBuildWrapperAndDeps(ctx blueprint.ModuleContext) (string, []string)
- func (m *ModuleLibrary) GetDirectFiles() file.Paths
- func (m *ModuleLibrary) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
- func (m *ModuleLibrary) GetMteProps(blueprint.ModuleContext) AndroidMTEProps
- func (m *ModuleLibrary) GetStaticLibs(ctx blueprint.ModuleContext) []string
- func (m *ModuleLibrary) GetTags() []string
- func (m *ModuleLibrary) GetTagsRegex(query *regexp.Regexp) []string
- func (m *ModuleLibrary) GetTargets() (tgts []string)
- func (m *ModuleLibrary) HasTag(query string) bool
- func (m *ModuleLibrary) HasTagRegex(query *regexp.Regexp) bool
- func (m *ModuleLibrary) IsForwardingSharedLibrary() bool
- func (m *ModuleLibrary) IsHwAsanEnabled() bool
- func (m *ModuleLibrary) IsRpathWanted() bool
- func (m *ModuleLibrary) LibraryFactory(config *BobConfig, module blueprint.Module) (blueprint.Module, []interface{})
- func (m *ModuleLibrary) ResolveFiles(ctx blueprint.BaseModuleContext)
- type ModuleMeta
- type ModuleResource
- func (m *ModuleResource) FeaturableProperties() []interface{}
- func (m *ModuleResource) Features() *Features
- func (m *ModuleResource) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m *ModuleResource) GetDirectFiles() file.Paths
- func (m *ModuleResource) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
- func (m ModuleResource) GetProperties() interface{}
- func (m *ModuleResource) GetTags() []string
- func (m *ModuleResource) GetTagsRegex(query *regexp.Regexp) []string
- func (m *ModuleResource) GetTargets() []string
- func (m *ModuleResource) HasTag(query string) bool
- func (m *ModuleResource) HasTagRegex(query *regexp.Regexp) bool
- func (m *ModuleResource) OutFileTargets() []string
- func (m *ModuleResource) OutFiles() (files file.Paths)
- func (m *ModuleResource) ResolveFiles(ctx blueprint.BaseModuleContext)
- type ModuleSharedLibrary
- func (m *ModuleSharedLibrary) FlagsIn() flag.Flags
- func (m *ModuleSharedLibrary) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m *ModuleSharedLibrary) GetBackendConfiguration(ctx blueprint.ModuleContext) BackendConfiguration
- func (m ModuleSharedLibrary) GetProperties() interface{}
- func (m *ModuleSharedLibrary) OutFileTargets() []string
- func (m *ModuleSharedLibrary) OutFiles() (files file.Paths)
- type ModuleStaticLibrary
- func (m *ModuleStaticLibrary) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m *ModuleStaticLibrary) GetBackendConfiguration(ctx blueprint.ModuleContext) BackendConfiguration
- func (m ModuleStaticLibrary) GetProperties() interface{}
- func (m *ModuleStaticLibrary) OutFileTargets() []string
- func (m *ModuleStaticLibrary) OutFiles() (srcs file.Paths)
- type ModuleStrictBinary
- type ModuleStrictGenerateCommon
- func (m *ModuleStrictGenerateCommon) FeaturableProperties() []interface{}
- func (m *ModuleStrictGenerateCommon) Features() *Features
- func (m *ModuleStrictGenerateCommon) GenerateBuildActions(blueprint.ModuleContext)
- func (m *ModuleStrictGenerateCommon) GetDirectFiles() file.Paths
- func (m *ModuleStrictGenerateCommon) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
- func (m *ModuleStrictGenerateCommon) GetTags() []string
- func (m *ModuleStrictGenerateCommon) GetTagsRegex(query *regexp.Regexp) []string
- func (m *ModuleStrictGenerateCommon) GetTargets() []string
- func (m *ModuleStrictGenerateCommon) HasTag(query string) bool
- func (m *ModuleStrictGenerateCommon) HasTagRegex(query *regexp.Regexp) bool
- func (m *ModuleStrictGenerateCommon) ResolveFiles(ctx blueprint.BaseModuleContext)
- type ModuleStrictLibrary
- func (m *ModuleStrictLibrary) FeaturableProperties() []interface{}
- func (m *ModuleStrictLibrary) Features() *Features
- func (m *ModuleStrictLibrary) FlagsIn() flag.Flags
- func (m *ModuleStrictLibrary) FlagsInTransitive(ctx blueprint.BaseModuleContext) (ret flag.Flags)
- func (m *ModuleStrictLibrary) FlagsOut() flag.Flags
- func (m *ModuleStrictLibrary) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m *ModuleStrictLibrary) GetBackendConfiguration(ctx blueprint.ModuleContext) BackendConfiguration
- func (m *ModuleStrictLibrary) GetDirectFiles() file.Paths
- func (m *ModuleStrictLibrary) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
- func (m ModuleStrictLibrary) GetProperties() interface{}
- func (m *ModuleStrictLibrary) GetStaticLibs(ctx blueprint.ModuleContext) (libs []string)
- func (m *ModuleStrictLibrary) GetTags() []string
- func (m *ModuleStrictLibrary) GetTagsRegex(query *regexp.Regexp) []string
- func (m *ModuleStrictLibrary) GetTargets() (tgts []string)
- func (m *ModuleStrictLibrary) HasTag(query string) bool
- func (m *ModuleStrictLibrary) HasTagRegex(query *regexp.Regexp) bool
- func (m *ModuleStrictLibrary) IsForwardingSharedLibrary() bool
- func (m *ModuleStrictLibrary) IsRpathWanted() bool
- func (m *ModuleStrictLibrary) OutFileTargets() []string
- func (m *ModuleStrictLibrary) OutFiles() file.Paths
- func (m *ModuleStrictLibrary) ResolveFiles(ctx blueprint.BaseModuleContext)
- type ModuleTest
- type ModuleToolchain
- func (m *ModuleToolchain) FeaturableProperties() []interface{}
- func (m *ModuleToolchain) Features() *Features
- func (m *ModuleToolchain) FlagsOut() flag.Flags
- func (m *ModuleToolchain) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m *ModuleToolchain) GetBuildWrapperAndDeps(ctx blueprint.ModuleContext) (string, []string)
- func (m *ModuleToolchain) GetMteProps(blueprint.ModuleContext) AndroidMTEProps
- func (m *ModuleToolchain) GetTags() []string
- func (m *ModuleToolchain) GetTagsRegex(query *regexp.Regexp) []string
- func (m *ModuleToolchain) HasTag(query string) bool
- func (m *ModuleToolchain) HasTagRegex(query *regexp.Regexp) bool
- func (m *ModuleToolchain) IsHwAsanEnabled() bool
- type ModuleToolchainInterface
- type ModuleToolchainProps
- type ModuleTransformSource
- func (m *ModuleTransformSource) FeaturableProperties() []interface{}
- func (m *ModuleTransformSource) FlagsOut() (flags flag.Flags)
- func (m *ModuleTransformSource) GenerateBuildActions(ctx blueprint.ModuleContext)
- func (m *ModuleTransformSource) GetDirectFiles() file.Paths
- func (m *ModuleTransformSource) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
- func (m ModuleTransformSource) GetProperties() interface{}
- func (m *ModuleTransformSource) GetTargets() []string
- func (m *ModuleTransformSource) OutFileTargets() []string
- func (m *ModuleTransformSource) OutFiles() file.Paths
- func (m *ModuleTransformSource) ResolveFiles(ctx blueprint.BaseModuleContext)
- func (m *ModuleTransformSource) ResolveOutFiles(ctx blueprint.BaseModuleContext)
- type PropertyProvider
- type ResourceProps
- type SharedLibraryExporter
- type SourceProps
- type SplittableProps
- type StrictGenerateCommonInterface
- type StrictGenerateProps
- type StrictGeneratePropsInterface
- type StrictGenerator
- type StrictLibraryProps
- type StripCapable
- type StripProps
- type Tagable
- type TagableProps
- type TargetSpecific
- type ToolchainFlagsProps
- type TransformSourceProps
- type TransitiveLibraryProps
Constants ¶
This section is empty.
Variables ¶
var ToolchainModuleMap = mapper.New() // Global lookup for toolchain names
Functions ¶
func AndroidBpFile ¶
Provides access to the global instance of the Android.bp file writer
func AppendMatchingProperties ¶
func AppendMatchingProperties(dst []interface{}, src interface{}) error
func AppendProperties ¶
func AppendProperties(dst interface{}, src interface{}) error
func ApplyTemplate ¶
func ApplyTemplate(props interface{}, properties *config.Properties)
ApplyTemplate writes configuration values (from properties) into the string properties in props. This is done recursively.
func DefaultApplierMutator ¶
func DefaultApplierMutator(ctx blueprint.BottomUpMutatorContext)
Applies default options
func DefaultDepsStage1Mutator ¶
func DefaultDepsStage1Mutator(ctx blueprint.BottomUpMutatorContext)
Locally store defaults in defaultsMap
func DefaultDepsStage2Mutator ¶
func DefaultDepsStage2Mutator(ctx blueprint.BottomUpMutatorContext)
Adds dependency links for defaults to all modules (but not defaults modules). Rather than creating a dependency hierarchy, flatten the hierarchy for each module. This allows us to remove duplication of defaults modules, while respecting ordering of defaults specified on each module, and between hierarchies. Without flattening the hierarchy we would need more control over the module visitation order in WalkDeps.
func GetGeneratedHeadersFiles ¶
func GetGeneratedHeadersFiles(ctx blueprint.ModuleContext) (orderOnly []string)
func GetLogger ¶
func GetLogger() *warnings.WarningLogger
func GetWholeStaticLibs ¶
func GetWholeStaticLibs(ctx blueprint.ModuleContext) []string
Returns the whole static dependencies for a library.
func LibraryFactory ¶
func Main ¶
func Main()
Main is the entry point for the bob primary builder.
It loads the configuration from .bob.config.json, registers the module type and mutators, initializes the backend, and finally calls into Blueprint.
func MetaDataWriteToFile ¶
func MetaDataWriteToFile(file string)
Writes the metadata to specified file if the path is set.
func ModuleToolchainFactory ¶
func PrependMatchingProperties ¶
func PrependMatchingProperties(dst []interface{}, src interface{}) error
func PrependProperties ¶
func PrependProperties(dst interface{}, src interface{}) error
func RegisterModuleTypes ¶
func RegisterModuleTypes(register func(string, FactoryWithConfig))
func RegisterToolchainModules ¶
func RegisterToolchainModules(ctx blueprint.EarlyMutatorContext)
func ResolveGenericDepsMutator ¶
func ResolveGenericDepsMutator(ctx blueprint.BottomUpMutatorContext)
func SetupLogger ¶
func SetupLogger(env *config.EnvironmentVariables)
func StrictBinaryFactory ¶
func TearDownLogger ¶
func TearDownLogger()
Types ¶
type AliasProps ¶
type AliasProps struct { // Modules that this alias will cause to build Srcs []string AliasableProps }
AliasProps describes the properties of the bob_alias module
type AliasableProps ¶
type AliasableProps struct { // Adds this module to an alias Add_to_alias []string }
AliasableProps are embedded in modules which can be aliased
type AndroidMTEProps ¶
AndroidMTEProps defines properties used to enable the Arm Memory Tagging Extension
type AndroidPGOProps ¶
type AndroidPGOProps struct { Pgo struct { Benchmarks []string Profile_file *string Enable_profile_use *bool Cflags []string } }
AndroidPGOProps defines properties used to support profile-guided optimization.
type AndroidProps ¶
type AndroidProps struct { // Values to use on Android for LOCAL_MODULE_TAGS, defining which builds this module is built for Tags []string // Value to use on Android for LOCAL_MODULE_OWNER Owner *string }
AndroidProps defines module properties used by Android backends
type Archivable ¶
type Archivable interface { flag.Consumer // Modules which are compilable need to support flags file.Consumer // Compilable objects must match the file consumer interface BackendConfigurationProvider // contains filtered or unexported methods }
type BackendCommonLibraryInterface ¶
type BackendCommonLibraryInterface interface { flag.Consumer // Legacy functions which need a better interface IsRpathWanted() bool BackendConfigurationProvider // contains filtered or unexported methods }
Temporary interface to make library handlers generic between legacy and strict libraries
type BackendCommonSharedLibraryInterface ¶
type BackendCommonSharedLibraryInterface interface { BackendCommonLibraryInterface // contains filtered or unexported methods }
type BackendConfiguration ¶
type BackendConfiguration interface { GetBuildWrapperAndDeps(blueprint.ModuleContext) (string, []string) GetMteProps(blueprint.ModuleContext) AndroidMTEProps IsHwAsanEnabled() bool // contains filtered or unexported methods }
func GetModuleBackendConfiguration ¶
func GetModuleBackendConfiguration(ctx blueprint.ModuleContext, m BackendConfigurationProvider) BackendConfiguration
type BackendConfigurationProvider ¶
type BackendConfigurationProvider interface {
GetBackendConfiguration(blueprint.ModuleContext) BackendConfiguration
}
This interface provides configuration features
type BobConfig ¶
type BobConfig struct { Generator generatorBackend Properties config.Properties }
The `BobConfig` type is stored against the Blueprint context, and allows us to retrieve the backend and configuration values from within Blueprint callbacks.
type Build ¶
type Build struct { CommonProps BuildProps Target TargetSpecific Host TargetSpecific SplittableProps }
A Build represents the whole tree of properties for a 'library' object, including its host and target-specific properties
func (*Build) GetBuildWrapperAndDeps ¶
func (b *Build) GetBuildWrapperAndDeps(ctx blueprint.ModuleContext) (string, []string)
type BuildProps ¶
type BuildProps struct { // Alternate output name, used for the file name and Android rules Out *string // Flags exported for dependent modules Export_cflags []string // Flags used for C compilation Conlyflags []string // Flags used for C++ compilation Cxxflags []string // Flags used for assembly compilation Asflags []string // Flags used for linking Ldflags []string // Same as ldflags, but specified on static libraries and propagated to // the top-level build object. Export_ldflags []string // Shared library version Library_version string // Shared library version script Version_script *string // These are propagated to the closest linking object when specified on static libraries. // shared_libs is an indication that this module is using a shared library, and // users of this module need to link against it. Shared_libs []string `bob:"first_overrides"` // this library (via static_libs, whole_static_libs or shared_libs). ExtraSharedLibs []string `blueprint:"mutated"` // The list of static lib modules that this library depends on // These are propagated to the closest linking object when specified on static libraries. // static_libs is an indication that this module is using a static library, and // users of this module need to link against it. Static_libs []string `bob:"first_overrides"` // This list of dependencies that exported cflags and exported include dirs // should be propagated 1-level higher Reexport_libs []string `bob:"first_overrides"` // Internal property for collecting libraries with reexported flags and include paths ResolvedReexportedLibs []string `blueprint:"mutated"` // Same as above except for generated header providers which are not target variant aware and hence cannot // re use the same tagging. ResolvedGeneratedHeaders []string `blueprint:"mutated"` ResolvedStaticLibs []string `blueprint:"mutated"` // The list of whole static libraries that this library depnds on // This will include all the objects in the library (as opposed to normal static linking) // If this is set for a static library, any shared library will also include objects // from dependent libraries Whole_static_libs []string `bob:"first_overrides"` // List of libraries to import headers from, but not link to Header_libs []string `bob:"first_overrides"` // List of libraries that users of the current library should import // headers from, but not link to Export_header_libs []string `bob:"first_overrides"` // Linker flags required to link to the necessary system libraries // These are propagated to the closest linking object when specified on static libraries. Ldlibs []string `bob:"first_overrides"` // The list of modules that generate extra headers for this module Generated_headers []string `bob:"first_overrides"` // The list of modules that generate extra headers for this module, // which should be made available to linking modules Export_generated_headers []string `bob:"first_overrides"` // The list of modules that generate extra source files for this module Generated_sources []string // The list of modules that generate output required by the build wrapper Generated_deps []string // Include local dirs to be exported into dependent. // The system variant will propagate includes using `-isystem`, but use `-I` for // current module. Export_local_include_dirs []string `bob:"first_overrides"` Export_local_system_include_dirs []string `bob:"first_overrides"` // Include dirs (path relative to root) to be exported into dependent. // The system variant will propagate includes using `-isystem`, but use `-I` for // current module. Export_include_dirs []string `bob:"first_overrides"` Export_system_include_dirs []string `bob:"first_overrides"` // Wrapper for all build commands (object file compilation *and* linking) Build_wrapper *string // Adds DT_RPATH symbol to binaries and shared libraries so that they can find // their dependencies at runtime. Add_lib_dirs_to_rpath *bool // This is a shared library that pulls in one or more shared // libraries to resolve symbols that the binary needs. This is // useful where a named library is the standard library to link // against, but the implementation may exist in another // library. // // Only valid on bob_shared_library. // // Currently we need to link with -Wl,--copy-dt-needed-entries. // This makes the binary depend on the implementation library, and // requires the BFD linker. Forwarding_shlib *bool StripProps AndroidPGOProps AndroidMTEProps Hwasan_enabled *bool TargetType toolchain.TgtType `blueprint:"mutated"` }
BuildProps contains properties required by all modules that compile C/C++
type CommonProps ¶
type CommonProps struct { LegacySourceProps IncludeDirsProps InstallableProps EnableableProps AndroidProps AliasableProps // Flags used for C compilation Cflags []string }
CommonProps defines a set of properties which are common for multiple module types.
type Compilable ¶
type Compilable interface { flag.Consumer // Modules which are compilable need to support flags flag.Provider // Required for AOSP backend to check for exported flags file.Consumer // Compilable objects must match the file consumer interface BackendConfigurationProvider // contains filtered or unexported methods }
type EnableableProps ¶
type EnableableProps struct { // Used to disable the generation of build rules. If this is set to false, no build rule will be generated. Enabled *bool // Whether it is built by default in a build with no targets requested. // Nothing to do with 'defaults'. Build_by_default *bool // Is this module depended on by a module which is built by default? // Used to prune unused modules from Android builds, where we can't // control exactly what gets built. Required bool `blueprint:"mutated"` }
EnableableProps allow a module to be disabled or only built when explicitly requested
type ExternalLibProps ¶
type FactoryWithConfig ¶
type Featurable ¶
type Featurable interface { FeaturableProperties() []interface{} Features() *Features }
Modules implementing featurable support the use of features and templates.
type Features ¶
type Features struct { // 'BlueprintEmbed' is a special case in Blueprint which makes it interpret // a runtime-generated type as being embedded in its parent struct. BlueprintEmbed interface{} }
Features must be embedded in each modules property structure to support the use of features in the module. The feature must be initialised with a call to Init().
func (*Features) AppendProps ¶
func (f *Features) AppendProps(dst []interface{}, properties *config.Properties) error
AppendProps merges properties from BlueprintEmbed to dst, but only for enabled features expect that Features are inited (before using this function we should call Features.Init) expect that properties.Features should contain all available features (whenever disabled/enabled)
func (*Features) DeInit ¶
func (f *Features) DeInit()
Set internal `BlueprintEmbed` field to nil.
Use it carefully as features won't be available anymore.
func (*Features) Init ¶
func (f *Features) Init(properties *config.Properties, list ...interface{})
Init generates and initializes a struct containing a field of type 'propsType' for every available feature. 'propsType' will be constructed from list of types. By constructed we mean properties of each type will be merged together. It is important to set here every available feature not only enabled ones, because blueprint will fail during reading .bp files. The generated object is embedded in each module types' properties instance, and is used by Blueprint to decide what properties can be set inside features in each module type.
An example generated type:
type BlueprintEmbedType struct { Debug PropsType Enable_something PropsType Some_other_feature PropsType }
Name of each property in this struct is custom feature name. Blueprint will inflate this structure with data read from .bp files. Only exported properties can be set so property name MUST start from capital letter.
type GenerateLibraryProps ¶
type GenerateLibraryProps struct { // List of headers that are created (if any) Headers []string // Alternate output name, used for the file name and Android rules Out *string // List of implicit sources. Implicit sources are input files that do not get // mentioned on the command line, and are not specified in the explicit sources. Implicit_srcs []string // Implicit source files that should not be included. Use with care. Exclude_implicit_srcs []string }
GenerateLibraryProps contain the properties that are specific to generating libraries
type GenerateProps ¶
type GenerateProps struct { LegacySourceProps AliasableProps EnableableProps InstallableProps /* The command that is to be run for this source generation. * Substitutions can be made in the command, by using $name_of_var. A list of substitutions that can be used: * $gen_dir - the path to the directory which belongs to this source generator * $in - the path to the sources - space-delimited * $out - the path to the targets - space-delimited * $depfile - the path to generated dependency file * $args - the value of "args" - space-delimited * $tool - the path to the tool * $tool <label> - the path to the tool with name <label> * $host_bin - the path to the binary that is produced by the host_bin module * $(dep)_out - the outputs of the generated_dep `dep` * $src_dir - the path to the project source directory - this will be different than the build source directory * for Android. * $module_dir - the path to the module directory */ Cmd *string // A paths to the tool that are to be used in cmd. If $tool is in the command variable, then this will be replaced // with the path to this tool. ${tool} refers to the first tool in a list. To reference // other tool use index syntax ${tool <label>} (e.g. ${tool fixer.py} for `fixer.py` tool from list). Tools []string // Adds a dependency on a binary with `host_supported: true` which is used by this module. // The path can be referenced in cmd as ${host_bin}. Host_bin *string // Values to use on Android for LOCAL_MODULE_TAGS, defining which builds this module is built for // TODO: Hide this in Android-specific properties Tags []string // A list of other modules that this generator depends on. The dependencies can be used in the command through // $name_of_dependency_dir . Generated_deps []string // A list of other modules that this generator depends on. The dependencies will be add to the list of srcs Generated_sources []string // A list of args that will be spaceseparated and add to the cmd Args []string // Used to indicate that the console should be used. Console *bool // A list of source modules that this bob_generated_source will encapsulate. // When this module is used with generated_headers, the named modules' export_gen_include_dirs will be forwarded. // When this module is used with generated_sources, the named modules' outputs will be supplied as sources. Encapsulates []string // Additional include paths to add for modules that use generate_headers. // This will be defined relative to the module-specific build directory Export_gen_include_dirs []string // The defaults used to retrieve cflags Flag_defaults []string // The target type - must be either "host" or "target" Target toolchain.TgtType // If true, depfile name will be generated and can be used as ${depfile} reference in 'cmd' Depfile *bool // If set, Ninja will expand the string and write it to a file just // before executing the command. This can be used to e.g. contain ${in}, // in cases where the command line length is a limiting factor. Rsp_content *string }
GenerateProps contains the module properties that allow generation of output from arbitrary commands
type GenerateSourceProps ¶
type GenerateSourceProps struct { // The list of files that will be output. Out []string // List of implicit sources. Implicit sources are input files that do not get // mentioned on the command line, and are not specified in the explicit sources. Implicit_srcs []string // Implicit source files that should not be included. Use with care. Exclude_implicit_srcs []string ResolvedOut file.Paths `blueprint:"mutated"` }
GenerateSourceProps are properties of 'bob_generate_source', i.e. a module type which can generate sources using a single execution The command will be run once - with $in being the paths in "srcs" and $out being the paths in "out". The working directory will be the source directory, and all paths will be relative to the source directory if not else noted.
type GenruleProps ¶
type GensrcsProps ¶
type GlobProps ¶
type GlobProps struct { // Path patterns that are relative to the current module Srcs []string // Path patterns that are relative to the current module to exclude from `Srcs` Exclude []string // Omitted directories from the `Files` result Exclude_directories *bool // Currently no supported. // Error-out if the result `Files` is empty Allow_empty *bool // Found module sources Files file.Paths `blueprint:"mutated"` }
type IncludeDirsProps ¶
type IncludeDirsProps struct { // The list of include dirs to use that is relative to the source directory Include_dirs []string `bob:"first_overrides"` // The list of include dirs to use that is relative to the build.bp file // These use relative instead of absolute paths Local_include_dirs []string `bob:"first_overrides"` }
IncludeDirsProps defines a set of properties for including directories by the module.
type IncludeProps ¶
type IncludeProps struct {
Includes []string
}
List of include dirs to be added to the compile line.
Each string is prepended with `-I` when building the target itself and `-isystem` when building modules who consumes it. Unlike `Copts`, these flags are added for this rule and every rule that depends on it.
type InstallGroupProps ¶
type InstallGroupProps struct {
Install_path *string
}
InstallGroupProps describes the properties of bob_install_group modules
type InstallableProps ¶
type InstallableProps struct { // Module specifying an installation directory Install_group *string // Other modules which must be installed alongside this Install_deps []string // Path to install to, relative to the install_group's path Relative_install_path *string // Script used during post install Post_install_tool *string // Command to execute on file(s) after they are installed Post_install_cmd *string // Arguments to post install command Post_install_args []string // The path retrieved from the install group so we don't need to walk dependencies to get it InstallGroupPath *string `blueprint:"mutated"` }
InstallableProps are embedded by modules which can be installed outside the build directory
type KernelProps ¶
type KernelProps struct { // Linux kernel config options to emulate. These are passed to Kbuild in // the 'make' command-line, and set in the source code via EXTRA_CFLAGS Kbuild_options []string // Kernel modules which this module depends on Extra_symbols []string // Arguments to pass to kernel make invocation Make_args []string // Kernel directory location Kernel_dir *string // Compiler prefix for kernel build Kernel_cross_compile *string // Kernel target compiler Kernel_cc *string // Kernel host compiler Kernel_hostcc *string // Kernel linker Kernel_ld *string // Target triple when using clang as the compiler Kernel_clang_triple *string }
type LegacySourceProps ¶
type LegacySourceProps struct { // The list of source files. Wildcards can be used (but are suboptimal) Srcs []string // The list of source files that should not be included. Use with care. Exclude_srcs []string // A list of filegroup modules that provide srcs, these are directly added to Srcs. // We do not currently re-use Srcs for this Filegroup_srcs []string ResolvedSrcs file.Paths `blueprint:"mutated"` // Glob results. }
LegacySourceProps defines module properties that are used to identify the source files associated with a module. These are used for legacy targets, new targets should use `SourceProps` where possible.
func (*LegacySourceProps) GetDirectFiles ¶
func (s *LegacySourceProps) GetDirectFiles() file.Paths
func (*LegacySourceProps) GetFiles ¶
func (s *LegacySourceProps) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
func (*LegacySourceProps) GetTargets ¶
func (s *LegacySourceProps) GetTargets() []string
func (*LegacySourceProps) ResolveFiles ¶
func (s *LegacySourceProps) ResolveFiles(ctx blueprint.BaseModuleContext)
type LegacySourcePropsInterface ¶
type LegacySourcePropsInterface interface { file.Consumer file.Resolver // contains filtered or unexported methods }
All interfaces supported by LegacySourceProps
type ModuleAlias ¶
type ModuleAlias struct { module.ModuleBase Properties struct { AliasProps Features } }
Type representing each bob_alias module
func (*ModuleAlias) FeaturableProperties ¶
func (m *ModuleAlias) FeaturableProperties() []interface{}
func (*ModuleAlias) Features ¶
func (m *ModuleAlias) Features() *Features
func (*ModuleAlias) GenerateBuildActions ¶
func (m *ModuleAlias) GenerateBuildActions(ctx blueprint.ModuleContext)
Called by Blueprint to generate the rules associated with the alias. This is forwarded to the backend to handle.
func (ModuleAlias) GetProperties ¶
func (m ModuleAlias) GetProperties() interface{}
type ModuleBinary ¶
type ModuleBinary struct {
ModuleLibrary
}
func (*ModuleBinary) GenerateBuildActions ¶
func (m *ModuleBinary) GenerateBuildActions(ctx blueprint.ModuleContext)
func (*ModuleBinary) GetBackendConfiguration ¶
func (m *ModuleBinary) GetBackendConfiguration(ctx blueprint.ModuleContext) BackendConfiguration
func (ModuleBinary) GetProperties ¶
func (m ModuleBinary) GetProperties() interface{}
func (*ModuleBinary) OutFileTargets ¶
func (m *ModuleBinary) OutFileTargets() (tgts []string)
func (*ModuleBinary) OutFiles ¶
func (m *ModuleBinary) OutFiles() (srcs file.Paths)
type ModuleDefaults ¶
type ModuleDefaults struct { module.ModuleBase Properties struct { Features Build KernelProps TagableProps // The list of default properties that should prepended to all configuration Defaults []string } }
func (*ModuleDefaults) FeaturableProperties ¶
func (m *ModuleDefaults) FeaturableProperties() []interface{}
func (*ModuleDefaults) Features ¶
func (m *ModuleDefaults) Features() *Features
func (*ModuleDefaults) GenerateBuildActions ¶
func (m *ModuleDefaults) GenerateBuildActions(ctx blueprint.ModuleContext)
func (ModuleDefaults) GetProperties ¶
func (m ModuleDefaults) GetProperties() interface{}
type ModuleExternalLibrary ¶
type ModuleExternalLibrary struct { module.ModuleBase Properties struct { ExternalLibProps TagableProps Features } }
func (*ModuleExternalLibrary) FeaturableProperties ¶
func (m *ModuleExternalLibrary) FeaturableProperties() []interface{}
func (*ModuleExternalLibrary) Features ¶
func (m *ModuleExternalLibrary) Features() *Features
func (*ModuleExternalLibrary) FlagsIn ¶
func (m *ModuleExternalLibrary) FlagsIn() flag.Flags
func (*ModuleExternalLibrary) FlagsInTransitive ¶
func (m *ModuleExternalLibrary) FlagsInTransitive(ctx blueprint.BaseModuleContext) (ret flag.Flags)
func (*ModuleExternalLibrary) FlagsOut ¶
func (m *ModuleExternalLibrary) FlagsOut() flag.Flags
func (*ModuleExternalLibrary) GenerateBuildActions ¶
func (m *ModuleExternalLibrary) GenerateBuildActions(ctx blueprint.ModuleContext)
External libraries have no actions - they are already built.
func (ModuleExternalLibrary) GetProperties ¶
func (m ModuleExternalLibrary) GetProperties() interface{}
type ModuleFilegroup ¶
type ModuleFilegroup struct { module.ModuleBase Properties struct { SourceProps TagableProps Features EnableableProps } }
func (*ModuleFilegroup) FeaturableProperties ¶
func (m *ModuleFilegroup) FeaturableProperties() []interface{}
func (*ModuleFilegroup) Features ¶
func (m *ModuleFilegroup) Features() *Features
func (*ModuleFilegroup) GenerateBuildActions ¶
func (m *ModuleFilegroup) GenerateBuildActions(ctx blueprint.ModuleContext)
func (ModuleFilegroup) GetProperties ¶
func (m ModuleFilegroup) GetProperties() interface{}
func (*ModuleFilegroup) GetTags ¶
func (m *ModuleFilegroup) GetTags() []string
func (*ModuleFilegroup) GetTagsRegex ¶
func (m *ModuleFilegroup) GetTagsRegex(query *regexp.Regexp) []string
func (*ModuleFilegroup) HasTag ¶
func (m *ModuleFilegroup) HasTag(query string) bool
func (*ModuleFilegroup) HasTagRegex ¶
func (m *ModuleFilegroup) HasTagRegex(query *regexp.Regexp) bool
func (*ModuleFilegroup) OutFileTargets ¶
func (m *ModuleFilegroup) OutFileTargets() []string
func (*ModuleFilegroup) OutFiles ¶
func (m *ModuleFilegroup) OutFiles() file.Paths
func (*ModuleFilegroup) ResolveFiles ¶
func (m *ModuleFilegroup) ResolveFiles(ctx blueprint.BaseModuleContext)
type ModuleGenerateCommon ¶
type ModuleGenerateCommon struct { module.ModuleBase Properties struct { GenerateProps Features FlagArgsBuild Build `blueprint:"mutated"` } // contains filtered or unexported fields }
func (*ModuleGenerateCommon) FeaturableProperties ¶
func (m *ModuleGenerateCommon) FeaturableProperties() []interface{}
func (*ModuleGenerateCommon) Features ¶
func (m *ModuleGenerateCommon) Features() *Features
func (*ModuleGenerateCommon) OutFiles ¶
func (m *ModuleGenerateCommon) OutFiles() (files file.Paths)
func (*ModuleGenerateCommon) ResolveFiles ¶
func (m *ModuleGenerateCommon) ResolveFiles(ctx blueprint.BaseModuleContext)
type ModuleGenerateSource ¶
type ModuleGenerateSource struct { ModuleGenerateCommon Properties struct { GenerateSourceProps } }
func (*ModuleGenerateSource) FeaturableProperties ¶
func (m *ModuleGenerateSource) FeaturableProperties() []interface{}
func (*ModuleGenerateSource) FlagsOut ¶
func (m *ModuleGenerateSource) FlagsOut() (flags flag.Flags)
func (*ModuleGenerateSource) GenerateBuildActions ¶
func (m *ModuleGenerateSource) GenerateBuildActions(ctx blueprint.ModuleContext)
func (*ModuleGenerateSource) GetDirectFiles ¶
func (m *ModuleGenerateSource) GetDirectFiles() file.Paths
func (*ModuleGenerateSource) GetFiles ¶
func (m *ModuleGenerateSource) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
func (ModuleGenerateSource) GetProperties ¶
func (m ModuleGenerateSource) GetProperties() interface{}
func (*ModuleGenerateSource) GetTargets ¶
func (m *ModuleGenerateSource) GetTargets() (tgts []string)
func (*ModuleGenerateSource) OutFileTargets ¶
func (m *ModuleGenerateSource) OutFileTargets() []string
func (*ModuleGenerateSource) OutFiles ¶
func (m *ModuleGenerateSource) OutFiles() file.Paths
func (*ModuleGenerateSource) ResolveFiles ¶
func (m *ModuleGenerateSource) ResolveFiles(ctx blueprint.BaseModuleContext)
type ModuleGenrule ¶
type ModuleGenrule struct { ModuleStrictGenerateCommon Properties struct { GenruleProps } }
func (*ModuleGenrule) FeaturableProperties ¶
func (m *ModuleGenrule) FeaturableProperties() []interface{}
func (*ModuleGenrule) FlagsOut ¶
func (m *ModuleGenrule) FlagsOut() (flags flag.Flags)
func (*ModuleGenrule) GenerateBuildActions ¶
func (m *ModuleGenrule) GenerateBuildActions(ctx blueprint.ModuleContext)
func (*ModuleGenrule) GetDirectFiles ¶
func (m *ModuleGenrule) GetDirectFiles() file.Paths
func (*ModuleGenrule) GetFiles ¶
func (m *ModuleGenrule) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
func (ModuleGenrule) GetProperties ¶
func (m ModuleGenrule) GetProperties() interface{}
func (*ModuleGenrule) GetTags ¶
func (m *ModuleGenrule) GetTags() []string
func (*ModuleGenrule) GetTagsRegex ¶
func (m *ModuleGenrule) GetTagsRegex(query *regexp.Regexp) []string
func (*ModuleGenrule) GetTargets ¶
func (m *ModuleGenrule) GetTargets() []string
func (*ModuleGenrule) HasTag ¶
func (m *ModuleGenrule) HasTag(query string) bool
func (*ModuleGenrule) HasTagRegex ¶
func (m *ModuleGenrule) HasTagRegex(query *regexp.Regexp) bool
func (*ModuleGenrule) OutFileTargets ¶
func (m *ModuleGenrule) OutFileTargets() (tgts []string)
func (*ModuleGenrule) OutFiles ¶
func (m *ModuleGenrule) OutFiles() file.Paths
func (*ModuleGenrule) ResolveFiles ¶
func (m *ModuleGenrule) ResolveFiles(ctx blueprint.BaseModuleContext)
type ModuleGenruleInterface ¶
type ModuleGensrcs ¶
type ModuleGensrcs struct { ModuleStrictGenerateCommon Properties struct { GensrcsProps } }
func (*ModuleGensrcs) FeaturableProperties ¶
func (m *ModuleGensrcs) FeaturableProperties() []interface{}
func (*ModuleGensrcs) FlagsOut ¶
func (m *ModuleGensrcs) FlagsOut() (flags flag.Flags)
func (*ModuleGensrcs) GenerateBuildActions ¶
func (m *ModuleGensrcs) GenerateBuildActions(ctx blueprint.ModuleContext)
func (*ModuleGensrcs) GetDirectFiles ¶
func (m *ModuleGensrcs) GetDirectFiles() file.Paths
func (*ModuleGensrcs) GetFiles ¶
func (m *ModuleGensrcs) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
func (ModuleGensrcs) GetProperties ¶
func (m ModuleGensrcs) GetProperties() interface{}
func (*ModuleGensrcs) GetTags ¶
func (m *ModuleGensrcs) GetTags() []string
func (*ModuleGensrcs) GetTagsRegex ¶
func (m *ModuleGensrcs) GetTagsRegex(query *regexp.Regexp) []string
func (*ModuleGensrcs) GetTargets ¶
func (m *ModuleGensrcs) GetTargets() []string
func (*ModuleGensrcs) HasTag ¶
func (m *ModuleGensrcs) HasTag(query string) bool
func (*ModuleGensrcs) HasTagRegex ¶
func (m *ModuleGensrcs) HasTagRegex(query *regexp.Regexp) bool
func (*ModuleGensrcs) OutFileTargets ¶
func (m *ModuleGensrcs) OutFileTargets() (tgts []string)
func (*ModuleGensrcs) OutFiles ¶
func (m *ModuleGensrcs) OutFiles() file.Paths
func (*ModuleGensrcs) ResolveFiles ¶
func (m *ModuleGensrcs) ResolveFiles(ctx blueprint.BaseModuleContext)
func (*ModuleGensrcs) ResolveOutFiles ¶
func (m *ModuleGensrcs) ResolveOutFiles(ctx blueprint.BaseModuleContext)
type ModuleGensrcsInterface ¶
type ModuleGlob ¶
type ModuleGlob struct { module.ModuleBase Properties struct { GlobProps TagableProps } }
func (*ModuleGlob) GenerateBuildActions ¶
func (m *ModuleGlob) GenerateBuildActions(ctx blueprint.ModuleContext)
func (ModuleGlob) GetProperties ¶
func (m ModuleGlob) GetProperties() interface{}
func (*ModuleGlob) GetTags ¶
func (m *ModuleGlob) GetTags() []string
func (*ModuleGlob) GetTagsRegex ¶
func (m *ModuleGlob) GetTagsRegex(query *regexp.Regexp) []string
func (*ModuleGlob) HasTag ¶
func (m *ModuleGlob) HasTag(query string) bool
func (*ModuleGlob) HasTagRegex ¶
func (m *ModuleGlob) HasTagRegex(query *regexp.Regexp) bool
func (*ModuleGlob) OutFileTargets ¶
func (m *ModuleGlob) OutFileTargets() (tgts []string)
func (*ModuleGlob) OutFiles ¶
func (m *ModuleGlob) OutFiles() file.Paths
func (*ModuleGlob) ResolveFiles ¶
func (m *ModuleGlob) ResolveFiles(ctx blueprint.BaseModuleContext)
type ModuleInstallGroup ¶
type ModuleInstallGroup struct { module.ModuleBase Properties struct { InstallGroupProps TagableProps Features } }
func (*ModuleInstallGroup) FeaturableProperties ¶
func (m *ModuleInstallGroup) FeaturableProperties() []interface{}
func (*ModuleInstallGroup) Features ¶
func (m *ModuleInstallGroup) Features() *Features
func (*ModuleInstallGroup) GenerateBuildActions ¶
func (m *ModuleInstallGroup) GenerateBuildActions(ctx blueprint.ModuleContext)
func (ModuleInstallGroup) GetProperties ¶
func (m ModuleInstallGroup) GetProperties() interface{}
func (*ModuleInstallGroup) GetTags ¶
func (m *ModuleInstallGroup) GetTags() []string
func (*ModuleInstallGroup) GetTagsRegex ¶
func (m *ModuleInstallGroup) GetTagsRegex(query *regexp.Regexp) []string
func (*ModuleInstallGroup) HasTag ¶
func (m *ModuleInstallGroup) HasTag(query string) bool
func (*ModuleInstallGroup) HasTagRegex ¶
func (m *ModuleInstallGroup) HasTagRegex(query *regexp.Regexp) bool
type ModuleKernelObject ¶
type ModuleKernelObject struct { module.ModuleBase Properties struct { Features CommonProps KernelProps TagableProps Defaults []string } }
func (*ModuleKernelObject) FeaturableProperties ¶
func (m *ModuleKernelObject) FeaturableProperties() []interface{}
func (*ModuleKernelObject) Features ¶
func (m *ModuleKernelObject) Features() *Features
func (*ModuleKernelObject) GenerateBuildActions ¶
func (m *ModuleKernelObject) GenerateBuildActions(ctx blueprint.ModuleContext)
func (ModuleKernelObject) GetProperties ¶
func (m ModuleKernelObject) GetProperties() interface{}
func (*ModuleKernelObject) GetTags ¶
func (m *ModuleKernelObject) GetTags() []string
func (*ModuleKernelObject) GetTagsRegex ¶
func (m *ModuleKernelObject) GetTagsRegex(query *regexp.Regexp) []string
func (*ModuleKernelObject) HasTag ¶
func (m *ModuleKernelObject) HasTag(query string) bool
func (*ModuleKernelObject) HasTagRegex ¶
func (m *ModuleKernelObject) HasTagRegex(query *regexp.Regexp) bool
func (*ModuleKernelObject) OutFileTargets ¶
func (m *ModuleKernelObject) OutFileTargets() []string
func (*ModuleKernelObject) OutFiles ¶
func (m *ModuleKernelObject) OutFiles() file.Paths
func (*ModuleKernelObject) ResolveFiles ¶
func (m *ModuleKernelObject) ResolveFiles(ctx blueprint.BaseModuleContext)
type ModuleLibrary ¶
type ModuleLibrary struct { module.ModuleBase Properties struct { Features TransitiveLibraryProps Build TagableProps // The list of default properties that should prepended to all configuration Defaults []string VersionScriptModule *string `blueprint:"mutated"` } }
ModuleLibrary is a base class for modules which are generated from sets of object files
func (*ModuleLibrary) FeaturableProperties ¶
func (m *ModuleLibrary) FeaturableProperties() []interface{}
func (*ModuleLibrary) Features ¶
func (m *ModuleLibrary) Features() *Features
func (*ModuleLibrary) FlagsIn ¶
func (m *ModuleLibrary) FlagsIn() flag.Flags
func (*ModuleLibrary) FlagsInTransitive ¶
func (m *ModuleLibrary) FlagsInTransitive(ctx blueprint.BaseModuleContext) (ret flag.Flags)
func (*ModuleLibrary) FlagsOut ¶
func (m *ModuleLibrary) FlagsOut() flag.Flags
func (*ModuleLibrary) FlagsOutTargets ¶
func (m *ModuleLibrary) FlagsOutTargets() []string
func (*ModuleLibrary) GenerateBuildActions ¶
func (m *ModuleLibrary) GenerateBuildActions(blueprint.ModuleContext)
func (*ModuleLibrary) GetBuildWrapperAndDeps ¶
func (m *ModuleLibrary) GetBuildWrapperAndDeps(ctx blueprint.ModuleContext) (string, []string)
func (*ModuleLibrary) GetDirectFiles ¶
func (m *ModuleLibrary) GetDirectFiles() file.Paths
func (*ModuleLibrary) GetFiles ¶
func (m *ModuleLibrary) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
func (*ModuleLibrary) GetMteProps ¶
func (m *ModuleLibrary) GetMteProps(blueprint.ModuleContext) AndroidMTEProps
func (*ModuleLibrary) GetStaticLibs ¶
func (m *ModuleLibrary) GetStaticLibs(ctx blueprint.ModuleContext) []string
Returns all the static library dependencies for a module.
func (*ModuleLibrary) GetTags ¶
func (m *ModuleLibrary) GetTags() []string
func (*ModuleLibrary) GetTagsRegex ¶
func (m *ModuleLibrary) GetTagsRegex(query *regexp.Regexp) []string
func (*ModuleLibrary) GetTargets ¶
func (m *ModuleLibrary) GetTargets() (tgts []string)
func (*ModuleLibrary) HasTag ¶
func (m *ModuleLibrary) HasTag(query string) bool
func (*ModuleLibrary) HasTagRegex ¶
func (m *ModuleLibrary) HasTagRegex(query *regexp.Regexp) bool
func (*ModuleLibrary) IsForwardingSharedLibrary ¶
func (m *ModuleLibrary) IsForwardingSharedLibrary() bool
func (*ModuleLibrary) IsHwAsanEnabled ¶
func (m *ModuleLibrary) IsHwAsanEnabled() bool
func (*ModuleLibrary) IsRpathWanted ¶
func (m *ModuleLibrary) IsRpathWanted() bool
func (*ModuleLibrary) LibraryFactory ¶
func (*ModuleLibrary) ResolveFiles ¶
func (m *ModuleLibrary) ResolveFiles(ctx blueprint.BaseModuleContext)
type ModuleMeta ¶
type ModuleResource ¶
type ModuleResource struct { module.ModuleBase Properties struct { ResourceProps Features } }
func (*ModuleResource) FeaturableProperties ¶
func (m *ModuleResource) FeaturableProperties() []interface{}
func (*ModuleResource) Features ¶
func (m *ModuleResource) Features() *Features
func (*ModuleResource) GenerateBuildActions ¶
func (m *ModuleResource) GenerateBuildActions(ctx blueprint.ModuleContext)
func (*ModuleResource) GetDirectFiles ¶
func (m *ModuleResource) GetDirectFiles() file.Paths
func (*ModuleResource) GetFiles ¶
func (m *ModuleResource) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
func (ModuleResource) GetProperties ¶
func (m ModuleResource) GetProperties() interface{}
func (*ModuleResource) GetTags ¶
func (m *ModuleResource) GetTags() []string
func (*ModuleResource) GetTagsRegex ¶
func (m *ModuleResource) GetTagsRegex(query *regexp.Regexp) []string
func (*ModuleResource) GetTargets ¶
func (m *ModuleResource) GetTargets() []string
func (*ModuleResource) HasTag ¶
func (m *ModuleResource) HasTag(query string) bool
func (*ModuleResource) HasTagRegex ¶
func (m *ModuleResource) HasTagRegex(query *regexp.Regexp) bool
func (*ModuleResource) OutFileTargets ¶
func (m *ModuleResource) OutFileTargets() []string
func (*ModuleResource) OutFiles ¶
func (m *ModuleResource) OutFiles() (files file.Paths)
func (*ModuleResource) ResolveFiles ¶
func (m *ModuleResource) ResolveFiles(ctx blueprint.BaseModuleContext)
type ModuleSharedLibrary ¶
type ModuleSharedLibrary struct { // contains filtered or unexported fields }
func (*ModuleSharedLibrary) FlagsIn ¶
func (m *ModuleSharedLibrary) FlagsIn() flag.Flags
func (*ModuleSharedLibrary) GenerateBuildActions ¶
func (m *ModuleSharedLibrary) GenerateBuildActions(ctx blueprint.ModuleContext)
func (*ModuleSharedLibrary) GetBackendConfiguration ¶
func (m *ModuleSharedLibrary) GetBackendConfiguration(ctx blueprint.ModuleContext) BackendConfiguration
func (ModuleSharedLibrary) GetProperties ¶
func (m ModuleSharedLibrary) GetProperties() interface{}
func (*ModuleSharedLibrary) OutFileTargets ¶
func (m *ModuleSharedLibrary) OutFileTargets() []string
func (*ModuleSharedLibrary) OutFiles ¶
func (m *ModuleSharedLibrary) OutFiles() (files file.Paths)
type ModuleStaticLibrary ¶
type ModuleStaticLibrary struct {
ModuleLibrary
}
func (*ModuleStaticLibrary) GenerateBuildActions ¶
func (m *ModuleStaticLibrary) GenerateBuildActions(ctx blueprint.ModuleContext)
func (*ModuleStaticLibrary) GetBackendConfiguration ¶
func (m *ModuleStaticLibrary) GetBackendConfiguration(ctx blueprint.ModuleContext) BackendConfiguration
func (ModuleStaticLibrary) GetProperties ¶
func (m ModuleStaticLibrary) GetProperties() interface{}
func (*ModuleStaticLibrary) OutFileTargets ¶
func (m *ModuleStaticLibrary) OutFileTargets() []string
func (*ModuleStaticLibrary) OutFiles ¶
func (m *ModuleStaticLibrary) OutFiles() (srcs file.Paths)
type ModuleStrictBinary ¶
type ModuleStrictBinary struct {
ModuleStrictLibrary
}
func (*ModuleStrictBinary) FlagsInTransitive ¶
func (m *ModuleStrictBinary) FlagsInTransitive(ctx blueprint.BaseModuleContext) flag.Flags
func (*ModuleStrictBinary) GenerateBuildActions ¶
func (m *ModuleStrictBinary) GenerateBuildActions(ctx blueprint.ModuleContext)
func (*ModuleStrictBinary) OutFiles ¶
func (m *ModuleStrictBinary) OutFiles() file.Paths
type ModuleStrictGenerateCommon ¶
type ModuleStrictGenerateCommon struct { module.ModuleBase Properties struct { EnableableProps TagableProps Features StrictGenerateProps } // contains filtered or unexported fields }
func (*ModuleStrictGenerateCommon) FeaturableProperties ¶
func (m *ModuleStrictGenerateCommon) FeaturableProperties() []interface{}
func (*ModuleStrictGenerateCommon) Features ¶
func (m *ModuleStrictGenerateCommon) Features() *Features
func (*ModuleStrictGenerateCommon) GenerateBuildActions ¶
func (m *ModuleStrictGenerateCommon) GenerateBuildActions(blueprint.ModuleContext)
func (*ModuleStrictGenerateCommon) GetDirectFiles ¶
func (m *ModuleStrictGenerateCommon) GetDirectFiles() file.Paths
func (*ModuleStrictGenerateCommon) GetFiles ¶
func (m *ModuleStrictGenerateCommon) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
func (*ModuleStrictGenerateCommon) GetTags ¶
func (m *ModuleStrictGenerateCommon) GetTags() []string
func (*ModuleStrictGenerateCommon) GetTagsRegex ¶
func (m *ModuleStrictGenerateCommon) GetTagsRegex(query *regexp.Regexp) []string
func (*ModuleStrictGenerateCommon) GetTargets ¶
func (m *ModuleStrictGenerateCommon) GetTargets() []string
func (*ModuleStrictGenerateCommon) HasTag ¶
func (m *ModuleStrictGenerateCommon) HasTag(query string) bool
func (*ModuleStrictGenerateCommon) HasTagRegex ¶
func (m *ModuleStrictGenerateCommon) HasTagRegex(query *regexp.Regexp) bool
func (*ModuleStrictGenerateCommon) ResolveFiles ¶
func (m *ModuleStrictGenerateCommon) ResolveFiles(ctx blueprint.BaseModuleContext)
type ModuleStrictLibrary ¶
type ModuleStrictLibrary struct { module.ModuleBase Properties struct { StrictLibraryProps IncludeProps TransitiveLibraryProps TagableProps Features EnableableProps SplittableProps InstallableProps TargetType toolchain.TgtType `blueprint:"mutated"` Target TargetSpecific Host TargetSpecific ToolchainFlagsProps } }
func (*ModuleStrictLibrary) FeaturableProperties ¶
func (m *ModuleStrictLibrary) FeaturableProperties() []interface{}
func (*ModuleStrictLibrary) Features ¶
func (m *ModuleStrictLibrary) Features() *Features
func (*ModuleStrictLibrary) FlagsIn ¶
func (m *ModuleStrictLibrary) FlagsIn() flag.Flags
func (*ModuleStrictLibrary) FlagsInTransitive ¶
func (m *ModuleStrictLibrary) FlagsInTransitive(ctx blueprint.BaseModuleContext) (ret flag.Flags)
func (*ModuleStrictLibrary) FlagsOut ¶
func (m *ModuleStrictLibrary) FlagsOut() flag.Flags
func (*ModuleStrictLibrary) GenerateBuildActions ¶
func (m *ModuleStrictLibrary) GenerateBuildActions(ctx blueprint.ModuleContext)
func (*ModuleStrictLibrary) GetBackendConfiguration ¶
func (m *ModuleStrictLibrary) GetBackendConfiguration(ctx blueprint.ModuleContext) BackendConfiguration
func (*ModuleStrictLibrary) GetDirectFiles ¶
func (m *ModuleStrictLibrary) GetDirectFiles() file.Paths
func (*ModuleStrictLibrary) GetFiles ¶
func (m *ModuleStrictLibrary) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
func (ModuleStrictLibrary) GetProperties ¶
func (m ModuleStrictLibrary) GetProperties() interface{}
func (*ModuleStrictLibrary) GetStaticLibs ¶
func (m *ModuleStrictLibrary) GetStaticLibs(ctx blueprint.ModuleContext) (libs []string)
func (*ModuleStrictLibrary) GetTags ¶
func (m *ModuleStrictLibrary) GetTags() []string
func (*ModuleStrictLibrary) GetTagsRegex ¶
func (m *ModuleStrictLibrary) GetTagsRegex(query *regexp.Regexp) []string
func (*ModuleStrictLibrary) GetTargets ¶
func (m *ModuleStrictLibrary) GetTargets() (tgts []string)
func (*ModuleStrictLibrary) HasTag ¶
func (m *ModuleStrictLibrary) HasTag(query string) bool
func (*ModuleStrictLibrary) HasTagRegex ¶
func (m *ModuleStrictLibrary) HasTagRegex(query *regexp.Regexp) bool
func (*ModuleStrictLibrary) IsForwardingSharedLibrary ¶
func (m *ModuleStrictLibrary) IsForwardingSharedLibrary() bool
func (*ModuleStrictLibrary) IsRpathWanted ¶
func (m *ModuleStrictLibrary) IsRpathWanted() bool
func (*ModuleStrictLibrary) OutFileTargets ¶
func (m *ModuleStrictLibrary) OutFileTargets() []string
func (*ModuleStrictLibrary) OutFiles ¶
func (m *ModuleStrictLibrary) OutFiles() file.Paths
func (*ModuleStrictLibrary) ResolveFiles ¶
func (m *ModuleStrictLibrary) ResolveFiles(ctx blueprint.BaseModuleContext)
type ModuleTest ¶
type ModuleTest struct {
ModuleStrictBinary
}
func (*ModuleTest) GenerateBuildActions ¶
func (m *ModuleTest) GenerateBuildActions(ctx blueprint.ModuleContext)
type ModuleToolchain ¶
type ModuleToolchain struct { module.ModuleBase SplittableProps Properties struct { ModuleToolchainProps StripProps TagableProps Target TargetSpecific Host TargetSpecific TargetType toolchain.TgtType `blueprint:"mutated"` Features } }
Strict targets will not support defaults by design.
With this in mind, we will need a way to propagate common toolchain flags to targets (optimization etc).
func (*ModuleToolchain) FeaturableProperties ¶
func (m *ModuleToolchain) FeaturableProperties() []interface{}
func (*ModuleToolchain) Features ¶
func (m *ModuleToolchain) Features() *Features
func (*ModuleToolchain) FlagsOut ¶
func (m *ModuleToolchain) FlagsOut() flag.Flags
func (*ModuleToolchain) GenerateBuildActions ¶
func (m *ModuleToolchain) GenerateBuildActions(ctx blueprint.ModuleContext)
func (*ModuleToolchain) GetBuildWrapperAndDeps ¶
func (m *ModuleToolchain) GetBuildWrapperAndDeps(ctx blueprint.ModuleContext) (string, []string)
func (*ModuleToolchain) GetMteProps ¶
func (m *ModuleToolchain) GetMteProps(blueprint.ModuleContext) AndroidMTEProps
func (*ModuleToolchain) GetTags ¶
func (m *ModuleToolchain) GetTags() []string
func (*ModuleToolchain) GetTagsRegex ¶
func (m *ModuleToolchain) GetTagsRegex(query *regexp.Regexp) []string
func (*ModuleToolchain) HasTag ¶
func (m *ModuleToolchain) HasTag(query string) bool
func (*ModuleToolchain) HasTagRegex ¶
func (m *ModuleToolchain) HasTagRegex(query *regexp.Regexp) bool
func (*ModuleToolchain) IsHwAsanEnabled ¶
func (m *ModuleToolchain) IsHwAsanEnabled() bool
type ModuleToolchainInterface ¶
type ModuleToolchainInterface interface { Featurable flag.Provider Tagable // contains filtered or unexported methods }
type ModuleToolchainProps ¶
type ModuleToolchainProps struct { // Flags that will be used for C and C++ compiles. Cflags []string // Flags that will be used for C compiles. Conlyflags []string // Flags that will be used for C++ compiles. Cppflags []string // Flags that will be used for .S compiles. Asflags []string // Flags that will be used for all link steps. Ldflags []string // Wrapper for all build commands (object file compilation *and* linking) Build_wrapper *string AndroidMTEProps Hwasan_enabled *bool }
type ModuleTransformSource ¶
type ModuleTransformSource struct { ModuleGenerateCommon Properties struct { TransformSourceProps } }
The module that can generate sources using a multiple execution The command will be run once per src file- with $in being the path in "srcs" and $out being the path transformed through the regexp defined by out.match and out.replace. The regular expression that is used is in regexp.compiled(out.Match).ReplaceAllString(src[i], out.Replace). See https://golang.org/pkg/regexp/ for more information. The working directory will be the source directory, and all paths will be relative to the source directory if not else noted
func (*ModuleTransformSource) FeaturableProperties ¶
func (m *ModuleTransformSource) FeaturableProperties() []interface{}
func (*ModuleTransformSource) FlagsOut ¶
func (m *ModuleTransformSource) FlagsOut() (flags flag.Flags)
func (*ModuleTransformSource) GenerateBuildActions ¶
func (m *ModuleTransformSource) GenerateBuildActions(ctx blueprint.ModuleContext)
func (*ModuleTransformSource) GetDirectFiles ¶
func (m *ModuleTransformSource) GetDirectFiles() file.Paths
func (*ModuleTransformSource) GetFiles ¶
func (m *ModuleTransformSource) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
func (ModuleTransformSource) GetProperties ¶
func (m ModuleTransformSource) GetProperties() interface{}
func (*ModuleTransformSource) GetTargets ¶
func (m *ModuleTransformSource) GetTargets() []string
func (*ModuleTransformSource) OutFileTargets ¶
func (m *ModuleTransformSource) OutFileTargets() []string
func (*ModuleTransformSource) OutFiles ¶
func (m *ModuleTransformSource) OutFiles() file.Paths
func (*ModuleTransformSource) ResolveFiles ¶
func (m *ModuleTransformSource) ResolveFiles(ctx blueprint.BaseModuleContext)
func (*ModuleTransformSource) ResolveOutFiles ¶
func (m *ModuleTransformSource) ResolveOutFiles(ctx blueprint.BaseModuleContext)
type PropertyProvider ¶
type PropertyProvider interface {
GetProperties() interface{}
}
type ResourceProps ¶
type ResourceProps struct { LegacySourceProps AliasableProps InstallableProps EnableableProps AndroidProps TagableProps }
ResourceProps defines all the properties that can be used in a bob_resource
type SharedLibraryExporter ¶
type SourceProps ¶
type SourceProps struct { // The list of source files and target names for globs/filegroups Srcs []string ResolvedSrcs file.Paths `blueprint:"mutated"` // Glob results. }
func (*SourceProps) GetDirectFiles ¶
func (s *SourceProps) GetDirectFiles() file.Paths
func (*SourceProps) GetFiles ¶
func (s *SourceProps) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
func (*SourceProps) GetTargets ¶
func (s *SourceProps) GetTargets() []string
Basic common implementation, certain targets will custmize this.
func (*SourceProps) ResolveFiles ¶
func (s *SourceProps) ResolveFiles(ctx blueprint.BaseModuleContext)
type SplittableProps ¶
SplittableProps are embedded by modules which can be split into multiple variants
type StrictGenerateProps ¶
type StrictGenerateProps struct { // See https://ci.android.com/builds/submitted/8928481/linux/latest/view/soong_build.html Name string Srcs []string // TODO: This module should probalby make use of LegacySourceProps Exclude_srcs []string Cmd *string Depfile *bool Export_include_dirs []string Tool_files []string Tools []string ResolvedSrcs file.Paths `blueprint:"mutated"` // Glob results. }
func (*StrictGenerateProps) GetDirectFiles ¶
func (ag *StrictGenerateProps) GetDirectFiles() file.Paths
func (*StrictGenerateProps) GetFiles ¶
func (ag *StrictGenerateProps) GetFiles(ctx blueprint.BaseModuleContext) file.Paths
func (*StrictGenerateProps) GetTargets ¶
func (ag *StrictGenerateProps) GetTargets() []string
func (*StrictGenerateProps) ResolveFiles ¶
func (ag *StrictGenerateProps) ResolveFiles(ctx blueprint.BaseModuleContext)
type StrictGenerator ¶
type StrictGenerator interface {
// contains filtered or unexported methods
}
Module implementing `StrictGenerator` are able to generate output files
type StrictLibraryProps ¶
type StrictLibraryProps struct { SourceProps Hdrs []string // TODO: Header inclusion //Textual_hdrs []string //Includes []string //Include_prefixes []string //Strip_include_prefixes []string Alwayslink *bool Linkstatic *bool Linkopts []string Local_defines []string Copts []string Deps []string // TODO: unused but needed for the output interface, no easy way to hide it Out *string }
type StripCapable ¶
type StripCapable interface {
GetStripable(blueprint.ModuleContext) stripable
}
A module which can return a stripable object such as `bob_toolchain`. In the case of legacy modules, it will often return itself.
type StripProps ¶
type StripProps struct { // When set, strip symbols and debug information from libraries // and binaries. This is a separate stage that occurs after // linking and before post install. // // On Android, its infrastructure is used to do the stripping. If // not enabled, follow Android's default behaviour. Strip *bool // Module specifying a directory for debug information Debug_info *string // The path retrieved from debug install group so we don't need to // walk dependencies to get it Debug_path *string `blueprint:"mutated"` }
type Tagable ¶
type Tagable interface { blueprint.Module // Returns true if any of the tags match the expression HasTagRegex(*regexp.Regexp) bool // Return true if any of the tags match query HasTag(string) bool // Returns all tags matching regex GetTagsRegex(*regexp.Regexp) []string // Returns all tags GetTags() []string }
type TagableProps ¶
type TagableProps struct {
Tags []string
}
func (*TagableProps) GetTags ¶
func (p *TagableProps) GetTags() []string
func (*TagableProps) GetTagsRegex ¶
func (p *TagableProps) GetTagsRegex(query *regexp.Regexp) []string
func (*TagableProps) HasTag ¶
func (p *TagableProps) HasTag(query string) bool
func (*TagableProps) HasTagRegex ¶
func (p *TagableProps) HasTagRegex(query *regexp.Regexp) bool
type TargetSpecific ¶
type TargetSpecific struct { Features // 'BlueprintEmbed' is a special case in Blueprint which makes it interpret // a runtime-generated type as being embedded in its parent struct. BlueprintEmbed interface{} }
A TargetSpecific module is one that supports building on host and target, with a set of properties in `host: {}` or `target: {}` blocks.
type ToolchainFlagsProps ¶
type ToolchainFlagsProps struct { // `ModuleToolchain` module. Toolchain *string }
type TransformSourceProps ¶
type TransformSourceProps struct { // The regular expression that is used to transform the source path to the target path. Out struct { // Regular expression to capture groups from srcs Match string // Names of outputs, which can use capture groups from match Replace []string // List of implicit sources. Implicit sources are input files that do not get mentioned on the command line, // and are not specified in the explicit sources. Implicit_srcs []string } // Stores the files generated ResolvedOut file.Paths `blueprint:"mutated"` }
TransformSourceProps contains the properties allowed in the bob_transform_source module. This module supports one command execution per input file.
type TransitiveLibraryProps ¶
type TransitiveLibraryProps struct {
Defines []string
}
In Bazel, some properties are transitive.
Source Files ¶
- alias.go
- android.go
- androidbp_backend.go
- androidbp_cclibs.go
- androidbp_filegroup.go
- androidbp_generated.go
- androidbp_kernel_module.go
- androidbp_resource.go
- binary.go
- build.go
- build_props.go
- build_structs.go
- common_props.go
- defaults.go
- dep_sorter.go
- escape.go
- external_library.go
- feature.go
- filegroup.go
- gen_binary.go
- gen_library.go
- gen_shared.go
- gen_static.go
- generated.go
- generated_common.go
- generated_props.go
- glob.go
- graphviz.go
- install.go
- kernel_module.go
- late_template.go
- legacy_source_props.go
- library.go
- library_shared.go
- library_static.go
- linux_backend.go
- linux_cclibs.go
- linux_generated.go
- linux_kernel_module.go
- metadata.go
- module_generate_source.go
- module_genrule.go
- module_gensrcs.go
- module_test_binary.go
- module_toolchain.go
- module_transform_source.go
- output_producer.go
- properties.go
- source_props.go
- splitter.go
- standalone.go
- strict_binary.go
- strict_generate_common.go
- strict_generate_props.go
- strict_library.go
- strict_linux_cclibs.go
- strip.go
- tagable.go
- template.go