diff options
author | Loïc Hoguin <[email protected]> | 2015-12-29 00:29:21 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2015-12-29 00:29:21 +0100 |
commit | 6e4fcfabb728dfa2114a4076a4d8247caf25fe09 (patch) | |
tree | 284d14397f4121eafe8ae94cc6bdd988d26169b8 /guide/ch20.html | |
parent | c29515fcf341036c83edf29a8c1d4233c9261f11 (diff) | |
download | erlang.mk-6e4fcfabb728dfa2114a4076a4d8247caf25fe09.tar.gz erlang.mk-6e4fcfabb728dfa2114a4076a4d8247caf25fe09.tar.bz2 erlang.mk-6e4fcfabb728dfa2114a4076a4d8247caf25fe09.zip |
Update user guide
Diffstat (limited to 'guide/ch20.html')
-rw-r--r-- | guide/ch20.html | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/guide/ch20.html b/guide/ch20.html deleted file mode 100644 index 8a59b86..0000000 --- a/guide/ch20.html +++ /dev/null @@ -1,66 +0,0 @@ -<!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="ch19.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch21.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="_dialyzer"></a>Chapter 20. Dialyzer</h2></div></div></div><p>Dialyzer is a tool that will detect discrepancies in your -program. It does so using a technique known as success -typing analysis which has the advantage of providing no -false positives. Dialyzer is able to detect type errors, -dead code and more.</p><p>Erlang.mk provides a wrapper around Dialyzer.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_how_it_works"></a>20.1. How it works</h2></div></div></div><p>Dialyzer requires a PLT file to work. The PLT file contains -the analysis information from all applications which are not -expected to change, or rarely do. These would be all the -dependencies of the application or applications you are -currently working on, including standard applications in -Erlang/OTP itself.</p><p>Dialyzer can generate this PLT file. Erlang.mk includes rules -to automatically generate the PLT file when it is missing.</p><p>Once the PLT file is generated, Dialyzer can perform the -analysis in record time.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_configuration_4"></a>20.2. Configuration</h2></div></div></div><p>In a typical usage scenario, no variable needs to be set. -The defaults should be enough. Do note however that the -dependencies need to be set properly using the <code class="literal">DEPS</code> and -<code class="literal">LOCAL_DEPS</code> variables.</p><p>The <code class="literal">DIALYZER_PLT</code> file indicates where the PLT file will -be written to (and read from). By default this is -<span class="emphasis"><em>$(PROJECT).plt</em></span> in the project’s directory. Note that -the <code class="literal">DIALYZER_PLT</code> variable is exported and is understood -by Dialyzer directly.</p><p>The <code class="literal">PLT_APPS</code> variable can be used to add additional -applications to the PLT. You can either list application -names or paths to these applications.</p><p>Erlang.mk defines two variables for specifying options -for the analysis: <code class="literal">DIALYZER_DIRS</code> and <code class="literal">DIALYZER_OPTS</code>. -The former one defines which directories should be part -of the analysis. The latter defines what extra warnings -Dialyzer should report.</p><p>Note that Erlang.mk enables the race condition warnings -by default. As it can take considerably large resources -to run, you may want to disable it on larger projects.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_usage_3"></a>20.3. Usage</h2></div></div></div><p>To perform an analysis, run the following command:</p><pre class="programlisting">$ make dialyze</pre><p>This will create the PLT file if it doesn’t exist.</p><p>The analysis will also be performed when you run the -following command, alongside tests:</p><pre class="programlisting">$ make check</pre><p>You can use the <code class="literal">plt</code> target to create the PLT file if -it doesn’t exist. This is normally not necessary as -Dialyzer creates it automatically.</p><p>The PLT file will be removed when you run <code class="literal">make distclean</code>.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch19.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="pt03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch21.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> |