missing_symbol_test.gni 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. # Copyright 2021 The Chromium Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style license that can be
  3. # found in the LICENSE file.
  4. import("//build/config/android/android_nocompile.gni")
  5. import("//build/config/android/rules.gni")
  6. missing_symbol_generated_importer_template_nocompile_source =
  7. "//build/android/java/test/missing_symbol/Importer.template"
  8. template("missing_symbol_test") {
  9. # Not named "_java" to prevent target from being considered a classpath dep.
  10. _helper_target_name = string_replace("${target_name}__helper", "java", "")
  11. group(_helper_target_name) {
  12. # Make group() depend on dependencies that |target_name| cannot find so that
  13. # the missing symbol resolver can find and suggest the missing GN dep.
  14. deps = invoker.deps
  15. }
  16. android_library(target_name) {
  17. sources = [ "//tools/android/errorprone_plugin/test/src/org/chromium/tools/errorprone/plugin/Empty.java" ]
  18. not_needed(invoker,
  19. [
  20. "sources",
  21. "importer_srcjar_deps",
  22. ])
  23. if (enable_android_nocompile_tests) {
  24. if (defined(invoker.sources)) {
  25. sources += invoker.sources
  26. }
  27. if (defined(invoker.importer_srcjar_deps)) {
  28. srcjar_deps = invoker.importer_srcjar_deps
  29. }
  30. }
  31. deps = [ ":${_helper_target_name}" ]
  32. }
  33. }
  34. # missing_symbol_test() template wrapper which generates importer class.
  35. template("missing_symbol_generated_importer_test") {
  36. _importer_generator_target = "${target_name}__importer_javagen"
  37. java_cpp_template(_importer_generator_target) {
  38. sources = [ missing_symbol_generated_importer_template_nocompile_source ]
  39. defines = [
  40. "_IMPORTER_PACKAGE=${invoker.importer_package}",
  41. "_IMPORTEE_PACKAGE=${invoker.imported_package}",
  42. "_IMPORTEE_CLASS_NAME=${invoker.imported_class_name}",
  43. ]
  44. }
  45. missing_symbol_test(target_name) {
  46. importer_srcjar_deps = [ ":${_importer_generator_target}" ]
  47. forward_variables_from(invoker, [ "deps" ])
  48. }
  49. }