From 119ac806116a7537a31ae2484c6e98a873fbd05d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Vallv=C3=A9=20Navarro?= <jvallve@iri.upc.edu> Date: Thu, 25 Nov 2021 15:19:37 +0100 Subject: [PATCH] Update license_manager.sh --- scripts/license_manager.sh | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/scripts/license_manager.sh b/scripts/license_manager.sh index ee81a37..74f790a 100755 --- a/scripts/license_manager.sh +++ b/scripts/license_manager.sh @@ -12,6 +12,7 @@ line_end_mark="//--------LICENSE_END--------" tmp=false mode="none" path="" +exclude_folder="" #recursive=true license="" @@ -45,6 +46,10 @@ for i in "$@"; do fi shift # past argument=value ;; + --exclude=*) + exclude_folder="${i#*=}" + shift # past argument=value + ;; *) # unknown option ;; @@ -77,11 +82,19 @@ else fi fi -echo "mode: ${mode}" +if [ "$exclude_folder" == "" ]; then + echo "No folders will be excluded" +else + if [ -d "${path}/${exclude_folder}" ]; then + echo "Valid remove folder path: ${path}/${exclude_folder}" + fi +fi if [ $mode == "none" ]; then echo "Error: Script should be called with one of the following options: --update or --add" exit 1 +else + echo "mode: ${mode}" fi # PATH (AND tmp FOLDER) @@ -93,10 +106,17 @@ if [ $tmp == true ]; then folder=${path}_tmp fi +# LIST OF FILES TO BE ITERATED ON +if [ "$exclude_folder" == "" ]; then + file_list=$(find $folder -name '*.c' -or -name '*.cpp' -or -name '*.h' -or -name '*.hpp') +else + file_list=$(find $folder -path ${folder}/${exclude_folder} -prune -name '*.c' -or -name '*.cpp' -or -name '*.h' -or -name '*.hpp') +fi + # DETECT AND REMOVE EXISTING LICENSE -if [ $mode == "update" ]; then +if [ "$mode" == "update" ]; then echo "Recursely removing license header from all files (.c, .cpp, .h, .hpp)" - for i in $(find $folder -name '*.c' -or -name '*.cpp' -or -name '*.h' -or -name '*.hpp') + for i in $file_list do if grep -Fxq ${line_start_mark} $i then @@ -113,7 +133,7 @@ fi # ADD CONTENT OF license-file AT THE BEGINNING OF CODE FILES echo "Recursively adding license header to all files (.c, .cpp, .h, .hpp)" -for i in $(find $folder -name '*.c' -or -name '*.cpp' -or -name '*.h' -or -name '*.hpp') +for i in $file_list do if grep -Fxq ${line_start_mark} $i; then echo "skippping ${i}" -- GitLab