From 40f0260aee6958f8f54b92dbb2d13309e60a5d3a Mon Sep 17 00:00:00 2001 From: Robert Drab <robert.drab@huawei.com> Date: Mon, 30 Nov 2020 15:49:07 +0100 Subject: [PATCH] Introducing adr-tools To manage architecture decision records the adr-tools will be used. Signed-off-by: Robert Drab <robert.drab@huawei.com> --- README.md | 6 ++++++ adr/.adr-dir | 1 + adr/0001-ohos-environment-setup.md | 24 ----------------------- adr/0001-record-architecture-decisions.md | 19 ++++++++++++++++++ adr/README.md | 7 +++---- adr/adr-list.md | 3 +++ 6 files changed, 32 insertions(+), 28 deletions(-) create mode 100644 adr/.adr-dir delete mode 100644 adr/0001-ohos-environment-setup.md create mode 100644 adr/0001-record-architecture-decisions.md create mode 100644 adr/adr-list.md diff --git a/README.md b/README.md index bbb112c6..b97de49a 100644 --- a/README.md +++ b/README.md @@ -6,3 +6,9 @@ meta-ohos architecture is documented using [c4 model](https://c4model.com/). ## meta-ohos context diagram  +## Architecture Decision Records +All decisions for architecturally significant requirements are documented +using [adr-tools](https://github.com/npryce/adr-tools) and stored in [adr](./adr) subdirectory. + +Decisions are to be discussed within MR of a given decision md file. + diff --git a/adr/.adr-dir b/adr/.adr-dir new file mode 100644 index 00000000..9c558e35 --- /dev/null +++ b/adr/.adr-dir @@ -0,0 +1 @@ +. diff --git a/adr/0001-ohos-environment-setup.md b/adr/0001-ohos-environment-setup.md deleted file mode 100644 index d946c595..00000000 --- a/adr/0001-ohos-environment-setup.md +++ /dev/null @@ -1,24 +0,0 @@ -OHOS environment setup for different kernels -============================================ - -Given that OHOS will run on multiple different kernels we need -a straight-forward way of setting up build environment. -There are many possible solutions, so we need to pick a sensible one -that'll suit our needs. - -## Configuration / adaptation layers for kernels withing meta-openharmony - -One option is to make configuration / adaptaion layer per kernel which -will contain all necessary bitbake configs (e.g. local.conf.sample, -bblayers.conf.sample, etc.) that can be used together with oe-init-build-env -script: - - TEMPLATECONF=meta-openharmony/meta-ohos-zephyr/conf . oe-init-build-env - -This will create a build/conf directory based on the contents of meta-ohos-zephyr/conf -where all required layers and configs can be defined. The same applise for other -kernels, like FreeRTOS, Liteos or any other Linux-based distro. - -Below is a sequence diagram of how this could look like for Zephyr: - - diff --git a/adr/0001-record-architecture-decisions.md b/adr/0001-record-architecture-decisions.md new file mode 100644 index 00000000..aa9e7556 --- /dev/null +++ b/adr/0001-record-architecture-decisions.md @@ -0,0 +1,19 @@ +# 1. Record architecture decisions + +Date: 2020-11-30 + +## Status + +Accepted + +## Context + +We need to record the architectural decisions made on this project. + +## Decision + +We will use Architecture Decision Records, as [described by Michael Nygard](http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions). + +## Consequences + +See Michael Nygard's article, linked above. For a lightweight ADR toolset, see Nat Pryce's [adr-tools](https://github.com/npryce/adr-tools). diff --git a/adr/README.md b/adr/README.md index 0ce7bd9a..bc1776fc 100644 --- a/adr/README.md +++ b/adr/README.md @@ -1,9 +1,8 @@ Architectural Decision Records ============================== -Here we keep all Architectural Decision Records. -Each decision shall be in a separate file with name following convention: +[All decisions for architecturally significant requirements](adr-list.md) are documented +using [adr-tools](https://github.com/npryce/adr-tools). -NNNN-title-with-dashes.md +Decisions are to be discussed within MR of a given decision md file. -where the NNNN is a decision number. diff --git a/adr/adr-list.md b/adr/adr-list.md new file mode 100644 index 00000000..babe641e --- /dev/null +++ b/adr/adr-list.md @@ -0,0 +1,3 @@ +# Architecture Decision Records + +* [1. Record architecture decisions](0001-record-architecture-decisions.md) -- GitLab