@@ -7,17 +7,19 @@ const xcode = require('xcode');
7
7
8
8
require ( './style-code' ) ;
9
9
10
- const classifier = / ^ (?: (?: (?: p l a t f o r m | v e n d o r ) \/ (?: [ ^ / ] + ) \/ | (?: t e s t | b e n c h m a r k ) \/ ) ? (?: ( i n c l u d e | s r c ) \/ ) ? ) ? ( .+ \. h (?: p p | x x ) ? ) $ / ;
10
+ const classifier = / ^ (?: (?: (?: p l a t f o r m | v e n d o r ) \/ (?: (? ! i n c l u d e | s r c ) . ) * \/ | (?: t e s t | b e n c h m a r k ) \/ ) ? (?: ( i n c l u d e | s r c ) \/ ) ? ) ? ( .+ \. h (?: p p | x x ) ? ) $ / ;
11
11
12
- function generateFileList ( filename , root , regex , patterns ) {
12
+ function generateFileList ( filename , roots , regex , patterns ) {
13
13
writeFileList (
14
14
filename ,
15
- child_process
15
+ [ ] . concat . apply ( [ ] , roots . map ( function ( root ) {
16
+ return child_process
16
17
. execSync ( `git -C ${ root } ls-files ${ patterns . map ( ( p ) => '"' + p + '"' ) . join ( ' ' ) } ` )
17
18
. toString ( )
18
19
. trim ( )
19
20
. split ( '\n' )
20
- . map ( file => path . join ( root , file ) ) ) ;
21
+ . map ( file => path . join ( root , file ) )
22
+ } ) ) )
21
23
}
22
24
23
25
function writeFileList ( filename , files ) {
@@ -110,42 +112,41 @@ function generateXcodeSourceList(project, target, name) {
110
112
writeIfModified ( `${ projectPath } /${ name || target } -files.json` , JSON . stringify ( json , null , 4 ) + '\n' ) ;
111
113
}
112
114
113
- generateFileList ( 'src/core-files.json' , '.' , / ^ (?: s r c | i n c l u d e ) \/ (?: m b g l \/ ) ? ( .+ ) \/ [ ^ \/ ] + $ / ,
115
+ generateFileList ( 'src/core-files.json' , [ '.' ] , / ^ (?: s r c | i n c l u d e ) \/ (?: m b g l \/ ) ? ( .+ ) \/ [ ^ \/ ] + $ / ,
114
116
[ 'include/*.hpp' , 'include/*.h' , 'src/*.hpp' , 'src/*.cpp' , 'src/*.h' , 'src/*.c' ] ) ;
115
117
116
- generateFileList ( 'benchmark/benchmark-files.json' , '.' , / ^ b e n c h m a r k \/ (?: (?: s r c | i n c l u d e ) \/ ) ? (?: m b g l \/ ) ? (?: ( .+ ) \/ ) ? [ ^ \/ ] + $ / ,
117
- [ 'benchmark/*.hpp' , 'benchmark/*.cpp' , 'benchmark/*.h ' , 'benchmark/*.c' ] ) ;
118
+ generateFileList ( 'benchmark/benchmark-files.json' , [ '.' ] , / ^ b e n c h m a r k \/ (?: (?: s r c | i n c l u d e ) \/ ) ? (?: m b g l \/ ) ? (?: ( .+ ) \/ ) ? [ ^ \/ ] + $ / ,
119
+ [ 'benchmark/*.hpp' , 'benchmark/*.cpp' , 'benchmark/*.host ' , 'benchmark/*.c' ] ) ;
118
120
119
- generateFileList ( 'test/test-files.json' , '.' , / ^ t e s t \/ (?: (?: s r c | i n c l u d e ) \/ ) ? (?: m b g l \/ ) ? (?: ( .+ ) \/ ) ? [ ^ \/ ] + $ / ,
121
+ generateFileList ( 'test/test-files.json' , [ '.' ] , / ^ t e s t \/ (?: (?: s r c | i n c l u d e ) \/ ) ? (?: m b g l \/ ) ? (?: ( .+ ) \/ ) ? [ ^ \/ ] + $ / ,
120
122
[ 'test/*.hpp' , 'test/*.cpp' , 'test/*.h' , 'test/*.c' ] ) ;
121
123
122
124
generateXcodeSourceList ( 'platform/macos/macos.xcodeproj' , 'dynamic' , 'sdk' ) ;
123
125
124
126
generateXcodeSourceList ( 'platform/ios/ios.xcodeproj' , 'dynamic' , 'sdk' ) ;
125
127
126
128
const vendorRegex = / ^ (?: (?: s r c | i n c l u d e ) \/ ) ? (?: ( .+ ) \/ ) ? [ ^ \/ ] + $ /
127
- generateFileList ( 'vendor/args-files.json' , 'vendor/args' , vendorRegex , [ "args.hxx" ] ) ;
128
- generateFileList ( 'vendor/boost-files.json' , 'vendor/boost' , vendorRegex , [ "include/**/*.hpp" , "include/**/*.h" ] ) ;
129
- generateFileList ( 'vendor/cheap-ruler-cpp-files.json' , 'vendor/cheap-ruler-cpp' , vendorRegex , [ "include/**/*.hpp" ] ) ;
130
- generateFileList ( 'vendor/earcut.hpp-files.json' , 'vendor/earcut.hpp' , vendorRegex , [ "include/**/*.hpp" ] ) ;
131
- generateFileList ( 'vendor/eternal-files.json' , 'vendor/eternal' , vendorRegex , [ "include/**/*.hpp" ] ) ;
132
- generateFileList ( 'vendor/expected-files.json' , 'vendor/expected' , vendorRegex , [ "include/expected.hpp" ] ) ;
133
- generateFileList ( 'vendor/filesystem-files.json' , 'vendor/filesystem' , vendorRegex , [ "include/**/*.hpp" ] ) ;
134
- generateFileList ( 'vendor/geojson-vt-cpp-files.json' , 'vendor/geojson-vt-cpp' , vendorRegex , [ "include/**/*.hpp" ] ) ;
135
- generateFileList ( 'vendor/geojson.hpp-files.json' , 'vendor/geojson.hpp' , vendorRegex , [ "include/**/*.hpp" ] ) ;
136
- generateFileList ( 'vendor/geometry.hpp-files.json' , 'vendor/geometry.hpp' , vendorRegex , [ "include/**/*.hpp" ] ) ;
137
- generateFileList ( 'vendor/icu-files.json' , 'vendor/icu' , vendorRegex , [ "include/**/*.h" , "src/*.h" , "src/*.cpp" ] ) ;
138
- generateFileList ( 'vendor/jni.hpp-files.json' , 'vendor/jni.hpp' , vendorRegex , [ "include/**/*.hpp" , ":!:include/jni/string_conversion.hpp" ] ) ;
139
- generateFileList ( 'vendor/kdbush.hpp-files.json' , 'vendor/kdbush.hpp' , vendorRegex , [ "include/*.hpp" ] ) ;
140
- generateFileList ( 'vendor/optional-files.json' , 'vendor/optional' , vendorRegex , [ "optional.hpp" ] ) ;
141
- generateFileList ( 'vendor/pixelmatch-cpp-files.json' , 'vendor/pixelmatch-cpp' , vendorRegex , [ "include/**/*.hpp" ] ) ;
142
- generateFileList ( 'vendor/polylabel-files.json' , 'vendor/polylabel' , vendorRegex , [ "include/**/*.hpp" ] ) ;
143
- generateFileList ( 'vendor/protozero-files.json' , 'vendor/protozero' , vendorRegex , [ "include/**/*.hpp" ] ) ;
144
- generateFileList ( 'vendor/rapidjson-files.json' , 'vendor/rapidjson' , vendorRegex , [ "include/**/*.h" ] ) ;
145
- generateFileList ( 'vendor/shelf-pack-cpp-files.json' , 'vendor/shelf-pack-cpp' , vendorRegex , [ "include/**/*.hpp" ] ) ;
146
- generateFileList ( 'vendor/sqlite-files.json' , 'vendor/sqlite' , vendorRegex , [ "include/*.h" , "src/*.c" ] ) ;
147
- generateFileList ( 'vendor/supercluster.hpp-files.json' , 'vendor/supercluster.hpp' , vendorRegex , [ "include/*.hpp" ] ) ;
148
- generateFileList ( 'vendor/unique_resource-files.json' , 'vendor/unique_resource' , vendorRegex , [ "unique_resource.hpp" ] ) ;
149
- generateFileList ( 'vendor/variant-files.json' , 'vendor/variant' , vendorRegex , [ "include/**/*.hpp" ] ) ;
150
- generateFileList ( 'vendor/vector-tile-files.json' , 'vendor/vector-tile' , vendorRegex , [ "include/**/*.hpp" ] ) ;
151
- generateFileList ( 'vendor/wagyu-files.json' , 'vendor/wagyu' , vendorRegex , [ "include/**/*.hpp" ] ) ;
129
+ generateFileList ( 'vendor/args-files.json' , [ 'vendor/args' ] , vendorRegex , [ "args.hxx" ] ) ;
130
+ generateFileList ( 'vendor/boost-files.json' , [ 'vendor/boost' ] , vendorRegex , [ "include/**/*.hpp" , "include/**/*.h" ] ) ;
131
+ generateFileList ( 'vendor/cheap-ruler-cpp-files.json' , [ 'vendor/cheap-ruler-cpp' ] , vendorRegex , [ "include/**/*.hpp" ] ) ;
132
+ generateFileList ( 'vendor/earcut.hpp-files.json' , [ 'vendor/earcut.hpp' ] , vendorRegex , [ "include/**/*.hpp" ] ) ;
133
+ generateFileList ( 'vendor/eternal-files.json' , [ 'vendor/eternal' ] , vendorRegex , [ "include/**/*.hpp" ] ) ;
134
+ generateFileList ( 'vendor/expected-files.json' , [ 'vendor/expected' ] , vendorRegex , [ "include/expected.hpp" ] ) ;
135
+ generateFileList ( 'vendor/filesystem-files.json' , [ 'vendor/filesystem' ] , vendorRegex , [ "include/**/*.hpp" ] ) ;
136
+ generateFileList ( 'vendor/geojson-vt-cpp-files.json' , [ 'vendor/geojson-vt-cpp' ] , vendorRegex , [ "include/**/*.hpp" ] ) ;
137
+ generateFileList ( 'vendor/geojson.hpp-files.json' , [ 'vendor/geojson.hpp' ] , vendorRegex , [ "include/**/*.hpp" ] ) ;
138
+ generateFileList ( 'vendor/icu-files.json' , [ 'vendor/icu' ] , vendorRegex , [ "include/**/*.h" , "src/*.h" , "src/*.cpp" ] ) ;
139
+ generateFileList ( 'vendor/jni.hpp-files.json' , [ 'vendor/jni.hpp' ] , vendorRegex , [ "include/**/*.hpp" , ":!:include/jni/string_conversion.hpp" ] ) ;
140
+ generateFileList ( 'vendor/kdbush.hpp-files.json' , [ 'vendor/kdbush.hpp' ] , vendorRegex , [ "include/*.hpp" ] ) ;
141
+ generateFileList ( 'vendor/mapbox-base-files.json' , [ 'vendor/mapbox-base/libs/geometry.hpp' , 'vendor/mapbox-base/libs/variant' ] , vendorRegex , [ "include/*.hpp" , "include/**/*.hpp" ] ) ;
142
+ generateFileList ( 'vendor/optional-files.json' , [ 'vendor/optional' ] , vendorRegex , [ "optional.hpp" ] ) ;
143
+ generateFileList ( 'vendor/pixelmatch-cpp-files.json' , [ 'vendor/pixelmatch-cpp' ] , vendorRegex , [ "include/**/*.hpp" ] ) ;
144
+ generateFileList ( 'vendor/polylabel-files.json' , [ 'vendor/polylabel' ] , vendorRegex , [ "include/**/*.hpp" ] ) ;
145
+ generateFileList ( 'vendor/protozero-files.json' , [ 'vendor/protozero' ] , vendorRegex , [ "include/**/*.hpp" ] ) ;
146
+ generateFileList ( 'vendor/rapidjson-files.json' , [ 'vendor/rapidjson' ] , vendorRegex , [ "include/**/*.h" ] ) ;
147
+ generateFileList ( 'vendor/shelf-pack-cpp-files.json' , [ 'vendor/shelf-pack-cpp' ] , vendorRegex , [ "include/**/*.hpp" ] ) ;
148
+ generateFileList ( 'vendor/sqlite-files.json' , [ 'vendor/sqlite' ] , vendorRegex , [ "include/*.h" , "src/*.c" ] ) ;
149
+ generateFileList ( 'vendor/supercluster.hpp-files.json' , [ 'vendor/supercluster.hpp' ] , vendorRegex , [ "include/*.hpp" ] ) ;
150
+ generateFileList ( 'vendor/unique_resource-files.json' , [ 'vendor/unique_resource' ] , vendorRegex , [ "unique_resource.hpp" ] ) ;
151
+ generateFileList ( 'vendor/vector-tile-files.json' , [ 'vendor/vector-tile' ] , vendorRegex , [ "include/**/*.hpp" ] ) ;
152
+ generateFileList ( 'vendor/wagyu-files.json' , [ 'vendor/wagyu' ] , vendorRegex , [ "include/**/*.hpp" ] ) ;
0 commit comments