Merge "Add logging dependencies to Rust aconfig APIs" into main

This commit is contained in:
Ted Bauer
2024-04-01 13:31:11 +00:00
committed by Gerrit Code Review
4 changed files with 92 additions and 6 deletions

View File

@@ -99,9 +99,11 @@ func (a *aconfigDecorator) GenerateSource(ctx rust.ModuleContext, deps rust.Path
func (a *aconfigDecorator) SourceProviderDeps(ctx rust.DepsContext, deps rust.Deps) rust.Deps { func (a *aconfigDecorator) SourceProviderDeps(ctx rust.DepsContext, deps rust.Deps) rust.Deps {
deps = a.BaseSourceProvider.SourceProviderDeps(ctx, deps) deps = a.BaseSourceProvider.SourceProviderDeps(ctx, deps)
deps.Rustlibs = append(deps.Rustlibs, "libaconfig_storage_read_api")
deps.Rustlibs = append(deps.Rustlibs, "libflags_rust") deps.Rustlibs = append(deps.Rustlibs, "libflags_rust")
deps.Rustlibs = append(deps.Rustlibs, "liblazy_static") deps.Rustlibs = append(deps.Rustlibs, "liblazy_static")
deps.Rustlibs = append(deps.Rustlibs, "libaconfig_storage_read_api") deps.Rustlibs = append(deps.Rustlibs, "liblogger")
deps.Rustlibs = append(deps.Rustlibs, "liblog_rust")
ctx.AddDependency(ctx.Module(), rustDeclarationsTag, a.Properties.Aconfig_declarations) ctx.AddDependency(ctx.Module(), rustDeclarationsTag, a.Properties.Aconfig_declarations)
return deps return deps
} }

View File

@@ -33,6 +33,16 @@ func TestRustAconfigLibrary(t *testing.T) {
crate_name: "aconfig_storage_read_api", crate_name: "aconfig_storage_read_api",
srcs: ["lib.rs"], srcs: ["lib.rs"],
} }
rust_library {
name: "liblogger", // test mock
crate_name: "logger",
srcs: ["lib.rs"],
}
rust_library {
name: "liblog_rust", // test mock
crate_name: "log_rust",
srcs: ["lib.rs"],
}
aconfig_declarations { aconfig_declarations {
name: "my_aconfig_declarations", name: "my_aconfig_declarations",
package: "com.example.package", package: "com.example.package",
@@ -108,6 +118,16 @@ func testRustCodegenModeHelper(t *testing.T, bpMode string, ruleMode string) {
crate_name: "aconfig_storage_read_api", crate_name: "aconfig_storage_read_api",
srcs: ["lib.rs"], srcs: ["lib.rs"],
} }
rust_library {
name: "liblogger", // test mock
crate_name: "logger",
srcs: ["lib.rs"],
}
rust_library {
name: "liblog_rust", // test mock
crate_name: "log_rust",
srcs: ["lib.rs"],
}
aconfig_declarations { aconfig_declarations {
name: "my_aconfig_declarations", name: "my_aconfig_declarations",
package: "com.example.package", package: "com.example.package",
@@ -160,6 +180,16 @@ func testIncorrectRustCodegenModeHelper(t *testing.T, bpMode string, err string)
crate_name: "aconfig_storage_read_api", crate_name: "aconfig_storage_read_api",
srcs: ["lib.rs"], srcs: ["lib.rs"],
} }
rust_library {
name: "liblogger", // test mock
crate_name: "logger",
srcs: ["lib.rs"],
}
rust_library {
name: "liblog_rust", // test mock
crate_name: "log_rust",
srcs: ["lib.rs"],
}
aconfig_declarations { aconfig_declarations {
name: "my_aconfig_declarations", name: "my_aconfig_declarations",
package: "com.example.package", package: "com.example.package",

View File

@@ -223,6 +223,18 @@ func TestValidationAcrossContainersExportedPass(t *testing.T) {
srcs: ["src/lib.rs"], srcs: ["src/lib.rs"],
apex_available: ["myapex"], apex_available: ["myapex"],
} }
rust_library {
name: "liblogger", // test mock
crate_name: "logger",
srcs: ["src/lib.rs"],
apex_available: ["myapex"],
}
rust_library {
name: "liblog_rust", // test mock
crate_name: "log_rust",
srcs: ["src/lib.rs"],
apex_available: ["myapex"],
}
rust_ffi_shared { rust_ffi_shared {
name: "libmy_rust_library", name: "libmy_rust_library",
srcs: ["src/lib.rs"], srcs: ["src/lib.rs"],
@@ -492,6 +504,18 @@ func TestValidationAcrossContainersNotExportedFail(t *testing.T) {
srcs: ["src/lib.rs"], srcs: ["src/lib.rs"],
apex_available: ["myapex"], apex_available: ["myapex"],
} }
rust_library {
name: "liblogger", // test mock
crate_name: "logger",
srcs: ["src/lib.rs"],
apex_available: ["myapex"],
}
rust_library {
name: "liblog_rust", // test mock
crate_name: "log_rust",
srcs: ["src/lib.rs"],
apex_available: ["myapex"],
}
rust_ffi_shared { rust_ffi_shared {
name: "libmy_rust_library", name: "libmy_rust_library",
srcs: ["src/lib.rs"], srcs: ["src/lib.rs"],
@@ -542,6 +566,18 @@ func TestValidationAcrossContainersNotExportedFail(t *testing.T) {
srcs: ["src/lib.rs"], srcs: ["src/lib.rs"],
apex_available: ["myapex"], apex_available: ["myapex"],
} }
rust_library {
name: "liblogger", // test mock
crate_name: "logger",
srcs: ["src/lib.rs"],
apex_available: ["myapex"],
}
rust_library {
name: "liblog_rust", // test mock
crate_name: "log_rust",
srcs: ["src/lib.rs"],
apex_available: ["myapex"],
}
rust_binary { rust_binary {
name: "my_rust_binary", name: "my_rust_binary",
srcs: ["foo/bar/MyClass.rs"], srcs: ["foo/bar/MyClass.rs"],

View File

@@ -10910,6 +10910,24 @@ func TestAconfigFilesRustDeps(t *testing.T) {
], ],
} }
rust_library {
name: "liblogger", // test mock
crate_name: "logger",
srcs: ["src/lib.rs"],
apex_available: [
"myapex",
],
}
rust_library {
name: "liblog_rust", // test mock
crate_name: "log_rust",
srcs: ["src/lib.rs"],
apex_available: [
"myapex",
],
}
rust_ffi_shared { rust_ffi_shared {
name: "libmy_rust_library", name: "libmy_rust_library",
srcs: ["src/lib.rs"], srcs: ["src/lib.rs"],
@@ -10994,14 +11012,14 @@ func TestAconfigFilesRustDeps(t *testing.T) {
mod := ctx.ModuleForTests("myapex", "android_common_myapex") mod := ctx.ModuleForTests("myapex", "android_common_myapex")
s := mod.Rule("apexRule").Args["copy_commands"] s := mod.Rule("apexRule").Args["copy_commands"]
copyCmds := regexp.MustCompile(" *&& *").Split(s, -1) copyCmds := regexp.MustCompile(" *&& *").Split(s, -1)
if len(copyCmds) != 28 { if len(copyCmds) != 32 {
t.Fatalf("Expected 28 commands, got %d in:\n%s", len(copyCmds), s) t.Fatalf("Expected 28 commands, got %d in:\n%s", len(copyCmds), s)
} }
ensureMatches(t, copyCmds[24], "^cp -f .*/aconfig_flags.pb .*/image.apex/etc$") ensureMatches(t, copyCmds[28], "^cp -f .*/aconfig_flags.pb .*/image.apex/etc$")
ensureMatches(t, copyCmds[25], "^cp -f .*/package.map .*/image.apex/etc$") ensureMatches(t, copyCmds[29], "^cp -f .*/package.map .*/image.apex/etc$")
ensureMatches(t, copyCmds[26], "^cp -f .*/flag.map .*/image.apex/etc$") ensureMatches(t, copyCmds[30], "^cp -f .*/flag.map .*/image.apex/etc$")
ensureMatches(t, copyCmds[27], "^cp -f .*/flag.val .*/image.apex/etc$") ensureMatches(t, copyCmds[31], "^cp -f .*/flag.val .*/image.apex/etc$")
inputs := []string{ inputs := []string{
"my_aconfig_declarations_foo/intermediate.pb", "my_aconfig_declarations_foo/intermediate.pb",