From fbcc6f74c4ffe6fa31ac62e5f809a39089ab1659 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Fri, 31 May 2019 23:26:26 +0200 Subject: [PATCH] lets have a look --- readme.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/readme.md b/readme.md index 35eedc2..cc590f5 100644 --- a/readme.md +++ b/readme.md @@ -18,5 +18,31 @@ The ``build-env-arduino`` docker image, which can be loaded using the image name A preserved build environment, which easily can be installed or simply loaded for many developers in exactly the same way and which can easily be archived is a major topic is professional software engineering. If you have a team of lots of developers you don't want to waste time by letting everyone install his or her development environment manually, finally ending up with minor to major differences which makes it hard to compare or integrate software or let one developer investigate a bug another developer found. Furthermore you want to be able, especially in an industrial environment, to pick a development environment from the shelve to investigate and fix an issue reported in a years-old software. Both can be achieved with preserved environments. +This preserved Arduino build environment uses the Arduino CLI tool, which can be found at [https://downloads.arduino.cc/arduino-cli/arduino-cli-latest-linux64.tar.bz2] and which is discussed here [https://blog.arduino.cc/2018/08/24/announcing-the-arduino-command-line-interface-cli/]. +This Arduino CLI tool expects your projects to be stored in the common ``sketchbook`` folder, where also the common (used by all projects) ``libraries`` folder is located. This is not my cup of tea. You want my projects separated from each other, together with all dependent libraries. + +So, I created the following directory structure of my project repository: + + RepoRoot/ + | + +--- sketch/ + | | + | +--- sketch.ino + | + +--- libraries/ + | | + | +--- library1/ + | | + | +--- library2/ + | | + | +--- includes/ + | + +--- .gitignore + +--- .gitlab-ci.yml + +--- readme.md + +To make the Arduino CLI use this structure, I point the variable ``ARDUINO_SKETCHBOOK_DIR`` to it, so the commandline to build a project is + + env ARDUINO_SKETCHBOOK_DIR=$PROJECT_DIR arduino-cli compile --fqbn=esp8266:esp8266:nodemcu $PROJECT_DIR/sketch