@@ -2512,6 +2512,18 @@ export class Tool extends TOOL {
25122512 mergeManifest ( all , manifest ) {
25132513 var currentDirectory = this . currentDirectory ;
25142514 this . currentDirectory = manifest . directory ;
2515+
2516+ if ( this . platform == "zephyr" ) {
2517+ var len = manifest . zephyrOverlay ?. length ;
2518+ for ( var i = 0 ; i < len ; i ++ ) {
2519+ var path = manifest . zephyrOverlay [ i ] ;
2520+ if ( path [ 0 ] == "." ) {
2521+ path = this . resolvePath ( manifest . directory + this . slash + path ) ;
2522+ manifest . zephyrOverlay [ i ] = path ;
2523+ }
2524+ }
2525+ }
2526+
25152527 this . mergePlatform ( all , manifest ) ;
25162528
25172529 if ( "platforms" in manifest ) {
@@ -2626,6 +2638,7 @@ export class Tool extends TOOL {
26262638 this . mergeProperties ( all . run , platform . run ) ;
26272639 this . mergeProperties ( all . zephyrConfig , platform . zephyrConfig ) ;
26282640 this . mergeProperties ( all . zephyrShields , platform . zephyrShields ) ;
2641+ this . mergeProperties ( all . zephyrOverlay , platform . zephyrOverlay ) ;
26292642 if ( platform . typescript ) {
26302643 let tsconfig = platform . typescript . tsconfig ;
26312644 if ( tsconfig ) {
@@ -2815,6 +2828,7 @@ export class Tool extends TOOL {
28152828 typescript : { compiler : "tsc" , tsconfig : { compilerOptions : { } } } ,
28162829 zephyrConfig :{ } ,
28172830 zephyrShields :{ } ,
2831+ zephyrOverlay :{ } ,
28182832 } ;
28192833 this . manifests . forEach ( manifest => this . mergeManifest ( this . manifest , manifest ) ) ;
28202834
@@ -2885,6 +2899,7 @@ export class Tool extends TOOL {
28852899 this . stringFiles . already = { } ;
28862900 this . bleServicesFiles = [ ] ;
28872901 this . bleServicesFiles . already = { } ;
2902+ this . zephyrOverlayFiles = [ ] ;
28882903 this . pioFiles = [ ] ;
28892904 this . pioFiles . already = { } ;
28902905
@@ -2898,7 +2913,13 @@ export class Tool extends TOOL {
28982913 rule . process ( this . manifest . resources ) ;
28992914 var rule = new BLERule ( this ) ;
29002915 rule . process ( this . manifest . ble ) ;
2901-
2916+
2917+ if ( this . platform == "zephyr" ) {
2918+ for ( var result in this . manifest . zephyrOverlay ) {
2919+ this . zephyrOverlayFiles . push ( this . manifest . zephyrOverlay [ result ] ) ;
2920+ }
2921+ }
2922+
29022923 if ( this . signature == null ) {
29032924 if ( ! this . environment . NAMESPACE )
29042925 this . environment . NAMESPACE = "moddable.tech"
0 commit comments