aboutsummaryrefslogtreecommitdiffstats
path: root/overview/index.md
diff options
context:
space:
mode:
authorTristan Sloughter <[email protected]>2013-09-21 13:51:27 -0500
committerTristan Sloughter <[email protected]>2013-09-21 13:51:27 -0500
commit5acf0e4a3cfafca569a9e22f1730f11c8c6a4a07 (patch)
treefaa40ecc88c1136f1627d11a0aef0718d36f7a7b /overview/index.md
parent5488f1c22c4664b4b591ed35fea3d413becdb4dd (diff)
downloadrelx-5acf0e4a3cfafca569a9e22f1730f11c8c6a4a07.tar.gz
relx-5acf0e4a3cfafca569a9e22f1730f11c8c6a4a07.tar.bz2
relx-5acf0e4a3cfafca569a9e22f1730f11c8c6a4a07.zip
add overview, overlays and configuration pages
Diffstat (limited to 'overview/index.md')
-rw-r--r--overview/index.md64
1 files changed, 64 insertions, 0 deletions
diff --git a/overview/index.md b/overview/index.md
new file mode 100644
index 0000000..66e1a5f
--- /dev/null
+++ b/overview/index.md
@@ -0,0 +1,64 @@
+---
+layout: default
+title: Relx Overview
+---
+
+Overview
+========
+
+Relx is a tool that, given a specification, assembles
+releases. That is it makes an assessment of all of the Erlang/OTP Apps
+available to it and the constraints that you supply as part of your
+configuration and resolves a complete set of OTP Applications and
+thier versions for use in the release. This may be a bit hard to
+understand if you are not familiar with the way version resolutions
+work in package management systems. So lets look at an example.
+
+Lets say that you have the following OTP Applications
+
+ app1-1.2
+ with dependencies
+ app2
+ app5
+ app6
+ app1-1.3
+ with dependencies
+ app2
+ app6
+ app2-2.0
+ with dependencies
+ app6
+ app2-2.1
+ with dependencies
+ app6
+ app7
+ app3-2.0
+ app4-1.0.0
+ app5-3.0
+ app6-1.0
+ with dependencies
+ app3
+ app7-2.0
+
+This is the world of OTP Apps your Relx knows about (basically OTP
+Apps in the Library Directories you have specified). You have set a
+config that looks like the following:
+
+ {release, {awesome_supercool, "1.0"},
+ [{app1, "1.3", '>='},
+ {app2, "2.0", '>'},
+ app3]}
+
+When the Relx process has run you will end up with a complete
+release as follows
+
+ {release, {awesome_supercool, "1.0"},
+ [{app1, "1.3"},
+ {app2, "2.1"},
+ {app3, "2.0"},
+ {app6, "1.0"},
+ {app7, "2.0"}]}
+
+As you can see that is a fully realied view of your direct and
+transative dependencies based on the world that Relx knows about
+and the constraints that you specified in your configuration.