xref: /aosp_15_r20/external/cronet/base/version_info/android/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2018 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard Workerimport("//build/config/android/channel.gni")
6*6777b538SAndroid Build Coastguard Workerimport("//build/config/android/rules.gni")
7*6777b538SAndroid Build Coastguard Workerimport("//build/util/process_version.gni")
8*6777b538SAndroid Build Coastguard Workerimport("//third_party/jni_zero/jni_zero.gni")
9*6777b538SAndroid Build Coastguard Worker
10*6777b538SAndroid Build Coastguard Worker_version_constants_java_file =
11*6777b538SAndroid Build Coastguard Worker    "$target_gen_dir/java/org/chromium/base/version_info/VersionConstants.java"
12*6777b538SAndroid Build Coastguard Worker
13*6777b538SAndroid Build Coastguard Worker# Depend on this on the Java side to get org.base.version_info.Channel and
14*6777b538SAndroid Build Coastguard Worker# org.base.version_info.VersionConstants.
15*6777b538SAndroid Build Coastguard Workerandroid_library("version_constants_java") {
16*6777b538SAndroid Build Coastguard Worker  sources = [
17*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/base/version_info/VersionConstantsBridge.java",
18*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/base/version_info/VersionInfo.java",
19*6777b538SAndroid Build Coastguard Worker    _version_constants_java_file,
20*6777b538SAndroid Build Coastguard Worker  ]
21*6777b538SAndroid Build Coastguard Worker  public_deps = [ ":channel_enum_java" ]
22*6777b538SAndroid Build Coastguard Worker  deps = [
23*6777b538SAndroid Build Coastguard Worker    ":generate_version_constants",
24*6777b538SAndroid Build Coastguard Worker    "//build/android:build_java",
25*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_java",
26*6777b538SAndroid Build Coastguard Worker    "//third_party/jni_zero:jni_zero_java",
27*6777b538SAndroid Build Coastguard Worker  ]
28*6777b538SAndroid Build Coastguard Worker}
29*6777b538SAndroid Build Coastguard Worker
30*6777b538SAndroid Build Coastguard Worker# Depend on this on the native side to get version_info::GetChannel. It requires
31*6777b538SAndroid Build Coastguard Worker# version_constants_java for its JNI call.
32*6777b538SAndroid Build Coastguard Workerstatic_library("channel_getter") {
33*6777b538SAndroid Build Coastguard Worker  sources = [
34*6777b538SAndroid Build Coastguard Worker    "channel_getter.cc",
35*6777b538SAndroid Build Coastguard Worker    "channel_getter.h",
36*6777b538SAndroid Build Coastguard Worker  ]
37*6777b538SAndroid Build Coastguard Worker  deps = [
38*6777b538SAndroid Build Coastguard Worker    ":version_constants_bridge_jni",
39*6777b538SAndroid Build Coastguard Worker    "..:channel",
40*6777b538SAndroid Build Coastguard Worker    "//base",  # for jni_generator_helper.h
41*6777b538SAndroid Build Coastguard Worker  ]
42*6777b538SAndroid Build Coastguard Worker}
43*6777b538SAndroid Build Coastguard Worker
44*6777b538SAndroid Build Coastguard Workerandroid_library("channel_enum_java") {
45*6777b538SAndroid Build Coastguard Worker  deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ]
46*6777b538SAndroid Build Coastguard Worker  srcjar_deps = [ ":channel_enum_srcjar" ]
47*6777b538SAndroid Build Coastguard Worker}
48*6777b538SAndroid Build Coastguard Worker
49*6777b538SAndroid Build Coastguard Workerjava_cpp_enum("channel_enum_srcjar") {
50*6777b538SAndroid Build Coastguard Worker  sources = [ "../channel.h" ]
51*6777b538SAndroid Build Coastguard Worker}
52*6777b538SAndroid Build Coastguard Worker
53*6777b538SAndroid Build Coastguard Workerprocess_version("generate_version_constants") {
54*6777b538SAndroid Build Coastguard Worker  process_only = true
55*6777b538SAndroid Build Coastguard Worker  template_file = "java/VersionConstants.java.version"
56*6777b538SAndroid Build Coastguard Worker  output = _version_constants_java_file
57*6777b538SAndroid Build Coastguard Worker  extra_args = [
58*6777b538SAndroid Build Coastguard Worker    "-e",
59*6777b538SAndroid Build Coastguard Worker    "CHANNEL=str.upper('$android_channel')",
60*6777b538SAndroid Build Coastguard Worker  ]
61*6777b538SAndroid Build Coastguard Worker
62*6777b538SAndroid Build Coastguard Worker  # This dependency currently breaks webrtc which pulls in //base
63*6777b538SAndroid Build Coastguard Worker  # (but not //chrome). crbug.com/webrtc/13662 tracks removing webrtc's
64*6777b538SAndroid Build Coastguard Worker  # dependency on //base. For now we fake the check version far into the future.
65*6777b538SAndroid Build Coastguard Worker  if (build_with_chromium) {
66*6777b538SAndroid Build Coastguard Worker    sources = [ "//chrome/VERSION" ]
67*6777b538SAndroid Build Coastguard Worker  } else {
68*6777b538SAndroid Build Coastguard Worker    extra_args += [
69*6777b538SAndroid Build Coastguard Worker      "-e",
70*6777b538SAndroid Build Coastguard Worker      "MAJOR=\"9999\"",
71*6777b538SAndroid Build Coastguard Worker      "-e",
72*6777b538SAndroid Build Coastguard Worker      "MINOR=\"9999\"",
73*6777b538SAndroid Build Coastguard Worker      "-e",
74*6777b538SAndroid Build Coastguard Worker      "BUILD=\"9999\"",
75*6777b538SAndroid Build Coastguard Worker      "-e",
76*6777b538SAndroid Build Coastguard Worker      "PATCH=\"9999\"",
77*6777b538SAndroid Build Coastguard Worker    ]
78*6777b538SAndroid Build Coastguard Worker  }
79*6777b538SAndroid Build Coastguard Worker}
80*6777b538SAndroid Build Coastguard Worker
81*6777b538SAndroid Build Coastguard Workergenerate_jni("version_constants_bridge_jni") {
82*6777b538SAndroid Build Coastguard Worker  sources =
83*6777b538SAndroid Build Coastguard Worker      [ "java/src/org/chromium/base/version_info/VersionConstantsBridge.java" ]
84*6777b538SAndroid Build Coastguard Worker}
85