diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-03-28 17:00:34 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-03-28 17:00:34 +0000 |
commit | a4c51f007678f0fe972dab861d137063d0c9092b (patch) | |
tree | 49287524def0b6733aa2d549f47f5ff8bf4c2eec | |
parent | b921c1d8f444ee127a5b41aa145d19fbdc24b161 (diff) | |
parent | 15fc2294389d8d1d8f6c2247a57425d299033d9c (diff) | |
download | soong-a4c51f007678f0fe972dab861d137063d0c9092b.tar.gz |
Snap for 9834661 from 15fc2294389d8d1d8f6c2247a57425d299033d9c to mainline-wifi-releaseaml_wif_331910020aml_wif_331810010android13-mainline-wifi-release
Change-Id: I47cc8a67cda875c31e029c9ae1d0feb60a7a9e10
-rw-r--r-- | android/Android.bp | 1 | ||||
-rw-r--r-- | android/filegroup.go | 25 | ||||
-rw-r--r-- | android/filegroup_test.go | 26 | ||||
-rwxr-xr-x | java/app.go | 4 | ||||
-rw-r--r-- | java/java.go | 4 | ||||
-rw-r--r-- | java/lint.go | 8 | ||||
-rw-r--r-- | java/robolectric.go | 2 | ||||
-rw-r--r-- | scripts/Android.bp | 6 |
8 files changed, 67 insertions, 9 deletions
diff --git a/android/Android.bp b/android/Android.bp index 65332b2d8..c0a35accd 100644 --- a/android/Android.bp +++ b/android/Android.bp @@ -106,6 +106,7 @@ bootstrap_go_package { "depset_test.go", "deptag_test.go", "expand_test.go", + "filegroup_test.go", "fixture_test.go", "gen_notice_test.go", "license_kind_test.go", diff --git a/android/filegroup.go b/android/filegroup.go index 50356d1c3..a2e69efa4 100644 --- a/android/filegroup.go +++ b/android/filegroup.go @@ -23,13 +23,18 @@ import ( ) func init() { - RegisterModuleType("filegroup", FileGroupFactory) + RegisterFilegroupBuildComponents(InitRegistrationContext) } var PrepareForTestWithFilegroup = FixtureRegisterWithContext(func(ctx RegistrationContext) { - ctx.RegisterModuleType("filegroup", FileGroupFactory) + RegisterFilegroupBuildComponents(ctx) }) +func RegisterFilegroupBuildComponents(ctx RegistrationContext) { + ctx.RegisterModuleType("filegroup", FileGroupFactory) + ctx.RegisterModuleType("filegroup_defaults", FileGroupDefaultsFactory) +} + // IsFilegroup checks that a module is a filegroup type func IsFilegroup(ctx bazel.OtherModuleContext, m blueprint.Module) bool { return ctx.OtherModuleType(m) == "filegroup" @@ -97,6 +102,7 @@ type fileGroupProperties struct { type fileGroup struct { ModuleBase BazelModuleBase + DefaultableModuleBase properties fileGroupProperties srcs Paths } @@ -111,6 +117,7 @@ func FileGroupFactory() Module { module.AddProperties(&module.properties) InitAndroidModule(module) InitBazelModule(module) + InitDefaultableModule(module) return module } @@ -161,3 +168,17 @@ func (fg *fileGroup) MakeVars(ctx MakeVarsModuleContext) { ctx.StrictRaw(makeVar, strings.Join(fg.srcs.Strings(), " ")) } } + +// Defaults +type FileGroupDefaults struct { + ModuleBase + DefaultsModuleBase +} + +func FileGroupDefaultsFactory() Module { + module := &FileGroupDefaults{} + module.AddProperties(&fileGroupProperties{}) + InitDefaultsModule(module) + + return module +} diff --git a/android/filegroup_test.go b/android/filegroup_test.go new file mode 100644 index 000000000..670037d56 --- /dev/null +++ b/android/filegroup_test.go @@ -0,0 +1,26 @@ +package android + +import ( + "testing" +) + +func TestFilegroupDefaults(t *testing.T) { + bp := FixtureAddTextFile("p/Android.bp", ` + filegroup_defaults { + name: "defaults", + visibility: ["//x"], + } + filegroup { + name: "foo", + defaults: ["defaults"], + visibility: ["//y"], + } + `) + result := GroupFixturePreparers( + PrepareForTestWithFilegroup, + PrepareForTestWithDefaults, + PrepareForTestWithVisibility, + bp).RunTest(t) + rules := effectiveVisibilityRules(result.Config, qualifiedModuleName{pkg: "p", name: "foo"}) + AssertDeepEquals(t, "visibility", []string{"//x", "//y"}, rules.Strings()) +} diff --git a/java/app.go b/java/app.go index 4c7f0172e..c3a33ff8d 100755 --- a/java/app.go +++ b/java/app.go @@ -1086,7 +1086,7 @@ func AndroidTestFactory() android.Module { module.appProperties.Use_embedded_native_libs = proptools.BoolPtr(true) module.appProperties.AlwaysPackageNativeLibs = true module.Module.dexpreopter.isTest = true - module.Module.linter.test = true + module.Module.linter.properties.Lint.Test = proptools.BoolPtr(true) module.addHostAndDeviceProperties() module.AddProperties( @@ -1138,7 +1138,7 @@ func AndroidTestHelperAppFactory() android.Module { module.appProperties.Use_embedded_native_libs = proptools.BoolPtr(true) module.appProperties.AlwaysPackageNativeLibs = true module.Module.dexpreopter.isTest = true - module.Module.linter.test = true + module.Module.linter.properties.Lint.Test = proptools.BoolPtr(true) module.addHostAndDeviceProperties() module.AddProperties( diff --git a/java/java.go b/java/java.go index 5a3a2e0a3..a07565ce5 100644 --- a/java/java.go +++ b/java/java.go @@ -1251,7 +1251,7 @@ func TestFactory() android.Module { module.Module.properties.Installable = proptools.BoolPtr(true) module.Module.dexpreopter.isTest = true - module.Module.linter.test = true + module.Module.linter.properties.Lint.Test = proptools.BoolPtr(true) android.InitSdkAwareModule(module) InitJavaModule(module, android.HostAndDeviceSupported) @@ -1267,7 +1267,7 @@ func TestHelperLibraryFactory() android.Module { module.Module.properties.Installable = proptools.BoolPtr(true) module.Module.dexpreopter.isTest = true - module.Module.linter.test = true + module.Module.linter.properties.Lint.Test = proptools.BoolPtr(true) InitJavaModule(module, android.HostAndDeviceSupported) return module diff --git a/java/lint.go b/java/lint.go index 426a2af25..fdc9dbd99 100644 --- a/java/lint.go +++ b/java/lint.go @@ -60,6 +60,11 @@ type LintProperties struct { // If true, baselining updatability lint checks (e.g. NewApi) is prohibited. Defaults to false. Strict_updatability_linting *bool + + // Treat the code in this module as test code for @VisibleForTesting enforcement. + // This will be true by default for test module types, false otherwise. + // If soong gets support for testonly, this flag should be replaced with that. + Test *bool } } @@ -73,7 +78,6 @@ type linter struct { classpath android.Paths classes android.Path extraLintCheckJars android.Paths - test bool library bool minSdkVersion android.ApiLevel targetSdkVersion android.ApiLevel @@ -228,7 +232,7 @@ func (l *linter) writeLintProjectXML(ctx android.ModuleContext, rule *android.Ru if l.library { cmd.Flag("--library") } - if l.test { + if proptools.BoolDefault(l.properties.Lint.Test, false) { cmd.Flag("--test") } if l.manifest != nil { diff --git a/java/robolectric.go b/java/robolectric.go index 80be04612..999da6fca 100644 --- a/java/robolectric.go +++ b/java/robolectric.go @@ -354,7 +354,7 @@ func RobolectricTestFactory() android.Module { &module.testProperties) module.Module.dexpreopter.isTest = true - module.Module.linter.test = true + module.Module.linter.properties.Lint.Test = proptools.BoolPtr(true) module.testProperties.Test_suites = []string{"robolectric-tests"} diff --git a/scripts/Android.bp b/scripts/Android.bp index a37d2597b..814bd5753 100644 --- a/scripts/Android.bp +++ b/scripts/Android.bp @@ -203,3 +203,9 @@ sh_binary_host { name: "list_image", src: "list_image.sh", } + +filegroup { + name: "rustfmt.toml", + srcs: ["rustfmt.toml"], + visibility: ["//visibility:public"], +} |