X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=bin%2Fsetup.sh;h=b242dc4ae1e4767f5a35750e9e7883718ea72178;hb=2b045ddda290d41157e35bca77ef5290247c63fa;hp=482dee63332e65f4801c88ec33ed24e1a24a90e3;hpb=82e7a8b8a4054c4814900ddf5e8fc56d6819c134;p=civicrm-core.git diff --git a/bin/setup.sh b/bin/setup.sh index 482dee6333..b242dc4ae1 100755 --- a/bin/setup.sh +++ b/bin/setup.sh @@ -151,14 +151,24 @@ if [ -n "$DO_DOWNLOAD" ]; then fi BOWER=$(pickcmd node_modules/bower/bin/bower bower) - BOWER_HARD_RESET_TIME=1422672905 - if [ -d bower_components -a $( stat bower_components -c%W ) -lt $BOWER_HARD_RESET_TIME ]; then - ## If you make a breaking change to bower.json, then update BOWER_HARD_RESET_TIME. - ## Ex: If bower.json newly declares a dependency which had been loaded transitively, - ## then bower may fail to update the dependency, so should bump BOWER_HARD_RESET_TIME. - rm -rf bower_components + if [ -f "$BOWER" ]; then + NODE=$(pickcmd node nodejs) + BOWER="$NODE $BOWER" fi - $BOWER install + # Without the force flag, bower may not check for new versions or verify that installed software matches version specified in bower.json + # With the force flag, bower will ignore all caches and download all deps. + if [ -n "$OFFLINE" ]; then + BOWER_OPT= + elif [ ! -f "bower_components/.setupsh.ts" ]; then + ## First run -- or cleanup from failed run + BOWER_OPT=-f + elif [ "bower.json" -nt "bower_components/.setupsh.ts" ]; then + ## Bower.json has changed since last run + BOWER_OPT=-f + fi + [ -f "bower_components/.setupsh.ts" ] && rm -f "bower_components/.setupsh.ts" + $BOWER install $BOWER_OPT + touch bower_components/.setupsh.ts popd fi