Mercurial > repos > saskia-hiltemann > ireport
diff DataTables-1.9.4/scripts/make.sh @ 0:ac5f9272033b draft
first upload
author | saskia-hiltemann |
---|---|
date | Tue, 01 Jul 2014 11:42:23 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DataTables-1.9.4/scripts/make.sh Tue Jul 01 11:42:23 2014 -0400 @@ -0,0 +1,163 @@ +#!/bin/sh + +cd ../media/src + +# DEFAULTS +CLOSURE="/usr/local/closure_compiler/compiler.jar" +JSDOC="/usr/local/jsdoc/jsdoc" +CMD=$1 + +MAIN_FILE="../js/jquery.dataTables.js" +MIN_FILE="../js/jquery.dataTables.min.js" +VERSION=$(grep " * @version " DataTables.js | awk -F" " '{ print $3 }') + +echo "" +echo " DataTables build ($VERSION)" +echo "" + + +IFS='%' + +cp DataTables.js DataTables.js.build + +echo " Building main script" +grep "require(" DataTables.js.build > /dev/null +while [ $? -eq 0 ]; do + REQUIRE=$(grep "require(" DataTables.js.build | head -n 1) + + SPACER=$(echo ${REQUIRE} | cut -d r -f 1) + FILE=$(echo ${REQUIRE} | sed -e "s#^.*require('##g" -e "s#');##") + DIR=$(echo ${FILE} | cut -d \. -f 1) + + sed "s#^#${SPACER}#" < ${DIR}/${FILE} > ${DIR}/${FILE}.build + + sed -e "/${REQUIRE}/r ${DIR}/${FILE}.build" -e "/${REQUIRE}/d" < DataTables.js.build > DataTables.js.out + mv DataTables.js.out DataTables.js.build + + rm ${DIR}/${FILE}.build + + grep "require(" DataTables.js.build > /dev/null +done + +mv DataTables.js.build $MAIN_FILE + + +if [ "$CMD" != "debug" ]; then + if [ "$CMD" = "jshint" -o "$CMD" = "" -o "$CMD" = "cdn" ]; then + echo " JSHint" + jshint $MAIN_FILE --config ../../scripts/jshint.config + if [ $? -ne 0 ]; then + echo " Errors occured - exiting" + exit 1 + else + echo " Pass" + fi + fi + + if [ "$CMD" = "compress" -o "$CMD" = "" -o "$CMD" = "cdn" ]; then + echo " Minification" + echo "/* + * File: jquery.dataTables.min.js + * Version: $VERSION + * Author: Allan Jardine (www.sprymedia.co.uk) + * Info: www.datatables.net + * + * Copyright 2008-2012 Allan Jardine, all rights reserved. + * + * This source file is free software, under either the GPL v2 license or a + * BSD style license, available at: + * http://datatables.net/license_gpl2 + * http://datatables.net/license_bsd + * + * This source file 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 license files for details. + */" > $MIN_FILE + + java -jar $CLOSURE --js $MAIN_FILE >> $MIN_FILE + echo " Min JS file size: $(ls -l $MIN_FILE | awk -F" " '{ print $5 }')" + fi + + if [ "$CMD" = "docs" -o "$CMD" = "" ]; then + echo " Documentation" + $JSDOC -d ../../docs -t JSDoc-DataTables $MAIN_FILE + fi + + if [ "$CMD" = "cdn" ]; then + echo " CDN" + if [ -d ../../cdn ]; then + rm -Rf ../../cdn + fi + mkdir ../../cdn + mkdir ../../cdn/css + cp $MAIN_FILE ../../cdn + cp $MIN_FILE ../../cdn + cp ../css/jquery.dataTables.css ../../cdn/css + cp ../css/jquery.dataTables_themeroller.css ../../cdn/css + cp -r ../images ../../cdn/ + rm ../../cdn/images/Sorting\ icons.psd + fi +fi + + +# Back to DataTables root dir +cd ../.. + +# +# Packaging files +# +cat <<EOF > package.json +{ + "name": "DataTables", + "version": "${VERSION}", + "title": "DataTables", + "author": { + "name": "Allan Jardine", + "url": "http://sprymedia.co.uk" + }, + "licenses": [ + { + "type": "BSD", + "url": "http://datatables.net/license_bsd" + }, + { + "type": "GPLv2", + "url": "http://datatables.net/license_gpl2" + } + ], + "dependencies": { + "jquery": "1.4 - 1.8" + }, + "description": "DataTables enhances HTML tables with the ability to sort, filter and page the data in the table very easily. It provides a comprehensive API and set of configuration options, allowing you to consume data from virtually any data source.", + "keywords": [ + "DataTables", + "DataTable", + "table", + "grid", + "filter", + "sort", + "page", + "internationalisable" + ], + "homepage": "http://datatables.net" +} +EOF + +cat <<EOF > component.json +{ + "name": "DataTables", + "version": "${VERSION}", + "main": [ + "./media/js/jquery.dataTables.js", + "./media/css/jquery.dataTables.css", + ], + "dependencies": { + "jquery": "~1.8.0" + } +} +EOF + + +echo " Done\n" + +