From ae66736f067fc6cb2fd53b033b941bc24a327007 Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Tue, 13 Nov 2018 17:20:39 +0100 Subject: [PATCH] AthenaConfiguration: Don't crash if downstream packages are missing. AthenaConfiguration is a package that's needed by many other packages. As such, it should not be depending on things like LArCellRec --- that results in a circular package dependency. Why should running the SCT_Cabling tests require LArCellRec to be present? It shouldn't, but it currently does. Work around this by not crashing if downstream packages are not present. --- .../python/AllConfigFlags.py | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/Control/AthenaConfiguration/python/AllConfigFlags.py b/Control/AthenaConfiguration/python/AllConfigFlags.py index dfc51a02bef..fff969b827b 100644 --- a/Control/AthenaConfiguration/python/AllConfigFlags.py +++ b/Control/AthenaConfiguration/python/AllConfigFlags.py @@ -46,9 +46,16 @@ def _createCfgFlags(): #LAr Flags: - from LArCellRec.LArConfigFlags import createLArConfigFlags - lcf=createLArConfigFlags() - acf.join(lcf) + try: + import LArCellRec # Suppress flake8 unused import warning: # noqa: F401 + haveLArCellRec = True + except ImportError: + haveLArCellRec = False + + if haveLArCellRec: + from LArCellRec.LArConfigFlags import createLArConfigFlags + lcf=createLArConfigFlags() + acf.join(lcf) #CaloNoise Flags acf.addFlag("Calo.Noise.fixedLumiForNoise",-1) @@ -61,12 +68,26 @@ def _createCfgFlags(): # Trigger - from TriggerJobOpts.TriggerConfigFlags import createTriggerFlags - acf.join( createTriggerFlags() ) + try: + import TriggerJobOpts # Suppress flake8 unused import warning: # noqa: F401 + haveTriggerJobOpts = True + except ImportError: + haveTriggerJobOpts = False + + if haveTriggerJobOpts: + from TriggerJobOpts.TriggerConfigFlags import createTriggerFlags + acf.join( createTriggerFlags() ) # Muon - from MuonConfig.MuonConfigFlags import createMuonConfigFlags - acf.join( createMuonConfigFlags() ) + try: + import MuonConfig # Suppress flake8 unused import warning: # noqa: F401 + haveMuonConfig = True + except ImportError: + haveMuonConfig = False + + if haveMuonConfig: + from MuonConfig.MuonConfigFlags import createMuonConfigFlags + acf.join( createMuonConfigFlags() ) return acf -- GitLab