NOTE: This repo is not actively maintained. We are planning to resume this work in Q3 2022.
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.