| #!/bin/bash |
| |
| # |
| # Copyright 2016 RIFT.IO Inc |
| # |
| # Licensed 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. |
| # |
| |
| # Unpack tar archives for plugins. Maintain a timestamp.txt file for each, so |
| # that tar archives are only unpacked if they have been changed. |
| # |
| # This script is needed to unpack the files as cpack cannot handle a lot of files. |
| |
| usage() { |
| echo "usage: $(basename ${BASH_SOURCE[0]})" |
| } |
| |
| function extract_node_modules() { |
| tar xf node_modules.tar |
| touch timestamp.txt |
| } |
| |
| # change to the directory of this script |
| THIS_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) |
| |
| cd $THIS_DIR |
| echo "Handling plugin node modules" |
| |
| cd ../plugins |
| for dir in */; do |
| echo "Checking plugin "${dir}" for newer node_modules" |
| cd ${dir} |
| if [ ! -f timestamp.txt ]; then |
| echo "timestamp file not found ... node_modules need to be expanded and timestamp needs to be touched" |
| extract_node_modules |
| else |
| echo "Checking if node_modules.tar has a newer timestamp than timestamp.txt" |
| if [[ node_modules.tar -nt timestamp.txt ]]; then |
| echo "node_modules.tar is newer than timestamp ... node modules need to be expanded and timestamp needs to be touched" |
| extract_node_modules |
| else |
| echo "node_modules.tar is older than timestamp ... nothing needs to be done" |
| fi |
| fi |
| cd .. |
| echo "Checking plugin "${dir}" for newer node_modules ...done" |
| done |
| |