Commit 800ad718 by Tobias Schuele

Replaced shebang /bin/bash with /usr/bin/env bash in scripts.

parent bbb3c392
#!/bin/bash
# Copyright (c) 2014, Siemens AG. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
usage() {
echo "Create a tarball of the project. Specify the project root with";
echo "-d parameter.";
echo "";
echo "Version number and project name is automatically derived from CMakeLists.txt in the project root.";
echo "Tarball that will be created: [PROJECT_NAME]_[VERSION_NUMBER].tar.gz";
echo "Example call (from the scripts directory as working directory):";
echo "$0 -d ../";
echo "";
echo "Usage: $0 [-d <root project dir>]" 1>&2; exit 1;
}
while getopts ":d:" o; do
case "${o}" in
d)
d=${OPTARG}
;;
*)
usage
;;
esac
done
shift $((OPTIND-1))
if [ -z "${d}" ]; then
usage
fi
if [ ! -d "$d" ]; then
echo "Error, directory $d does not exist or is not a directory!"
echo ""
usage
fi
CMAKEFILE="$d/CMakeLists.txt"
if [ ! -f "$CMAKEFILE" ]; then
echo "Error, could no locate CMakeLists.txt"
echo ""
usage
fi
#derive version number from cmake script
VERSION_MAJOR=`cat $CMAKEFILE | grep EMBB_BASE_VERSION_MAJOR | sed "s/^[^0-9]*\([0-9]\+\)[^0-9]*$/\1/g"`
VERSION_MINOR=`cat $CMAKEFILE | grep EMBB_BASE_VERSION_MINOR | sed "s/^[^0-9]*\([0-9]\+\)[^0-9]*$/\1/g"`
VERSION_PATCH=`cat $CMAKEFILE | grep EMBB_BASE_VERSION_PATCH | sed "s/^[^0-9]*\([0-9]\+\)[^0-9]*$/\1/g"`
VERSION_NUMBER="${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
PROJECT_NAME=`cat $CMAKEFILE | grep project.*\(.*\) | sed "s/^[^(]*(\([^)]*\)).*$/\1/g" | tr '[:upper:]' '[:lower:]'`
n="${PROJECT_NAME}-${VERSION_NUMBER}"
TARBALL_NAME="${n}.tar.gz"
if ! [[ $TARBALL_NAME =~ ^[a-zA-Z0-9|\.|\_|-]+$ ]]; then
echo "Want to create tarball with name $TARBALL_NAME." >&2
echo 'Filename not valid, only a-z, A-Z, .,- and _ characters are allowed' >&2 # write to stderr
exit 1
fi
echo "Do you wish to create a tarball with the name $TARBALL_NAME in the current directory?"
select yn in "Yes" "No"; do
case $yn in
Yes ) break;;
No ) echo Leaving tarball creation; exit;;
esac
done
if [ -f "$TARBALL_NAME" ]; then
echo "File $TARBALL_NAME exists. Delete file?"
select yn in "Yes" "No"; do
case $yn in
Yes ) break;;
No ) echo Leaving tarball creation; exit;;
esac
done
rm $TARBALL_NAME
if [ -f "$TARBALL_NAME" ]; then
echo "Could not delete $TARBALL_NAME"
exit
fi
fi
MYTMPDIR=`mktemp -d`
echo "Using temporary directory $MYTMPDIR"
trap "rm -rf $MYTMPDIR" EXIT
echo "Calling rsync to temporary folder"
rsync \
--exclude ".git" \
--exclude ".gitignore" \
--exclude "build*/" \
--exclude "scripts/*.tar.gz" \
--exclude "scripts/cpplint.py" \
--exclude "scripts/create_tarball.sh" \
--exclude "scripts/insert_license.sh" \
--exclude "scripts/license.*" \
--exclude "scripts/license_*" \
--exclude "scripts/remove_license.sh" \
--exclude "mtapi/MTAPI.mm" \
--exclude ".cproject" \
--exclude ".gitattributes" \
--exclude ".project" \
--exclude "*.blg" \
--exclude "*.fls" \
--exclude "*.bbl" \
--exclude "*.fdb_latexmk" \
--exclude "*.log" \
--exclude "*.out" \
--exclude "*.toc" \
--exclude "*.aux" \
--exclude "doc/tutorial/sty" \
--exclude "doc/tutorial/pics" \
--exclude "doc/tutorial/content" \
--exclude "doc/tutorial/*.tex" \
--exclude "doc/tutorial/*.bib" \
--exclude "doc/reference/*.xml" \
--exclude "doc/reference/*.dox" \
--exclude "doc/reference/*.in" \
--exclude "doc/reference/header.html" \
--exclude "doc/reference/*.css" \
--exclude "doc/examples/insert_snippets.py" \
--archive --recursive ${d} $MYTMPDIR/${n}
echo "Replace version number in README"
README_FILE="$MYTMPDIR/${n}/README.txt"
if [ -f $README_FILE ]; then
sed -i "s/\[VERSION_NUMBER_TEMPLATE\]/$VERSION_NUMBER/g" $README_FILE
fi
echo "Checking line endings"
WINLINES=`find $MYTMPDIR/${n} -not -type d -exec file "{}" ";" | grep CRLF`
if [ -n "$WINLINES" ]; then
echo "Detected Dos line endings in following files:"
echo "$WINLINES"
echo "Warning: The project guidelines forbid Dos line endings. Continue creating tarball?"
select yn in "Yes" "No"; do
case $yn in
Yes ) break;;
No ) echo Leaving tarball creation; exit;;
esac
done
fi
echo "Calling tar"
tar -czf $TARBALL_NAME -C $MYTMPDIR ${n}
echo "Done. Created $TARBALL_NAME."
#!/usr/bin/env bash
# Copyright (c) 2014, Siemens AG. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
usage() {
echo "Create a tarball of the project. Specify the project root with";
echo "-d parameter.";
echo "";
echo "Version number and project name is automatically derived from CMakeLists.txt in the project root.";
echo "Tarball that will be created: [PROJECT_NAME]_[VERSION_NUMBER].tar.gz";
echo "Example call (from the scripts directory as working directory):";
echo "$0 -d ../";
echo "";
echo "Usage: $0 [-d <root project dir>]" 1>&2; exit 1;
}
while getopts ":d:" o; do
case "${o}" in
d)
d=${OPTARG}
;;
*)
usage
;;
esac
done
shift $((OPTIND-1))
if [ -z "${d}" ]; then
usage
fi
if [ ! -d "$d" ]; then
echo "Error, directory $d does not exist or is not a directory!"
echo ""
usage
fi
CMAKEFILE="$d/CMakeLists.txt"
if [ ! -f "$CMAKEFILE" ]; then
echo "Error, could no locate CMakeLists.txt"
echo ""
usage
fi
#derive version number from cmake script
VERSION_MAJOR=`cat $CMAKEFILE | grep EMBB_BASE_VERSION_MAJOR | sed "s/^[^0-9]*\([0-9]\+\)[^0-9]*$/\1/g"`
VERSION_MINOR=`cat $CMAKEFILE | grep EMBB_BASE_VERSION_MINOR | sed "s/^[^0-9]*\([0-9]\+\)[^0-9]*$/\1/g"`
VERSION_PATCH=`cat $CMAKEFILE | grep EMBB_BASE_VERSION_PATCH | sed "s/^[^0-9]*\([0-9]\+\)[^0-9]*$/\1/g"`
VERSION_NUMBER="${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
PROJECT_NAME=`cat $CMAKEFILE | grep project.*\(.*\) | sed "s/^[^(]*(\([^)]*\)).*$/\1/g" | tr '[:upper:]' '[:lower:]'`
n="${PROJECT_NAME}-${VERSION_NUMBER}"
TARBALL_NAME="${n}.tar.gz"
if ! [[ $TARBALL_NAME =~ ^[a-zA-Z0-9|\.|\_|-]+$ ]]; then
echo "Want to create tarball with name $TARBALL_NAME." >&2
echo 'Filename not valid, only a-z, A-Z, .,- and _ characters are allowed' >&2 # write to stderr
exit 1
fi
echo "Do you wish to create a tarball with the name $TARBALL_NAME in the current directory?"
select yn in "Yes" "No"; do
case $yn in
Yes ) break;;
No ) echo Leaving tarball creation; exit;;
esac
done
if [ -f "$TARBALL_NAME" ]; then
echo "File $TARBALL_NAME exists. Delete file?"
select yn in "Yes" "No"; do
case $yn in
Yes ) break;;
No ) echo Leaving tarball creation; exit;;
esac
done
rm $TARBALL_NAME
if [ -f "$TARBALL_NAME" ]; then
echo "Could not delete $TARBALL_NAME"
exit
fi
fi
MYTMPDIR=`mktemp -d`
echo "Using temporary directory $MYTMPDIR"
trap "rm -rf $MYTMPDIR" EXIT
echo "Calling rsync to temporary folder"
rsync \
--exclude ".git" \
--exclude ".gitignore" \
--exclude "build*/" \
--exclude "scripts/*.tar.gz" \
--exclude "scripts/cpplint.py" \
--exclude "scripts/create_tarball.sh" \
--exclude "scripts/insert_license.sh" \
--exclude "scripts/license.*" \
--exclude "scripts/license_*" \
--exclude "scripts/remove_license.sh" \
--exclude "mtapi/MTAPI.mm" \
--exclude ".cproject" \
--exclude ".gitattributes" \
--exclude ".project" \
--exclude "*.blg" \
--exclude "*.fls" \
--exclude "*.bbl" \
--exclude "*.fdb_latexmk" \
--exclude "*.log" \
--exclude "*.out" \
--exclude "*.toc" \
--exclude "*.aux" \
--exclude "doc/tutorial/sty" \
--exclude "doc/tutorial/pics" \
--exclude "doc/tutorial/content" \
--exclude "doc/tutorial/*.tex" \
--exclude "doc/tutorial/*.bib" \
--exclude "doc/reference/*.xml" \
--exclude "doc/reference/*.dox" \
--exclude "doc/reference/*.in" \
--exclude "doc/reference/header.html" \
--exclude "doc/reference/*.css" \
--exclude "doc/examples/insert_snippets.py" \
--archive --recursive ${d} $MYTMPDIR/${n}
echo "Replace version number in README"
README_FILE="$MYTMPDIR/${n}/README.md"
if [ -f $README_FILE ]; then
sed -i "s/\[VERSION_NUMBER_TEMPLATE\]/$VERSION_NUMBER/g" $README_FILE
fi
echo "Checking line endings"
WINLINES=`find $MYTMPDIR/${n} -not -type d -exec file "{}" ";" | grep CRLF`
if [ -n "$WINLINES" ]; then
echo "Detected Dos line endings in following files:"
echo "$WINLINES"
echo "Warning: The project guidelines forbid Dos line endings. Continue creating tarball?"
select yn in "Yes" "No"; do
case $yn in
Yes ) break;;
No ) echo Leaving tarball creation; exit;;
esac
done
fi
echo "Calling tar"
tar -czf $TARBALL_NAME -C $MYTMPDIR ${n}
echo "Done. Created $TARBALL_NAME."
#!/bin/bash
# Copyright (c) 2014, Siemens AG. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
usage() {
echo "Specify license file to add to each source file";
echo "and directory where to start to find files.";
echo "Example call:";
echo "./insert_license.sh -d ../ -l license.txt";
echo "";
echo "Usage: $0 [-d directory] [-l license_file]" 1>&2; exit 1;
}
while getopts ":d:l:" o; do
case "${o}" in
d)
d=${OPTARG}
;;
l)
l=${OPTARG}
;;
*)
usage
;;
esac
done
shift $((OPTIND-1))
if [ -z "${d}" ] || [ -z "${l}" ]; then
usage
fi
if [ ! -d "$d" ]; then
echo "Error, directory $d does not exist or is not a directory!"
echo ""
usage
fi
if [ ! -f "$l" ]; then
echo "Error, license file $l does not exist or is not a file!"
echo ""
usage
fi
for FILE in `find ${d} -name "*.h" -o -name "*.cc" -o -name "*.c" -o -name "*.h.in" -type f`
do
if ! grep -q COPYRIGHT $FILE
then
echo "Inserting license to: $FILE"
cat ${l} $FILE > $FILE.new && mv $FILE.new $FILE
fi
done
#!/usr/bin/env bash
# Copyright (c) 2014, Siemens AG. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
usage() {
echo "Specify license file to add to each source file";
echo "and directory where to start to find files.";
echo "Example call:";
echo "./insert_license.sh -d ../ -l license.txt";
echo "";
echo "Usage: $0 [-d directory] [-l license_file]" 1>&2; exit 1;
}
while getopts ":d:l:" o; do
case "${o}" in
d)
d=${OPTARG}
;;
l)
l=${OPTARG}
;;
*)
usage
;;
esac
done
shift $((OPTIND-1))
if [ -z "${d}" ] || [ -z "${l}" ]; then
usage
fi
if [ ! -d "$d" ]; then
echo "Error, directory $d does not exist or is not a directory!"
echo ""
usage
fi
if [ ! -f "$l" ]; then
echo "Error, license file $l does not exist or is not a file!"
echo ""
usage
fi
for FILE in `find ${d} -name "*.h" -o -name "*.cc" -o -name "*.c" -o -name "*.h.in" -type f`
do
if ! grep -q COPYRIGHT $FILE
then
echo "Inserting license to: $FILE"
cat ${l} $FILE > $FILE.new && mv $FILE.new $FILE
fi
done
#!/bin/bash
# Copyright (c) 2014, Siemens AG. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
usage() {
echo "Specify license file to remove from each source file";
echo "and directory where to start to find files.";
echo "License is only removed if existing.";
echo "";
echo "Example call:";
echo "./remove_license.sh -d ../ -l license.txt";
echo "";
echo "Usage: $0 [-d directory] [-l license_file]" 1>&2; exit 1;
}
while getopts ":d:l:" o; do
case "${o}" in
d)
d=${OPTARG}
;;
l)
l=${OPTARG}
;;
*)
usage
;;
esac
done
shift $((OPTIND-1))
if [ -z "${d}" ] || [ -z "${l}" ]; then
usage
fi
if [ ! -d "$d" ]; then
echo "Error, directory $d does not exist or is not a directory!"
echo ""
usage
fi
if [ ! -f "$l" ]; then
echo "Error, license file $l does not exist or is not a file!"
echo ""
usage
fi
LINES=`cat ${l} | wc -l`
LINESP1=$(($LINES + 1))
for FILE in `find ${d} -name "*.h" -o -name "*.cc" -o -name "*.c" -o -name "*.h.in" -type f`
do
if grep -q COPYRIGHT $FILE
then
echo "Processing: $FILE"
TEMP=$(mktemp /tmp/temporary-file.XXXXXXXX)
head -n $LINES $FILE > ${TEMP}
if [[ ! `diff ${TEMP} ${l}` ]]; then
echo "Strip license from file: $FILE"
tail -n +$LINESP1 $FILE > ${FILE}.new && mv ${FILE}.new ${FILE}
fi
fi
done
#!/usr/bin/env bash
# Copyright (c) 2014, Siemens AG. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
usage() {
echo "Specify license file to remove from each source file";
echo "and directory where to start to find files.";
echo "License is only removed if existing.";
echo "";
echo "Example call:";
echo "./remove_license.sh -d ../ -l license.txt";
echo "";
echo "Usage: $0 [-d directory] [-l license_file]" 1>&2; exit 1;
}
while getopts ":d:l:" o; do
case "${o}" in
d)
d=${OPTARG}
;;
l)
l=${OPTARG}
;;
*)
usage
;;
esac
done
shift $((OPTIND-1))
if [ -z "${d}" ] || [ -z "${l}" ]; then
usage
fi
if [ ! -d "$d" ]; then
echo "Error, directory $d does not exist or is not a directory!"
echo ""
usage
fi
if [ ! -f "$l" ]; then
echo "Error, license file $l does not exist or is not a file!"
echo ""
usage
fi
LINES=`cat ${l} | wc -l`
LINESP1=$(($LINES + 1))
for FILE in `find ${d} -name "*.h" -o -name "*.cc" -o -name "*.c" -o -name "*.h.in" -type f`
do
if grep -q COPYRIGHT $FILE
then
echo "Processing: $FILE"
TEMP=$(mktemp /tmp/temporary-file.XXXXXXXX)
head -n $LINES $FILE > ${TEMP}
if [[ ! `diff ${TEMP} ${l}` ]]; then
echo "Strip license from file: $FILE"
tail -n +$LINESP1 $FILE > ${FILE}.new && mv ${FILE}.new ${FILE}
fi
fi
done
#!/bin/bash
# Copyright (c) 2014, Siemens AG. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
usage() {
echo "Run Google C++ Style Guide checking on project.";
echo "Specify EMBB root directory with -d and the";
echo "cpplint executable with -c. If not specified";
echo "it is assumed the cpplint binary is contained";
echo "in the current working directory.";
echo "";
echo "Usage: $0 [-d directory] [-c cpplint_executable] " 1>&2; exit 1;
}
while getopts ":d:c:" o; do
case "${o}" in
d)
d=${OPTARG}
;;
c)
c=${OPTARG}
;;
*)
usage
;;
esac
done
shift $((OPTIND-1))
if [ -z "${d}" ]; then
usage
fi
if [ ! -d "$d" ]; then
echo "Error: directory $d does not exist or is not a directory!"
echo ""
usage
fi
if [ -z "${c}" ]; then
echo "cpplint binary not specified, assuming to be contained in the current working directory!"
c="./cpplint.py"
fi
if [ ! -f "${c}" ]; then
echo "Error: cannot find cpplint script (Location: ${c})"
echo
usage
fi
##Excluded Rules
EXCLUDED_RULES="-runtime/references,-runtime/int,-build/include_order,-readability/multiline_comment,-readability/streams,-readability/alt_tokens,-whitespace/comments"
PARENTHESIS_RULE=",-whitespace/parens"
C_CAST_RULE=",-readability/casting"
LONG_LINES_RULE=",-whitespace/line_length"
##Excluded files
RAND_FILES=( embb_mtapi_test_group.cc embb_mtapi_test_queue.cc embb_mtapi_test_task.cc queue_test-inl.h )
for project in base_c mtapi_c base_cpp mtapi_cpp algorithms_cpp containers_cpp dataflow_cpp
do
echo "-> Doing project: $project"
dir=$d/$project
if [ ! -d "$dir" ]; then
echo "Error: cannot find directory $dir for project $project"
echo
usage
fi
for file in `find $dir -name "*.cc" -o -name "*.h" -o -name "*inl.h" -o -name "*.c"`
do
echo "--> Run cpplint on file $file"
current_rules=$EXCLUDED_RULES
if [[ $file =~ \.h$ ]]; then
current_rules+=$PARENTHESIS_RULE
fi
if [[ $file =~ \.c$ ]] || [[ $file =~ \mtapi.h$ ]]; then
current_rules+=$C_CAST_RULE
fi
if [[ $file == *atomic* ]]; then
current_rules+=$LONG_LINES_RULE
fi
############
#Per file exclusion rules
if [[ $file == *generate_atomic_implementation_template.h ]]; then
current_rules+=",-build/header_guard" # This file needs to be included multiple times
fi
if [[ $file == *atomic.h ]]; then
current_rules+=",-whitespace/indent" # indention is misinterpreted for this file
fi
if [[ $file == *atomic_arithmetic.h ]]; then
current_rules+=",-readability/function" # All parameters should be named in a function
fi
for filename in "${RAND_FILES[@]}"; do
if [[ $file =~ $filename ]]; then
current_rules+=",-runtime/threadsafe_fn" # These tests are allowed to use the thread unsafe rand()
fi
done
python ${c} --filter=$current_rules --root="$project/include" $file
done
done
#!/usr/bin/env bash
# Copyright (c) 2014, Siemens AG. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
usage() {
echo "Run Google C++ Style Guide checking on project.";
echo "Specify EMBB root directory with -d and the";
echo "cpplint executable with -c. If not specified";
echo "it is assumed the cpplint binary is contained";
echo "in the current working directory.";
echo "";
echo "Usage: $0 [-d directory] [-c cpplint_executable] " 1>&2; exit 1;
}
while getopts ":d:c:" o; do
case "${o}" in
d)
d=${OPTARG}
;;
c)
c=${OPTARG}
;;
*)
usage
;;
esac
done
shift $((OPTIND-1))
if [ -z "${d}" ]; then
usage
fi
if [ ! -d "$d" ]; then
echo "Error: directory $d does not exist or is not a directory!"
echo ""
usage
fi
if [ -z "${c}" ]; then
echo "cpplint binary not specified, assuming to be contained in the current working directory!"
c="./cpplint.py"
fi
if [ ! -f "${c}" ]; then
echo "Error: cannot find cpplint script (Location: ${c})"
echo
usage
fi
##Excluded Rules
EXCLUDED_RULES="-runtime/references,-runtime/int,-build/include_order,-readability/multiline_comment,-readability/streams,-readability/alt_tokens,-whitespace/comments"
PARENTHESIS_RULE=",-whitespace/parens"
C_CAST_RULE=",-readability/casting"
LONG_LINES_RULE=",-whitespace/line_length"
##Excluded files
RAND_FILES=( embb_mtapi_test_group.cc embb_mtapi_test_queue.cc embb_mtapi_test_task.cc queue_test-inl.h )
for project in base_c mtapi_c base_cpp mtapi_cpp algorithms_cpp containers_cpp dataflow_cpp
do
echo "-> Doing project: $project"
dir=$d/$project
if [ ! -d "$dir" ]; then
echo "Error: cannot find directory $dir for project $project"
echo
usage
fi
for file in `find $dir -name "*.cc" -o -name "*.h" -o -name "*inl.h" -o -name "*.c"`
do
echo "--> Run cpplint on file $file"
current_rules=$EXCLUDED_RULES
if [[ $file =~ \.h$ ]]; then
current_rules+=$PARENTHESIS_RULE
fi
if [[ $file =~ \.c$ ]] || [[ $file =~ \mtapi.h$ ]]; then
current_rules+=$C_CAST_RULE
fi
if [[ $file == *atomic* ]]; then
current_rules+=$LONG_LINES_RULE
fi
############
#Per file exclusion rules
if [[ $file == *generate_atomic_implementation_template.h ]]; then
current_rules+=",-build/header_guard" # This file needs to be included multiple times
fi
if [[ $file == *atomic.h ]]; then
current_rules+=",-whitespace/indent" # indention is misinterpreted for this file
fi
if [[ $file == *atomic_arithmetic.h ]]; then
current_rules+=",-readability/function" # All parameters should be named in a function
fi
for filename in "${RAND_FILES[@]}"; do
if [[ $file =~ $filename ]]; then
current_rules+=",-runtime/threadsafe_fn" # These tests are allowed to use the thread unsafe rand()
fi
done
python ${c} --filter=$current_rules --root="$project/include" $file
done
done
#!/bin/bash
# Copyright (c) 2014, Siemens AG. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
# Needs to be located in the folder containing the tests!!
# Is copied automatically there when generating build files with cmake.
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
"$DIR/embb_base_c_test.exe"
echo
"$DIR/embb_base_cpp_test.exe"
echo
"$DIR/embb_mtapi_c_test.exe"
echo
"$DIR/embb_mtapi_cpp_test.exe"
echo
"$DIR/embb_algorithms_cpp_test.exe"
echo
"$DIR/embb_containers_cpp_test.exe"
echo
"$DIR/embb_dataflow_cpp_test.exe"
#!/usr/bin/env bash
# Copyright (c) 2014, Siemens AG. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
# Needs to be located in the folder containing the tests!!
# Is copied automatically there when generating build files with cmake.
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
"$DIR/embb_base_c_test.exe"
echo
"$DIR/embb_base_cpp_test.exe"
echo
"$DIR/embb_mtapi_c_test.exe"
echo
"$DIR/embb_mtapi_cpp_test.exe"
echo
"$DIR/embb_algorithms_cpp_test.exe"
echo
"$DIR/embb_containers_cpp_test.exe"
echo
"$DIR/embb_dataflow_cpp_test.exe"
#!/bin/bash
# Copyright (c) 2014, Siemens AG. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Needs to be located in the folder containing the tests!!
# Is copied automatically there when generating build files with cmake.
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
"$DIR/embb_base_c_test"
echo
"$DIR/embb_base_cpp_test"
echo
"$DIR/embb_mtapi_c_test"
echo
"$DIR/embb_mtapi_cpp_test"
echo
"$DIR/embb_algorithms_cpp_test"
echo
"$DIR/embb_containers_cpp_test"
echo
"$DIR/embb_dataflow_cpp_test"
#!/usr/bin/env bash
# Copyright (c) 2014, Siemens AG. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Needs to be located in the folder containing the tests!!
# Is copied automatically there when generating build files with cmake.
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
"$DIR/embb_base_c_test"
echo
"$DIR/embb_base_cpp_test"
echo
"$DIR/embb_mtapi_c_test"
echo
"$DIR/embb_mtapi_cpp_test"
echo
"$DIR/embb_algorithms_cpp_test"
echo
"$DIR/embb_containers_cpp_test"
echo
"$DIR/embb_dataflow_cpp_test"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment