error('Do not run `ninja` or `meson` for gst-build inside the uninstalled environment, you will run into problems')
endif
+# Install gst-indent pre-commit hook
+run_command(python3, '-c', 'import shutil; shutil.copy("scripts/git-hooks/multi-pre-commit.hook", ".git/hooks/pre-commit")')
+
# Ensure that the user does not have Strawberry Perl in PATH, since it ships
# with a pkg-config.bat and broken pkgconfig files for libffi and zlib. Will
# cause a build error, such as in
# commit. They are executed in the order in which they are listed.
###########################################################
-HOOKS="hooks/pre-commit.hook hooks/pre-commit-python.hook"
+HOOKS="scripts/git-hooks/pre-commit.hook scripts/git-hooks/pre-commit-python.hook"
# exit on error
set -e
+++ /dev/null
-#!/bin/sh
-#
-# Check that the code follows a consistant code style
-#
-
-# Check for existence of indent, and error out if not present.
-# On some *bsd systems the binary seems to be called gnunindent,
-# so check for that first.
-
-version=`gnuindent --version 2>/dev/null`
-if test "x$version" = "x"; then
- version=`gindent --version 2>/dev/null`
- if test "x$version" = "x"; then
- version=`indent --version 2>/dev/null`
- if test "x$version" = "x"; then
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- exit 1
- else
- INDENT=indent
- fi
- else
- INDENT=gindent
- fi
-else
- INDENT=gnuindent
-fi
-
-case `$INDENT --version` in
- GNU*)
- ;;
- default)
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- echo "(Found $INDENT, but it doesn't seem to be GNU indent)"
- exit 1
- ;;
-esac
-
-INDENT_PARAMETERS="--braces-on-if-line \
- --case-brace-indentation0 \
- --case-indentation2 \
- --braces-after-struct-decl-line \
- --line-length80 \
- --no-tabs \
- --cuddle-else \
- --dont-line-up-parentheses \
- --continuation-indentation4 \
- --honour-newlines \
- --tab-size8 \
- --indent-level2 \
- --leave-preprocessor-space"
-
-echo "--Checking style--"
-for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$"` ; do
- # nf is the temporary checkout. This makes sure we check against the
- # revision in the index (and not the checked out version).
- nf=`git checkout-index --temp ${file} | cut -f 1`
- newfile=`mktemp /tmp/${nf}.XXXXXX` || exit 1
- $INDENT ${INDENT_PARAMETERS} \
- $nf -o $newfile 2>> /dev/null
- # FIXME: Call indent twice as it tends to do line-breaks
- # different for every second call.
- $INDENT ${INDENT_PARAMETERS} \
- $newfile 2>> /dev/null
- diff -u -p "${nf}" "${newfile}"
- r=$?
- rm "${newfile}"
- rm "${nf}"
- if [ $r != 0 ] ; then
-echo "================================================================================================="
-echo " Code style error in: $file "
-echo " "
-echo " Please fix before committing. Don't forget to run git add before trying to commit again. "
-echo " If the whole file is to be committed, this should work (run from the top-level directory): "
-echo " "
-echo " gst-indent $file; git add $file; git commit"
-echo " "
-echo "================================================================================================="
- exit 1
- fi
-done
-echo "--Checking style pass--"
+++ /dev/null
-#!/bin/sh
-#
-# Check that the code follows a consistant code style
-#
-
-# Check for existence of indent, and error out if not present.
-# On some *bsd systems the binary seems to be called gnunindent,
-# so check for that first.
-
-version=`gnuindent --version 2>/dev/null`
-if test "x$version" = "x"; then
- version=`gindent --version 2>/dev/null`
- if test "x$version" = "x"; then
- version=`indent --version 2>/dev/null`
- if test "x$version" = "x"; then
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- exit 1
- else
- INDENT=indent
- fi
- else
- INDENT=gindent
- fi
-else
- INDENT=gnuindent
-fi
-
-case `$INDENT --version` in
- GNU*)
- ;;
- default)
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- echo "(Found $INDENT, but it doesn't seem to be GNU indent)"
- exit 1
- ;;
-esac
-
-INDENT_PARAMETERS="--braces-on-if-line \
- --case-brace-indentation0 \
- --case-indentation2 \
- --braces-after-struct-decl-line \
- --line-length80 \
- --no-tabs \
- --cuddle-else \
- --dont-line-up-parentheses \
- --continuation-indentation4 \
- --honour-newlines \
- --tab-size8 \
- --indent-level2 \
- --leave-preprocessor-space"
-
-echo "--Checking style--"
-for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$"` ; do
- # nf is the temporary checkout. This makes sure we check against the
- # revision in the index (and not the checked out version).
- nf=`git checkout-index --temp ${file} | cut -f 1`
- newfile=`mktemp /tmp/${nf}.XXXXXX` || exit 1
- $INDENT ${INDENT_PARAMETERS} \
- $nf -o $newfile 2>> /dev/null
- # FIXME: Call indent twice as it tends to do line-breaks
- # different for every second call.
- $INDENT ${INDENT_PARAMETERS} \
- $newfile 2>> /dev/null
- diff -u -p "${nf}" "${newfile}"
- r=$?
- rm "${newfile}"
- rm "${nf}"
- if [ $r != 0 ] ; then
-echo "================================================================================================="
-echo " Code style error in: $file "
-echo " "
-echo " Please fix before committing. Don't forget to run git add before trying to commit again. "
-echo " If the whole file is to be committed, this should work (run from the top-level directory): "
-echo " "
-echo " gst-indent $file; git add $file; git commit"
-echo " "
-echo "================================================================================================="
- exit 1
- fi
-done
-echo "--Checking style pass--"
endif
configure_file(output: 'config.h', configuration: cdata)
-
-run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
+++ /dev/null
-#!/bin/sh
-#
-# Check that the code follows a consistant code style
-#
-
-# Check for existence of indent, and error out if not present.
-# On some *bsd systems the binary seems to be called gnunindent,
-# so check for that first.
-
-version=`gnuindent --version 2>/dev/null`
-if test "x$version" = "x"; then
- version=`gindent --version 2>/dev/null`
- if test "x$version" = "x"; then
- version=`indent --version 2>/dev/null`
- if test "x$version" = "x"; then
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- exit 1
- else
- INDENT=indent
- fi
- else
- INDENT=gindent
- fi
-else
- INDENT=gnuindent
-fi
-
-case `$INDENT --version` in
- GNU*)
- ;;
- default)
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- echo "(Found $INDENT, but it doesn't seem to be GNU indent)"
- exit 1
- ;;
-esac
-
-INDENT_PARAMETERS="--braces-on-if-line \
- --case-brace-indentation0 \
- --case-indentation2 \
- --braces-after-struct-decl-line \
- --line-length80 \
- --no-tabs \
- --cuddle-else \
- --dont-line-up-parentheses \
- --continuation-indentation4 \
- --honour-newlines \
- --tab-size8 \
- --indent-level2 \
- --leave-preprocessor-space"
-
-echo "--Checking style--"
-for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$"` ; do
- # nf is the temporary checkout. This makes sure we check against the
- # revision in the index (and not the checked out version).
- nf=`git checkout-index --temp ${file} | cut -f 1`
- newfile=`mktemp /tmp/${nf}.XXXXXX` || exit 1
- $INDENT ${INDENT_PARAMETERS} \
- $nf -o $newfile 2>> /dev/null
- # FIXME: Call indent twice as it tends to do line-breaks
- # different for every second call.
- $INDENT ${INDENT_PARAMETERS} \
- $newfile 2>> /dev/null
- diff -u -p "${nf}" "${newfile}"
- r=$?
- rm "${newfile}"
- rm "${nf}"
- if [ $r != 0 ] ; then
-echo "================================================================================================="
-echo " Code style error in: $file "
-echo " "
-echo " Please fix before committing. Don't forget to run git add before trying to commit again. "
-echo " If the whole file is to be committed, this should work (run from the top-level directory): "
-echo " "
-echo " gst-indent $file; git add $file; git commit"
-echo " "
-echo "================================================================================================="
- exit 1
- fi
-done
-echo "--Checking style pass--"
endif
configure_file(output: 'config.h', configuration: cdata)
-
-python3 = import('python').find_installation()
-run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
+++ /dev/null
-#!/bin/sh
-#
-# Check that the code follows a consistant code style
-#
-
-# Check for existence of indent, and error out if not present.
-# On some *bsd systems the binary seems to be called gnunindent,
-# so check for that first.
-
-version=`gnuindent --version 2>/dev/null`
-if test "x$version" = "x"; then
- version=`gindent --version 2>/dev/null`
- if test "x$version" = "x"; then
- version=`indent --version 2>/dev/null`
- if test "x$version" = "x"; then
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- exit 1
- else
- INDENT=indent
- fi
- else
- INDENT=gindent
- fi
-else
- INDENT=gnuindent
-fi
-
-case `$INDENT --version` in
- GNU*)
- ;;
- default)
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- echo "(Found $INDENT, but it doesn't seem to be GNU indent)"
- exit 1
- ;;
-esac
-
-INDENT_PARAMETERS="--braces-on-if-line \
- --case-brace-indentation0 \
- --case-indentation2 \
- --braces-after-struct-decl-line \
- --line-length80 \
- --no-tabs \
- --cuddle-else \
- --dont-line-up-parentheses \
- --continuation-indentation4 \
- --honour-newlines \
- --tab-size8 \
- --indent-level2 \
- --leave-preprocessor-space"
-
-echo "--Checking style--"
-for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$"` ; do
- # nf is the temporary checkout. This makes sure we check against the
- # revision in the index (and not the checked out version).
- nf=`git checkout-index --temp ${file} | cut -f 1`
- newfile=`mktemp /tmp/${nf}.XXXXXX` || exit 1
- $INDENT ${INDENT_PARAMETERS} \
- $nf -o $newfile 2>> /dev/null
- # FIXME: Call indent twice as it tends to do line-breaks
- # different for every second call.
- $INDENT ${INDENT_PARAMETERS} \
- $newfile 2>> /dev/null
- diff -u -p "${nf}" "${newfile}"
- r=$?
- rm "${newfile}"
- rm "${nf}"
- if [ $r != 0 ] ; then
-echo "================================================================================================="
-echo " Code style error in: $file "
-echo " "
-echo " Please fix before committing. Don't forget to run git add before trying to commit again. "
-echo " If the whole file is to be committed, this should work (run from the top-level directory): "
-echo " "
-echo " gst-indent $file; git add $file; git commit"
-echo " "
-echo "================================================================================================="
- exit 1
- fi
-done
-echo "--Checking style pass--"
endif
configure_file(output: 'config.h', configuration: cdata)
-
-python3 = find_program('python3')
-run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
+++ /dev/null
-#!/bin/sh
-#
-# Check that the code follows a consistent code style
-#
-
-# Check for existence of indent, and error out if not present.
-# On some *bsd systems the binary seems to be called gnunindent,
-# so check for that first.
-
-version=`gnuindent --version 2>/dev/null`
-if test "x$version" = "x"; then
- version=`gindent --version 2>/dev/null`
- if test "x$version" = "x"; then
- version=`indent --version 2>/dev/null`
- if test "x$version" = "x"; then
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- exit 1
- else
- INDENT=indent
- fi
- else
- INDENT=gindent
- fi
-else
- INDENT=gnuindent
-fi
-
-case `$INDENT --version` in
- GNU*)
- ;;
- default)
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- echo "(Found $INDENT, but it doesn't seem to be GNU indent)"
- exit 1
- ;;
-esac
-
-INDENT_PARAMETERS="--braces-on-if-line \
- --case-brace-indentation0 \
- --case-indentation2 \
- --braces-after-struct-decl-line \
- --line-length80 \
- --no-tabs \
- --cuddle-else \
- --dont-line-up-parentheses \
- --continuation-indentation4 \
- --honour-newlines \
- --tab-size8 \
- --indent-level2 \
- --leave-preprocessor-space"
-
-echo "--Checking style--"
-for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$"` ; do
- # nf is the temporary checkout. This makes sure we check against the
- # revision in the index (and not the checked out version).
- nf=`git checkout-index --temp ${file} | cut -f 1`
- newfile=`mktemp /tmp/${nf}.XXXXXX` || exit 1
- $INDENT ${INDENT_PARAMETERS} \
- $nf -o $newfile 2>> /dev/null
- # FIXME: Call indent twice as it tends to do line-breaks
- # different for every second call.
- $INDENT ${INDENT_PARAMETERS} \
- $newfile 2>> /dev/null
- diff -u -p "${nf}" "${newfile}"
- r=$?
- rm "${newfile}"
- rm "${nf}"
- if [ $r != 0 ] ; then
-echo "================================================================================================="
-echo " Code style error in: $file "
-echo " "
-echo " Please fix before committing. Don't forget to run git add before trying to commit again. "
-echo " If the whole file is to be committed, this should work (run from the top-level directory): "
-echo " "
-echo " gst-indent $file; git add $file; git commit"
-echo " "
-echo "================================================================================================="
- exit 1
- fi
-done
-echo "--Checking style pass--"
configure_file(output : 'config.h', configuration : cdata)
-run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
-
subdir('docs')
if meson.version().version_compare('>= 0.54')
+++ /dev/null
-#!/bin/sh
-#
-# Check that the code follows a consistent code style
-#
-
-# Check for existence of indent, and error out if not present.
-# On some *bsd systems the binary seems to be called gnunindent,
-# so check for that first.
-
-version=`gnuindent --version 2>/dev/null`
-if test "x$version" = "x"; then
- version=`gindent --version 2>/dev/null`
- if test "x$version" = "x"; then
- version=`indent --version 2>/dev/null`
- if test "x$version" = "x"; then
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- exit 1
- else
- INDENT=indent
- fi
- else
- INDENT=gindent
- fi
-else
- INDENT=gnuindent
-fi
-
-case `$INDENT --version` in
- GNU*)
- ;;
- default)
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- echo "(Found $INDENT, but it doesn't seem to be GNU indent)"
- exit 1
- ;;
-esac
-
-INDENT_PARAMETERS="--braces-on-if-line \
- --case-brace-indentation0 \
- --case-indentation2 \
- --braces-after-struct-decl-line \
- --line-length80 \
- --no-tabs \
- --cuddle-else \
- --dont-line-up-parentheses \
- --continuation-indentation4 \
- --honour-newlines \
- --tab-size8 \
- --indent-level2 \
- --leave-preprocessor-space"
-
-echo "--Checking style--"
-for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$"` ; do
- # nf is the temporary checkout. This makes sure we check against the
- # revision in the index (and not the checked out version).
- nf=`git checkout-index --temp ${file} | cut -f 1`
- newfile=`mktemp /tmp/${nf}.XXXXXX` || exit 1
- $INDENT ${INDENT_PARAMETERS} \
- $nf -o $newfile 2>> /dev/null
- # FIXME: Call indent twice as it tends to do line-breaks
- # different for every second call.
- $INDENT ${INDENT_PARAMETERS} \
- $newfile 2>> /dev/null
- diff -u -p "${nf}" "${newfile}"
- r=$?
- rm "${newfile}"
- rm "${nf}"
- if [ $r != 0 ] ; then
-echo "================================================================================================="
-echo " Code style error in: $file "
-echo " "
-echo " Please fix before committing. Don't forget to run git add before trying to commit again. "
-echo " If the whole file is to be committed, this should work (run from the top-level directory): "
-echo " "
-echo " gst-indent $file; git add $file; git commit"
-echo " "
-echo "================================================================================================="
- exit 1
- fi
-done
-echo "--Checking style pass--"
# Use core_conf after all subdirs have set values
configure_file(output : 'config.h', configuration : core_conf)
-run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
-
if meson.version().version_compare('>= 0.54')
plugin_names = []
foreach plugin: plugins
+++ /dev/null
-#!/bin/sh
-#
-# Check that the code follows a consistent code style
-#
-
-# Check for existence of indent, and error out if not present.
-# On some *bsd systems the binary seems to be called gnunindent,
-# so check for that first.
-
-version=`gnuindent --version 2>/dev/null`
-if test "x$version" = "x"; then
- version=`gindent --version 2>/dev/null`
- if test "x$version" = "x"; then
- version=`indent --version 2>/dev/null`
- if test "x$version" = "x"; then
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- exit 1
- else
- INDENT=indent
- fi
- else
- INDENT=gindent
- fi
-else
- INDENT=gnuindent
-fi
-
-case `$INDENT --version` in
- GNU*)
- ;;
- default)
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- echo "(Found $INDENT, but it doesn't seem to be GNU indent)"
- exit 1
- ;;
-esac
-
-INDENT_PARAMETERS="--braces-on-if-line \
- --case-brace-indentation0 \
- --case-indentation2 \
- --braces-after-struct-decl-line \
- --line-length80 \
- --no-tabs \
- --cuddle-else \
- --dont-line-up-parentheses \
- --continuation-indentation4 \
- --honour-newlines \
- --tab-size8 \
- --indent-level2 \
- --leave-preprocessor-space"
-
-echo "--Checking style--"
-for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$"` ; do
- # nf is the temporary checkout. This makes sure we check against the
- # revision in the index (and not the checked out version).
- nf=`git checkout-index --temp ${file} | cut -f 1`
- newfile=`mktemp /tmp/${nf}.XXXXXX` || exit 1
- $INDENT ${INDENT_PARAMETERS} \
- $nf -o $newfile 2>> /dev/null
- # FIXME: Call indent twice as it tends to do line-breaks
- # different for every second call.
- $INDENT ${INDENT_PARAMETERS} \
- $newfile 2>> /dev/null
- diff -u -p "${nf}" "${newfile}"
- r=$?
- rm "${newfile}"
- rm "${nf}"
- if [ $r != 0 ] ; then
-echo "================================================================================================="
-echo " Code style error in: $file "
-echo " "
-echo " Please fix before committing. Don't forget to run git add before trying to commit again. "
-echo " If the whole file is to be committed, this should work (run from the top-level directory): "
-echo " "
-echo " gst-indent $file; git add $file; git commit"
-echo " "
-echo "================================================================================================="
- exit 1
- fi
-done
-echo "--Checking style pass--"
configure_file(output : 'config.h', configuration : cdata)
-run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
-
if meson.version().version_compare('>= 0.54')
plugin_names = []
foreach plugin: plugins
+++ /dev/null
-#!/bin/sh
-#
-# Check that the code follows a consistent code style
-#
-
-# Check for existence of indent, and error out if not present.
-# On some *bsd systems the binary seems to be called gnunindent,
-# so check for that first.
-
-version=`gnuindent --version 2>/dev/null`
-if test "x$version" = "x"; then
- version=`gindent --version 2>/dev/null`
- if test "x$version" = "x"; then
- version=`indent --version 2>/dev/null`
- if test "x$version" = "x"; then
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- exit 1
- else
- INDENT=indent
- fi
- else
- INDENT=gindent
- fi
-else
- INDENT=gnuindent
-fi
-
-case `$INDENT --version` in
- GNU*)
- ;;
- default)
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- echo "(Found $INDENT, but it doesn't seem to be GNU indent)"
- exit 1
- ;;
-esac
-
-INDENT_PARAMETERS="--braces-on-if-line \
- --case-brace-indentation0 \
- --case-indentation2 \
- --braces-after-struct-decl-line \
- --line-length80 \
- --no-tabs \
- --cuddle-else \
- --dont-line-up-parentheses \
- --continuation-indentation4 \
- --honour-newlines \
- --tab-size8 \
- --indent-level2 \
- --leave-preprocessor-space"
-
-echo "--Checking style--"
-for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$"` ; do
- # nf is the temporary checkout. This makes sure we check against the
- # revision in the index (and not the checked out version).
- nf=`git checkout-index --temp ${file} | cut -f 1`
- newfile=`mktemp /tmp/${nf}.XXXXXX` || exit 1
- $INDENT ${INDENT_PARAMETERS} \
- $nf -o $newfile 2>> /dev/null
- # FIXME: Call indent twice as it tends to do line-breaks
- # different for every second call.
- $INDENT ${INDENT_PARAMETERS} \
- $newfile 2>> /dev/null
- diff -u -p "${nf}" "${newfile}"
- r=$?
- rm "${newfile}"
- rm "${nf}"
- if [ $r != 0 ] ; then
-echo "================================================================================================="
-echo " Code style error in: $file "
-echo " "
-echo " Please fix before committing. Don't forget to run git add before trying to commit again. "
-echo " If the whole file is to be committed, this should work (run from the top-level directory): "
-echo " "
-echo " gst-indent $file; git add $file; git commit"
-echo " "
-echo "================================================================================================="
- exit 1
- fi
-done
-echo "--Checking style pass--"
configure_file(output : 'config.h', configuration : cdata)
-run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
-
if meson.version().version_compare('>= 0.54')
plugin_names = []
foreach plugin: plugins
subdir('gi')
subdir('plugin')
subdir('testsuite')
-
-run_command(python, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
+++ /dev/null
-#!/bin/sh
-#
-# Check that the code follows a consistent code style
-#
-
-# Check for existence of indent, and error out if not present.
-# On some *bsd systems the binary seems to be called gnunindent,
-# so check for that first.
-
-version=`gnuindent --version 2>/dev/null`
-if test "x$version" = "x"; then
- version=`gindent --version 2>/dev/null`
- if test "x$version" = "x"; then
- version=`indent --version 2>/dev/null`
- if test "x$version" = "x"; then
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- exit 1
- else
- INDENT=indent
- fi
- else
- INDENT=gindent
- fi
-else
- INDENT=gnuindent
-fi
-
-case `$INDENT --version` in
- GNU*)
- ;;
- default)
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- echo "(Found $INDENT, but it doesn't seem to be GNU indent)"
- exit 1
- ;;
-esac
-
-INDENT_PARAMETERS="--braces-on-if-line \
- --case-brace-indentation0 \
- --case-indentation2 \
- --braces-after-struct-decl-line \
- --line-length80 \
- --no-tabs \
- --cuddle-else \
- --dont-line-up-parentheses \
- --continuation-indentation4 \
- --honour-newlines \
- --tab-size8 \
- --indent-level2 \
- --leave-preprocessor-space"
-
-echo "--Checking style--"
-for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$"` ; do
- # nf is the temporary checkout. This makes sure we check against the
- # revision in the index (and not the checked out version).
- nf=`git checkout-index --temp ${file} | cut -f 1`
- newfile=`mktemp /tmp/${nf}.XXXXXX` || exit 1
- $INDENT ${INDENT_PARAMETERS} \
- $nf -o $newfile 2>> /dev/null
- # FIXME: Call indent twice as it tends to do line-breaks
- # different for every second call.
- $INDENT ${INDENT_PARAMETERS} \
- $newfile 2>> /dev/null
- diff -u -p "${nf}" "${newfile}"
- r=$?
- rm "${newfile}"
- rm "${nf}"
- if [ $r != 0 ] ; then
-echo "================================================================================================="
-echo " Code style error in: $file "
-echo " "
-echo " Please fix before committing. Don't forget to run git add before trying to commit again. "
-echo " If the whole file is to be committed, this should work (run from the top-level directory): "
-echo " "
-echo " gst-indent $file; git add $file; git commit"
-echo " "
-echo "================================================================================================="
- exit 1
- fi
-done
-echo "--Checking style pass--"
endif
configure_file(output: 'config.h', configuration: cdata)
-
-python3 = import('python').find_installation()
-run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
+++ /dev/null
-#!/bin/sh
-#
-# Check that the code follows a consistent code style
-#
-
-# Check for existence of indent, and error out if not present.
-# On some *bsd systems the binary seems to be called gnunindent,
-# so check for that first.
-
-version=`gnuindent --version 2>/dev/null`
-if test "x$version" = "x"; then
- version=`gindent --version 2>/dev/null`
- if test "x$version" = "x"; then
- version=`indent --version 2>/dev/null`
- if test "x$version" = "x"; then
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- exit 1
- else
- INDENT=indent
- fi
- else
- INDENT=gindent
- fi
-else
- INDENT=gnuindent
-fi
-
-case `$INDENT --version` in
- GNU*)
- ;;
- default)
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- echo "(Found $INDENT, but it doesn't seem to be GNU indent)"
- exit 1
- ;;
-esac
-
-INDENT_PARAMETERS="--braces-on-if-line \
- --case-brace-indentation0 \
- --case-indentation2 \
- --braces-after-struct-decl-line \
- --line-length80 \
- --no-tabs \
- --cuddle-else \
- --dont-line-up-parentheses \
- --continuation-indentation4 \
- --honour-newlines \
- --tab-size8 \
- --indent-level2 \
- --leave-preprocessor-space"
-
-echo "--Checking style--"
-for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$"` ; do
- # nf is the temporary checkout. This makes sure we check against the
- # revision in the index (and not the checked out version).
- nf=`git checkout-index --temp ${file} | cut -f 1`
- newfile=`mktemp /tmp/${nf}.XXXXXX` || exit 1
- $INDENT ${INDENT_PARAMETERS} \
- $nf -o $newfile 2>> /dev/null
- # FIXME: Call indent twice as it tends to do line-breaks
- # different for every second call.
- $INDENT ${INDENT_PARAMETERS} \
- $newfile 2>> /dev/null
- diff -u -p "${nf}" "${newfile}"
- r=$?
- rm "${newfile}"
- rm "${nf}"
- if [ $r != 0 ] ; then
-echo "================================================================================================="
-echo " Code style error in: $file "
-echo " "
-echo " Please fix before committing. Don't forget to run git add before trying to commit again. "
-echo " If the whole file is to be committed, this should work (run from the top-level directory): "
-echo " "
-echo " gst-indent $file; git add $file; git commit"
-echo " "
-echo "================================================================================================="
- exit 1
- fi
-done
-echo "--Checking style pass--"
endif
configure_file(output: 'config.h', configuration: cdata)
-
-python3 = import('python').find_installation()
-run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
+++ /dev/null
-#!/bin/sh
-#
-# Check that the code follows a consistant code style
-#
-
-# Check for existence of indent, and error out if not present.
-# On some *bsd systems the binary seems to be called gnunindent,
-# so check for that first.
-
-version=`gnuindent --version 2>/dev/null`
-if test "x$version" = "x"; then
- version=`gindent --version 2>/dev/null`
- if test "x$version" = "x"; then
- version=`indent --version 2>/dev/null`
- if test "x$version" = "x"; then
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- exit 1
- else
- INDENT=indent
- fi
- else
- INDENT=gindent
- fi
-else
- INDENT=gnuindent
-fi
-
-case `$INDENT --version` in
- GNU*)
- ;;
- default)
- echo "GStreamer git pre-commit hook:"
- echo "Did not find GNU indent, please install it before continuing."
- echo "(Found $INDENT, but it doesn't seem to be GNU indent)"
- exit 1
- ;;
-esac
-
-INDENT_PARAMETERS="--braces-on-if-line \
- --case-brace-indentation0 \
- --case-indentation2 \
- --braces-after-struct-decl-line \
- --line-length80 \
- --no-tabs \
- --cuddle-else \
- --dont-line-up-parentheses \
- --continuation-indentation4 \
- --honour-newlines \
- --tab-size8 \
- --indent-level2 \
- --leave-preprocessor-space"
-
-echo "--Checking style--"
-for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$"` ; do
- # nf is the temporary checkout. This makes sure we check against the
- # revision in the index (and not the checked out version).
- nf=`git checkout-index --temp ${file} | cut -f 1`
- newfile=`mktemp /tmp/${nf}.XXXXXX` || exit 1
- $INDENT ${INDENT_PARAMETERS} \
- $nf -o $newfile 2>> /dev/null
- # FIXME: Call indent twice as it tends to do line-breaks
- # different for every second call.
- $INDENT ${INDENT_PARAMETERS} \
- $newfile 2>> /dev/null
- diff -u -p "${nf}" "${newfile}"
- r=$?
- rm "${newfile}"
- rm "${nf}"
- if [ $r != 0 ] ; then
-echo "================================================================================================="
-echo " Code style error in: $file "
-echo " "
-echo " Please fix before committing. Don't forget to run git add before trying to commit again. "
-echo " If the whole file is to be committed, this should work (run from the top-level directory): "
-echo " "
-echo " gst-indent $file; git add $file; git commit"
-echo " "
-echo "================================================================================================="
- exit 1
- fi
-done
-echo "--Checking style pass--"
-
-# This is an opt-in check, and can only be run from gst-build's devenv,
-# as outside of it MESON_BUILD_ROOT will not be set.
-#
-# The idea is to build the cache, and check if it has unstaged changes.
-# To accomodate for the git add -p case, where the developer will break
-# down a large change set into multiple commits, this hook will only
-# fail when there are no unstaged changes left to commit, in other
-# cases it will only print a reminder that the cache needs committing.
-if [ -v MESON_BUILD_ROOT ] && [ "$GST_CACHE_HOOK" == "enabled" ]; then
- echo "--Checking plugin cache--"
- toplevel=`git rev-parse --show-toplevel`
- repo_name=`basename $toplevel`
- target_name=`ninja -C $MESON_BUILD_ROOT -t targets all | grep "\/\<$repo_name\>\/.*\/gst_plugins_cache.json" | cut -d ":" -f 1`
- ninja -C $MESON_BUILD_ROOT $target_name
- cache_path=`git ls-files $toplevel/**gst_plugins_cache.json`
- git diff --quiet --exit-code -- $cache_path
- has_unstaged_cache_changes=$?
- git diff --quiet --exit-code -- ':!'$cache_path
- has_unstaged_non_cache_changes=$?
-
- if [ $has_unstaged_non_cache_changes != 0 ] ; then
- if [ $has_unstaged_cache_changes != 0 ]; then
- echo -e "\033[1;33mUnstaged cache changes, but working directory isn't clean, don't forget to commit the cache when you're done\033[0m"
- fi
- elif [ $has_unstaged_cache_changes != 0 ]; then
- echo -e "\033[1;31mUnstaged cache changes, but the working directory is clean, you must commit the cache\033[0m"
- exit 1
- else
- echo "--Checking plugin cache pass--"
- fi
-fi
endif
configure_file(output : 'config.h', configuration : cdata)
-run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')
install_data('gst-element-check-1.0.m4', install_dir : join_paths(get_option('datadir'), 'aclocal'))
if meson.version().version_compare('>= 0.54')