blob: 3f1e22c6a3e6ba13e6ec1c31d1f66c33d07b20db [file] [log] [blame]
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
cd "$(dirname $0)"
cd ..
project_path=`pwd`
echo "project path is $project_path"
java_license='''/*\
* Licensed to the Apache Software Foundation (ASF) under one or more\
* contributor license agreements. See the NOTICE file distributed with\
* this work for additional information regarding copyright ownership.\
* The ASF licenses this file to You under the Apache License, Version 2.0\
* (the "License"); you may not use this file except in compliance with\
* the License. You may obtain a copy of the License at\
* \
* http://www.apache.org/licenses/LICENSE-2.0\
* \
* Unless required by applicable law or agreed to in writing, software\
* distributed under the License is distributed on an "AS IS" BASIS,\
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\
* See the License for the specific language governing permissions and\
* limitations under the License.\
*/\
'''
xml_license='''<?xml version="1.0" encoding="UTF-8"?>\
<!--\
~ Licensed to the Apache Software Foundation (ASF) under one or more\
~ contributor license agreements. See the NOTICE file distributed with\
~ this work for additional information regarding copyright ownership.\
~ The ASF licenses this file to You under the Apache License, Version 2.0\
~ (the "License"); you may not use this file except in compliance with\
~ the License. You may obtain a copy of the License at\
~ \
~ http://www.apache.org/licenses/LICENSE-2.0\
~ \
~ Unless required by applicable law or agreed to in writing, software\
~ distributed under the License is distributed on an "AS IS" BASIS,\
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\
~ See the License for the specific language governing permissions and\
~ limitations under the License.\
-->\
'''
sh_license='''# \
# Licensed to the Apache Software Foundation (ASF) under one or more\
# contributor license agreements. See the NOTICE file distributed with\
# this work for additional information regarding copyright ownership.\
# The ASF licenses this file to You under the Apache License, Version 2.0\
# (the "License"); you may not use this file except in compliance with\
# the License. You may obtain a copy of the License at\
# http://www.apache.org/licenses/LICENSE-2.0\
# Unless required by applicable law or agreed to in writing, software\
# distributed under the License is distributed on an "AS IS" BASIS,\
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\
# See the License for the specific language governing permissions and\
# limitations under the License.\
#\
'''
#remove license of java files
remove_java_license(){
files=`find -type f -name *.java`
for file in $files;do
line_cnt=$(cat -n $file | awk '{if($2=="package")print $1}'|head -1)
if [[ $line_cnt -gt 1 ]];then
line_cnt=$((line_cnt-1))
echo "$file line_cnt=$line_cnt"
sed -i "1,${line_cnt}d" $file
fi
done
}
#remove license of scala files
remove_scala_license(){
files=`find -type f -name *.scala`
for file in $files;do
line_cnt=$(cat -n $file | awk '{if($2=="package")print $1}'|head -1)
if [[ $line_cnt -gt 1 ]];then
line_cnt=$((line_cnt-1))
echo "$file line_cnt=$line_cnt"
sed -i "1,${line_cnt}d" $file
fi
done
}
#remove license of xml files
remove_xml_license(){
files=`find -type f -name "*.xml" |xargs grep -l "limitations under the License"`
for file in $files;do
line_cnt=$(cat -n $file | grep -v '<?' |grep -v '<!' | grep -e "[0-9]*[[:space:]]*<" |head -1 | awk '{print $1}')
if [[ $line_cnt -gt 1 ]];then
line_cnt=$((line_cnt-1))
echo "$file line_cnt=$line_cnt"
sed -i "1,${line_cnt}d" $file
fi
done
}
#remove license of js files
remove_js_license(){
files=`find -type f -name "*.js" |xargs grep -l "limitations under the License"`
for file in $files;do
line_cnt=$(cat -n $file | awk '{if($2=="*/")print $1}' | head -1)
if [[ $line_cnt -gt 1 ]];then
#line_cnt=$((line_cnt-1))
echo "$file line_cnt=$line_cnt"
sed -i "1,${line_cnt}d" $file
#remove the top empty line
fi
done
}
#remove license of scss files
remove_scss_license(){
files=`find -type f -name "*.scss" | xargs grep -l "limitations under the License"`
for file in $files;do
line_cnt=$(cat -n $file | awk '{if($2=="*/")print $1}' | head -1)
if [[ $line_cnt -gt 1 ]];then
#line_cnt=$((line_cnt-1))
echo "$file line_cnt=$line_cnt"
sed -i "1,${line_cnt}d" $file
fi
done
}
#remove license of sh files
remove_sh_license(){
files=`find -type f -name "*.sh" | xargs grep -l "limitations under the License"`
for file in $files;do
line_cnt=$(cat -n $file | grep -A 1 "limitations under the License" |head -1 | sed "s|limitations under the License.*||" |awk '{if($3=="")print $1}' | tail -1)
if [[ $line_cnt -gt 1 ]] && [[ $line_cnt -lt 20 ]];then
#line_cnt=$((line_cnt-1))
echo "$file line_cnt=$line_cnt"
sed -i "1,${line_cnt}d" $file
fi
done
}
#remove license of properties files
remove_properties_license(){
files=`find -type f -name "*.properties" | xargs grep -l "limitations under the License"`
for file in $files;do
line_cnt=$(cat -n $file | grep -A 1 "limitations under the License" |head -1 | sed "s|limitations under the License.*||" |awk '{if($3=="")print $1}' | tail -1)
if [[ $line_cnt -gt 1 ]] && [[ $line_cnt -lt 20 ]];then
#line_cnt=$((line_cnt-1))
echo "$file line_cnt=$line_cnt"
sed -i "1,${line_cnt}d" $file
fi
done
}
remove_java_license
find -type f -name "*.java" | xargs sed -i "1i $java_license"
remove_scala_license
find -type f -name "*.scala" | xargs sed -i "1i $java_license"
remove_xml_license
find -type f -name "*.xml" | xargs sed -i "1i $xml_license"
remove_js_license
find -type f -name "*.js" |xargs sed -i "/^\r/d"
ind -type f -name "*.js" |xargs sed -i "/^$/d"
find -type f -name "*.js" | xargs sed -i "1i $java_license"
remove_scss_license
find -type f -name "*.scss" |xargs sed -i "/^\r/d"
find -type f -name "*.scss" |xargs sed -i "/^$/d"
find -type f -name "*.scss" | xargs sed -i "1i $java_license"
remove_properties_license
find -type f -name "*.properties" |xargs sed -i "/^\r/d"
find -type f -name "*.properties" |xargs sed -i "/^$/d"
find -type f -name "*.properties" | xargs sed -i "1i $sh_license"
#add license for sql files
find -type f -name "*.sql" | xargs sed -i "1i $java_license"
#add license for vue files
find -type f -name "*.vue" | xargs sed -i "1i $xml_license"
find -type f -name "*.vue" | xargs sed -i '1d'