Use new Product assembly interface by passing in platform AIBs

Change-Id: If325bfc8f2d834cc1518142872c0aa09d9ec909c
Reviewed-on: https://fuchsia-review.googlesource.com/c/workstation/+/678958
Reviewed-by: Chase Latta <chaselatta@google.com>
Commit-Queue: Jiaming Li <lijiaming@google.com>
8 files changed
tree: 16d4670283b45d9ac409c79d61311ebc3a91b099
  1. hooks/
  2. scripts/
  3. src/
  4. third_party/
  5. tools/
  6. vendor/
  7. .bazelrc
  8. .gitignore
  9. .gitmodules
  10. .manifest
  11. artifact_lock.json
  12. artifact_spec.json
  13. AUTHORS
  14. BUILD.bazel
  15. checksum.json
  16. cipd.ensure
  17. cipd_lock.versions
  18. CONTRIBUTING.md
  19. LICENSE
  20. OWNERS
  21. PATENTS
  22. README.md
  23. WORKSPACE.bazel
README.md

Workstation.git

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.

Fetch submodules

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

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"

Build instructions

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

Generated files

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.