# Copyright 2015 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") # Generate ResourceRewriter.java from Android Libraries according the dep # graph. # Argument: # deps # The same deps of target that uses the generated ResourceRewriter. # package_name # The package name of ResourceRewriter.java. # # This target generates a single srcjar containing generated # ResourceRewrite.java which will list the R classes generated by all the # Android libraries reachabled from the target specified in deps. Add this # target to srcjar_deps of android_library will call ResourceRewriter. # template("generate_resource_rewriter") { set_sources_assignment_filter([]) assert(defined(invoker.package_name)) _final_target_name = target_name _build_config = "$target_gen_dir/${target_name}.build_config" _build_config_target_name = "${target_name}__build_config" _srcjar = "$target_gen_dir/${target_name}.srcjar" write_build_config(_build_config_target_name) { possible_config_deps = invoker.deps type = "resource_rewriter" build_config = _build_config } action(_final_target_name) { forward_variables_from(invoker, [ "visibility" ]) inputs = [ _build_config, ] deps = invoker.deps + [ ":${_build_config_target_name}" ] script = "//build/android/gyp/generate_resource_rewriter.py" _rebased_build_config = rebase_path(_build_config, root_build_dir) args = [ "--package-name", invoker.package_name, "--dep-packages", "@FileArg($_rebased_build_config:resources:extra_package_names)", "--srcjar", rebase_path(_srcjar, root_build_dir), ] outputs = [ _srcjar, ] } }