A script to update the file contents with the command output.
Used to avoid rerunning Ninja files regeneration if m2rbc conversion generated the same makefile. Test: treehugger Change-Id: I1b0a619f961e6d2c7bf99a48053ecb58147c6db0
This commit is contained in:
parent
f18bedf1c3
commit
82b6e8483c
1 changed files with 21 additions and 0 deletions
21
scripts/update_out
Executable file
21
scripts/update_out
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
#! /bin/bash
|
||||||
|
# Run given command application and update the contents of a given file.
|
||||||
|
# Will not change the file if its contents has not changed.
|
||||||
|
[[ $# -gt 1 ]] || { echo "Usage: ${0##*/} FILE COMMAND" >&2; exit 1; }
|
||||||
|
set -u
|
||||||
|
declare -r outfile="$1"
|
||||||
|
shift
|
||||||
|
if [[ ! -f $outfile ]]; then
|
||||||
|
$@ >$outfile
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
declare -r newout=${outfile}.new
|
||||||
|
$@ >$newout
|
||||||
|
rc=$?
|
||||||
|
if cmp -s $newout $outfile; then
|
||||||
|
rm $newout
|
||||||
|
else
|
||||||
|
mv -f $newout $outfile
|
||||||
|
fi
|
||||||
|
exit $rc
|
Loading…
Reference in a new issue