The workstation.git repository holds the source code for building the Workstation outside of fuchsia.git. For more information, see RFC-0095.
This repository is a work in progress and should be considered experimental- the official Workstation product is still in the main fuchsia.git repository.
This project uses git submodules. After checking out a branch run the git submodule command to update the dependencies.
git submodule update --init --recursive
Bootstrap script in scripts/bootstrap.sh
will fetch bazel.
The Workstation repository uses Bazel for its build system. To ensure that you are using the version of Bazel that was tested in CQ/CI we recommend using bazelisk. You can either add bazelisk to your path or invoke it directly.
# Assumes that WORKSTATION_REPO is set to your checkout directory export PATH="${WORKSTATION_REPO}/tools:$PATH"
Pave using
bazel run //src/product:workstation_x64_paver
Additional arguments may be supplied following a --
token, matching the arguments given to the bootserver tool.
Other targets can be found at src/build/BUILD.bazel
artifact_spec.json
is generated by
bazel run //tools/build_generator
See tools/build_generator/build_generator.go
for more information. Eventually, this file will be maintained by hand.
artifact_lock.json
is generated by the command:
bazel run artifact_lock_updater
This is an input to the fuchsia_product_repository
WORKSPACE target.
checksum.json
is generated by the command
bazel run @workstation_external_packages//:workspace_checksum_updater
and is also an input to the fuchsia_product_repository
WORKSPACE target.
There are more generated files in src/product. See src/product/README.md
for information.