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