summaryrefslogtreecommitdiffstats
path: root/dom/media/webrtc/third_party_build/commit-build-file-changes.sh
blob: 2b4c791fca2a29c8a691f25f8759b4cafbd3fa59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/bash

function show_error_msg()
{
  echo "*** ERROR *** $? line $1 $0 did not complete successfully!"
  echo "$ERROR_HELP"
}
ERROR_HELP=""

# Print an Error message if `set -eE` causes the script to exit due to a failed command
trap 'show_error_msg $LINENO' ERR

# All commands should be printed as they are executed
# set -x

# After this point:
# * eE: All commands should succede.
# * u: All variables should be defined before use.
# * o pipefail: All stages of all pipes should succede.
set -eEuo pipefail

MOZ_BUILD_CHANGE_CNT=`hg status third_party/libwebrtc | wc -l | tr -d " "`
echo "MOZ_BUILD_CHANGE_CNT: $MOZ_BUILD_CHANGE_CNT"
if [ "x$MOZ_BUILD_CHANGE_CNT" != "x0" ]; then
  CURRENT_COMMIT_SHA=`hg id -i | sed 's/+//'`
  COMMIT_DESC=`hg --config alias.log=log log -T '{desc|firstline}' -r $CURRENT_COMMIT_SHA`

  # since we have build file changes, touch the CLOBBER file
  cat CLOBBER | egrep "^#|^$" > CLOBBER.new
  mv CLOBBER.new CLOBBER
  echo "Modified build files in third_party/libwebrtc - $COMMIT_DESC" >> CLOBBER

  ADD_CNT=`hg status -nu third_party/libwebrtc | wc -l | tr -d " "`
  DEL_CNT=`hg status -nd third_party/libwebrtc | wc -l | tr -d " "`
  if [ "x$ADD_CNT" != "x0" ]; then
    hg status -nu third_party/libwebrtc | xargs hg add
  fi
  if [ "x$DEL_CNT" != "x0" ]; then
    hg status -nd third_party/libwebrtc | xargs hg rm
  fi

  hg commit -m \
    "$COMMIT_DESC - moz.build file updates" \
    third_party/libwebrtc CLOBBER
fi

echo "Done in $0"