freeipa/install/ui/util/compile.sh
Petr Vobornik 9d3364719d Dojo Builder
Added support for Dojo builder.

 * Includes built builder and patches required to build the builder.
 * _base/configRhino.js is required by the builder to run under rhino.
 * added utility scripts for running the builder
    * build.sh
    * clean.sh
    * compile.sh
    * make-builder.sh
    * prepare-dojo.sh

https://fedorahosted.org/freeipa/ticket/112
2013-01-18 15:10:35 +01:00

120 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
# Authors:
# Petr Vobornik <pvoborni@redhat.com>
#
# Copyright (C) 2012 Red Hat
# see file 'COPYING' for use and warranty information
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
RDIR=$DIR/../release
usage() {
cat <<-__EOF__;
NAME
compile.sh - Compiles layer file of Dojo build using uglify.js.
Deletes all other files.
SYNOPSIS
path/to/compile.sh [--help] --release RELEASE --layer NAME/NAME
DESCRIPTION
Compiles layer file of Dojo build output using uglify.js.
Deletes all other files.
OPTIONS
--help print the help message
-r
--release build release name
-l
--layer layer name
-o
--output output JavaScript file
__EOF__
}
if [ "$#" = "0" ] ; then
usage
exit 1
fi
args=`getopt -u -l help,release:,layer:,output: l:r:o: $*`
if test $? != 0
then
usage
exit 1
fi
set -- $args
for i
do
case "$i" in
--help)
shift;
HELP=1
;;
--release | -r)
shift;
RELEASE=$1
shift;
;;
--layer | -l)
shift;
LAYER=$1
shift;
;;
--output | -o)
shift;
OUTPUT_FILE=$1
shift;
;;
*)
;;
esac
done
if [[ $HELP ]] ; then
usage
exit 0
fi
if [[ ! $RELEASE ]] || [[ ! $LAYER ]] ; then
echo 'Wrong input \n use --help for instructions'
exit 1
fi
if [[ ! $OUTPUT_FILE ]] ; then
OUTPUT_FILE=$RDIR/$RELEASE/$LAYER.js
fi
# compile using uglify.js
$DIR/uglifyjs/uglify $RDIR/$RELEASE/$LAYER.js $OUTPUT_FILE
# clean all other files
BUILD_DIR=$RDIR/$RELEASE/`echo $LAYER | cut -d/ -f 1`
LAYER_FILE=`echo $LAYER | cut -d/ -f 2`.js
rm -f $RDIR/$RELEASE/build-report.txt
pushd $BUILD_DIR
if [[ $? != 0 ]] ; then
echo "Invalid build dir: $BUILD_DIR"
exit 1
fi
ls -1 | grep -v -e "^$LAYER_FILE$" | xargs rm -rf
popd