Loading aconfig/codegen/rust_aconfig_library.go +3 −1 Original line number Diff line number Diff line Loading @@ -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 { 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, "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) return deps } aconfig/codegen/rust_aconfig_library_test.go +30 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,16 @@ func TestRustAconfigLibrary(t *testing.T) { crate_name: "aconfig_storage_read_api", 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 { name: "my_aconfig_declarations", package: "com.example.package", Loading Loading @@ -108,6 +118,16 @@ func testRustCodegenModeHelper(t *testing.T, bpMode string, ruleMode string) { crate_name: "aconfig_storage_read_api", 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 { name: "my_aconfig_declarations", package: "com.example.package", Loading Loading @@ -160,6 +180,16 @@ func testIncorrectRustCodegenModeHelper(t *testing.T, bpMode string, err string) crate_name: "aconfig_storage_read_api", 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 { name: "my_aconfig_declarations", package: "com.example.package", Loading apex/aconfig_test.go +36 −0 Original line number Diff line number Diff line Loading @@ -223,6 +223,18 @@ func TestValidationAcrossContainersExportedPass(t *testing.T) { srcs: ["src/lib.rs"], 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 { name: "libmy_rust_library", srcs: ["src/lib.rs"], Loading Loading @@ -492,6 +504,18 @@ func TestValidationAcrossContainersNotExportedFail(t *testing.T) { srcs: ["src/lib.rs"], 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 { name: "libmy_rust_library", srcs: ["src/lib.rs"], Loading Loading @@ -542,6 +566,18 @@ func TestValidationAcrossContainersNotExportedFail(t *testing.T) { srcs: ["src/lib.rs"], 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 { name: "my_rust_binary", srcs: ["foo/bar/MyClass.rs"], Loading apex/apex_test.go +23 −5 Original line number Diff line number Diff line Loading @@ -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 { name: "libmy_rust_library", srcs: ["src/lib.rs"], Loading Loading @@ -10994,14 +11012,14 @@ func TestAconfigFilesRustDeps(t *testing.T) { mod := ctx.ModuleForTests("myapex", "android_common_myapex") s := mod.Rule("apexRule").Args["copy_commands"] 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) } ensureMatches(t, copyCmds[24], "^cp -f .*/aconfig_flags.pb .*/image.apex/etc$") ensureMatches(t, copyCmds[25], "^cp -f .*/package.map .*/image.apex/etc$") ensureMatches(t, copyCmds[26], "^cp -f .*/flag.map .*/image.apex/etc$") ensureMatches(t, copyCmds[27], "^cp -f .*/flag.val .*/image.apex/etc$") ensureMatches(t, copyCmds[28], "^cp -f .*/aconfig_flags.pb .*/image.apex/etc$") ensureMatches(t, copyCmds[29], "^cp -f .*/package.map .*/image.apex/etc$") ensureMatches(t, copyCmds[30], "^cp -f .*/flag.map .*/image.apex/etc$") ensureMatches(t, copyCmds[31], "^cp -f .*/flag.val .*/image.apex/etc$") inputs := []string{ "my_aconfig_declarations_foo/intermediate.pb", Loading Loading
aconfig/codegen/rust_aconfig_library.go +3 −1 Original line number Diff line number Diff line Loading @@ -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 { 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, "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) return deps }
aconfig/codegen/rust_aconfig_library_test.go +30 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,16 @@ func TestRustAconfigLibrary(t *testing.T) { crate_name: "aconfig_storage_read_api", 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 { name: "my_aconfig_declarations", package: "com.example.package", Loading Loading @@ -108,6 +118,16 @@ func testRustCodegenModeHelper(t *testing.T, bpMode string, ruleMode string) { crate_name: "aconfig_storage_read_api", 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 { name: "my_aconfig_declarations", package: "com.example.package", Loading Loading @@ -160,6 +180,16 @@ func testIncorrectRustCodegenModeHelper(t *testing.T, bpMode string, err string) crate_name: "aconfig_storage_read_api", 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 { name: "my_aconfig_declarations", package: "com.example.package", Loading
apex/aconfig_test.go +36 −0 Original line number Diff line number Diff line Loading @@ -223,6 +223,18 @@ func TestValidationAcrossContainersExportedPass(t *testing.T) { srcs: ["src/lib.rs"], 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 { name: "libmy_rust_library", srcs: ["src/lib.rs"], Loading Loading @@ -492,6 +504,18 @@ func TestValidationAcrossContainersNotExportedFail(t *testing.T) { srcs: ["src/lib.rs"], 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 { name: "libmy_rust_library", srcs: ["src/lib.rs"], Loading Loading @@ -542,6 +566,18 @@ func TestValidationAcrossContainersNotExportedFail(t *testing.T) { srcs: ["src/lib.rs"], 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 { name: "my_rust_binary", srcs: ["foo/bar/MyClass.rs"], Loading
apex/apex_test.go +23 −5 Original line number Diff line number Diff line Loading @@ -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 { name: "libmy_rust_library", srcs: ["src/lib.rs"], Loading Loading @@ -10994,14 +11012,14 @@ func TestAconfigFilesRustDeps(t *testing.T) { mod := ctx.ModuleForTests("myapex", "android_common_myapex") s := mod.Rule("apexRule").Args["copy_commands"] 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) } ensureMatches(t, copyCmds[24], "^cp -f .*/aconfig_flags.pb .*/image.apex/etc$") ensureMatches(t, copyCmds[25], "^cp -f .*/package.map .*/image.apex/etc$") ensureMatches(t, copyCmds[26], "^cp -f .*/flag.map .*/image.apex/etc$") ensureMatches(t, copyCmds[27], "^cp -f .*/flag.val .*/image.apex/etc$") ensureMatches(t, copyCmds[28], "^cp -f .*/aconfig_flags.pb .*/image.apex/etc$") ensureMatches(t, copyCmds[29], "^cp -f .*/package.map .*/image.apex/etc$") ensureMatches(t, copyCmds[30], "^cp -f .*/flag.map .*/image.apex/etc$") ensureMatches(t, copyCmds[31], "^cp -f .*/flag.val .*/image.apex/etc$") inputs := []string{ "my_aconfig_declarations_foo/intermediate.pb", Loading