deluge/deluge/ui/web/js/build.sh

67 lines
2.4 KiB
Bash
Executable File

DELUGE_FILES="Deluge.js Deluge.Formatters.js Deluge.Menus.js Deluge.Events.js Deluge.OptionsManager.js Deluge.MultiOptionsManager.js Deluge.Add.js Deluge.Add.File.js Deluge.Add.Url.js Deluge.Client.js Deluge.ConnectionManager.js Deluge.Details.js Deluge.Details.Status.js Deluge.Details.Details.js Deluge.Details.Files.js Deluge.Details.Peers.js Deluge.Details.Options.js Deluge.EditTrackers.js Deluge.Keys.js Deluge.Login.js Deluge.MoveStorage.js Deluge.Plugin.js Deluge.Preferences.js Deluge.Preferences.Downloads.js Deluge.Preferences.Network.js Deluge.Preferences.Encryption.js Deluge.Preferences.Bandwidth.js Deluge.Preferences.Interface.js Deluge.Preferences.Other.js Deluge.Preferences.Daemon.js Deluge.Preferences.Queue.js Deluge.Preferences.Proxy.js Deluge.Preferences.Notification.js Deluge.Preferences.Cache.js Deluge.Preferences.Plugins.js Deluge.Remove.js Deluge.Sidebar.js Deluge.Statusbar.js Deluge.Toolbar.js Deluge.Torrents.js Deluge.UI.js"
ALL_FILES="ext-extensions-debug.js $DELUGE_FILES"
DELUGE="deluge-all.js"
EXT_EXTENSIONS="ext-extensions.js"
[ -e /usr/bin/jsdoc_toolkit ] && JSDOC="/usr/bin/jsdoc_toolkit"
[ -e /usr/local/bin/jsdoc-toolkit ] && JSDOC="/usr/local/bin/jsdoc-toolkit"
scan() {
cat /dev/null > .build_data.tmp
for FILE in $ALL_FILES; do
md5sum $FILE >> .build_data.tmp
done;
}
check_file() {
# No build data is stored so return 1 since we can't make any guesses.
[ ! -e .build_data ] && return 1;
FILE=$1
LAST_BUILD=`grep $FILE .build_data`
if [ $? == 1 ]; then return 1; fi;
CURRENT=`grep $FILE .build_data.tmp`
[ "$CURRENT" != "$LAST_BUILD" ] && return 1
return 0;
}
build_deluge() {
NEEDS_BUILD=false;
for FILE in $DELUGE_FILES; do
check_file $FILE
[ $? == 1 ] && NEEDS_BUILD=true
done;
[ $NEEDS_BUILD == false ] && return 0
echo "Building $DELUGE"
cat $DELUGE_FILES > $DELUGE.tmp
yuicompressor --type=js -o "$DELUGE" "$DELUGE.tmp" && rm "$DELUGE.tmp"
}
build_docs() {
echo "building docs";
$JSDOC -d="../docs/" $ALL_FILES
}
build_ext() {
check_file "ext-extensions-debug.js"
if [ $? == 1 ]; then
echo "Building $EXT_EXTENSIONS"
yuicompressor --type=js -o "$EXT_EXTENSIONS" "ext-extensions-debug.js"
fi;
}
if [ "$1" = "docs" ]; then
build_docs
else
scan
build_ext
build_deluge
mv .build_data.tmp .build_data
fi;