@@ -22,6 +22,31 @@ const extraUpdaters =
2222 ? JSON . parse ( process . env . EXTRA_UPDATERS )
2323 : { } ;
2424
25+ function createAndProcessBuildConfig ( router ) {
26+ process . stdout . write ( 'copying build-config.json...\n' ) ;
27+ const configName = `${ router . id } /build-config.json` ;
28+ const buildConfig = JSON . parse ( fs . readFileSync ( configName , 'utf8' ) ) ;
29+ const transitFeeds = buildConfig . transitFeeds || [ ] ;
30+ if ( router . netex ) {
31+ router . netex . forEach ( src => {
32+ const feed = {
33+ type : 'netex' ,
34+ feedId : src . id ,
35+ source : 'file:///var/opentripplanner/' + src . id + '-netex.zip' ,
36+ groupFilePattern : src . groupFilePattern ,
37+ sharedFilePattern : src . sharedFilePattern ,
38+ } ;
39+ transitFeeds . push ( feed ) ;
40+ } ) ;
41+ buildConfig . transitFeeds = transitFeeds ;
42+ }
43+ const file = new Vinyl ( {
44+ path : 'build-config.json' ,
45+ contents : Buffer . from ( JSON . stringify ( buildConfig , null , 2 ) ) ,
46+ } ) ;
47+ return file ;
48+ }
49+
2550// Prepares router-config.json data for opentripplanner and applies edits/additions made in EXTRA_UPDATERS env var
2651function createAndProcessRouterConfig ( router ) {
2752 process . stdout . write ( 'copying router-config.json...\n' ) ;
@@ -68,8 +93,8 @@ function prepareRouterData(router) {
6893 'Collecting data and configuration files for graph build\n' ,
6994 ) ;
7095
71- stream . push ( createFile ( router , 'build-config.json' , router . id ) ) ;
7296 stream . push ( createFile ( router , 'otp-config.json' , router . id ) ) ;
97+ stream . push ( createAndProcessBuildConfig ( router ) ) ;
7398 stream . push ( createAndProcessRouterConfig ( router ) ) ;
7499 router . osm . forEach ( osmId => {
75100 const name = osmId + '.pbf' ;
@@ -83,6 +108,12 @@ function prepareRouterData(router) {
83108 const name = src . id + '-gtfs.zip' ;
84109 stream . push ( createFile ( router , name , `${ dataDir } /ready/gtfs` ) ) ;
85110 } ) ;
111+ if ( router . netex ) {
112+ router . netex . forEach ( src => {
113+ const name = src . id + '-netex.zip' ;
114+ stream . push ( createFile ( router , name , `${ dataDir } /ready/netex` ) ) ;
115+ } ) ;
116+ }
86117 stream . end ( ) ;
87118
88119 return stream ;
@@ -99,8 +130,8 @@ function prepareRouterDataForStreetOnlyGraphBuild(router) {
99130 'Collecting data and configuration files for street only graph build\n' ,
100131 ) ;
101132
102- stream . push ( createFile ( router , 'build-config.json' , router . id ) ) ;
103133 stream . push ( createFile ( router , 'otp-config.json' , router . id ) ) ;
134+ stream . push ( createAndProcessBuildConfig ( router ) ) ;
104135 stream . push ( createAndProcessRouterConfig ( router ) ) ;
105136 router . osm . forEach ( osmId => {
106137 const name = osmId + '.pbf' ;
@@ -145,6 +176,12 @@ function prepareRouterDataForPrebuiltStreetGraphBuild(router) {
145176 const name = src . id + '-gtfs.zip' ;
146177 stream . push ( createFile ( router , name , `${ dataDir } /ready/gtfs` ) ) ;
147178 } ) ;
179+ if ( router . netex ) {
180+ router . netex . forEach ( src => {
181+ const name = src . id + '-netex.zip' ;
182+ stream . push ( createFile ( router , name , `${ dataDir } /ready/netex` ) ) ;
183+ } ) ;
184+ }
148185
149186 const osmDirectories = getDirectories (
150187 `${ storageDir } /osm-builds/${ process . env . DOCKER_TAG } ` ,
0 commit comments