@@ -13,6 +13,33 @@ include(${CMAKE_BINARY_DIR}/jsfileslist.txt)
1313
1414configure_file (webodfversion.js.in ${CMAKE_CURRENT_BINARY_DIR} /webodfversion.js )
1515
16+ set (EXTERNS_LIST
17+ "--use_only_custom_externs"
18+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/es3.js"
19+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/es5.js"
20+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/es6.js"
21+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/w3c_dom1.js"
22+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/w3c_dom2.js"
23+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/w3c_dom3.js"
24+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/w3c_elementtraversal.js"
25+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/w3c_anim_timing.js"
26+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/w3c_range.js"
27+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/w3c_xml.js"
28+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/w3c_css.js"
29+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/w3c_event.js"
30+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/window.js"
31+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/gecko_xml.js"
32+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/gecko_dom.js"
33+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/ie_dom.js"
34+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/gecko_event.js"
35+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/ie_event.js"
36+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/html5.js"
37+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/iphone.js"
38+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs/fileapi.js"
39+ "--externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs.js"
40+ )
41+ string (REPLACE ";" " " EXTERNS "${EXTERNS_LIST} " )
42+
1643set (TESTJSFILES
1744 tests/core/UnitTester.js
1845 tests/core/ZipTests.js
@@ -73,7 +100,47 @@ add_custom_target(webodf.css.js-target DEPENDS webodf.css.js)
73100
74101# Windows has a command-line limit of around 8,000 chars, so files to be compiled are supplied to CC using the --flagfile
75102# option to help keep the length of the compilation command as small as possible.
76- file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/cc-noTestFiles.txt "--warning_level VERBOSE --jscomp_error accessControls --jscomp_error ambiguousFunctionDecl --jscomp_error checkEventfulObjectDisposal --jscomp_error checkRegExp --jscomp_error checkStructDictInheritance --jscomp_error checkTypes --jscomp_error checkVars --jscomp_error const --jscomp_error constantProperty --jscomp_error deprecated --jscomp_error duplicateMessage --jscomp_error es3 --jscomp_error es5Strict --jscomp_error externsValidation --jscomp_error fileoverviewTags --jscomp_error globalThis --jscomp_error invalidCasts --jscomp_error misplacedTypeAnnotation --jscomp_error missingProperties --jscomp_error missingProvide --jscomp_error missingRequire --jscomp_error missingReturn --jscomp_off nonStandardJsDocs --jscomp_error suspiciousCode --jscomp_error strictModuleDepCheck --jscomp_error typeInvalidation --jscomp_error undefinedNames --jscomp_error undefinedVars --jscomp_error unknownDefines --jscomp_error uselessCode --jscomp_error visibility --summary_detail_level 3")
103+ SET (CLOSURE_ERROR_OPTION_LIST
104+ "--jscomp_error accessControls"
105+ "--jscomp_error ambiguousFunctionDecl"
106+ "--jscomp_error checkEventfulObjectDisposal"
107+ "--jscomp_error checkRegExp"
108+ "--jscomp_error checkStructDictInheritance"
109+ "--jscomp_error checkTypes"
110+ "--jscomp_error checkVars"
111+ # "--jscomp error conformanceViolations"
112+ "--jscomp_error const"
113+ "--jscomp_error constantProperty"
114+ "--jscomp_error deprecated"
115+ "--jscomp_error deprecatedAnnotations"
116+ "--jscomp_error duplicateMessage"
117+ "--jscomp_error es3"
118+ "--jscomp_error es5Strict"
119+ "--jscomp_error externsValidation"
120+ "--jscomp_error fileoverviewTags"
121+ "--jscomp_error globalThis"
122+ "--jscomp_error inferredConstCheck"
123+ "--jscomp_error invalidCasts"
124+ "--jscomp_error misplacedTypeAnnotation"
125+ "--jscomp_error missingGetCssName"
126+ "--jscomp_error missingProperties"
127+ "--jscomp_error missingProvide"
128+ "--jscomp_off missingRequire"
129+ "--jscomp_error missingReturn"
130+ # "--jscomp_error newCheckTypes"
131+ "--jscomp_off nonStandardJsDocs"
132+ "--jscomp_error suspiciousCode"
133+ "--jscomp_error strictModuleDepCheck"
134+ "--jscomp_error typeInvalidation"
135+ "--jscomp_error undefinedNames"
136+ "--jscomp_error undefinedVars"
137+ "--jscomp_error unknownDefines"
138+ "--jscomp_error uselessCode"
139+ "--jscomp_error useOfGoogBase"
140+ "--jscomp_error visibility" )
141+ string (REPLACE ";" " " CLOSURE_ERROR_OPTIONS "${CLOSURE_ERROR_OPTION_LIST} " )
142+
143+ file (WRITE ${CMAKE_CURRENT_BINARY_DIR} /cc-noTestFiles.txt "--warning_level VERBOSE ${CLOSURE_ERROR_OPTIONS} --summary_detail_level 3 ${EXTERNS} " )
77144
78145file (APPEND ${CMAKE_CURRENT_BINARY_DIR} /cc-noTestFiles.txt " --js ${HEADERCOMPILED_FILE} " )
79146
@@ -133,7 +200,6 @@ add_custom_command(
133200 --define IS_COMPILED_CODE=true
134201 --compilation_level ADVANCED_OPTIMIZATIONS
135202 --formatting PRETTY_PRINT
136- --externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs.js
137203 --js_output_file compiled.js-
138204 COMMAND ${CMAKE_COMMAND} ARGS -E rename compiled.js- compiled.js
139205 DEPENDS ClosureCompiler ${LIBJSFILES} ${TESTJSFILES} tools/externs.js
@@ -149,7 +215,6 @@ add_custom_command(
149215 --jscomp_error reportUnknownTypes
150216 --define IS_COMPILED_CODE=true
151217 --compilation_level SIMPLE_OPTIMIZATIONS
152- --externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs.js
153218 --js_output_file webodf.js-
154219 COMMAND ${CMAKE_COMMAND} ARGS -E rename webodf.js- webodf.js
155220 DEPENDS ClosureCompiler ${LIBJSFILES} tools/externs.js
@@ -166,7 +231,6 @@ add_custom_command(
166231 --define IS_COMPILED_CODE=true
167232 --compilation_level WHITESPACE_ONLY
168233 --formatting PRETTY_PRINT
169- --externs ${CMAKE_CURRENT_SOURCE_DIR} /tools/externs.js
170234 --js_output_file webodf-debug.js-
171235 # in WHITESPACE_ONLY mode, it is not possible to define IS_COMPILED_CODE
172236 # so the value for IS_COMPILED_CODE is set by find and replace in the code
0 commit comments