Macro chromium::import!
Depois de adicionar :my_rust_lib
às deps
do GN, ainda precisamos aprender como importar e usar my_rust_lib
de my_rust_lib_unittest.rs
. Não fornecemos um crate_name
explícito para my_rust_lib
, portanto, seu nome de crate é calculado com base no caminho e nome do alvo completo. Felizmente, podemos evitar trabalhar com um nome tão difícil de usar usando o macro chromium::import!
do crate chromium
automaticamente importado:
chromium::import! {
"//ui/base:my_rust_lib";
}
use my_rust_lib::my_function_under_test;
Por baixo dos panos, a macro se expande para algo semelhante a:
extern crate ui_sbase_cmy_urust_ulib as my_rust_lib;
use my_rust_lib::my_function_under_test;
Mais informações podem ser encontradas no comentário de documentação da macro chromium::import
.
rust_static_library
suporta a especificação de um nome explícito via propriedade crate_name
, mas isso é desencorajado. E é desencorajado porque o nome do crate tem que ser globalmente único. crates.io garante a unicidade de seus nomes de crate, portanto, os alvos cargo_crate
GN (gerados pela ferramenta gnrt
abordada em uma seção posterior) usam nomes curtos de crate.