diffPlugins
pkgs.diffPlugins
Docs pulled from | This Revision | about 1 hour ago
Takes a list of expected plugin names and compares it to the found plugins given in the file, one plugin per line. If the lists differ, the build fails with a nice message.
This is helpful to ensure maintainers don’t miss the addition or removal of a plugin.
Inputs
expectedPlugins
-
1. Function argument
foundPluginsFilePath
-
2. Function argument
Noogle detected
Implementation
The following is the current implementation of this function.
diffPlugins = expectedPlugins: foundPluginsFilePath: ''
# sort both lists first
plugins_expected=$(mktemp)
(${lib.concatMapStrings (s: "echo \"${s}\";") expectedPlugins}) \
| sort -u > "$plugins_expected"
plugins_found=$(mktemp)
sort -u "${foundPluginsFilePath}" > "$plugins_found"
if ! mismatches="$(diff -y "$plugins_expected" "$plugins_found")"; then
echo "The the list of expected plugins (left side) doesn't match" \
"the list of plugins we found (right side):" >&2
echo "$mismatches" >&2
exit 1
fi
'';