@@ -61,12 +61,12 @@ abstract class BaseObject extends DslDelegatingScript {
6161 if (dslFile. name ==~ / (?i)${objType}\. (groovy|dsl)/ ) {
6262 if (found) {
6363 println " Multiple files match the ${ objType} .groovy or ${ objType} .dsl"
64- setProperty( propertyName : " outcome " , value : " warning " )
64+ setWarningStatus( )
6565 }
6666 found = dslFile
6767 } else {
6868 println " Ignoring incorrect file ${ dslFile.name} in ${ objDir.name} "
69- setProperty( propertyName : " outcome " , value : " warning " )
69+ setWarningStatus( )
7070 }
7171 }
7272 }
@@ -178,7 +178,6 @@ abstract class BaseObject extends DslDelegatingScript {
178178// println " excludeObjects : $excludeObjects"
179179// println " changeList : $changeList"
180180
181-
182181 def counters= [:]
183182 def nbObjs= 0
184183 def plural= getPluralForm(objType)
@@ -198,7 +197,7 @@ abstract class BaseObject extends DslDelegatingScript {
198197 dir. eachDir {dlist << it }
199198 if (ORDERED_CHILD_ENTITY_TYPES . contains(plural) && dlist. size() > 1 && ! metadata. order) {
200199 logger. warning(' No order found in metadata.json for ordered entity type %objName. Objects will be loaded in alphabetical order.' )
201- setProperty( propertyName : " outcome " , value : " warning " )
200+ setWarningStatus( )
202201 }
203202
204203 try {
@@ -319,7 +318,6 @@ abstract class BaseObject extends DslDelegatingScript {
319318 loaded = true
320319 }
321320
322-
323321 // skip overwrite mode for parent object when
324322 // handle children
325323 if (bindingMap. get(' skipOverwrite' ) == null ) {
@@ -414,7 +412,6 @@ abstract class BaseObject extends DslDelegatingScript {
414412 return loaded
415413 } // loadObjects
416414
417-
418415 def evalInlinePropertyDsl (String dslFile , Map bindingMap , String overwriteMode = " 0" ) {
419416 // We should save current DSL evaluation context and restore it right after import properties
420417 def tmpCurrent
@@ -487,7 +484,6 @@ abstract class BaseObject extends DslDelegatingScript {
487484// println " bindingMap : " + bindingMap.toMapString(250)
488485// println " changeList : $changeList"
489486
490-
491487 aclDir. eachFileMatch(FileType . FILES , ~/ (?i)^.*\. (groovy|dsl)/ ) { dslFile ->
492488 if (changeCheck(" $objPath /acls/${ dslFile.name} " , changeList, [" changed" , " added" ])) {
493489 println " Processing ACL file $objPath /acls/${ dslFile.name} "
@@ -611,7 +607,7 @@ abstract class BaseObject extends DslDelegatingScript {
611607 }
612608 } catch (Exception e) {
613609 println (String . format(" Error: cannot load property %s" , propPath, e. getMessage()))
614- setProperty( propertyName : " outcome " , value : " warning " )
610+ setWarningStatus( )
615611 }
616612 }
617613
@@ -627,6 +623,25 @@ abstract class BaseObject extends DslDelegatingScript {
627623 }
628624 }
629625
626+ // Set warning status for the current job step ignoring overwrite mode
627+ def setWarningStatus ()
628+ {
629+ // Ignore overwrite mode
630+ if (bindingMap. get(' skipOverwrite' ) == null ) {
631+ bindingMap. put(' skipOverwrite' , new HashSet<String > ())
632+ }
633+
634+ ((Set<String > ) bindingMap. get(' skipOverwrite' )). add(' property' )
635+ ((Set<String > ) bindingMap. get(' skipOverwrite' )). add(' setProperty' )
636+
637+ try {
638+ setProperty(propertyName : " outcome" , value : " warning" )
639+ } finally {
640+ ((Set<String > ) bindingMap. get(' skipOverwrite' )). remove(' property' )
641+ ((Set<String > ) bindingMap. get(' skipOverwrite' )). remove(' setProperty' )
642+ }
643+ }
644+
630645 /**
631646 * NMB-27865: Intercept the DslDelegate
632647 * so it can be set as the delegate on the
0 commit comments