Outputs a tool that writes a lock-file to out_path in the current WORKSPACE
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
out_path | Path for artifact_lock.json, relative to WORKSPACE | String | optional | “artifact_lock.json” |
spec_file | Source artifact_spec.json file | Label | required |
A pre-built artifact used for product assembly.
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
artifact_name | The group-unique name of the artifact. If omitted, the target name is used | String | optional | "" |
attributes | String attributes for this artifact. The “name” attribute is set to the name of the target if it is not specified here. | Dictionary: String -> String | optional | {} |
blobs | All blobs required by this artifact. | List of labels | optional | [] |
file | The artifact file itself. For type “package”, this is a meta.far file. | Label | required | |
type | The artifact type. Currently can only be “package” | String | optional | “package” |
Declares a board configuration JSON file for use with ffx assembly.
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
files | A dictionary of files to template-literal keys | Dictionary: Label -> String | optional | {} |
fuchsia_core | Core image to provide board files. | Label | required | |
template | A template for a board configuration | Label | required |
Creates a Fuchsia component which can be added to a package
This rule will take a component manifest and compile it into a form that is suitable to be included in a package. The component can include any number of dependencies which will be included in the final package.
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
component_name | The name of the package, defaults to the rule name | String | optional | "" |
deps | The list of dependencies this component depends on | List of labels | optional | [] |
manifest | The component manifest file | Label | required |
Compiles a component manifest from a input file.
This rule will compile an input cml file and output a cm file. The file can, optionally, include additional cml files but they must be relative to the src file and included in the includes attribute.
{ include: ["foo.cml", "some_dir/bar.cml"] }
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
includes | A list of dependencies which are included in the src cml | List of labels | optional | [] |
src | The source manifest to compile | Label | required |
Declares an action that paves the given product.
Additional command line arguments are passed to the IDK bootserver tool.
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
product_image | A fuchsia_product_image target. | Label | required | |
slice_size | FVM slice size in bytes | Integer | optional | 8388608 |
Builds a fuchsia package.
This rule will take a list of dependencies to create a fuchsia package manifest. The dependencies must provide FuchsiaComponentInfo or FuchsiaPackageResourceInfo providers to be included in the final package.
Returns a json representation of the package.
fuchsia_package_resource( name = "text_file", src = "my-text.txt", dest = "data/my-text.txt", ) fuchsia_package( name = "my_package", deps = [":text_file"] )
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
deps | The list of dependencies this package depends on | List of labels | optional | [] |
package_name | The name of the package, defaults to the rule name | String | optional | "" |
Creates a fuchsia package archive (far file).
This rule create a far file from a given fuchsia package containing the package's meta package as well as all of the contained blobs.
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
archive_name | What to name the archive. The .far file will be appended if not in this name | String | optional | "" |
package | The fuchsia_package to archive | Label | required |
A group of Fuchsia packages, composed of all the artifacts and groups specified in deps.
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
deps | Fuchsia artifacts and package groups to include in this group. | List of labels | optional | [] |
Declares a resource to be included in a Fuchsia package.
src
can be a static file or something generated by another rule. dest
must be a path relative to /.
This rule can be added as a dependency of a fuchsia_package or a dependency of a fuchsia_package and it will be added to the final package contents.
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
dest | The path where this will be installed in the package. | String | required | |
src | The resource to include in the package. | Label | required |
A JSON configuration for a Fuchsia image, for use by ffx assembly.
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
base_package_group | Package group to be included in ‘base’ for the product image. | Label | optional | None |
boot_args | Kernel boot arguments | List of strings | optional | [] |
bootfs_files | Fuchsia artifact of type ‘package’ with files for inclusion in BootFS. | Label | required | |
cache_package_group | Package group to be included in ‘cache’ for the product image. | Label | optional | None |
clock_backstop | Earliest UTC timestamp that the system can be set to. | Integer | required | |
core_image | Fuchsia core_image target. | Label | optional | None |
kernel_args | Arguments provided to kernel. | List of strings | optional | [] |
system_package_group | Packages that will be merged into the system package (the base package). | Label | optional | None |
Declares a Fuchsia product image.
product
must be a fuchsia_product_configuration
target. board
must be a fuchsia_board_configuration
target.
fuchsia_product_image targets may be used by the fuchsia_product_pave
rule.
This generates the following files:
name_data.blk - the MinFS partition. name_blob.blk - the BlobFS partition. name_fvm_sparse.blk - the FVM sparse image. name_fuchsia.zbi - the Zircon boot image. name_fuchsia.vbmeta - VBMeta signature for the Zircon boot image.
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
board | A fuchsia_board_configuration target. | Label | optional | None |
product | A fuchsia_product_configuration target. | Label | optional | None |
Declares a release archive.
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
lock_file | The lock file which contains the list of packages needed | Label | required | |
product_image | Core image to provide board files. | Label | required |
Fuchsia toolchain info rule, to be passed to the native toolchain
rule.
It provides information about tools in the Fuchsia toolchain, primarily those included in the Fuchsia IDK.
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
blobfs | blobfs tool executable. | Label | required | |
bootserver | bootserver executable | Label | required | |
cmc | cmc tool executable. | Label | required | |
far | far tool executable. | Label | required | |
ffx | ffx tool executable. | Label | required | |
fvm | fvm tool executable. | Label | required | |
merkleroot | merkleroot tool executable. | Label | required | |
pm | pm tool executable. | Label | required | |
zbi | zbi tool executable. | Label | required |
A pre-built artifact used for product assembly.
FIELDS
Name | Description |
---|---|
attributes | String key-value dictionary of attributes. |
blobs | A list of blobs this artifact depends on. |
blob_manifest | A file mapping merkleroots to paths. |
file | The artifact file. |
name | The group-unique name of the artifact. |
package_manifest | JSON package manifest file, if this artifact is a package. |
type | A string representing the type of artifact. |
The raw files that make up a set of fuchsia packages.
FIELDS
Name | Description |
---|---|
artifacts | a list of artifacts this group depends on |
Info needed to pave a Fuchsia image
FIELDS
Name | Description |
---|---|
esp_blk | EFI system partition image. |
blob_blk | BlobFS partition image. |
data_blk | MinFS partition image. |
images_json | images.json file |
kernel_zbi | Zircon image. |
vbmetaa | vbmeta for zircona boot image. |
vbmetar | vbmeta for zirconr boot image. |
zircona | main boot image. |
zirconr | zedboot boot image. |