daml/bazel_tools/match-cabal-file.sh
dylant-da 943e140bbb
Add test generator for keeping Cabal files in sync (#16864)
* wip

* Add generate_cabal{_and_track}_cabal for keeping cabal files in sync

* lint

* Disable generate_and_track_cabal on windows

* Fix build script to generate comments on separate lines

* Fix sorting, detect alias rules for ghc-lib-parser

* allow specifying file in generate_and_track_cabal

* Fully qualify path to cabal generation target

* Add handler for daml_lf_dev_archive_haskell_proto

* fix trailing T;p

---------

Co-authored-by: Remy Haemmerle <Remy.Haemmerle@daml.com>
2023-05-23 10:00:02 +01:00

29 lines
1.0 KiB
Bash
Executable File

# Copyright (c) 2023 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
# Copy-pasted from the Bazel Bash runfiles library v2.
set -uo pipefail; f=bazel_tools/tools/bash/runfiles/runfiles.bash
source "${RUNFILES_DIR:-/dev/null}/$f" 2>/dev/null || \
source "$(grep -sm1 "^$f " "${RUNFILES_MANIFEST_FILE:-/dev/null}" | cut -f2- -d' ')" 2>/dev/null || \
source "$0.runfiles/$f" 2>/dev/null || \
source "$(grep -sm1 "^$f " "$0.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \
source "$(grep -sm1 "^$f " "$0.exe.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \
{ echo>&2 "ERROR: cannot find $f"; exit 1; }; f=; set -e
# --- end runfiles.bash initialization v2 ---
GENERATED=$(rlocation "$TEST_WORKSPACE/$1")
GOLDEN=$(rlocation "$TEST_WORKSPACE/$2")
DIFF=$3
ACCEPT=${4:-}
case "$ACCEPT" in
-a)
echo Accepting changes, copying "$GENERATED" to "$2"
cp "$GENERATED" "$2"
;;
*)
$DIFF $GENERATED $GOLDEN
;;
esac