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
 ![meta-ohos system context diagram](./diagrams/meta-ohos_system_context_diagram.svg)
 
+## 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: 
-![ohos-zephyr-build-sequence-diagram](../diagrams/0001-meta-openharmony-zephyr-build-sequence-diagram.svg)
-
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