diff options
Diffstat (limited to 'guide/overview.html')
-rw-r--r-- | guide/overview.html | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/guide/overview.html b/guide/overview.html new file mode 100644 index 0000000..c32df52 --- /dev/null +++ b/guide/overview.html @@ -0,0 +1,72 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="utf-8"/> +<title>Erlang.mk User Guide</title> +<style type="text/css"><!-- +body{background:white;color:black;font-family:"Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;justify-content:center;margin:0 auto;padding:0;width:600px} +header {align-items:center;display:flex;justify-content:center} +header nav.left{text-align:right;width:150px} +header nav.right{text-align:left;width:150px} +header nav a{display:block;margin:1.5em 1em} +main{margin-top:2em;text-align:justify} +main h2, main h3{margin-top:2em} +a{color:#d9230f;text-decoration:none} +a:hover{text-decoration:underline} +h1, h2, h3{font-weight:normal} +div.navfooter{margin-bottom:1em} +--></style> +</head> +<body> +<header> + <nav class="left"> + <a href="index.html">User guide</a> + <a href="ch02.html">Tutorials</a> + </nav> + <a href="/" class="logo"><img src="../res/logo-small.png" alt="Erlang.mk" title="Erlang.mk: A build tool for Erlang that just works" height="200" width="206"/></a> + <nav class="right"> + <a href="https://github.com/ninenines/erlang.mk/tree/master/index">470+ packages</a> + <a href="https://github.com/ninenines/erlang.mk/issues">Issues?</a> + </nav> +</header> +<main> + +<div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="getting_started.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="updating.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="overview"></a>Chapter 3. Overview</h1></div></div></div><p>Now that you know how to get started, let’s take a look at +what Erlang.mk can do for you.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_building_your_project"></a>3.1. Building your project</h2></div></div></div><p>Erlang.mk is first and foremost a build tool. It is especially +tailored for Erlang developers and follows widely accepted +practices in the Erlang community.</p><p>Erlang.mk will happily build all <a class="ulink" href="app.asciidoc" target="_top">Erlang-specific files</a> +you throw at it. Other kinds of files too, like C or C++ code +when you are working on <a class="ulink" href="ports.asciidoc" target="_top">a NIF or a port driver</a>.</p><p>Erlang.mk embraces the concept of <a class="ulink" href="deps.asciidoc" target="_top">source dependencies</a>. +It can fetch dependency source code using a variety of mechanisms, +including fetching from Git, Mercurial or SVN.</p><p>Erlang.mk will automatically <a class="ulink" href="relx.asciidoc" target="_top">generate releases</a> +when applicable. It can also <a class="ulink" href="escripts.asciidoc" target="_top">generate escripts</a>.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_exploring_the_package_index"></a>3.2. Exploring the package index</h2></div></div></div><p>Erlang.mk comes with a <a class="ulink" href="deps.asciidoc" target="_top">built-in package index</a>. +It is built as an extension of the dependency system and is +meant to be used for discovery purposes.</p><p>No package is ever installed, they are only used as dependencies +and are always project-specific. They can be thought of as a +shortcut over plain dependencies.</p><p>You can get a list of all packages known to Erlang.mk by using +the <code class="literal">search</code> target:</p><pre class="programlisting">$ make search</pre><p>You can also use this target to search across all packages, for +example to find all packages related to Cowboy:</p><pre class="programlisting">$ make search q=cowboy</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_generating_documentation"></a>3.3. Generating documentation</h2></div></div></div><p>Erlang.mk supports <span class="emphasis"><em>EDoc</em></span> and <span class="emphasis"><em>Asciidoc</em></span>.</p><p><a class="ulink" href="edoc.asciidoc" target="_top">EDoc</a> generates HTML documentation directly from +your source code.</p><p>While it is convenient, ask yourself: if all the documentation is +inside the source code, why not just open the source code directly? +That’s where <span class="emphasis"><em>Asciidoc</em></span> comes in.</p><p>The <a class="ulink" href="asciidoc.asciidoc" target="_top">Asciidoc</a> plugin expects all documentation +to be separate from source. It will generate HTML, PDF, man pages and +more from the documentation you write in the <span class="emphasis"><em>doc/src/</em></span> folder in +your repository.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_running_tests"></a>3.4. Running tests</h2></div></div></div><p>Erlang.mk supports a lot of different testing and static +analysis tools.</p><p>The <a class="ulink" href="shell.asciidoc" target="_top">make shell</a> command allows you +to test your project manually. You can automate these +unit tests with <a class="ulink" href="eunit.asciidoc" target="_top">EUnit</a> and test +your entire system with <a class="ulink" href="common_test.asciidoc" target="_top">Common Test</a>. +<a class="ulink" href="property_based_testing.asciidoc" target="_top">Property based testing</a> +with Triq is a strong alternative to writing unit tests +manually. <a class="ulink" href="coverage.asciidoc" target="_top">Code coverage</a> can of course +be enabled during tests.</p><p>Erlang.mk comes with features to make your life easier when +setting up and using <a class="ulink" href="ci.asciidoc" target="_top">Continuous integration</a>.</p><p>On the static analysis side of things, Erlang.mk comes with +support for <a class="ulink" href="dialyzer.asciidoc" target="_top">Dialyzer</a>, <a class="ulink" href="xref.asciidoc" target="_top">Xref</a> +and <a class="ulink" href="elvis.asciidoc" target="_top">Elvis</a>, performing success typing +analysis, cross reference and style reviewing.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_need_more"></a>3.5. Need more?</h2></div></div></div><p>Not convinced yet? You can read about <a class="ulink" href="why.asciidoc" target="_top">why you should use Erlang.mk</a> +and its <a class="ulink" href="history.asciidoc" target="_top">history</a>. And if you’re still not +convinced after that, it’s OK! The world would be boring if +everyone agreed on everything all the time.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="getting_started.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="updating.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div> +</main> +</body> +</html> |