diff --git a/scripts/create_tarball.sh b/scripts/create_tarball.sh index d45a86f..250c818 100755 --- a/scripts/create_tarball.sh +++ b/scripts/create_tarball.sh @@ -1,178 +1,178 @@ -#!/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 ]" 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." +#!/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 ]" 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." diff --git a/scripts/insert_license.sh b/scripts/insert_license.sh index f71a1d4..1f56ba5 100755 --- a/scripts/insert_license.sh +++ b/scripts/insert_license.sh @@ -1,73 +1,73 @@ -#!/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 +#!/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 diff --git a/scripts/remove_license.sh b/scripts/remove_license.sh index 2676392..289ee86 100755 --- a/scripts/remove_license.sh +++ b/scripts/remove_license.sh @@ -1,86 +1,86 @@ -#!/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 +#!/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 diff --git a/scripts/run_cpplint.sh b/scripts/run_cpplint.sh index 577a59b..9717039 100755 --- a/scripts/run_cpplint.sh +++ b/scripts/run_cpplint.sh @@ -1,120 +1,120 @@ -#!/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 +#!/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 diff --git a/scripts/run_tests_cygwin.sh b/scripts/run_tests_cygwin.sh index 265d1ba..2c0eebe 100755 --- a/scripts/run_tests_cygwin.sh +++ b/scripts/run_tests_cygwin.sh @@ -1,42 +1,42 @@ -#!/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" +#!/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" diff --git a/scripts/run_tests_linux.sh b/scripts/run_tests_linux.sh index 3578c3e..91db2be 100755 --- a/scripts/run_tests_linux.sh +++ b/scripts/run_tests_linux.sh @@ -1,42 +1,42 @@ -#!/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" +#!/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"