-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathbuild.xml
106 lines (97 loc) · 4.98 KB
/
build.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?xml version="1.0" ?>
<!-- DEPRECATED -->
<!-- Only for local compilation if Closure Compiler Service cannot be used for some reason -->
<!-- Original from: https://github.com/googlei18n/libphonenumber/blob/master/javascript/build.xml -->
<!-- Modified by: Nathan Hammond, Daniel Bruhn -->
<project name="libphonenumber-javascript" default="compile">
<property name="closure-compiler.dir"
value="${basedir}/vendor/closure-compiler" />
<property name="closure-compiler.jar"
value="${closure-compiler.dir}/target/closure-compiler-1.0-SNAPSHOT.jar" />
<property name="closure-library.dir"
value="${basedir}/vendor/closure-library" />
<property name="closure-linter.dir"
value="${basedir}/vendor/closure-linter" />
<property name="python-gflags.dir"
value="${basedir}/vendor/python-gflags" />
<property name="libphonenumber.dir"
value="${basedir}/vendor/libphonenumber" />
<macrodef name="closure-compile">
<attribute name="inputfile" />
<attribute name="outputfile" />
<attribute name="compilationlevel" default="ADVANCED_OPTIMIZATIONS" />
<attribute name="outputmode" default="compiled" />
<attribute name="outputwrapper" default="%output%" />
<element name="extraflags" optional="yes" />
<sequential>
<exec executable="python" failonerror="true" logError="true">
<arg value="${closure-library.dir}/closure/bin/calcdeps.py" />
<arg line='-i "@{inputfile}"' />
<arg line='--output_file "@{outputfile}"' />
<arg line='-p "${closure-library.dir}"' />
<arg line="-o @{outputmode}" />
<arg line='-c "${closure-compiler.jar}"' />
<arg line='-f "--output_wrapper=@{outputwrapper}"' />
<arg line='-f "--compilation_level=@{compilationlevel}"' />
<arg line='-f "--warning_level=VERBOSE"' />
<arg line='-f "--jscomp_error=accessControls"' />
<arg line='-f "--jscomp_error=ambiguousFunctionDecl"' />
<arg line='-f "--jscomp_error=checkDebuggerStatement"' />
<arg line='-f "--jscomp_error=checkRegExp"' />
<arg line='-f "--jscomp_error=checkTypes"' />
<arg line='-f "--jscomp_error=checkVars"' />
<arg line='-f "--jscomp_error=const"' />
<arg line='-f "--jscomp_error=constantProperty"' />
<arg line='-f "--jscomp_error=deprecated"' />
<arg line='-f "--jscomp_error=duplicate"' />
<arg line='-f "--jscomp_error=duplicateMessage"' />
<arg line='-f "--jscomp_error=es5Strict"' />
<arg line='-f "--jscomp_error=externsValidation"' />
<arg line='-f "--jscomp_error=fileoverviewTags"' />
<arg line='-f "--jscomp_error=globalThis"' />
<arg line='-f "--jscomp_error=internetExplorerChecks"' />
<arg line='-f "--jscomp_error=invalidCasts"' />
<arg line='-f "--jscomp_error=misplacedTypeAnnotation"' />
<arg line='-f "--jscomp_error=missingProperties"' />
<arg line='-f "--jscomp_error=nonStandardJsDocs"' />
<arg line='-f "--jscomp_error=strictModuleDepCheck"' />
<arg line='-f "--jscomp_error=suspiciousCode"' />
<arg line='-f "--jscomp_error=typeInvalidation"' />
<arg line='-f "--jscomp_error=undefinedNames"' />
<arg line='-f "--jscomp_error=undefinedVars"' />
<arg line='-f "--jscomp_error=unknownDefines"' />
<arg line='-f "--jscomp_error=uselessCode"' />
<arg line='-f "--jscomp_error=visibility"' />
<extraflags />
</exec>
</sequential>
</macrodef>
<target name="clean" description="deletes all generated files">
<delete file="client/index.js"/>
<delete dir="server/metadata"/>
<mkdir dir="server/metadata"/>
</target>
<target name="prepare-regional-metadata" description="Extracts regional metadata from libphonenumber">
<exec executable="${basedir}/util/metadataExtractor.js" failonerror="true">
<arg value="${libphonenumber.dir}/javascript/i18n/phonenumbers/metadata.js" />
<arg value="${basedir}/server/metadata/" />
</exec>
</target>
<target name="compile-client"
description="generates client/index.js from phoneAdapter + injectMeta">
<closure-compile inputfile="src/phoneAdapter.js"
outputfile="client/index.js">
<extraflags>
<arg line='-p "${libphonenumber.dir}/javascript/i18n/phonenumbers/asyoutypeformatter.js"' />
<arg line='-p "${libphonenumber.dir}/javascript/i18n/phonenumbers/phonenumberutil.js"' />
<arg line='-p "${libphonenumber.dir}/javascript/i18n/phonenumbers/phonemetadata.pb.js"' />
<arg line='-p "${libphonenumber.dir}/javascript/i18n/phonenumbers/phonenumber.pb.js"' />
<arg line='-p "src/injectMeta.js"' /> <!-- overrides libphonenumber metadata module with injectMeta function -->
</extraflags>
</closure-compile>
</target>
<target name="compile" depends="clean,
prepare-regional-metadata,
compile-client">
</target>
</project>