BUILD.gn 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # Copyright 2018 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/channel.gni")
  5. import("//build/config/android/rules.gni")
  6. import("//build/util/process_version.gni")
  7. _version_constants_java_file = "$target_gen_dir/java/org/chromium/components/version_info/VersionConstants.java"
  8. # Depend on this on the Java side to get org.components.version_info.Channel and
  9. # org.components.version_info.VersionConstants.
  10. android_library("version_constants_java") {
  11. sources = [
  12. "java/src/org/chromium/components/version_info/VersionConstantsBridge.java",
  13. "java/src/org/chromium/components/version_info/VersionInfo.java",
  14. _version_constants_java_file,
  15. ]
  16. deps = [
  17. ":generate_version_constants",
  18. "//base:jni_java",
  19. "//build/android:build_java",
  20. "//third_party/androidx:androidx_annotation_annotation_java",
  21. ]
  22. srcjar_deps = [ ":channel_enum_srcjar" ]
  23. }
  24. # Depend on this on the native side to get version_info::GetChannel. It requires
  25. # version_constants_java for its JNI call.
  26. static_library("channel_getter") {
  27. sources = [
  28. "channel_getter.cc",
  29. "channel_getter.h",
  30. ]
  31. deps = [
  32. ":version_constants_bridge_jni",
  33. "..:channel",
  34. "//base", # for jni_generator_helper.h
  35. ]
  36. }
  37. java_cpp_enum("channel_enum_srcjar") {
  38. sources = [ "../channel.h" ]
  39. }
  40. process_version("generate_version_constants") {
  41. process_only = true
  42. template_file = "java/VersionConstants.java.version"
  43. output = _version_constants_java_file
  44. sources = [ "//chrome/VERSION" ]
  45. extra_args = [
  46. "-e",
  47. "CHANNEL=str.upper('$android_channel')",
  48. ]
  49. }
  50. generate_jni("version_constants_bridge_jni") {
  51. sources = [
  52. "java/src/org/chromium/components/version_info/VersionConstantsBridge.java",
  53. ]
  54. }