tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

BUILD.gn (3207B)


      1 # Copyright 2021 The Chromium Authors
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 import("//chromium/build/config/android/rules.gni")
      6 
      7 declare_args() {
      8   incremental_javac_test_toggle_gn = false
      9 }
     10 
     11 all_test_sources = [
     12   "../../java/test/NoSignatureChangeIncrementalJavacTestHelper.template",
     13   "../../java/test/NoSignatureChangeIncrementalJavacTestHelper2.java",
     14 ]
     15 
     16 template("incremental_javac_prebuilt") {
     17   _out_jar = "${target_gen_dir}/${target_name}.jar"
     18 
     19   action(target_name) {
     20     script = "incremental_javac_test_android_library.py"
     21     forward_variables_from(invoker,
     22                            [
     23                              "sources",
     24                              "testonly",
     25                            ])
     26     deps = [ invoker.toggle_gn_target ]
     27 
     28     inputs = []
     29     if (defined(invoker.pydeps)) {
     30       foreach(_pydeps_file, invoker.pydeps) {
     31         _pydeps_file_lines = []
     32         _pydeps_file_lines = read_file(_pydeps_file, "list lines")
     33         _pydeps_entries = []
     34         _pydeps_entries = filter_exclude(_pydeps_file_lines, [ "#*" ])
     35         _pydeps_file_dir = get_path_info(_pydeps_file, "dir")
     36         inputs += rebase_path(_pydeps_entries, ".", _pydeps_file_dir)
     37       }
     38     }
     39 
     40     outputs = [ _out_jar ]
     41 
     42     args = [
     43       "--target-name",
     44       get_label_info("${invoker.toggle_gn_target}", "label_no_toolchain"),
     45       "--gn-args-path",
     46       "args.gn",
     47       "--out-dir",
     48       rebase_path("${target_out_dir}/${target_name}/incremental_javac_out",
     49                   root_build_dir),
     50       "--out-jar",
     51       rebase_path(_out_jar, root_build_dir),
     52     ]
     53   }
     54 }
     55 
     56 # Use jinja_template() instead of java_cpp_template() because incremental builds
     57 # are not done when non-.java files change.
     58 jinja_template("changing_javagen") {
     59   input = "../../java/test/NoSignatureChangeIncrementalJavacTestHelper.template"
     60   assert(filter_include(all_test_sources, [ input ]) != [])
     61   output =
     62       "${target_gen_dir}/test/NoSignatureChangeIncrementalJavacTestHelper.java"
     63   if (incremental_javac_test_toggle_gn) {
     64     variables = [ "foo_return_value=foo2" ]
     65   } else {
     66     variables = [ "foo_return_value=foo" ]
     67   }
     68 }
     69 
     70 android_library("changing_java") {
     71   testonly = true
     72 
     73   # Should not be re-compiled during incremental build.
     74   sources =
     75       [ "../../java/test/NoSignatureChangeIncrementalJavacTestHelper2.java" ]
     76   assert(filter_include(all_test_sources, sources) != [])
     77 
     78   # Should be recompiled during incremental build.
     79   sources += get_target_outputs(":changing_javagen")
     80   deps = [ ":changing_javagen" ]
     81 }
     82 
     83 # Compiles :changing_java with and without |incremental_javac_test_toggle_gn|.
     84 incremental_javac_prebuilt("no_signature_change_prebuilt_generator") {
     85   testonly = true
     86   sources = all_test_sources
     87   toggle_gn_target = ":changing_java"
     88   pydeps = [ "//chromium/build/android/gyp/compile_java.pydeps" ]
     89 }
     90 
     91 android_java_prebuilt("no_signature_change_prebuilt_java") {
     92   testonly = true
     93   _generator_outputs =
     94       get_target_outputs(":no_signature_change_prebuilt_generator")
     95   jar_paths = filter_include(_generator_outputs, [ "*.jar" ])
     96   jar_path = jar_paths[0]
     97   deps = [ ":no_signature_change_prebuilt_generator" ]
     98 }