Mercurial > repos > saskia-hiltemann > ireport_devel
comparison DataTables-1.9.4/scripts/make.sh @ 16:3c697a0bc415 draft default tip
Uploaded
| author | saskia-hiltemann |
|---|---|
| date | Wed, 06 Sep 2017 05:24:32 -0400 |
| parents | 3c160414da2e |
| children |
comparison
equal
deleted
inserted
replaced
| 15:1f44fe63e356 | 16:3c697a0bc415 |
|---|---|
| 1 #!/bin/sh | |
| 2 | |
| 3 cd ../media/src | |
| 4 | |
| 5 # DEFAULTS | |
| 6 CLOSURE="/usr/local/closure_compiler/compiler.jar" | |
| 7 JSDOC="/usr/local/jsdoc/jsdoc" | |
| 8 CMD=$1 | |
| 9 | |
| 10 MAIN_FILE="../js/jquery.dataTables.js" | |
| 11 MIN_FILE="../js/jquery.dataTables.min.js" | |
| 12 VERSION=$(grep " * @version " DataTables.js | awk -F" " '{ print $3 }') | |
| 13 | |
| 14 echo "" | |
| 15 echo " DataTables build ($VERSION)" | |
| 16 echo "" | |
| 17 | |
| 18 | |
| 19 IFS='%' | |
| 20 | |
| 21 cp DataTables.js DataTables.js.build | |
| 22 | |
| 23 echo " Building main script" | |
| 24 grep "require(" DataTables.js.build > /dev/null | |
| 25 while [ $? -eq 0 ]; do | |
| 26 REQUIRE=$(grep "require(" DataTables.js.build | head -n 1) | |
| 27 | |
| 28 SPACER=$(echo ${REQUIRE} | cut -d r -f 1) | |
| 29 FILE=$(echo ${REQUIRE} | sed -e "s#^.*require('##g" -e "s#');##") | |
| 30 DIR=$(echo ${FILE} | cut -d \. -f 1) | |
| 31 | |
| 32 sed "s#^#${SPACER}#" < ${DIR}/${FILE} > ${DIR}/${FILE}.build | |
| 33 | |
| 34 sed -e "/${REQUIRE}/r ${DIR}/${FILE}.build" -e "/${REQUIRE}/d" < DataTables.js.build > DataTables.js.out | |
| 35 mv DataTables.js.out DataTables.js.build | |
| 36 | |
| 37 rm ${DIR}/${FILE}.build | |
| 38 | |
| 39 grep "require(" DataTables.js.build > /dev/null | |
| 40 done | |
| 41 | |
| 42 mv DataTables.js.build $MAIN_FILE | |
| 43 | |
| 44 | |
| 45 if [ "$CMD" != "debug" ]; then | |
| 46 if [ "$CMD" = "jshint" -o "$CMD" = "" -o "$CMD" = "cdn" ]; then | |
| 47 echo " JSHint" | |
| 48 jshint $MAIN_FILE --config ../../scripts/jshint.config | |
| 49 if [ $? -ne 0 ]; then | |
| 50 echo " Errors occured - exiting" | |
| 51 exit 1 | |
| 52 else | |
| 53 echo " Pass" | |
| 54 fi | |
| 55 fi | |
| 56 | |
| 57 if [ "$CMD" = "compress" -o "$CMD" = "" -o "$CMD" = "cdn" ]; then | |
| 58 echo " Minification" | |
| 59 echo "/* | |
| 60 * File: jquery.dataTables.min.js | |
| 61 * Version: $VERSION | |
| 62 * Author: Allan Jardine (www.sprymedia.co.uk) | |
| 63 * Info: www.datatables.net | |
| 64 * | |
| 65 * Copyright 2008-2012 Allan Jardine, all rights reserved. | |
| 66 * | |
| 67 * This source file is free software, under either the GPL v2 license or a | |
| 68 * BSD style license, available at: | |
| 69 * http://datatables.net/license_gpl2 | |
| 70 * http://datatables.net/license_bsd | |
| 71 * | |
| 72 * This source file is distributed in the hope that it will be useful, but | |
| 73 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
| 74 * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. | |
| 75 */" > $MIN_FILE | |
| 76 | |
| 77 java -jar $CLOSURE --js $MAIN_FILE >> $MIN_FILE | |
| 78 echo " Min JS file size: $(ls -l $MIN_FILE | awk -F" " '{ print $5 }')" | |
| 79 fi | |
| 80 | |
| 81 if [ "$CMD" = "docs" -o "$CMD" = "" ]; then | |
| 82 echo " Documentation" | |
| 83 $JSDOC -d ../../docs -t JSDoc-DataTables $MAIN_FILE | |
| 84 fi | |
| 85 | |
| 86 if [ "$CMD" = "cdn" ]; then | |
| 87 echo " CDN" | |
| 88 if [ -d ../../cdn ]; then | |
| 89 rm -Rf ../../cdn | |
| 90 fi | |
| 91 mkdir ../../cdn | |
| 92 mkdir ../../cdn/css | |
| 93 cp $MAIN_FILE ../../cdn | |
| 94 cp $MIN_FILE ../../cdn | |
| 95 cp ../css/jquery.dataTables.css ../../cdn/css | |
| 96 cp ../css/jquery.dataTables_themeroller.css ../../cdn/css | |
| 97 cp -r ../images ../../cdn/ | |
| 98 rm ../../cdn/images/Sorting\ icons.psd | |
| 99 fi | |
| 100 fi | |
| 101 | |
| 102 | |
| 103 # Back to DataTables root dir | |
| 104 cd ../.. | |
| 105 | |
| 106 # | |
| 107 # Packaging files | |
| 108 # | |
| 109 cat <<EOF > package.json | |
| 110 { | |
| 111 "name": "DataTables", | |
| 112 "version": "${VERSION}", | |
| 113 "title": "DataTables", | |
| 114 "author": { | |
| 115 "name": "Allan Jardine", | |
| 116 "url": "http://sprymedia.co.uk" | |
| 117 }, | |
| 118 "licenses": [ | |
| 119 { | |
| 120 "type": "BSD", | |
| 121 "url": "http://datatables.net/license_bsd" | |
| 122 }, | |
| 123 { | |
| 124 "type": "GPLv2", | |
| 125 "url": "http://datatables.net/license_gpl2" | |
| 126 } | |
| 127 ], | |
| 128 "dependencies": { | |
| 129 "jquery": "1.4 - 1.8" | |
| 130 }, | |
| 131 "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.", | |
| 132 "keywords": [ | |
| 133 "DataTables", | |
| 134 "DataTable", | |
| 135 "table", | |
| 136 "grid", | |
| 137 "filter", | |
| 138 "sort", | |
| 139 "page", | |
| 140 "internationalisable" | |
| 141 ], | |
| 142 "homepage": "http://datatables.net" | |
| 143 } | |
| 144 EOF | |
| 145 | |
| 146 cat <<EOF > component.json | |
| 147 { | |
| 148 "name": "DataTables", | |
| 149 "version": "${VERSION}", | |
| 150 "main": [ | |
| 151 "./media/js/jquery.dataTables.js", | |
| 152 "./media/css/jquery.dataTables.css", | |
| 153 ], | |
| 154 "dependencies": { | |
| 155 "jquery": "~1.8.0" | |
| 156 } | |
| 157 } | |
| 158 EOF | |
| 159 | |
| 160 | |
| 161 echo " Done\n" | |
| 162 | |
| 163 |
