Annotate paths and deprecate ExtractSource(s)Deps am: 27b922f53e
am: e5f6f175a8
Change-Id: I548d4f57fd7e66a574a1eca2c05f9262f9ee792a
This commit is contained in:
@@ -26,9 +26,9 @@ func init() {
|
|||||||
|
|
||||||
type fileGroupProperties struct {
|
type fileGroupProperties struct {
|
||||||
// srcs lists files that will be included in this filegroup
|
// srcs lists files that will be included in this filegroup
|
||||||
Srcs []string
|
Srcs []string `android:"path"`
|
||||||
|
|
||||||
Exclude_srcs []string
|
Exclude_srcs []string `android:"path"`
|
||||||
|
|
||||||
// The base path to the files. May be used by other modules to determine which portion
|
// The base path to the files. May be used by other modules to determine which portion
|
||||||
// of the path to use. For example, when a filegroup is used as data in a cc_test rule,
|
// of the path to use. For example, when a filegroup is used as data in a cc_test rule,
|
||||||
@@ -59,11 +59,6 @@ func FileGroupFactory() Module {
|
|||||||
return module
|
return module
|
||||||
}
|
}
|
||||||
|
|
||||||
func (fg *fileGroup) DepsMutator(ctx BottomUpMutatorContext) {
|
|
||||||
ExtractSourcesDeps(ctx, fg.properties.Srcs)
|
|
||||||
ExtractSourcesDeps(ctx, fg.properties.Exclude_srcs)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fg *fileGroup) GenerateAndroidBuildActions(ctx ModuleContext) {
|
func (fg *fileGroup) GenerateAndroidBuildActions(ctx ModuleContext) {
|
||||||
fg.srcs = ctx.ExpandSourcesSubDir(fg.properties.Srcs, fg.properties.Exclude_srcs, String(fg.properties.Path))
|
fg.srcs = ctx.ExpandSourcesSubDir(fg.properties.Srcs, fg.properties.Exclude_srcs, String(fg.properties.Path))
|
||||||
}
|
}
|
||||||
|
@@ -260,16 +260,16 @@ type commonProperties struct {
|
|||||||
Recovery *bool
|
Recovery *bool
|
||||||
|
|
||||||
// init.rc files to be installed if this module is installed
|
// init.rc files to be installed if this module is installed
|
||||||
Init_rc []string
|
Init_rc []string `android:"path"`
|
||||||
|
|
||||||
// VINTF manifest fragments to be installed if this module is installed
|
// VINTF manifest fragments to be installed if this module is installed
|
||||||
Vintf_fragments []string
|
Vintf_fragments []string `android:"path"`
|
||||||
|
|
||||||
// names of other modules to install if this module is installed
|
// names of other modules to install if this module is installed
|
||||||
Required []string `android:"arch_variant"`
|
Required []string `android:"arch_variant"`
|
||||||
|
|
||||||
// relative path to a file to include in the list of notices for the device
|
// relative path to a file to include in the list of notices for the device
|
||||||
Notice *string
|
Notice *string `android:"path"`
|
||||||
|
|
||||||
Dist struct {
|
Dist struct {
|
||||||
// copy the output of this module to the $DIST_DIR when `dist` is specified on the
|
// copy the output of this module to the $DIST_DIR when `dist` is specified on the
|
||||||
@@ -1358,6 +1358,8 @@ var SourceDepTag sourceDependencyTag
|
|||||||
|
|
||||||
// Adds necessary dependencies to satisfy filegroup or generated sources modules listed in srcFiles
|
// Adds necessary dependencies to satisfy filegroup or generated sources modules listed in srcFiles
|
||||||
// using ":module" syntax, if any.
|
// using ":module" syntax, if any.
|
||||||
|
//
|
||||||
|
// Deprecated: tag the property with `android:"path"` instead.
|
||||||
func ExtractSourcesDeps(ctx BottomUpMutatorContext, srcFiles []string) {
|
func ExtractSourcesDeps(ctx BottomUpMutatorContext, srcFiles []string) {
|
||||||
var deps []string
|
var deps []string
|
||||||
set := make(map[string]bool)
|
set := make(map[string]bool)
|
||||||
@@ -1378,6 +1380,8 @@ func ExtractSourcesDeps(ctx BottomUpMutatorContext, srcFiles []string) {
|
|||||||
|
|
||||||
// Adds necessary dependencies to satisfy filegroup or generated sources modules specified in s
|
// Adds necessary dependencies to satisfy filegroup or generated sources modules specified in s
|
||||||
// using ":module" syntax, if any.
|
// using ":module" syntax, if any.
|
||||||
|
//
|
||||||
|
// Deprecated: tag the property with `android:"path"` instead.
|
||||||
func ExtractSourceDeps(ctx BottomUpMutatorContext, s *string) {
|
func ExtractSourceDeps(ctx BottomUpMutatorContext, s *string) {
|
||||||
if s != nil {
|
if s != nil {
|
||||||
if m := SrcIsModule(*s); m != "" {
|
if m := SrcIsModule(*s); m != "" {
|
||||||
@@ -1390,14 +1394,14 @@ type SourceFileProducer interface {
|
|||||||
Srcs() Paths
|
Srcs() Paths
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns a list of paths expanded from globs and modules referenced using ":module" syntax.
|
// Returns a list of paths expanded from globs and modules referenced using ":module" syntax. The property must
|
||||||
// ExtractSourcesDeps must have already been called during the dependency resolution phase.
|
// be tagged with `android:"path" to support automatic source module dependency resolution.
|
||||||
func (ctx *androidModuleContext) ExpandSources(srcFiles, excludes []string) Paths {
|
func (ctx *androidModuleContext) ExpandSources(srcFiles, excludes []string) Paths {
|
||||||
return ctx.ExpandSourcesSubDir(srcFiles, excludes, "")
|
return ctx.ExpandSourcesSubDir(srcFiles, excludes, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns a single path expanded from globs and modules referenced using ":module" syntax.
|
// Returns a single path expanded from globs and modules referenced using ":module" syntax. The property must
|
||||||
// ExtractSourceDeps must have already been called during the dependency resolution phase.
|
// be tagged with `android:"path" to support automatic source module dependency resolution.
|
||||||
func (ctx *androidModuleContext) ExpandSource(srcFile, prop string) Path {
|
func (ctx *androidModuleContext) ExpandSource(srcFile, prop string) Path {
|
||||||
srcFiles := ctx.ExpandSourcesSubDir([]string{srcFile}, nil, "")
|
srcFiles := ctx.ExpandSourcesSubDir([]string{srcFile}, nil, "")
|
||||||
if len(srcFiles) == 1 {
|
if len(srcFiles) == 1 {
|
||||||
@@ -1416,8 +1420,8 @@ func (ctx *androidModuleContext) ExpandSource(srcFile, prop string) Path {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Returns an optional single path expanded from globs and modules referenced using ":module" syntax if
|
// Returns an optional single path expanded from globs and modules referenced using ":module" syntax if
|
||||||
// the srcFile is non-nil.
|
// the srcFile is non-nil. The property must be tagged with `android:"path" to support automatic source module
|
||||||
// ExtractSourceDeps must have already been called during the dependency resolution phase.
|
// dependency resolution.
|
||||||
func (ctx *androidModuleContext) ExpandOptionalSource(srcFile *string, prop string) OptionalPath {
|
func (ctx *androidModuleContext) ExpandOptionalSource(srcFile *string, prop string) OptionalPath {
|
||||||
if srcFile != nil {
|
if srcFile != nil {
|
||||||
return OptionalPathForPath(ctx.ExpandSource(*srcFile, prop))
|
return OptionalPathForPath(ctx.ExpandSource(*srcFile, prop))
|
||||||
|
@@ -212,11 +212,6 @@ func (mutator *mutator) Parallel() MutatorHandle {
|
|||||||
func depsMutator(ctx BottomUpMutatorContext) {
|
func depsMutator(ctx BottomUpMutatorContext) {
|
||||||
if m, ok := ctx.Module().(Module); ok && m.Enabled() {
|
if m, ok := ctx.Module().(Module); ok && m.Enabled() {
|
||||||
m.DepsMutator(ctx)
|
m.DepsMutator(ctx)
|
||||||
|
|
||||||
// For filegroup-based notice file references.
|
|
||||||
if m.base().commonProperties.Notice != nil {
|
|
||||||
ExtractSourceDeps(ctx, m.base().commonProperties.Notice)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -137,9 +137,6 @@ func PrebuiltPostDepsMutator(ctx BottomUpMutatorContext) {
|
|||||||
} else {
|
} else {
|
||||||
m.SkipInstall()
|
m.SkipInstall()
|
||||||
}
|
}
|
||||||
if len(*p.srcs) > 0 {
|
|
||||||
ExtractSourceDeps(ctx, &(*p.srcs)[0])
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -35,7 +35,7 @@ func init() {
|
|||||||
|
|
||||||
type prebuiltEtcProperties struct {
|
type prebuiltEtcProperties struct {
|
||||||
// Source file of this prebuilt.
|
// Source file of this prebuilt.
|
||||||
Src *string `android:"arch_variant"`
|
Src *string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// optional subdirectory under which this file is installed into
|
// optional subdirectory under which this file is installed into
|
||||||
Sub_dir *string `android:"arch_variant"`
|
Sub_dir *string `android:"arch_variant"`
|
||||||
@@ -85,9 +85,6 @@ func (p *PrebuiltEtc) DepsMutator(ctx BottomUpMutatorContext) {
|
|||||||
if p.properties.Src == nil {
|
if p.properties.Src == nil {
|
||||||
ctx.PropertyErrorf("src", "missing prebuilt source file")
|
ctx.PropertyErrorf("src", "missing prebuilt source file")
|
||||||
}
|
}
|
||||||
|
|
||||||
// To support ":modulename" in src
|
|
||||||
ExtractSourceDeps(ctx, p.properties.Src)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PrebuiltEtc) SourceFilePath(ctx ModuleContext) Path {
|
func (p *PrebuiltEtc) SourceFilePath(ctx ModuleContext) Path {
|
||||||
|
@@ -196,7 +196,7 @@ type prebuiltModule struct {
|
|||||||
ModuleBase
|
ModuleBase
|
||||||
prebuilt Prebuilt
|
prebuilt Prebuilt
|
||||||
properties struct {
|
properties struct {
|
||||||
Srcs []string
|
Srcs []string `android:"path"`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -32,7 +32,7 @@ func init() {
|
|||||||
|
|
||||||
type shBinaryProperties struct {
|
type shBinaryProperties struct {
|
||||||
// Source file of this prebuilt.
|
// Source file of this prebuilt.
|
||||||
Src *string `android:"arch_variant"`
|
Src *string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// optional subdirectory under which this file is installed into
|
// optional subdirectory under which this file is installed into
|
||||||
Sub_dir *string `android:"arch_variant"`
|
Sub_dir *string `android:"arch_variant"`
|
||||||
@@ -61,9 +61,6 @@ func (s *ShBinary) DepsMutator(ctx BottomUpMutatorContext) {
|
|||||||
if s.properties.Src == nil {
|
if s.properties.Src == nil {
|
||||||
ctx.PropertyErrorf("src", "missing prebuilt source file")
|
ctx.PropertyErrorf("src", "missing prebuilt source file")
|
||||||
}
|
}
|
||||||
|
|
||||||
// To support ":modulename" in src
|
|
||||||
ExtractSourceDeps(ctx, s.properties.Src)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *ShBinary) SourceFilePath(ctx ModuleContext) Path {
|
func (s *ShBinary) SourceFilePath(ctx ModuleContext) Path {
|
||||||
|
12
apex/apex.go
12
apex/apex.go
@@ -212,11 +212,11 @@ type apexMultilibProperties struct {
|
|||||||
type apexBundleProperties struct {
|
type apexBundleProperties struct {
|
||||||
// Json manifest file describing meta info of this APEX bundle. Default:
|
// Json manifest file describing meta info of this APEX bundle. Default:
|
||||||
// "apex_manifest.json"
|
// "apex_manifest.json"
|
||||||
Manifest *string
|
Manifest *string `android:"path"`
|
||||||
|
|
||||||
// AndroidManifest.xml file used for the zip container of this APEX bundle.
|
// AndroidManifest.xml file used for the zip container of this APEX bundle.
|
||||||
// If unspecified, a default one is automatically generated.
|
// If unspecified, a default one is automatically generated.
|
||||||
AndroidManifest *string
|
AndroidManifest *string `android:"path"`
|
||||||
|
|
||||||
// Determines the file contexts file for setting security context to each file in this APEX bundle.
|
// Determines the file contexts file for setting security context to each file in this APEX bundle.
|
||||||
// Specifically, when this is set to <value>, /system/sepolicy/apex/<value>_file_contexts file is
|
// Specifically, when this is set to <value>, /system/sepolicy/apex/<value>_file_contexts file is
|
||||||
@@ -525,14 +525,6 @@ func (a *apexBundle) DepsMutator(ctx android.BottomUpMutatorContext) {
|
|||||||
if cert != "" {
|
if cert != "" {
|
||||||
ctx.AddDependency(ctx.Module(), certificateTag, cert)
|
ctx.AddDependency(ctx.Module(), certificateTag, cert)
|
||||||
}
|
}
|
||||||
|
|
||||||
if String(a.properties.Manifest) != "" {
|
|
||||||
android.ExtractSourceDeps(ctx, a.properties.Manifest)
|
|
||||||
}
|
|
||||||
|
|
||||||
if String(a.properties.AndroidManifest) != "" {
|
|
||||||
android.ExtractSourceDeps(ctx, a.properties.AndroidManifest)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *apexBundle) getCertString(ctx android.BaseContext) string {
|
func (a *apexBundle) getCertString(ctx android.BaseContext) string {
|
||||||
|
@@ -44,7 +44,7 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type BpfProperties struct {
|
type BpfProperties struct {
|
||||||
Srcs []string
|
Srcs []string `android:"path"`
|
||||||
Cflags []string
|
Cflags []string
|
||||||
Include_dirs []string
|
Include_dirs []string
|
||||||
}
|
}
|
||||||
@@ -95,10 +95,6 @@ func (bpf *bpf) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (bpf *bpf) DepsMutator(ctx android.BottomUpMutatorContext) {
|
|
||||||
android.ExtractSourcesDeps(ctx, bpf.properties.Srcs)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (bpf *bpf) AndroidMk() android.AndroidMkData {
|
func (bpf *bpf) AndroidMk() android.AndroidMkData {
|
||||||
return android.AndroidMkData{
|
return android.AndroidMkData{
|
||||||
Custom: func(w io.Writer, name, prefix, moduleDir string, data android.AndroidMkData) {
|
Custom: func(w io.Writer, name, prefix, moduleDir string, data android.AndroidMkData) {
|
||||||
|
@@ -31,11 +31,11 @@ type BaseCompilerProperties struct {
|
|||||||
// list of source files used to compile the C/C++ module. May be .c, .cpp, or .S files.
|
// list of source files used to compile the C/C++ module. May be .c, .cpp, or .S files.
|
||||||
// srcs may reference the outputs of other modules that produce source files like genrule
|
// srcs may reference the outputs of other modules that produce source files like genrule
|
||||||
// or filegroup using the syntax ":module".
|
// or filegroup using the syntax ":module".
|
||||||
Srcs []string `android:"arch_variant"`
|
Srcs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// list of source files that should not be used to build the C/C++ module.
|
// list of source files that should not be used to build the C/C++ module.
|
||||||
// This is most useful in the arch/multilib variants to remove non-common files
|
// This is most useful in the arch/multilib variants to remove non-common files
|
||||||
Exclude_srcs []string `android:"arch_variant"`
|
Exclude_srcs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// list of module-specific flags that will be used for C and C++ compiles.
|
// list of module-specific flags that will be used for C and C++ compiles.
|
||||||
Cflags []string `android:"arch_variant"`
|
Cflags []string `android:"arch_variant"`
|
||||||
@@ -136,11 +136,11 @@ type BaseCompilerProperties struct {
|
|||||||
Vendor struct {
|
Vendor struct {
|
||||||
// list of source files that should only be used in the
|
// list of source files that should only be used in the
|
||||||
// vendor variant of the C/C++ module.
|
// vendor variant of the C/C++ module.
|
||||||
Srcs []string
|
Srcs []string `android:"path"`
|
||||||
|
|
||||||
// list of source files that should not be used to
|
// list of source files that should not be used to
|
||||||
// build the vendor variant of the C/C++ module.
|
// build the vendor variant of the C/C++ module.
|
||||||
Exclude_srcs []string
|
Exclude_srcs []string `android:"path"`
|
||||||
|
|
||||||
// List of additional cflags that should be used to build the vendor
|
// List of additional cflags that should be used to build the vendor
|
||||||
// variant of the C/C++ module.
|
// variant of the C/C++ module.
|
||||||
@@ -149,11 +149,11 @@ type BaseCompilerProperties struct {
|
|||||||
Recovery struct {
|
Recovery struct {
|
||||||
// list of source files that should only be used in the
|
// list of source files that should only be used in the
|
||||||
// recovery variant of the C/C++ module.
|
// recovery variant of the C/C++ module.
|
||||||
Srcs []string
|
Srcs []string `android:"path"`
|
||||||
|
|
||||||
// list of source files that should not be used to
|
// list of source files that should not be used to
|
||||||
// build the recovery variant of the C/C++ module.
|
// build the recovery variant of the C/C++ module.
|
||||||
Exclude_srcs []string
|
Exclude_srcs []string `android:"path"`
|
||||||
|
|
||||||
// List of additional cflags that should be used to build the recovery
|
// List of additional cflags that should be used to build the recovery
|
||||||
// variant of the C/C++ module.
|
// variant of the C/C++ module.
|
||||||
@@ -221,9 +221,6 @@ func (compiler *baseCompiler) compilerDeps(ctx DepsContext, deps Deps) Deps {
|
|||||||
deps.GeneratedSources = append(deps.GeneratedSources, compiler.Properties.Generated_sources...)
|
deps.GeneratedSources = append(deps.GeneratedSources, compiler.Properties.Generated_sources...)
|
||||||
deps.GeneratedHeaders = append(deps.GeneratedHeaders, compiler.Properties.Generated_headers...)
|
deps.GeneratedHeaders = append(deps.GeneratedHeaders, compiler.Properties.Generated_headers...)
|
||||||
|
|
||||||
android.ExtractSourcesDeps(ctx, compiler.Properties.Srcs)
|
|
||||||
android.ExtractSourcesDeps(ctx, compiler.Properties.Exclude_srcs)
|
|
||||||
|
|
||||||
if compiler.hasSrcExt(".proto") {
|
if compiler.hasSrcExt(".proto") {
|
||||||
deps = protoDeps(ctx, deps, &compiler.Proto, Bool(compiler.Properties.Proto.Static))
|
deps = protoDeps(ctx, deps, &compiler.Proto, Bool(compiler.Properties.Proto.Static))
|
||||||
}
|
}
|
||||||
|
@@ -30,8 +30,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type StaticSharedLibraryProperties struct {
|
type StaticSharedLibraryProperties struct {
|
||||||
Srcs []string `android:"arch_variant"`
|
Srcs []string `android:"path,arch_variant"`
|
||||||
Cflags []string `android:"arch_variant"`
|
Cflags []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
Enabled *bool `android:"arch_variant"`
|
Enabled *bool `android:"arch_variant"`
|
||||||
Whole_static_libs []string `android:"arch_variant"`
|
Whole_static_libs []string `android:"arch_variant"`
|
||||||
@@ -48,11 +48,11 @@ type LibraryProperties struct {
|
|||||||
Shared StaticSharedLibraryProperties `android:"arch_variant"`
|
Shared StaticSharedLibraryProperties `android:"arch_variant"`
|
||||||
|
|
||||||
// local file name to pass to the linker as -unexported_symbols_list
|
// local file name to pass to the linker as -unexported_symbols_list
|
||||||
Unexported_symbols_list *string `android:"arch_variant"`
|
Unexported_symbols_list *string `android:"path,arch_variant"`
|
||||||
// local file name to pass to the linker as -force_symbols_not_weak_list
|
// local file name to pass to the linker as -force_symbols_not_weak_list
|
||||||
Force_symbols_not_weak_list *string `android:"arch_variant"`
|
Force_symbols_not_weak_list *string `android:"path,arch_variant"`
|
||||||
// local file name to pass to the linker as -force_symbols_weak_list
|
// local file name to pass to the linker as -force_symbols_weak_list
|
||||||
Force_symbols_weak_list *string `android:"arch_variant"`
|
Force_symbols_weak_list *string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// rename host libraries to prevent overlap with system installed libraries
|
// rename host libraries to prevent overlap with system installed libraries
|
||||||
Unique_host_soname *bool
|
Unique_host_soname *bool
|
||||||
@@ -77,7 +77,7 @@ type LibraryProperties struct {
|
|||||||
Stubs struct {
|
Stubs struct {
|
||||||
// Relative path to the symbol map. The symbol map provides the list of
|
// Relative path to the symbol map. The symbol map provides the list of
|
||||||
// symbols that are exported for stubs variant of this library.
|
// symbols that are exported for stubs variant of this library.
|
||||||
Symbol_file *string
|
Symbol_file *string `android:"path"`
|
||||||
|
|
||||||
// List versions to generate stubs libs for.
|
// List versions to generate stubs libs for.
|
||||||
Versions []string
|
Versions []string
|
||||||
@@ -97,7 +97,7 @@ type LibraryProperties struct {
|
|||||||
Header_abi_checker struct {
|
Header_abi_checker struct {
|
||||||
// Path to a symbol file that specifies the symbols to be included in the generated
|
// Path to a symbol file that specifies the symbols to be included in the generated
|
||||||
// ABI dump file
|
// ABI dump file
|
||||||
Symbol_file *string
|
Symbol_file *string `android:"path"`
|
||||||
|
|
||||||
// Symbol versions that should be ignored from the symbol file
|
// Symbol versions that should be ignored from the symbol file
|
||||||
Exclude_symbol_versions []string
|
Exclude_symbol_versions []string
|
||||||
@@ -526,12 +526,6 @@ func (library *libraryDecorator) linkerInit(ctx BaseModuleContext) {
|
|||||||
func (library *libraryDecorator) compilerDeps(ctx DepsContext, deps Deps) Deps {
|
func (library *libraryDecorator) compilerDeps(ctx DepsContext, deps Deps) Deps {
|
||||||
deps = library.baseCompiler.compilerDeps(ctx, deps)
|
deps = library.baseCompiler.compilerDeps(ctx, deps)
|
||||||
|
|
||||||
if library.static() {
|
|
||||||
android.ExtractSourcesDeps(ctx, library.Properties.Static.Srcs)
|
|
||||||
} else if library.shared() {
|
|
||||||
android.ExtractSourcesDeps(ctx, library.Properties.Shared.Srcs)
|
|
||||||
}
|
|
||||||
|
|
||||||
return deps
|
return deps
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -596,10 +590,6 @@ func (library *libraryDecorator) linkerDeps(ctx DepsContext, deps Deps) Deps {
|
|||||||
deps.ReexportStaticLibHeaders = removeListFromList(deps.ReexportStaticLibHeaders, library.baseLinker.Properties.Target.Recovery.Exclude_static_libs)
|
deps.ReexportStaticLibHeaders = removeListFromList(deps.ReexportStaticLibHeaders, library.baseLinker.Properties.Target.Recovery.Exclude_static_libs)
|
||||||
}
|
}
|
||||||
|
|
||||||
android.ExtractSourceDeps(ctx, library.Properties.Unexported_symbols_list)
|
|
||||||
android.ExtractSourceDeps(ctx, library.Properties.Force_symbols_not_weak_list)
|
|
||||||
android.ExtractSourceDeps(ctx, library.Properties.Force_symbols_weak_list)
|
|
||||||
|
|
||||||
return deps
|
return deps
|
||||||
}
|
}
|
||||||
|
|
||||||
|
12
cc/linker.go
12
cc/linker.go
@@ -149,7 +149,7 @@ type BaseLinkerProperties struct {
|
|||||||
Pack_relocations *bool `android:"arch_variant"`
|
Pack_relocations *bool `android:"arch_variant"`
|
||||||
|
|
||||||
// local file name to pass to the linker as --version_script
|
// local file name to pass to the linker as --version_script
|
||||||
Version_script *string `android:"arch_variant"`
|
Version_script *string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// Local file name to pass to the linker as --symbol-ordering-file
|
// Local file name to pass to the linker as --symbol-ordering-file
|
||||||
Symbol_ordering_file *string `android:"arch_variant"`
|
Symbol_ordering_file *string `android:"arch_variant"`
|
||||||
@@ -281,16 +281,6 @@ func (linker *baseLinker) linkerDeps(ctx DepsContext, deps Deps) Deps {
|
|||||||
deps.LateStaticLibs = append(deps.LateStaticLibs, "libwinpthread")
|
deps.LateStaticLibs = append(deps.LateStaticLibs, "libwinpthread")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Version_script is not needed when linking stubs lib where the version
|
|
||||||
// script is created from the symbol map file.
|
|
||||||
if !linker.dynamicProperties.BuildStubs {
|
|
||||||
android.ExtractSourceDeps(ctx, linker.Properties.Version_script)
|
|
||||||
android.ExtractSourceDeps(ctx,
|
|
||||||
linker.Properties.Target.Vendor.Version_script)
|
|
||||||
}
|
|
||||||
|
|
||||||
android.ExtractSourceDeps(ctx, linker.Properties.Symbol_ordering_file)
|
|
||||||
|
|
||||||
return deps
|
return deps
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -70,13 +70,13 @@ type headerProperties struct {
|
|||||||
To *string
|
To *string
|
||||||
|
|
||||||
// List of headers to install. Glob compatible. Common case is "include/**/*.h".
|
// List of headers to install. Glob compatible. Common case is "include/**/*.h".
|
||||||
Srcs []string
|
Srcs []string `android:"path"`
|
||||||
|
|
||||||
// Source paths that should be excluded from the srcs glob.
|
// Source paths that should be excluded from the srcs glob.
|
||||||
Exclude_srcs []string
|
Exclude_srcs []string `android:"path"`
|
||||||
|
|
||||||
// Path to the NOTICE file associated with the headers.
|
// Path to the NOTICE file associated with the headers.
|
||||||
License *string
|
License *string `android:"path"`
|
||||||
|
|
||||||
// True if this API is not yet ready to be shipped in the NDK. It will be
|
// True if this API is not yet ready to be shipped in the NDK. It will be
|
||||||
// available in the platform for testing, but will be excluded from the
|
// available in the platform for testing, but will be excluded from the
|
||||||
|
@@ -33,7 +33,7 @@ type prebuiltLinker struct {
|
|||||||
android.Prebuilt
|
android.Prebuilt
|
||||||
|
|
||||||
properties struct {
|
properties struct {
|
||||||
Srcs []string `android:"arch_variant"`
|
Srcs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// Check the prebuilt ELF files (e.g. DT_SONAME, DT_NEEDED, resolution of undefined
|
// Check the prebuilt ELF files (e.g. DT_SONAME, DT_NEEDED, resolution of undefined
|
||||||
// symbols, etc), default true.
|
// symbols, etc), default true.
|
||||||
|
20
cc/test.go
20
cc/test.go
@@ -42,7 +42,7 @@ type TestBinaryProperties struct {
|
|||||||
|
|
||||||
// list of files or filegroup modules that provide data that should be installed alongside
|
// list of files or filegroup modules that provide data that should be installed alongside
|
||||||
// the test
|
// the test
|
||||||
Data []string
|
Data []string `android:"path"`
|
||||||
|
|
||||||
// list of compatibility suites (for example "cts", "vts") that the module should be
|
// list of compatibility suites (for example "cts", "vts") that the module should be
|
||||||
// installed into.
|
// installed into.
|
||||||
@@ -50,11 +50,11 @@ type TestBinaryProperties struct {
|
|||||||
|
|
||||||
// the name of the test configuration (for example "AndroidTest.xml") that should be
|
// the name of the test configuration (for example "AndroidTest.xml") that should be
|
||||||
// installed with the module.
|
// installed with the module.
|
||||||
Test_config *string `android:"arch_variant"`
|
Test_config *string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// the name of the test configuration template (for example "AndroidTestTemplate.xml") that
|
// the name of the test configuration template (for example "AndroidTestTemplate.xml") that
|
||||||
// should be installed with the module.
|
// should be installed with the module.
|
||||||
Test_config_template *string `android:"arch_variant"`
|
Test_config_template *string `android:"path,arch_variant"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@@ -241,10 +241,6 @@ func (test *testBinary) linkerInit(ctx BaseModuleContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (test *testBinary) linkerDeps(ctx DepsContext, deps Deps) Deps {
|
func (test *testBinary) linkerDeps(ctx DepsContext, deps Deps) Deps {
|
||||||
android.ExtractSourcesDeps(ctx, test.Properties.Data)
|
|
||||||
android.ExtractSourceDeps(ctx, test.Properties.Test_config)
|
|
||||||
android.ExtractSourceDeps(ctx, test.Properties.Test_config_template)
|
|
||||||
|
|
||||||
deps = test.testDecorator.linkerDeps(ctx, deps)
|
deps = test.testDecorator.linkerDeps(ctx, deps)
|
||||||
deps = test.binaryDecorator.linkerDeps(ctx, deps)
|
deps = test.binaryDecorator.linkerDeps(ctx, deps)
|
||||||
return deps
|
return deps
|
||||||
@@ -338,7 +334,7 @@ func NewTestLibrary(hod android.HostOrDeviceSupported) *Module {
|
|||||||
type BenchmarkProperties struct {
|
type BenchmarkProperties struct {
|
||||||
// list of files or filegroup modules that provide data that should be installed alongside
|
// list of files or filegroup modules that provide data that should be installed alongside
|
||||||
// the test
|
// the test
|
||||||
Data []string
|
Data []string `android:"path"`
|
||||||
|
|
||||||
// list of compatibility suites (for example "cts", "vts") that the module should be
|
// list of compatibility suites (for example "cts", "vts") that the module should be
|
||||||
// installed into.
|
// installed into.
|
||||||
@@ -346,11 +342,11 @@ type BenchmarkProperties struct {
|
|||||||
|
|
||||||
// the name of the test configuration (for example "AndroidTest.xml") that should be
|
// the name of the test configuration (for example "AndroidTest.xml") that should be
|
||||||
// installed with the module.
|
// installed with the module.
|
||||||
Test_config *string `android:"arch_variant"`
|
Test_config *string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// the name of the test configuration template (for example "AndroidTestTemplate.xml") that
|
// the name of the test configuration template (for example "AndroidTestTemplate.xml") that
|
||||||
// should be installed with the module.
|
// should be installed with the module.
|
||||||
Test_config_template *string `android:"arch_variant"`
|
Test_config_template *string `android:"path,arch_variant"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type benchmarkDecorator struct {
|
type benchmarkDecorator struct {
|
||||||
@@ -376,10 +372,6 @@ func (benchmark *benchmarkDecorator) linkerProps() []interface{} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (benchmark *benchmarkDecorator) linkerDeps(ctx DepsContext, deps Deps) Deps {
|
func (benchmark *benchmarkDecorator) linkerDeps(ctx DepsContext, deps Deps) Deps {
|
||||||
android.ExtractSourcesDeps(ctx, benchmark.Properties.Data)
|
|
||||||
android.ExtractSourceDeps(ctx, benchmark.Properties.Test_config)
|
|
||||||
android.ExtractSourceDeps(ctx, benchmark.Properties.Test_config_template)
|
|
||||||
|
|
||||||
deps = benchmark.binaryDecorator.linkerDeps(ctx, deps)
|
deps = benchmark.binaryDecorator.linkerDeps(ctx, deps)
|
||||||
deps.StaticLibs = append(deps.StaticLibs, "libgoogle-benchmark")
|
deps.StaticLibs = append(deps.StaticLibs, "libgoogle-benchmark")
|
||||||
return deps
|
return deps
|
||||||
|
@@ -166,7 +166,7 @@ type testDataTest struct {
|
|||||||
android.ModuleBase
|
android.ModuleBase
|
||||||
data android.Paths
|
data android.Paths
|
||||||
Properties struct {
|
Properties struct {
|
||||||
Data []string
|
Data []string `android:"path"`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -177,10 +177,6 @@ func newTest() android.Module {
|
|||||||
return m
|
return m
|
||||||
}
|
}
|
||||||
|
|
||||||
func (test *testDataTest) DepsMutator(ctx android.BottomUpMutatorContext) {
|
|
||||||
android.ExtractSourcesDeps(ctx, test.Properties.Data)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (test *testDataTest) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
func (test *testDataTest) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||||
test.data = ctx.ExpandSources(test.Properties.Data, nil)
|
test.data = ctx.ExpandSources(test.Properties.Data, nil)
|
||||||
}
|
}
|
||||||
|
@@ -83,16 +83,16 @@ type generatorProperties struct {
|
|||||||
Tools []string
|
Tools []string
|
||||||
|
|
||||||
// Local file that is used as the tool
|
// Local file that is used as the tool
|
||||||
Tool_files []string
|
Tool_files []string `android:"path"`
|
||||||
|
|
||||||
// List of directories to export generated headers from
|
// List of directories to export generated headers from
|
||||||
Export_include_dirs []string
|
Export_include_dirs []string
|
||||||
|
|
||||||
// list of input files
|
// list of input files
|
||||||
Srcs []string `android:"arch_variant"`
|
Srcs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// input files to exclude
|
// input files to exclude
|
||||||
Exclude_srcs []string `android:"arch_variant"`
|
Exclude_srcs []string `android:"path,arch_variant"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Module struct {
|
type Module struct {
|
||||||
@@ -143,8 +143,6 @@ func (g *Module) GeneratedDeps() android.Paths {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (g *Module) DepsMutator(ctx android.BottomUpMutatorContext) {
|
func (g *Module) DepsMutator(ctx android.BottomUpMutatorContext) {
|
||||||
android.ExtractSourcesDeps(ctx, g.properties.Srcs)
|
|
||||||
android.ExtractSourcesDeps(ctx, g.properties.Tool_files)
|
|
||||||
if g, ok := ctx.Module().(*Module); ok {
|
if g, ok := ctx.Module().(*Module); ok {
|
||||||
for _, tool := range g.properties.Tools {
|
for _, tool := range g.properties.Tools {
|
||||||
tag := hostToolDependencyTag{label: tool}
|
tag := hostToolDependencyTag{label: tool}
|
||||||
|
@@ -64,10 +64,10 @@ type aaptProperties struct {
|
|||||||
Resource_dirs []string
|
Resource_dirs []string
|
||||||
|
|
||||||
// list of zip files containing Android resources.
|
// list of zip files containing Android resources.
|
||||||
Resource_zips []string
|
Resource_zips []string `android:"path"`
|
||||||
|
|
||||||
// path to AndroidManifest.xml. If unset, defaults to "AndroidManifest.xml".
|
// path to AndroidManifest.xml. If unset, defaults to "AndroidManifest.xml".
|
||||||
Manifest *string
|
Manifest *string `android:"path"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type aapt struct {
|
type aapt struct {
|
||||||
@@ -180,8 +180,6 @@ func (a *aapt) deps(ctx android.BottomUpMutatorContext, sdkContext sdkContext) {
|
|||||||
if sdkDep.frameworkResModule != "" {
|
if sdkDep.frameworkResModule != "" {
|
||||||
ctx.AddVariationDependencies(nil, frameworkResTag, sdkDep.frameworkResModule)
|
ctx.AddVariationDependencies(nil, frameworkResTag, sdkDep.frameworkResModule)
|
||||||
}
|
}
|
||||||
|
|
||||||
android.ExtractSourcesDeps(ctx, a.aaptProperties.Resource_zips)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *aapt) buildActions(ctx android.ModuleContext, sdkContext sdkContext, extraLinkFlags ...string) {
|
func (a *aapt) buildActions(ctx android.ModuleContext, sdkContext sdkContext, extraLinkFlags ...string) {
|
||||||
@@ -406,7 +404,7 @@ func AndroidLibraryFactory() android.Module {
|
|||||||
//
|
//
|
||||||
|
|
||||||
type AARImportProperties struct {
|
type AARImportProperties struct {
|
||||||
Aars []string
|
Aars []string `android:"path"`
|
||||||
|
|
||||||
Sdk_version *string
|
Sdk_version *string
|
||||||
Min_sdk_version *string
|
Min_sdk_version *string
|
||||||
|
@@ -459,9 +459,6 @@ func (a *AndroidTest) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *AndroidTest) DepsMutator(ctx android.BottomUpMutatorContext) {
|
func (a *AndroidTest) DepsMutator(ctx android.BottomUpMutatorContext) {
|
||||||
android.ExtractSourceDeps(ctx, a.testProperties.Test_config)
|
|
||||||
android.ExtractSourceDeps(ctx, a.testProperties.Test_config_template)
|
|
||||||
android.ExtractSourcesDeps(ctx, a.testProperties.Data)
|
|
||||||
a.AndroidApp.DepsMutator(ctx)
|
a.AndroidApp.DepsMutator(ctx)
|
||||||
if a.appTestProperties.Instrumentation_for != nil {
|
if a.appTestProperties.Instrumentation_for != nil {
|
||||||
// The android_app dependency listed in instrumentation_for needs to be added to the classpath for javac,
|
// The android_app dependency listed in instrumentation_for needs to be added to the classpath for javac,
|
||||||
|
@@ -157,7 +157,7 @@ var (
|
|||||||
type JavadocProperties struct {
|
type JavadocProperties struct {
|
||||||
// list of source files used to compile the Java module. May be .java, .logtags, .proto,
|
// list of source files used to compile the Java module. May be .java, .logtags, .proto,
|
||||||
// or .aidl files.
|
// or .aidl files.
|
||||||
Srcs []string `android:"arch_variant"`
|
Srcs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// list of directories rooted at the Android.bp file that will
|
// list of directories rooted at the Android.bp file that will
|
||||||
// be added to the search paths for finding source files when passing package names.
|
// be added to the search paths for finding source files when passing package names.
|
||||||
@@ -166,7 +166,7 @@ type JavadocProperties struct {
|
|||||||
// list of source files that should not be used to build the Java module.
|
// list of source files that should not be used to build the Java module.
|
||||||
// This is most useful in the arch/multilib variants to remove non-common files
|
// This is most useful in the arch/multilib variants to remove non-common files
|
||||||
// filegroup or genrule can be included within this property.
|
// filegroup or genrule can be included within this property.
|
||||||
Exclude_srcs []string `android:"arch_variant"`
|
Exclude_srcs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// list of java libraries that will be in the classpath.
|
// list of java libraries that will be in the classpath.
|
||||||
Libs []string `android:"arch_variant"`
|
Libs []string `android:"arch_variant"`
|
||||||
@@ -205,7 +205,7 @@ type JavadocProperties struct {
|
|||||||
Java_version *string
|
Java_version *string
|
||||||
|
|
||||||
// local files that are used within user customized droiddoc options.
|
// local files that are used within user customized droiddoc options.
|
||||||
Arg_files []string
|
Arg_files []string `android:"path"`
|
||||||
|
|
||||||
// user customized droiddoc args.
|
// user customized droiddoc args.
|
||||||
// Available variables for substitution:
|
// Available variables for substitution:
|
||||||
@@ -220,12 +220,12 @@ type JavadocProperties struct {
|
|||||||
type ApiToCheck struct {
|
type ApiToCheck struct {
|
||||||
// path to the API txt file that the new API extracted from source code is checked
|
// path to the API txt file that the new API extracted from source code is checked
|
||||||
// against. The path can be local to the module or from other module (via :module syntax).
|
// against. The path can be local to the module or from other module (via :module syntax).
|
||||||
Api_file *string
|
Api_file *string `android:"path"`
|
||||||
|
|
||||||
// path to the API txt file that the new @removed API extractd from source code is
|
// path to the API txt file that the new @removed API extractd from source code is
|
||||||
// checked against. The path can be local to the module or from other module (via
|
// checked against. The path can be local to the module or from other module (via
|
||||||
// :module syntax).
|
// :module syntax).
|
||||||
Removed_api_file *string
|
Removed_api_file *string `android:"path"`
|
||||||
|
|
||||||
// Arguments to the apicheck tool.
|
// Arguments to the apicheck tool.
|
||||||
Args *string
|
Args *string
|
||||||
@@ -243,11 +243,11 @@ type DroiddocProperties struct {
|
|||||||
|
|
||||||
// proofread file contains all of the text content of the javadocs concatenated into one file,
|
// proofread file contains all of the text content of the javadocs concatenated into one file,
|
||||||
// suitable for spell-checking and other goodness.
|
// suitable for spell-checking and other goodness.
|
||||||
Proofread_file *string
|
Proofread_file *string `android:"path"`
|
||||||
|
|
||||||
// a todo file lists the program elements that are missing documentation.
|
// a todo file lists the program elements that are missing documentation.
|
||||||
// At some point, this might be improved to show more warnings.
|
// At some point, this might be improved to show more warnings.
|
||||||
Todo_file *string
|
Todo_file *string `android:"path"`
|
||||||
|
|
||||||
// directory under current module source that provide additional resources (images).
|
// directory under current module source that provide additional resources (images).
|
||||||
Resourcesdir *string
|
Resourcesdir *string
|
||||||
@@ -260,14 +260,14 @@ type DroiddocProperties struct {
|
|||||||
Write_sdk_values *bool
|
Write_sdk_values *bool
|
||||||
|
|
||||||
// index.html under current module will be copied to docs out dir, if not null.
|
// index.html under current module will be copied to docs out dir, if not null.
|
||||||
Static_doc_index_redirect *string
|
Static_doc_index_redirect *string `android:"path"`
|
||||||
|
|
||||||
// source.properties under current module will be copied to docs out dir, if not null.
|
// source.properties under current module will be copied to docs out dir, if not null.
|
||||||
Static_doc_properties *string
|
Static_doc_properties *string `android:"path"`
|
||||||
|
|
||||||
// a list of files under current module source dir which contains known tags in Java sources.
|
// a list of files under current module source dir which contains known tags in Java sources.
|
||||||
// filegroup or genrule can be included within this property.
|
// filegroup or genrule can be included within this property.
|
||||||
Knowntags []string
|
Knowntags []string `android:"path"`
|
||||||
|
|
||||||
// the tag name used to distinguish if the API files belong to public/system/test.
|
// the tag name used to distinguish if the API files belong to public/system/test.
|
||||||
Api_tag_name *string
|
Api_tag_name *string
|
||||||
@@ -360,7 +360,7 @@ type DroidstubsProperties struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// user can specify the version of previous released API file in order to do compatibility check.
|
// user can specify the version of previous released API file in order to do compatibility check.
|
||||||
Previous_api *string
|
Previous_api *string `android:"path"`
|
||||||
|
|
||||||
// is set to true, Metalava will allow framework SDK to contain annotations.
|
// is set to true, Metalava will allow framework SDK to contain annotations.
|
||||||
Annotations_enabled *bool
|
Annotations_enabled *bool
|
||||||
@@ -556,14 +556,6 @@ func (j *Javadoc) addDeps(ctx android.BottomUpMutatorContext) {
|
|||||||
if j.properties.Srcs_lib != nil {
|
if j.properties.Srcs_lib != nil {
|
||||||
ctx.AddVariationDependencies(nil, srcsLibTag, *j.properties.Srcs_lib)
|
ctx.AddVariationDependencies(nil, srcsLibTag, *j.properties.Srcs_lib)
|
||||||
}
|
}
|
||||||
|
|
||||||
android.ExtractSourcesDeps(ctx, j.properties.Srcs)
|
|
||||||
|
|
||||||
// exclude_srcs may contain filegroup or genrule.
|
|
||||||
android.ExtractSourcesDeps(ctx, j.properties.Exclude_srcs)
|
|
||||||
|
|
||||||
// arg_files may contains filegroup or genrule.
|
|
||||||
android.ExtractSourcesDeps(ctx, j.properties.Arg_files)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (j *Javadoc) genWhitelistPathPrefixes(whitelistPathPrefixes map[string]bool) {
|
func (j *Javadoc) genWhitelistPathPrefixes(whitelistPathPrefixes map[string]bool) {
|
||||||
@@ -873,27 +865,6 @@ func (d *Droiddoc) DepsMutator(ctx android.BottomUpMutatorContext) {
|
|||||||
if String(d.properties.Custom_template) != "" {
|
if String(d.properties.Custom_template) != "" {
|
||||||
ctx.AddDependency(ctx.Module(), droiddocTemplateTag, String(d.properties.Custom_template))
|
ctx.AddDependency(ctx.Module(), droiddocTemplateTag, String(d.properties.Custom_template))
|
||||||
}
|
}
|
||||||
|
|
||||||
// knowntags may contain filegroup or genrule.
|
|
||||||
android.ExtractSourcesDeps(ctx, d.properties.Knowntags)
|
|
||||||
|
|
||||||
if String(d.properties.Static_doc_index_redirect) != "" {
|
|
||||||
android.ExtractSourceDeps(ctx, d.properties.Static_doc_index_redirect)
|
|
||||||
}
|
|
||||||
|
|
||||||
if String(d.properties.Static_doc_properties) != "" {
|
|
||||||
android.ExtractSourceDeps(ctx, d.properties.Static_doc_properties)
|
|
||||||
}
|
|
||||||
|
|
||||||
if apiCheckEnabled(d.properties.Check_api.Current, "current") {
|
|
||||||
android.ExtractSourceDeps(ctx, d.properties.Check_api.Current.Api_file)
|
|
||||||
android.ExtractSourceDeps(ctx, d.properties.Check_api.Current.Removed_api_file)
|
|
||||||
}
|
|
||||||
|
|
||||||
if apiCheckEnabled(d.properties.Check_api.Last_released, "last_released") {
|
|
||||||
android.ExtractSourceDeps(ctx, d.properties.Check_api.Last_released.Api_file)
|
|
||||||
android.ExtractSourceDeps(ctx, d.properties.Check_api.Last_released.Removed_api_file)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *Droiddoc) initBuilderFlags(ctx android.ModuleContext, implicits *android.Paths,
|
func (d *Droiddoc) initBuilderFlags(ctx android.ModuleContext, implicits *android.Paths,
|
||||||
@@ -1318,20 +1289,6 @@ func (d *Droidstubs) DepsMutator(ctx android.BottomUpMutatorContext) {
|
|||||||
ignoreMissingModules(ctx, &d.properties.Check_api.Last_released)
|
ignoreMissingModules(ctx, &d.properties.Check_api.Last_released)
|
||||||
}
|
}
|
||||||
|
|
||||||
if apiCheckEnabled(d.properties.Check_api.Current, "current") {
|
|
||||||
android.ExtractSourceDeps(ctx, d.properties.Check_api.Current.Api_file)
|
|
||||||
android.ExtractSourceDeps(ctx, d.properties.Check_api.Current.Removed_api_file)
|
|
||||||
}
|
|
||||||
|
|
||||||
if apiCheckEnabled(d.properties.Check_api.Last_released, "last_released") {
|
|
||||||
android.ExtractSourceDeps(ctx, d.properties.Check_api.Last_released.Api_file)
|
|
||||||
android.ExtractSourceDeps(ctx, d.properties.Check_api.Last_released.Removed_api_file)
|
|
||||||
}
|
|
||||||
|
|
||||||
if String(d.properties.Previous_api) != "" {
|
|
||||||
android.ExtractSourceDeps(ctx, d.properties.Previous_api)
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(d.properties.Merge_annotations_dirs) != 0 {
|
if len(d.properties.Merge_annotations_dirs) != 0 {
|
||||||
for _, mergeAnnotationsDir := range d.properties.Merge_annotations_dirs {
|
for _, mergeAnnotationsDir := range d.properties.Merge_annotations_dirs {
|
||||||
ctx.AddDependency(ctx.Module(), metalavaMergeAnnotationsDirTag, mergeAnnotationsDir)
|
ctx.AddDependency(ctx.Module(), metalavaMergeAnnotationsDirTag, mergeAnnotationsDir)
|
||||||
@@ -1344,13 +1301,6 @@ func (d *Droidstubs) DepsMutator(ctx android.BottomUpMutatorContext) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if String(d.properties.Validate_nullability_from_list) != "" {
|
|
||||||
android.ExtractSourceDeps(ctx, d.properties.Validate_nullability_from_list)
|
|
||||||
}
|
|
||||||
if String(d.properties.Check_nullability_warnings) != "" {
|
|
||||||
android.ExtractSourceDeps(ctx, d.properties.Check_nullability_warnings)
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(d.properties.Api_levels_annotations_dirs) != 0 {
|
if len(d.properties.Api_levels_annotations_dirs) != 0 {
|
||||||
for _, apiLevelsAnnotationsDir := range d.properties.Api_levels_annotations_dirs {
|
for _, apiLevelsAnnotationsDir := range d.properties.Api_levels_annotations_dirs {
|
||||||
ctx.AddDependency(ctx.Module(), metalavaAPILevelsAnnotationsDirTag, apiLevelsAnnotationsDir)
|
ctx.AddDependency(ctx.Module(), metalavaAPILevelsAnnotationsDirTag, apiLevelsAnnotationsDir)
|
||||||
|
45
java/java.go
45
java/java.go
@@ -62,11 +62,11 @@ func init() {
|
|||||||
type CompilerProperties struct {
|
type CompilerProperties struct {
|
||||||
// list of source files used to compile the Java module. May be .java, .logtags, .proto,
|
// list of source files used to compile the Java module. May be .java, .logtags, .proto,
|
||||||
// or .aidl files.
|
// or .aidl files.
|
||||||
Srcs []string `android:"arch_variant"`
|
Srcs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// list of source files that should not be used to build the Java module.
|
// list of source files that should not be used to build the Java module.
|
||||||
// This is most useful in the arch/multilib variants to remove non-common files
|
// This is most useful in the arch/multilib variants to remove non-common files
|
||||||
Exclude_srcs []string `android:"arch_variant"`
|
Exclude_srcs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// list of directories containing Java resources
|
// list of directories containing Java resources
|
||||||
Java_resource_dirs []string `android:"arch_variant"`
|
Java_resource_dirs []string `android:"arch_variant"`
|
||||||
@@ -75,10 +75,10 @@ type CompilerProperties struct {
|
|||||||
Exclude_java_resource_dirs []string `android:"arch_variant"`
|
Exclude_java_resource_dirs []string `android:"arch_variant"`
|
||||||
|
|
||||||
// list of files to use as Java resources
|
// list of files to use as Java resources
|
||||||
Java_resources []string `android:"arch_variant"`
|
Java_resources []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// list of files that should be excluded from java_resources and java_resource_dirs
|
// list of files that should be excluded from java_resources and java_resource_dirs
|
||||||
Exclude_java_resources []string `android:"arch_variant"`
|
Exclude_java_resources []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// don't build against the default libraries (bootclasspath, ext, and framework for device
|
// don't build against the default libraries (bootclasspath, ext, and framework for device
|
||||||
// targets)
|
// targets)
|
||||||
@@ -100,10 +100,10 @@ type CompilerProperties struct {
|
|||||||
Static_libs []string `android:"arch_variant"`
|
Static_libs []string `android:"arch_variant"`
|
||||||
|
|
||||||
// manifest file to be included in resulting jar
|
// manifest file to be included in resulting jar
|
||||||
Manifest *string
|
Manifest *string `android:"path"`
|
||||||
|
|
||||||
// if not blank, run jarjar using the specified rules file
|
// if not blank, run jarjar using the specified rules file
|
||||||
Jarjar_rules *string `android:"arch_variant"`
|
Jarjar_rules *string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// If not blank, set the java version passed to javac as -source and -target
|
// If not blank, set the java version passed to javac as -source and -target
|
||||||
Java_version *string
|
Java_version *string
|
||||||
@@ -126,7 +126,7 @@ type CompilerProperties struct {
|
|||||||
|
|
||||||
Openjdk9 struct {
|
Openjdk9 struct {
|
||||||
// List of source files that should only be used when passing -source 1.9
|
// List of source files that should only be used when passing -source 1.9
|
||||||
Srcs []string
|
Srcs []string `android:"path"`
|
||||||
|
|
||||||
// List of javac flags that should only be used when passing -source 1.9
|
// List of javac flags that should only be used when passing -source 1.9
|
||||||
Javacflags []string
|
Javacflags []string
|
||||||
@@ -172,7 +172,7 @@ type CompilerProperties struct {
|
|||||||
Instrument bool `blueprint:"mutated"`
|
Instrument bool `blueprint:"mutated"`
|
||||||
|
|
||||||
// List of files to include in the META-INF/services folder of the resulting jar.
|
// List of files to include in the META-INF/services folder of the resulting jar.
|
||||||
Services []string `android:"arch_variant"`
|
Services []string `android:"path,arch_variant"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type CompilerDeviceProperties struct {
|
type CompilerDeviceProperties struct {
|
||||||
@@ -241,7 +241,7 @@ type CompilerDeviceProperties struct {
|
|||||||
Proguard_flags []string
|
Proguard_flags []string
|
||||||
|
|
||||||
// Specifies the locations of files containing proguard flags.
|
// Specifies the locations of files containing proguard flags.
|
||||||
Proguard_flags_files []string
|
Proguard_flags_files []string `android:"path"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// When targeting 1.9, override the modules to use with --system
|
// When targeting 1.9, override the modules to use with --system
|
||||||
@@ -478,13 +478,6 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) {
|
|||||||
{Mutator: "arch", Variation: ctx.Config().BuildOsCommonVariant},
|
{Mutator: "arch", Variation: ctx.Config().BuildOsCommonVariant},
|
||||||
}, pluginTag, j.properties.Plugins...)
|
}, pluginTag, j.properties.Plugins...)
|
||||||
|
|
||||||
android.ExtractSourcesDeps(ctx, j.properties.Srcs)
|
|
||||||
android.ExtractSourcesDeps(ctx, j.properties.Exclude_srcs)
|
|
||||||
android.ExtractSourcesDeps(ctx, j.properties.Java_resources)
|
|
||||||
android.ExtractSourceDeps(ctx, j.properties.Manifest)
|
|
||||||
android.ExtractSourceDeps(ctx, j.properties.Jarjar_rules)
|
|
||||||
android.ExtractSourcesDeps(ctx, j.properties.Services)
|
|
||||||
|
|
||||||
if j.hasSrcExt(".proto") {
|
if j.hasSrcExt(".proto") {
|
||||||
protoDeps(ctx, &j.protoProperties)
|
protoDeps(ctx, &j.protoProperties)
|
||||||
}
|
}
|
||||||
@@ -1530,15 +1523,15 @@ type testProperties struct {
|
|||||||
|
|
||||||
// the name of the test configuration (for example "AndroidTest.xml") that should be
|
// the name of the test configuration (for example "AndroidTest.xml") that should be
|
||||||
// installed with the module.
|
// installed with the module.
|
||||||
Test_config *string `android:"arch_variant"`
|
Test_config *string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// the name of the test configuration template (for example "AndroidTestTemplate.xml") that
|
// the name of the test configuration template (for example "AndroidTestTemplate.xml") that
|
||||||
// should be installed with the module.
|
// should be installed with the module.
|
||||||
Test_config_template *string `android:"arch_variant"`
|
Test_config_template *string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// list of files or filegroup modules that provide data that should be installed alongside
|
// list of files or filegroup modules that provide data that should be installed alongside
|
||||||
// the test
|
// the test
|
||||||
Data []string
|
Data []string `android:"path"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Test struct {
|
type Test struct {
|
||||||
@@ -1557,13 +1550,6 @@ func (j *Test) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
j.Library.GenerateAndroidBuildActions(ctx)
|
j.Library.GenerateAndroidBuildActions(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (j *Test) DepsMutator(ctx android.BottomUpMutatorContext) {
|
|
||||||
j.deps(ctx)
|
|
||||||
android.ExtractSourceDeps(ctx, j.testProperties.Test_config)
|
|
||||||
android.ExtractSourceDeps(ctx, j.testProperties.Test_config_template)
|
|
||||||
android.ExtractSourcesDeps(ctx, j.testProperties.Data)
|
|
||||||
}
|
|
||||||
|
|
||||||
// java_test builds a and links sources into a `.jar` file for the device, and possibly for the host as well, and
|
// java_test builds a and links sources into a `.jar` file for the device, and possibly for the host as well, and
|
||||||
// creates an `AndroidTest.xml` file to allow running the test with `atest` or a `TEST_MAPPING` file.
|
// creates an `AndroidTest.xml` file to allow running the test with `atest` or a `TEST_MAPPING` file.
|
||||||
//
|
//
|
||||||
@@ -1614,7 +1600,7 @@ func TestHostFactory() android.Module {
|
|||||||
|
|
||||||
type binaryProperties struct {
|
type binaryProperties struct {
|
||||||
// installable script to execute the resulting jar
|
// installable script to execute the resulting jar
|
||||||
Wrapper *string
|
Wrapper *string `android:"path"`
|
||||||
|
|
||||||
// Name of the class containing main to be inserted into the manifest as Main-Class.
|
// Name of the class containing main to be inserted into the manifest as Main-Class.
|
||||||
Main_class *string
|
Main_class *string
|
||||||
@@ -1670,8 +1656,6 @@ func (j *Binary) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
func (j *Binary) DepsMutator(ctx android.BottomUpMutatorContext) {
|
func (j *Binary) DepsMutator(ctx android.BottomUpMutatorContext) {
|
||||||
if ctx.Arch().ArchType == android.Common {
|
if ctx.Arch().ArchType == android.Common {
|
||||||
j.deps(ctx)
|
j.deps(ctx)
|
||||||
} else {
|
|
||||||
android.ExtractSourceDeps(ctx, j.binaryProperties.Wrapper)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1724,7 +1708,7 @@ func BinaryHostFactory() android.Module {
|
|||||||
//
|
//
|
||||||
|
|
||||||
type ImportProperties struct {
|
type ImportProperties struct {
|
||||||
Jars []string
|
Jars []string `android:"path"`
|
||||||
|
|
||||||
Sdk_version *string
|
Sdk_version *string
|
||||||
|
|
||||||
@@ -1775,7 +1759,6 @@ func (j *Import) Name() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (j *Import) DepsMutator(ctx android.BottomUpMutatorContext) {
|
func (j *Import) DepsMutator(ctx android.BottomUpMutatorContext) {
|
||||||
android.ExtractSourcesDeps(ctx, j.properties.Jars)
|
|
||||||
ctx.AddVariationDependencies(nil, libTag, j.properties.Libs...)
|
ctx.AddVariationDependencies(nil, libTag, j.properties.Libs...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -43,11 +43,11 @@ type VersionProperties struct {
|
|||||||
// non-empty list of .py files under this strict Python version.
|
// non-empty list of .py files under this strict Python version.
|
||||||
// srcs may reference the outputs of other modules that produce source files like genrule
|
// srcs may reference the outputs of other modules that produce source files like genrule
|
||||||
// or filegroup using the syntax ":module".
|
// or filegroup using the syntax ":module".
|
||||||
Srcs []string `android:"arch_variant"`
|
Srcs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// list of source files that should not be used to build the Python module.
|
// list of source files that should not be used to build the Python module.
|
||||||
// This is most useful in the arch/multilib variants to remove non-common files
|
// This is most useful in the arch/multilib variants to remove non-common files
|
||||||
Exclude_srcs []string `android:"arch_variant"`
|
Exclude_srcs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// list of the Python libraries under this Python version.
|
// list of the Python libraries under this Python version.
|
||||||
Libs []string `android:"arch_variant"`
|
Libs []string `android:"arch_variant"`
|
||||||
@@ -74,15 +74,15 @@ type BaseProperties struct {
|
|||||||
// srcs may reference the outputs of other modules that produce source files like genrule
|
// srcs may reference the outputs of other modules that produce source files like genrule
|
||||||
// or filegroup using the syntax ":module".
|
// or filegroup using the syntax ":module".
|
||||||
// Srcs has to be non-empty.
|
// Srcs has to be non-empty.
|
||||||
Srcs []string `android:"arch_variant"`
|
Srcs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// list of source files that should not be used to build the C/C++ module.
|
// list of source files that should not be used to build the C/C++ module.
|
||||||
// This is most useful in the arch/multilib variants to remove non-common files
|
// This is most useful in the arch/multilib variants to remove non-common files
|
||||||
Exclude_srcs []string `android:"arch_variant"`
|
Exclude_srcs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// list of files or filegroup modules that provide data that should be installed alongside
|
// list of files or filegroup modules that provide data that should be installed alongside
|
||||||
// the test. the file extension can be arbitrary except for (.py).
|
// the test. the file extension can be arbitrary except for (.py).
|
||||||
Data []string `android:"arch_variant"`
|
Data []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
// list of the Python libraries compatible both with Python2 and Python3.
|
// list of the Python libraries compatible both with Python2 and Python3.
|
||||||
Libs []string `android:"arch_variant"`
|
Libs []string `android:"arch_variant"`
|
||||||
@@ -288,21 +288,11 @@ func (p *Module) hasSrcExt(ctx android.BottomUpMutatorContext, ext string) bool
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *Module) DepsMutator(ctx android.BottomUpMutatorContext) {
|
func (p *Module) DepsMutator(ctx android.BottomUpMutatorContext) {
|
||||||
// deps from "data".
|
|
||||||
android.ExtractSourcesDeps(ctx, p.properties.Data)
|
|
||||||
// deps from "srcs".
|
|
||||||
android.ExtractSourcesDeps(ctx, p.properties.Srcs)
|
|
||||||
android.ExtractSourcesDeps(ctx, p.properties.Exclude_srcs)
|
|
||||||
|
|
||||||
if p.hasSrcExt(ctx, protoExt) && p.Name() != "libprotobuf-python" {
|
if p.hasSrcExt(ctx, protoExt) && p.Name() != "libprotobuf-python" {
|
||||||
ctx.AddVariationDependencies(nil, pythonLibTag, "libprotobuf-python")
|
ctx.AddVariationDependencies(nil, pythonLibTag, "libprotobuf-python")
|
||||||
}
|
}
|
||||||
switch p.properties.Actual_version {
|
switch p.properties.Actual_version {
|
||||||
case pyVersion2:
|
case pyVersion2:
|
||||||
// deps from "version.py2.srcs" property.
|
|
||||||
android.ExtractSourcesDeps(ctx, p.properties.Version.Py2.Srcs)
|
|
||||||
android.ExtractSourcesDeps(ctx, p.properties.Version.Py2.Exclude_srcs)
|
|
||||||
|
|
||||||
ctx.AddVariationDependencies(nil, pythonLibTag,
|
ctx.AddVariationDependencies(nil, pythonLibTag,
|
||||||
uniqueLibs(ctx, p.properties.Libs, "version.py2.libs",
|
uniqueLibs(ctx, p.properties.Libs, "version.py2.libs",
|
||||||
p.properties.Version.Py2.Libs)...)
|
p.properties.Version.Py2.Libs)...)
|
||||||
@@ -334,10 +324,6 @@ func (p *Module) DepsMutator(ctx android.BottomUpMutatorContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
case pyVersion3:
|
case pyVersion3:
|
||||||
// deps from "version.py3.srcs" property.
|
|
||||||
android.ExtractSourcesDeps(ctx, p.properties.Version.Py3.Srcs)
|
|
||||||
android.ExtractSourcesDeps(ctx, p.properties.Version.Py3.Exclude_srcs)
|
|
||||||
|
|
||||||
ctx.AddVariationDependencies(nil, pythonLibTag,
|
ctx.AddVariationDependencies(nil, pythonLibTag,
|
||||||
uniqueLibs(ctx, p.properties.Libs, "version.py3.libs",
|
uniqueLibs(ctx, p.properties.Libs, "version.py3.libs",
|
||||||
p.properties.Version.Py3.Libs)...)
|
p.properties.Version.Py3.Libs)...)
|
||||||
|
@@ -58,7 +58,7 @@ func init() {
|
|||||||
|
|
||||||
type prebuiltEtcXmlProperties struct {
|
type prebuiltEtcXmlProperties struct {
|
||||||
// Optional DTD that will be used to validate the xml file.
|
// Optional DTD that will be used to validate the xml file.
|
||||||
Schema *string
|
Schema *string `android:"path"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type prebuiltEtcXml struct {
|
type prebuiltEtcXml struct {
|
||||||
@@ -73,9 +73,6 @@ func (p *prebuiltEtcXml) timestampFilePath(ctx android.ModuleContext) android.Wr
|
|||||||
|
|
||||||
func (p *prebuiltEtcXml) DepsMutator(ctx android.BottomUpMutatorContext) {
|
func (p *prebuiltEtcXml) DepsMutator(ctx android.BottomUpMutatorContext) {
|
||||||
p.PrebuiltEtc.DepsMutator(ctx)
|
p.PrebuiltEtc.DepsMutator(ctx)
|
||||||
|
|
||||||
// To support ":modulename" in schema
|
|
||||||
android.ExtractSourceDeps(ctx, p.properties.Schema)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *prebuiltEtcXml) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
func (p *prebuiltEtcXml) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||||
|
Reference in New Issue
Block a user