Clone this repo:

Branches

  1. 9aaf364 [build] Add system_image property to package() by Adam Barth · 3 weeks ago master
  2. a55e933 Removed the deprecated analysis_options attribute. by P.Y. Laligand · 4 weeks ago
  3. 0d8f3ee Flutter packages are now under //third_party/dart-pkg/git/flutter. by P.Y. Laligand · 5 weeks ago
  4. 000b62a Allow setting fuchsia_root from outside by YoungSeok Yoon · 5 weeks ago
  5. 676b6b7 refactor(tools): update makefile locations by YoungSeok Yoon · 5 weeks ago

TODO

Status: Experimental

This is a Rust backed TODO application that uses Flutter for it's front-end UI.

  • agents:
    • content_provider: Rust based conent provider that stores todos in the Ledger (currently it is only a very simple “hello world” binary).
  • modules:
    • story: The top level story UI (Flutter).

TODO

  • [ ] Use Zircon Rust APIs in the content provider.
  • [ ] Use Modular Agent APIs in the content provider.
  • [ ] Launch the content provider from todo_story.
  • [ ] Connect the content provider to the Ledger.
  • [ ] Create a beautiful UI.

Development

Make sure to setup a jiri root according to the Fuchsia getting started doc. Instruction here assume env.sh usage:

source $FUCHSIA_DIR/scrips/env.sh

Rust

  1. Install rustup.
  • Install the latest stable rustc:

  • Setup a (temporary) custom clang_wrapper:

    export RUST_TOOLS=${FUCHSIA_DIR}/garnet/public/rust/crates/fuchsia-zircon/tools cd $RUST_TOOLS clang++ -O --std=c++11 clang_wrapper.cc -o clang_wrapper ln -s clang_wrapper x86_64-unknown-fuchsia-cc

Build

An optional build target for “todo” lives in //packages/gn/todo. It can be used via fset

fset x86-64 --modules default,todo --release

To build the system run:

# Or use the default `make` task.
fgen
fbuild

Run

# Or use `make run`.
netruncmd : "device_runner \
  --device_shell=dev_device_shell \
  --user_shell=dev_user_shell \
  --user_shell_args='--root_module=todo_story'"

Helpful Tasks

The Makefile includes some common tasks, explore them with make help.