Add buildDhall*Package support for generating documentation

The `buildDhall{Directory,GitHub}Package` utilities now take an
optional `document` argument for generating documentation using
`dhall-docs`.  The documentation is stored underneath the `./docs`
subdirectory of the build product.
This commit is contained in:
Gabriel Gonzalez
2020-12-01 15:30:52 +01:00
committed by Emery Hemingway
parent 86b651f169
commit 6dac8e6817
4 changed files with 57 additions and 29 deletions
@@ -12,6 +12,8 @@ lib.makePackageOverridable
directory ? ""
, # The file to import, relative to the above directory
file ? "package.dhall"
# Set to `true` to generate documentation for the package
, document ? false
# Arguments passed through to `fetchFromGitHub`
, owner
@@ -22,29 +24,32 @@ lib.makePackageOverridable
, ...
}@args:
buildDhallPackage {
inherit name dependencies source;
let
src = fetchFromGitHub ({
name = "${name}-source";
code =
let
src = fetchFromGitHub ({
name = "${name}-source";
inherit owner repo rev;
} // removeAttrs args [
"name"
"dependencies"
"document"
"source"
"directory"
"file"
"owner"
"repo"
"rev"
]);
inherit owner repo rev;
} // removeAttrs args [
"name"
"dependencies"
"source"
"directory"
"file"
"owner"
"repo"
"rev"
]);
prefix = lib.optionalString (directory != "") "${directory}/";
prefix = lib.optionalString (directory != "") "${directory}/";
in
buildDhallPackage
( { inherit name dependencies source;
in
"${src}/${prefix}${file}";
}
code = "${src}/${prefix}${file}";
}
// lib.optionalAttrs document
{ documentationRoot = "${src}/${prefix}"; }
)
)