| # Copyright 2017 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/android/rules.gni") |
| |
| java_binary("bytecode_processor") { |
| sources = [ |
| "java/org/chromium/bytecode/ByteCodeProcessor.java", |
| "java/org/chromium/bytecode/ClassPathValidator.java", |
| "java/org/chromium/bytecode/TypeUtils.java", |
| ] |
| main_class = "org.chromium.bytecode.ByteCodeProcessor" |
| deps = [ |
| "//third_party/android_deps:org_ow2_asm_asm_java", |
| "//third_party/android_deps:org_ow2_asm_asm_util_java", |
| ] |
| wrapper_script_name = "helper/bytecode_processor" |
| enable_bytecode_checks = false |
| } |
| |
| # A bytecode rewriter that replaces all calls to |
| # `FragmentActivity Fragment.getActivity()` with |
| # `Activity Fragment.getActivity()`. |
| java_binary("fragment_activity_replacer") { |
| main_class = "org.chromium.bytecode.FragmentActivityReplacer" |
| deps = [ ":fragment_activity_replacer_java" ] |
| wrapper_script_name = "helper/fragment_activity_replacer" |
| } |
| |
| # A bytecode rewriter that replaces all calls to |
| # `FragmentActivity Fragment.getActivity()` with |
| # `Activity Fragment.getActivity()` followed by a cast to FragmentActivity. |
| # Prefer :fragment_activity_replacer. This rewriter should only be used for |
| # libraries that rely on getActivity() returning a FragmentActivity *and* are |
| # not going to be used in an app that contains multiple copies of the AndroidX |
| # Fragment library (i.e. WebLayer). |
| java_binary("fragment_activity_replacer_single_androidx") { |
| main_class = "org.chromium.bytecode.FragmentActivityReplacer" |
| deps = [ ":fragment_activity_replacer_java" ] |
| wrapper_script_name = "helper/fragment_activity_replacer_single_androidx" |
| wrapper_script_args = [ "--single-androidx" ] |
| } |
| |
| java_library("fragment_activity_replacer_java") { |
| visibility = [ ":*" ] |
| sources = [ |
| "java/org/chromium/bytecode/ByteCodeRewriter.java", |
| "java/org/chromium/bytecode/FragmentActivityReplacer.java", |
| ] |
| deps = [ |
| "//third_party/android_deps:org_ow2_asm_asm_commons_java", |
| "//third_party/android_deps:org_ow2_asm_asm_java", |
| "//third_party/android_deps:org_ow2_asm_asm_util_java", |
| ] |
| } |