| # Copyright 2022 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| declare_args() { |
| # The input to the size checker. |
| # The build system will produce a JSON file to be consumed by the size checker, which |
| # will check and prevent integration of subsystems that are over their space allocation. |
| # The input consists of the following keys: |
| # |
| # asset_ext(string array): a list of extensions that should be considered as assets. |
| # |
| # asset_limit(number): maximum size (in bytes) allocated for the assets. |
| # |
| # core_limit(number): maximum size (in bytes) allocated for the core system and/or services. |
| # This is sort of a "catch all" component that consists of all the area / packages that weren't |
| # specified in the components list below. |
| # |
| # core_creep_limit(number): maximum size creep (in bytes) per-CL allocated for the core system and/or services. |
| # This may be enforced by Gerrit. |
| # |
| # components(object array): a list of component objects. Each object should contain the following keys: |
| # |
| # component(string): name of the component. |
| # |
| # src(string array): path of the area / package to be included as part of the component. |
| # The path should be relative to the obj/ in the output directory. |
| # For example, consider two packages foo and far, built to out/.../obj/some_big_component/foo and out/.../obj/some_big_component/bar. |
| # If you want to impose a limit on foo, your src will be ["some_big_component/foo"]. |
| # If you want to impose a limit on both foo and far, your src will be ["some_big_component"]. |
| # If a package has config-data, those prebuilt blobs actually live under the config-data package. |
| # If you wish to impose a limit of those data as well, you should add "build/images/config-data/$for_pkg" to your src. |
| # The $for_pkg corresponds to the $for_pkg field in config.gni. |
| # |
| # limit(number): maximum size (in bytes) allocated for the component. |
| # creep_limit(number): maxmium size creep (in bytes) per-CL allocated for the component. |
| # This may be enforced by Gerrit. |
| # |
| # distributed_shlibs(string array): a list of shared libraries which are distributed in the Fuchsia SDK for |
| # partners to use in their prebuilt packages. |
| # |
| # distributed_shlibs_limit(number): maximum size (in bytes) allocated for distributed shared libraries. |
| # |
| # distributed_shlibs_creep_limit(number): maximum size creep (in bytes) allocated for distributed shared |
| # libraries. This may be enforced by Gerrit. |
| # |
| # icu_data(string array): a list of files which contribute to the ICU data limit. |
| # |
| # icu_data_limit(number): maximum size (in bytes) allocated to ICU data files. |
| # |
| # icu_data_creep_limit(number): maximum size creep (in bytes) allocated to ICU data files. This may be |
| # enforced by Gerrit. |
| # |
| # Example: |
| # size_checker_input = { |
| # asset_ext = [ ".ttf" ] |
| # asset_limit = 10240 |
| # core_limit = 10240 |
| # core_creep_limit = 320 |
| # distributed_shlibs = [ |
| # "lib/ld.so.1", |
| # "lib/libc++.so.2", |
| # ] |
| # distributed_shlibs_limit = 10240 |
| # distributed_shlibs_creep_limit = 320 |
| # icu_data = [ "icudtl.dat" ] |
| # icu_data_limit = 20480 |
| # icu_data_creep_limit = 320 |
| # components = [ |
| # { |
| # component = "Foo" |
| # src = [ "topaz/runtime/foo_runner" ] |
| # limit = 10240 |
| # creep_limit = 320 |
| # }, |
| # { |
| # component = "Bar" |
| # src = [ "build/images" ] |
| # limit = 20480 |
| # creep_limit = 640 |
| # }, |
| # ] |
| # } |
| size_checker_input = { |
| } |
| } |