diff --git a/README.md b/README.md index bbb112c65d00d0905a081c085aad1f1e137b0fe4..b97de49a18bf7a8fcab372954c7fc7c2823a0a00 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 0000000000000000000000000000000000000000..9c558e357c41674e39880abb6c3209e539de42e2 --- /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 d946c595f65c33f428b52e0f8b6a4f8293a3335c..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..aa9e755662f3a15f3fc50b50e807542baeb21d88 --- /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 0ce7bd9ad1a2a2bfed0ec3a062b489d04d94e3f5..bc1776fc838d5b10ba154202eab73b9b2a3f02a7 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 0000000000000000000000000000000000000000..babe641e8e6388023ed58693673486d9f7677f16 --- /dev/null +++ b/adr/adr-list.md @@ -0,0 +1,3 @@ +# Architecture Decision Records + +* [1. Record architecture decisions](0001-record-architecture-decisions.md)