6
6
LOG_FILE=" $PROJECT_ROOT /compile.log"
7
7
rm -f $LOG_FILE
8
8
if [ ! -f " $TOOL_BIN_DIR /closure.jar" ]; then
9
- echo " Closure compiler is not installed, downloading..." > $LOG_FILE
9
+ printf ' %s\n ' " Closure compiler is not installed, downloading..." > $LOG_FILE
10
10
# $SCRIPT_BIN_DIR/helpers/download.sh "$CLOSURE_LATEST" "$TEMP_DIR/closure.tar.gz" 1>>/dev/null 2>>/dev/stdout | tee -a $LOG_FILE | cat 1>&2
11
11
$SCRIPT_BIN_DIR /helpers/download.sh " $CLOSURE_LATEST " " $TEMP_DIR /closure.jar" 1>> /dev/null 2>> /dev/stdout | tee -a $LOG_FILE | cat 1>&2
12
12
TEMPVAR_1=" $PWD "
@@ -20,21 +20,21 @@ if [ ! -f "$TOOL_BIN_DIR/closure.jar" ]; then
20
20
fi
21
21
TEMPVAR_1=" $PWD "
22
22
cd " $PROJECT_SOURCE_DIR "
23
- FILES_TO_COMPILE=" $( find ./ -type f -name " *.js" ! -name " *.min.js" ! -name " *.test.js" ! -path " *__tests__*" | sed -e " s'^\\ ./''" ) "
24
- FILES_TO_COPY=" $( find ./ -type f ! -name " .gitignore" ! -name " *.js" ! -name " *.min.js" ! -name " *.test.js" ! -path " *__tests__*" | sed -e " s'^\\ ./''" ) "
25
- FILE_COUNT=$( echo " $FILES_TO_COMPILE " | wc -l | awk ' {$1=$1};1' )
23
+ FILES_TO_COMPILE=" $( find ./ -type f -name " *.js" ! -name " *.min.js" ! -name " *.test.js" ! -path " *__tests__*" | sed -e " s'^\\ ./* ''" ) "
24
+ FILES_TO_COPY=" $( find ./ -type f ! -name " .gitignore" ! -name " *.js" ! -name " *.min.js" ! -name " *.test.js" ! -path " *__tests__*" | sed -e " s'^\\ ./* ''" ) "
25
+ FILE_COUNT=$( printf ' %s\n ' " $FILES_TO_COMPILE " | wc -l | awk ' {$1=$1};1' )
26
26
cd " $TEMPVAR_1 "
27
27
unset TEMPVAR_1
28
28
29
29
for f in $FILES_TO_COMPILE
30
30
do
31
31
if $SCRIPT_BIN_DIR /helpers/file-modification-test.sh test " $f " $FILE_COUNT ; then
32
- OUTPUT_FILE=" $BIN_DIR /$( echo " $f " | sed -n ' s|\.js|.min.js|p' ) "
32
+ OUTPUT_FILE=" $BIN_DIR /$( printf ' %s\n ' " $f " | sed -n ' s|\.js|.min.js|p' ) "
33
33
OUTPUT_FILE_DEBUG=" $DEBUG_BIN_DIR /$f "
34
- OUTPUT_SOURCEMAP=" $BIN_DIR /$( echo " $f " | sed -n ' s|\.js|.map|p' ) "
34
+ OUTPUT_SOURCEMAP=" $BIN_DIR /$( printf ' %s\n ' " $f " | sed -n ' s|\.js|.map|p' ) "
35
35
rm -rf " $OUTPUT_FILE " > /dev/null 2>&1
36
- echo " Packaging debug version of $f as $OUTPUT_FILE_DEBUG ..." | tee -a $LOG_FILE
37
- echo " Compiling $f as $OUTPUT_FILE ..." | tee -a $LOG_FILE
36
+ printf ' %s\n ' " Packaging debug version of $f as $OUTPUT_FILE_DEBUG ..." | tee -a $LOG_FILE
37
+ printf ' %s\n ' " Compiling $f as $OUTPUT_FILE ..." | tee -a $LOG_FILE
38
38
mkdir -p " $( dirname " $OUTPUT_FILE " ) /"
39
39
mkdir -p " $( dirname " $OUTPUT_FILE_DEBUG " ) /"
40
40
if [ ! -f " $PROJECT_INCLUDE_DIR /$f " ]; then
45
45
SOURCE_CODE=" $( cat " $PROJECT_SOURCE_DIR /$f " ) "
46
46
47
47
WRAPPER=" $CLOSURE_OUTPUT_WRAPPER_PREFIX$FILE_COUNT$CLOSURE_OUTPUT_WRAPPER_SUFFIX "
48
- DEBUG_PREFIX=" $( echo " $WRAPPER " | sed ' s/^\(.*\)%output%.*$/\1/g' ) "
49
- DEBUG_SUFFIX=" $( echo " $WRAPPER " | sed ' s/^.*%output%\(.*\)$/\1/g' ) "
48
+ DEBUG_PREFIX=" $( printf ' %s\n ' " $WRAPPER " | sed ' s/^\(.*\)%output%.*$/\1/g' ) "
49
+ DEBUG_SUFFIX=" $( printf ' %s\n ' " $WRAPPER " | sed ' s/^.*%output%\(.*\)$/\1/g' ) "
50
50
51
51
INCLUDE_LIST=" --externs '$PROJECT_INCLUDE_DIR /shared.include.js' --externs '$PROJECT_INCLUDE_DIR /sabre.js'"
52
- FILES_TO_INCLUDE=" $( echo " $SOURCE_CODE " | grep -E " //@include \[..*?\]" | sed -E " s|//@include \[(..*?)\]|\1.js|g" | tr ' \r\n' ' ' | tr ' \n' ' ' ) "
53
- SOURCE_CODE_DEBUG=" $( echo " const DEBUG=true;" ; echo " $SOURCE_CODE " | sed -E ' s~//@include \[(..*?)\]~if(typeof require !== "function"){sabre.import("\1");}else{require("./\1.js");}~g' ) "
54
- SOURCE_CODE_BUILD=" $( echo " const DEBUG=false;" ; echo " $SOURCE_CODE " | sed -E ' s~//@include \[(..*?)\]~if(typeof require !== "function"){sabre.import("\1");}else{require("./\1.min.js");}~g' ) "
52
+ FILES_TO_INCLUDE=" $( printf ' %s\n ' " $SOURCE_CODE " | grep -E " //@include \[..*?\]" | sed -E " s|//@include \[(..*?)\]|\1.js|g" | tr ' \r\n' ' ' | tr ' \n' ' ' ) "
53
+ SOURCE_CODE_DEBUG=" $( printf ' %s\n ' " const DEBUG=true;" ; printf ' %s\n ' " $SOURCE_CODE " | sed -E ' s~//@include \[(..*?)\]~if(typeof require !== "function"){sabre.import("\1");}else{require("./\1.js");}~g' ) "
54
+ SOURCE_CODE_BUILD=" $( printf ' %s\n ' " const DEBUG=false;" ; printf ' %s\n ' " $SOURCE_CODE " | sed -E ' s~//@include \[(..*?)\]~if(typeof require !== "function"){sabre.import("\1");}else{require("./\1.min.js");}~g' ) "
55
55
56
- echo " $DEBUG_PREFIX " > " $OUTPUT_FILE_DEBUG "
57
- echo " $SOURCE_CODE_DEBUG " >> " $OUTPUT_FILE_DEBUG "
58
- echo " $DEBUG_SUFFIX " >> " $OUTPUT_FILE_DEBUG "
56
+ printf ' %s\n ' " $DEBUG_PREFIX " > " $OUTPUT_FILE_DEBUG "
57
+ printf ' %s\n ' " $SOURCE_CODE_DEBUG " >> " $OUTPUT_FILE_DEBUG "
58
+ printf ' %s\n ' " $DEBUG_SUFFIX " >> " $OUTPUT_FILE_DEBUG "
59
59
60
60
for include in $FILES_TO_INCLUDE
61
61
do
62
62
if [ ! " $include " = " $f " ]; then
63
63
INCLUDE_LIST=" $INCLUDE_LIST --externs '$PROJECT_INCLUDE_DIR /$include '"
64
64
fi
65
65
done
66
- echo " $SOURCE_CODE_BUILD " | $SCRIPT_BIN_DIR /helpers/execute-java.sh -jar " \" $TOOL_BIN_DIR /closure.jar\" " $CLOSURE_TYPE_INF --jscomp_off=unknownDefines --jscomp_off=globalThis --jscomp_error=visibility --assume_function_wrapper --compilation_level=$CLOSURE_COMPILATION_LEVEL --warning_level=$CLOSURE_LOGGING_DETAIL --language_in=$CLOSURE_INPUT_LANGUAGE_VERSION --language_out=$CLOSURE_OUTPUT_LANGUAGE_VERSION --use_types_for_optimization=$CLOSURE_ENABLE_TYPED_OPTIMIZATION --assume_function_wrapper --output_wrapper=" \" $CLOSURE_OUTPUT_WRAPPER_PREFIX$FILE_COUNT$CLOSURE_OUTPUT_WRAPPER_SUFFIX \" " $INCLUDE_LIST --js - --create_source_map " \" $OUTPUT_SOURCEMAP \" " --js_output_file " \" $OUTPUT_FILE \" " 2>&1 | $SCRIPT_BIN_DIR /helpers/error_formatter.sh closure " $PROJECT_SOURCE_DIR /$f " | tee -a $LOG_FILE
66
+ printf ' %s\n ' " $SOURCE_CODE_BUILD " | $SCRIPT_BIN_DIR /helpers/execute-java.sh -jar " \" $TOOL_BIN_DIR /closure.jar\" " $CLOSURE_TYPE_INF --jscomp_off=unknownDefines --jscomp_off=globalThis --jscomp_error=visibility --assume_function_wrapper --compilation_level=$CLOSURE_COMPILATION_LEVEL --warning_level=$CLOSURE_LOGGING_DETAIL --language_in=$CLOSURE_INPUT_LANGUAGE_VERSION --language_out=$CLOSURE_OUTPUT_LANGUAGE_VERSION --use_types_for_optimization=$CLOSURE_ENABLE_TYPED_OPTIMIZATION --assume_function_wrapper --output_wrapper=" \" $CLOSURE_OUTPUT_WRAPPER_PREFIX$FILE_COUNT$CLOSURE_OUTPUT_WRAPPER_SUFFIX \" " $INCLUDE_LIST --js - --create_source_map " \" $OUTPUT_SOURCEMAP \" " --js_output_file " \" $OUTPUT_FILE \" " 2>&1 | $SCRIPT_BIN_DIR /helpers/error_formatter.sh closure " $PROJECT_SOURCE_DIR /$f " | tee -a $LOG_FILE
67
67
68
68
sed -i " s|$OUTPUT_FILE |$( basename $OUTPUT_FILE ) |g" " $OUTPUT_SOURCEMAP "
69
69
sed -i " s|stdin|$( basename $f ) |g" " $OUTPUT_SOURCEMAP "
70
70
71
71
$SCRIPT_BIN_DIR /helpers/execute-toolscript.sh editsourcemap.js " $OUTPUT_SOURCEMAP " " $OUTPUT_SOURCEMAP " " $f " 1:0 0:0 2>&1 | tee -a $LOG_FILE
72
72
73
- echo " " >> " $OUTPUT_FILE "
74
- echo " //# sourceMappingURL=$( basename " $OUTPUT_SOURCEMAP " ) " >> " $OUTPUT_FILE "
73
+ printf ' %s\n ' " " >> " $OUTPUT_FILE "
74
+ printf ' %s\n ' " //# sourceMappingURL=$( basename " $OUTPUT_SOURCEMAP " ) " >> " $OUTPUT_FILE "
75
75
else
76
- echo " $f was not modified and theirfore was not recompiled." | tee -a $LOG_FILE
76
+ printf ' %s\n ' " $f was not modified and theirfore was not recompiled." | tee -a $LOG_FILE
77
77
fi
78
78
done
79
79
for f in $FILES_TO_COPY
0 commit comments