Merge pull request #2524 from domenkozar/deprecate-toPath

Deprecate builtins.toPath
This commit is contained in:
Eelco Dolstra 2018-11-08 13:22:21 +01:00 committed by GitHub
commit 750400e0fa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1077,22 +1077,8 @@ Evaluates to <literal>[ "foo" ]</literal>.
<replaceable>path</replaceable></term>
<listitem><para>Return <literal>true</literal> if the path
<replaceable>path</replaceable> exists, and
<literal>false</literal> otherwise. One application of this
function is to conditionally include a Nix expression containing
user configuration:
<programlisting>
let
fileName = builtins.getEnv "CONFIG_FILE";
config =
if fileName != "" &amp;&amp; builtins.pathExists (builtins.toPath fileName)
then import (builtins.toPath fileName)
else { someSetting = false; }; <lineannotation># default configuration</lineannotation>
in config.someSetting</programlisting>
(Note that <envar>CONFIG_FILE</envar> must be an absolute path for
this to work.)</para></listitem>
<replaceable>path</replaceable> exists at evaluation time, and
<literal>false</literal> otherwise.
</varlistentry>
@ -1409,13 +1395,10 @@ in foo</programlisting>
<varlistentry xml:id='builtin-toPath'>
<term><function>builtins.toPath</function> <replaceable>s</replaceable></term>
<listitem><para>Convert the string value
<replaceable>s</replaceable> into a path value. The string
<replaceable>s</replaceable> must represent an absolute path
(i.e., must start with <literal>/</literal>). The path need not
exist. The resulting path is canonicalised, e.g.,
<literal>builtins.toPath "//foo/xyzzy/../bar/"</literal> returns
<literal>/foo/bar</literal>.</para></listitem>
<listitem><para> DEPRECATED. Use <literal>/. + "/path"</literal>
to convert a string into an absolute path. For relative paths,
use <literal>./. + "/path"</literal>.
</para></listitem>
</varlistentry>