view scripts/minifier/minify.sh @ 138:274af514a5cf

flatpak: reworked packages + made a building script: a new `build_manifest.py` script can now be used to generate flatpak manifests for every frontend of SàT. The manifest can be used both for development versions and stable ones. Templates files (in the form `_tmp_<app-id>.json`) are used to set building instructions. A common runtime specific to SàT has been abandoned following a discussion on the official mailing list. A small wrapper is now used to launch backend automatically if it's not found. Desktop and app metadata have been added for Cagou. Jp and Primitivus don't have appdata and desktop files yet.
author Goffi <goffi@goffi.org>
date Sat, 22 Jun 2019 15:59:07 +0200 (2019-06-22)
parents 1596660ddf72
children
line wrap: on
line source
#!/bin/bash

# This is a helping script to minify HTML/CSS/JavaScript files

# Minify JS for Libervia's OTR - https://github.com/arlolra/otr
TOOL="yui compressor"
OTR_INPUT="otr/dep/bigint.js otr/dep/crypto.js otr/dep/eventemitter.js"
OTR_APPEND="otr/otr.min.js"
OTR_OUTPUT="otr.min.js"

rm -f $OTR_OUTPUT
if [[ $TOOL = "closure compiler" ]]; then
    # use https://developers.google.com/closure/compiler/
    # requires Java 7 SDK + compiler.jar in the current directory
    echo "Minifying $OTR_INPUT with closure compiler"
    java -jar compiler.jar  --js_output_file=$OTR_OUTPUT $OTR_INPUT
else
    for FILE in $OTR_INPUT; do
        if [[ $TOOL = "slimit" ]]; then
            # use https://pypi.python.org/pypi/slimit
            echo "Minifying $FILE with slimit"
            slimit $FILE >> $OTR_OUTPUT
        elif [[ $TOOL = "yui compressor" ]]; then
            # use https://pypi.python.org/pypi/yuicompressor
            echo "Minifying $FILE with YUI compressor"
            yuicompressor -o tmp.js $FILE
            cat tmp.js >> $OTR_OUTPUT
            rm -f tmp.js
        fi
    done
fi
cat $OTR_APPEND >> $OTR_OUTPUT
echo "The file $OTR_OUTPUT includes:
    - minified versions of the following otr.js dependencies:
      $OTR_INPUT
      The following minification tool has been used: $TOOL
    - minified version of otr.js taken from the project homepage

All original files can be retrieved from otr.js repository:
    https://github.com/arlolra/otr/tree/master/build
" > "$OTR_OUTPUT"_README