From acad32896ebd43405adb6804072a9fbc57bc9f4b Mon Sep 17 00:00:00 2001
From: Alexander Clouter <alex@digriz.org.uk>
Date: Fri, 13 Apr 2018 14:41:43 +0100
Subject: Document PROJECT_ENV usage with/without file

LH: I have added the example without a separate file and
tweaked the wording a bit.
---
 doc/src/guide/app.asciidoc | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

(limited to 'doc/src/guide/app.asciidoc')

diff --git a/doc/src/guide/app.asciidoc b/doc/src/guide/app.asciidoc
index 94f8eb1..9d5e948 100644
--- a/doc/src/guide/app.asciidoc
+++ b/doc/src/guide/app.asciidoc
@@ -164,6 +164,42 @@ Any space before and after the value is dropped.
 xref:deps[Dependencies] are covered in details in
 the next chapter.
 
+==== Application environment
+
+The `PROJECT_ENV` variable is used to set the application
+environment:
+
+[source,make]
+----
+define PROJECT_ENV
+[
+  {chips, [currysauce,{mushypeas,false}]},
+  {pizza, [{size,large},{toppings,[anchovies]}]}
+]
+endef
+----
+
+If you have a large set of environment variables, you may find it
+easier to use a separate file. Do this by including the following
+in your Makefile:
+
+[source,make]
+----
+PROJECT_ENV_FILE = src/env.src
+PROJECT_ENV = $(subst \n,$(newline),$(shell cat $(PROJECT_ENV_FILE) | sed -e 's/$$/\\n/;'))
+ebin/$(PROJECT).app:: $(PROJECT_ENV_FILE)
+----
+
+The file has the same contents as the `PROJECT_ENV` variable:
+
+[source,erlang]
+----
+[
+  {chips, [currysauce,{mushypeas,false}]},
+  {pizza, [{size,large},{toppings,[anchovies]}]}
+]
+----
+
 ==== Legacy method
 
 The 'src/$(PROJECT).app.src' file is a legacy method of
-- 
cgit v1.2.3

