diff --git a/AtlasTest/DatabaseTest/TagCollectionTest/CMakeLists.txt b/AtlasTest/DatabaseTest/TagCollectionTest/CMakeLists.txt index 8eae14a596c53da56d8f0bc39bd9336701eacd1d..28efba0c251610fb28f8770dd8440a406eacdbe8 100644 --- a/AtlasTest/DatabaseTest/TagCollectionTest/CMakeLists.txt +++ b/AtlasTest/DatabaseTest/TagCollectionTest/CMakeLists.txt @@ -9,7 +9,7 @@ atlas_subdir( TagCollectionTest ) atlas_depends_on_subdirs( PUBLIC Control/MinimalRunTime TestPolicy - Tools/AtlasDoxygen ) + ) # Install files from the package: atlas_install_headers( TagCollectionTest ) diff --git a/ForwardDetectors/AFP/AFP_G4_SD/CMakeLists.txt b/ForwardDetectors/AFP/AFP_G4_SD/CMakeLists.txt index 0ce35b2d7d696fd144f9ce04ed57ffd9d91e9a92..d8ff8b64f28433d3aeada056cbdd6a5aef135967 100644 --- a/ForwardDetectors/AFP/AFP_G4_SD/CMakeLists.txt +++ b/ForwardDetectors/AFP/AFP_G4_SD/CMakeLists.txt @@ -14,7 +14,7 @@ atlas_depends_on_subdirs( PUBLIC ForwardDetectors/AFP/AFP_Geometry ForwardDetectors/AFP/AFP_SimEv Simulation/G4Atlas/G4AtlasTools - Tools/AtlasDoxygen ) + ) # External dependencies: find_package( CLHEP ) diff --git a/ForwardDetectors/ALFA/ALFA_G4_SD/CMakeLists.txt b/ForwardDetectors/ALFA/ALFA_G4_SD/CMakeLists.txt index 306917927a069acfc95e5b4325d80aa54ce09725..fd3da2648d9503c68289961ecfdfbada31103b66 100644 --- a/ForwardDetectors/ALFA/ALFA_G4_SD/CMakeLists.txt +++ b/ForwardDetectors/ALFA/ALFA_G4_SD/CMakeLists.txt @@ -13,7 +13,7 @@ atlas_depends_on_subdirs( PUBLIC Control/StoreGate ForwardDetectors/ALFA/ALFA_SimEv Simulation/G4Atlas/G4AtlasTools - Tools/AtlasDoxygen ) + ) # External dependencies: find_package( CLHEP ) diff --git a/ForwardDetectors/LUCID/LUCID_G4_SD/CMakeLists.txt b/ForwardDetectors/LUCID/LUCID_G4_SD/CMakeLists.txt index 3a7cbff8cbd77db5578449f211f15a1bb5bb3034..7dc7f6cfe66b24c062bb8df8aa45f74f00055667 100644 --- a/ForwardDetectors/LUCID/LUCID_G4_SD/CMakeLists.txt +++ b/ForwardDetectors/LUCID/LUCID_G4_SD/CMakeLists.txt @@ -15,7 +15,7 @@ atlas_depends_on_subdirs( PUBLIC ForwardDetectors/LUCID/LUCID_SimUtils/LUCID_SimEvent Simulation/G4Atlas/G4AtlasTools Simulation/HitManagement - Tools/AtlasDoxygen ) + ) # External dependencies: find_package( CLHEP ) diff --git a/ForwardDetectors/ZDC/ZDC_SD/CMakeLists.txt b/ForwardDetectors/ZDC/ZDC_SD/CMakeLists.txt index a0197e6292f4521ec9362c2a25f0bf183d126d51..2180740d40f51ca13b9ec22ec942f435193337a1 100644 --- a/ForwardDetectors/ZDC/ZDC_SD/CMakeLists.txt +++ b/ForwardDetectors/ZDC/ZDC_SD/CMakeLists.txt @@ -13,7 +13,7 @@ atlas_depends_on_subdirs( PUBLIC Control/StoreGate ForwardDetectors/ZDC/ZDC_SimEvent Simulation/G4Atlas/G4AtlasTools - Tools/AtlasDoxygen ) + ) # External dependencies: find_package( CLHEP ) diff --git a/Generators/GenAnalysisTools/EventBoost/CMakeLists.txt b/Generators/GenAnalysisTools/EventBoost/CMakeLists.txt index 3f66bace665e3c46af2dd6a85fb5d1b20e8890f7..6bd4fd2ac72aae5f60c810619159580b3535d7cd 100644 --- a/Generators/GenAnalysisTools/EventBoost/CMakeLists.txt +++ b/Generators/GenAnalysisTools/EventBoost/CMakeLists.txt @@ -12,7 +12,7 @@ atlas_depends_on_subdirs( PUBLIC PRIVATE Control/StoreGate Generators/GeneratorObjects - Tools/AtlasDoxygen ) + ) # External dependencies: find_package( CLHEP ) diff --git a/InnerDetector/InDetG4/BCM_G4_SD/CMakeLists.txt b/InnerDetector/InDetG4/BCM_G4_SD/CMakeLists.txt index 3603f2abae0c6b7b9f029598c0d9f012316037b7..1d0f1309c14308c5db37522189351a40a32ade6d 100644 --- a/InnerDetector/InDetG4/BCM_G4_SD/CMakeLists.txt +++ b/InnerDetector/InDetG4/BCM_G4_SD/CMakeLists.txt @@ -15,7 +15,7 @@ atlas_depends_on_subdirs( PRIVATE InnerDetector/InDetSimEvent Simulation/G4Atlas/G4AtlasTools Simulation/G4Sim/MCTruth - Tools/AtlasDoxygen ) + ) # External dependencies: find_package( CLHEP ) diff --git a/InnerDetector/InDetG4/BLM_G4_SD/CMakeLists.txt b/InnerDetector/InDetG4/BLM_G4_SD/CMakeLists.txt index 77ce13e42a298fe6945e03b462aecf0225fe3d3a..8df58d25e75339554fe67355134b64d94523e4d1 100644 --- a/InnerDetector/InDetG4/BLM_G4_SD/CMakeLists.txt +++ b/InnerDetector/InDetG4/BLM_G4_SD/CMakeLists.txt @@ -13,7 +13,7 @@ atlas_depends_on_subdirs( PRIVATE InnerDetector/InDetSimEvent Simulation/G4Atlas/G4AtlasTools Simulation/G4Sim/MCTruth - Tools/AtlasDoxygen ) + ) # External dependencies: find_package( CLHEP ) diff --git a/InnerDetector/InDetG4/PixelG4_SD/CMakeLists.txt b/InnerDetector/InDetG4/PixelG4_SD/CMakeLists.txt index 8b6adca191f41b296d18ab572f9f2c2031762906..81dacbc1ab811c66d5e18362667a7a451e29a406 100644 --- a/InnerDetector/InDetG4/PixelG4_SD/CMakeLists.txt +++ b/InnerDetector/InDetG4/PixelG4_SD/CMakeLists.txt @@ -13,7 +13,7 @@ atlas_depends_on_subdirs( PRIVATE InnerDetector/InDetSimEvent Simulation/G4Atlas/G4AtlasTools Simulation/G4Sim/MCTruth - Tools/AtlasDoxygen ) + ) # External dependencies: find_package( CLHEP ) diff --git a/InnerDetector/InDetG4/SCT_G4_SD/CMakeLists.txt b/InnerDetector/InDetG4/SCT_G4_SD/CMakeLists.txt index 023d45fe661dde5b785f85678b7ba1be7acbb7d7..f4eaccd3ea95aff625f84a168eecd1ca417f8adc 100644 --- a/InnerDetector/InDetG4/SCT_G4_SD/CMakeLists.txt +++ b/InnerDetector/InDetG4/SCT_G4_SD/CMakeLists.txt @@ -13,7 +13,7 @@ atlas_depends_on_subdirs( PRIVATE InnerDetector/InDetSimEvent Simulation/G4Atlas/G4AtlasTools Simulation/G4Sim/MCTruth - Tools/AtlasDoxygen ) + ) # External dependencies: find_package( CLHEP ) diff --git a/InnerDetector/InDetG4/TRT_G4_SD/CMakeLists.txt b/InnerDetector/InDetG4/TRT_G4_SD/CMakeLists.txt index 61f0479b1816e412725c424c84e2ee8b00e6f7fd..b8bf5e7e4ac1de1446a29318b92ebcf595484067 100644 --- a/InnerDetector/InDetG4/TRT_G4_SD/CMakeLists.txt +++ b/InnerDetector/InDetG4/TRT_G4_SD/CMakeLists.txt @@ -15,7 +15,7 @@ atlas_depends_on_subdirs( PRIVATE InnerDetector/InDetSimEvent Simulation/G4Atlas/G4AtlasTools Simulation/G4Sim/MCTruth - Tools/AtlasDoxygen ) + ) # External dependencies: find_package( CLHEP ) diff --git a/InnerDetector/InDetSimEvent/CMakeLists.txt b/InnerDetector/InDetSimEvent/CMakeLists.txt index 01df185789c897fb733952b40e7a54e475811193..3846808c6843a1ce70a99c81bb9f93767b49a0a9 100644 --- a/InnerDetector/InDetSimEvent/CMakeLists.txt +++ b/InnerDetector/InDetSimEvent/CMakeLists.txt @@ -12,7 +12,7 @@ atlas_depends_on_subdirs( PUBLIC Control/SGTools Generators/GeneratorObjects Simulation/HitManagement - Tools/AtlasDoxygen + PRIVATE Control/StoreGate InnerDetector/InDetDetDescr/InDetIdentifier ) diff --git a/PhysicsAnalysis/PhysicsElementLinks/CMakeLists.txt b/PhysicsAnalysis/PhysicsElementLinks/CMakeLists.txt index fd93b1c61a1f41dd0f0afc5ea4914e12936be79e..0fa3407896fec43d582feb07ca7618e6d49364db 100644 --- a/PhysicsAnalysis/PhysicsElementLinks/CMakeLists.txt +++ b/PhysicsAnalysis/PhysicsElementLinks/CMakeLists.txt @@ -15,7 +15,7 @@ atlas_depends_on_subdirs( PUBLIC Reconstruction/Particle Reconstruction/egamma/egammaEvent Reconstruction/tauEvent - Tools/AtlasDoxygen ) + ) # External dependencies: find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) diff --git a/Projects/AthSimulation/package_filters.txt b/Projects/AthSimulation/package_filters.txt index e393d34a6bd16b067fa261904ae696474a415eef..14a7fb57296d373bb687fd125e2a99b4eb5f134b 100644 --- a/Projects/AthSimulation/package_filters.txt +++ b/Projects/AthSimulation/package_filters.txt @@ -324,7 +324,6 @@ + TileCalorimeter/TileSvc/TileSimEventAthenaPool + TileCalorimeter/TileSvc/TileSimEventTPCnv + Tools/ART -+ Tools/AtlasDoxygen + Tools/CodeCheck + Tools/JobTransforms + Tools/KitValidation diff --git a/TileCalorimeter/TileFastCaloSim/CMakeLists.txt b/TileCalorimeter/TileFastCaloSim/CMakeLists.txt index 28f7046ab98dc538ba5811b519bcb3351cb53490..192014157f1895058f1ef5ddddf4806d398620a9 100644 --- a/TileCalorimeter/TileFastCaloSim/CMakeLists.txt +++ b/TileCalorimeter/TileFastCaloSim/CMakeLists.txt @@ -7,7 +7,7 @@ atlas_subdir( TileFastCaloSim ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Tools/AtlasDoxygen + PRIVATE Calorimeter/CaloEvent Calorimeter/CaloIdentifier diff --git a/TileCalorimeter/TileG4/TileAncillary/CombinedScintillator/CMakeLists.txt b/TileCalorimeter/TileG4/TileAncillary/CombinedScintillator/CMakeLists.txt index 58f5395cbcd0e597e3b43646a10d4549d377005d..fd2184fe8f479f7f2c997f6b0ef42094f056c68f 100644 --- a/TileCalorimeter/TileG4/TileAncillary/CombinedScintillator/CMakeLists.txt +++ b/TileCalorimeter/TileG4/TileAncillary/CombinedScintillator/CMakeLists.txt @@ -7,7 +7,7 @@ atlas_subdir( CombinedScintillator ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Tools/AtlasDoxygen + PRIVATE Calorimeter/CaloIdentifier Control/CxxUtils diff --git a/TileCalorimeter/TileG4/TileAncillary/DeadMaterial/CMakeLists.txt b/TileCalorimeter/TileG4/TileAncillary/DeadMaterial/CMakeLists.txt index 74c584441a95647797fb545516985d2f37d06ab0..c5268484ada7f7b397f7479b6e359931292e6b84 100644 --- a/TileCalorimeter/TileG4/TileAncillary/DeadMaterial/CMakeLists.txt +++ b/TileCalorimeter/TileG4/TileAncillary/DeadMaterial/CMakeLists.txt @@ -7,7 +7,7 @@ atlas_subdir( DeadMaterial ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Tools/AtlasDoxygen + PRIVATE Control/StoreGate DetectorDescription/GeoModel/GeoModelInterfaces diff --git a/TileCalorimeter/TileG4/TileAncillary/LarCrate/CMakeLists.txt b/TileCalorimeter/TileG4/TileAncillary/LarCrate/CMakeLists.txt index eebd0081fea0620dc87b281a7ded16d97b5a7e13..12c900232ddf9aecf72d56cef0383aaa9784ac66 100644 --- a/TileCalorimeter/TileG4/TileAncillary/LarCrate/CMakeLists.txt +++ b/TileCalorimeter/TileG4/TileAncillary/LarCrate/CMakeLists.txt @@ -7,7 +7,7 @@ atlas_subdir( LarCrate ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Tools/AtlasDoxygen + PRIVATE Control/StoreGate DetectorDescription/GeoModel/GeoModelInterfaces diff --git a/TileCalorimeter/TileG4/TileAncillary/MinBiasScintillator/CMakeLists.txt b/TileCalorimeter/TileG4/TileAncillary/MinBiasScintillator/CMakeLists.txt index 96723fb83f7d48ddd3f8858449f503880eaa6af5..5c7d9edf78b09a288621d7c9a12e8fa63b2ceee5 100644 --- a/TileCalorimeter/TileG4/TileAncillary/MinBiasScintillator/CMakeLists.txt +++ b/TileCalorimeter/TileG4/TileAncillary/MinBiasScintillator/CMakeLists.txt @@ -7,7 +7,7 @@ atlas_subdir( MinBiasScintillator ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Tools/AtlasDoxygen + PRIVATE Calorimeter/CaloDetDescr Calorimeter/CaloIdentifier diff --git a/TileCalorimeter/TileG4/TileAncillary/MuonWall/CMakeLists.txt b/TileCalorimeter/TileG4/TileAncillary/MuonWall/CMakeLists.txt index 4d0606ea4a18ab32aab607fc1544c259cc6dba0a..61baaab34bd42b780c37626fb1f64b63feb779b5 100644 --- a/TileCalorimeter/TileG4/TileAncillary/MuonWall/CMakeLists.txt +++ b/TileCalorimeter/TileG4/TileAncillary/MuonWall/CMakeLists.txt @@ -7,7 +7,7 @@ atlas_subdir( MuonWall ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Tools/AtlasDoxygen + PRIVATE Calorimeter/CaloIdentifier Control/CxxUtils diff --git a/TileCalorimeter/TileG4/TileAncillary/PhantomCalorimeter/CMakeLists.txt b/TileCalorimeter/TileG4/TileAncillary/PhantomCalorimeter/CMakeLists.txt index a41e63804d6e11bb402e46efabdb6f466cd27f3c..15ae2c982ce9b7ec9005abf9971a86123c8f7b53 100644 --- a/TileCalorimeter/TileG4/TileAncillary/PhantomCalorimeter/CMakeLists.txt +++ b/TileCalorimeter/TileG4/TileAncillary/PhantomCalorimeter/CMakeLists.txt @@ -7,7 +7,7 @@ atlas_subdir( PhantomCalorimeter ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Tools/AtlasDoxygen + PRIVATE Calorimeter/CaloIdentifier Control/CxxUtils diff --git a/TileCalorimeter/TileG4/TileGeoG4Calib/CMakeLists.txt b/TileCalorimeter/TileG4/TileGeoG4Calib/CMakeLists.txt index 9b4d2a9b142268b27f9d5bd211d8bb6107e0e82f..76d15b0031ebc2586a15f3305c08a91c3e5e89ab 100644 --- a/TileCalorimeter/TileG4/TileGeoG4Calib/CMakeLists.txt +++ b/TileCalorimeter/TileG4/TileGeoG4Calib/CMakeLists.txt @@ -7,7 +7,7 @@ atlas_subdir( TileGeoG4Calib ) # Declare the package's dependencies: atlas_depends_on_subdirs( PUBLIC - Tools/AtlasDoxygen + PRIVATE Calorimeter/CaloG4Sim Calorimeter/CaloIdentifier diff --git a/TileCalorimeter/TileG4/TileGeoG4SD/CMakeLists.txt b/TileCalorimeter/TileG4/TileGeoG4SD/CMakeLists.txt index baa30e765d040e6329d2c1aa989928b4fbb479f1..3808b9bca3cd572b95739cfb21811690237b8fdc 100644 --- a/TileCalorimeter/TileG4/TileGeoG4SD/CMakeLists.txt +++ b/TileCalorimeter/TileG4/TileGeoG4SD/CMakeLists.txt @@ -9,7 +9,7 @@ atlas_subdir( TileGeoG4SD ) atlas_depends_on_subdirs( PUBLIC TileCalorimeter/TileDetDescr TileCalorimeter/TileSimEvent - Tools/AtlasDoxygen + PRIVATE Calorimeter/CaloIdentifier Control/StoreGate diff --git a/TileCalorimeter/TileSimEvent/CMakeLists.txt b/TileCalorimeter/TileSimEvent/CMakeLists.txt index 6747bf38a30755f1d402e5cc3433dc602abf8255..ca401ddf8ed06db02a9229214a0806a819a48c9f 100644 --- a/TileCalorimeter/TileSimEvent/CMakeLists.txt +++ b/TileCalorimeter/TileSimEvent/CMakeLists.txt @@ -11,7 +11,7 @@ atlas_depends_on_subdirs( PUBLIC Control/SGTools DetectorDescription/Identifier Simulation/HitManagement - Tools/AtlasDoxygen + PRIVATE Calorimeter/CaloIdentifier TileCalorimeter/TileConditions ) diff --git a/Tools/AtlasDoxygen/CMakeLists.txt b/Tools/AtlasDoxygen/CMakeLists.txt deleted file mode 100644 index 339f9228ab06e363db340b16d66688dd2c191da2..0000000000000000000000000000000000000000 --- a/Tools/AtlasDoxygen/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -################################################################################ -# Package: AtlasDoxygen -################################################################################ - -# Declare the package name: -atlas_subdir( AtlasDoxygen ) - -# this line failed automatic conversion in cmt2cmake : -# path_remove DOTFONTPATH "" Linux&Doxygen "AtlasDoxygen" - -# this line failed automatic conversion in cmt2cmake : -# path_remove PATH "" Doxygen "/doxygen/" - -# this line failed automatic conversion in cmt2cmake : -# path_remove PATH "" Doxygen "/graphviz/" - -# this line failed automatic conversion in cmt2cmake : -# action doxygen "python ${AtlasDoxygen_root}/cmt/doxygen.py $(cmt_args)" - diff --git a/Tools/AtlasDoxygen/cmt/DoxygenLayout.xml b/Tools/AtlasDoxygen/cmt/DoxygenLayout.xml deleted file mode 100644 index 9d8c1ad551efba72c05c6df98effbeb60aec6a29..0000000000000000000000000000000000000000 --- a/Tools/AtlasDoxygen/cmt/DoxygenLayout.xml +++ /dev/null @@ -1,195 +0,0 @@ -<doxygenlayout version="1.0"> - <!-- Generated by doxygen 1.8.9.1 --> - <!-- Navigation index tabs for HTML output --> - <navindex> - <tab type="mainpage" visible="yes" title=""/> - <tab type="pages" visible="yes" title="" intro=""/> - <tab type="modules" visible="yes" title="" intro=""/> - <tab type="namespaces" visible="yes" title=""> - <tab type="namespacelist" visible="yes" title="" intro=""/> - <tab type="namespacemembers" visible="yes" title="" intro=""/> - </tab> - <tab type="classes" visible="yes" title=""> - <tab type="classlist" visible="yes" title="" intro=""/> - <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/> - <tab type="hierarchy" visible="yes" title="" intro=""/> - <tab type="classmembers" visible="yes" title="" intro=""/> - </tab> - <tab type="files" visible="yes" title=""> - <tab type="filelist" visible="yes" title="" intro=""/> - <tab type="globals" visible="yes" title="" intro=""/> - </tab> - <tab type="user" visible="yes" url="https://gitlab.cern.ch/atlas/athena" title="GITLAB"/> - <!-- SVNLINK --> - </navindex> - - <!-- Layout definition for a class page --> - <class> - <briefdescription visible="yes"/> - <includes visible="$SHOW_INCLUDE_FILES"/> - <inheritancegraph visible="$CLASS_GRAPH"/> - <collaborationgraph visible="$COLLABORATION_GRAPH"/> - <memberdecl> - <nestedclasses visible="yes" title=""/> - <publictypes title=""/> - <services title=""/> - <interfaces title=""/> - <publicslots title=""/> - <signals title=""/> - <publicmethods title=""/> - <publicstaticmethods title=""/> - <publicattributes title=""/> - <publicstaticattributes title=""/> - <protectedtypes title=""/> - <protectedslots title=""/> - <protectedmethods title=""/> - <protectedstaticmethods title=""/> - <protectedattributes title=""/> - <protectedstaticattributes title=""/> - <packagetypes title=""/> - <packagemethods title=""/> - <packagestaticmethods title=""/> - <packageattributes title=""/> - <packagestaticattributes title=""/> - <properties title=""/> - <events title=""/> - <privatetypes title=""/> - <privateslots title=""/> - <privatemethods title=""/> - <privatestaticmethods title=""/> - <privateattributes title=""/> - <privatestaticattributes title=""/> - <friends title=""/> - <related title="" subtitle=""/> - <membergroups visible="yes"/> - </memberdecl> - <detaileddescription title=""/> - <memberdef> - <inlineclasses title=""/> - <typedefs title=""/> - <enums title=""/> - <services title=""/> - <interfaces title=""/> - <constructors title=""/> - <functions title=""/> - <related title=""/> - <variables title=""/> - <properties title=""/> - <events title=""/> - </memberdef> - <allmemberslink visible="yes"/> - <usedfiles visible="$SHOW_USED_FILES"/> - <authorsection visible="yes"/> - </class> - - <!-- Layout definition for a namespace page --> - <namespace> - <briefdescription visible="yes"/> - <memberdecl> - <nestednamespaces visible="yes" title=""/> - <constantgroups visible="yes" title=""/> - <classes visible="yes" title=""/> - <typedefs title=""/> - <enums title=""/> - <functions title=""/> - <variables title=""/> - <membergroups visible="yes"/> - </memberdecl> - <detaileddescription title=""/> - <memberdef> - <inlineclasses title=""/> - <typedefs title=""/> - <enums title=""/> - <functions title=""/> - <variables title=""/> - </memberdef> - <authorsection visible="yes"/> - </namespace> - - <!-- Layout definition for a file page --> - <file> - <briefdescription visible="yes"/> - <includes visible="$SHOW_INCLUDE_FILES"/> - <includegraph visible="$INCLUDE_GRAPH"/> - <includedbygraph visible="$INCLUDED_BY_GRAPH"/> - <sourcelink visible="yes"/> - <memberdecl> - <classes visible="yes" title=""/> - <namespaces visible="yes" title=""/> - <constantgroups visible="yes" title=""/> - <defines title=""/> - <typedefs title=""/> - <enums title=""/> - <functions title=""/> - <variables title=""/> - <membergroups visible="yes"/> - </memberdecl> - <detaileddescription title=""/> - <memberdef> - <inlineclasses title=""/> - <defines title=""/> - <typedefs title=""/> - <enums title=""/> - <functions title=""/> - <variables title=""/> - </memberdef> - <authorsection/> - </file> - - <!-- Layout definition for a group page --> - <group> - <briefdescription visible="yes"/> - <groupgraph visible="$GROUP_GRAPHS"/> - <memberdecl> - <nestedgroups visible="yes" title=""/> - <dirs visible="yes" title=""/> - <files visible="yes" title=""/> - <namespaces visible="yes" title=""/> - <classes visible="yes" title=""/> - <defines title=""/> - <typedefs title=""/> - <enums title=""/> - <enumvalues title=""/> - <functions title=""/> - <variables title=""/> - <signals title=""/> - <publicslots title=""/> - <protectedslots title=""/> - <privateslots title=""/> - <events title=""/> - <properties title=""/> - <friends title=""/> - <membergroups visible="yes"/> - </memberdecl> - <detaileddescription title=""/> - <memberdef> - <pagedocs/> - <inlineclasses title=""/> - <defines title=""/> - <typedefs title=""/> - <enums title=""/> - <enumvalues title=""/> - <functions title=""/> - <variables title=""/> - <signals title=""/> - <publicslots title=""/> - <protectedslots title=""/> - <privateslots title=""/> - <events title=""/> - <properties title=""/> - <friends title=""/> - </memberdef> - <authorsection visible="yes"/> - </group> - - <!-- Layout definition for a directory page --> - <directory> - <briefdescription visible="yes"/> - <directorygraph visible="yes"/> - <memberdecl> - <dirs visible="yes"/> - <files visible="yes"/> - </memberdecl> - <detaileddescription title=""/> - </directory> -</doxygenlayout> diff --git a/Tools/AtlasDoxygen/cmt/XMLList.txt b/Tools/AtlasDoxygen/cmt/XMLList.txt deleted file mode 100755 index 4e06dd3c9418c3b852e47adb61dd67705fd268c1..0000000000000000000000000000000000000000 --- a/Tools/AtlasDoxygen/cmt/XMLList.txt +++ /dev/null @@ -1,32 +0,0 @@ -#Packages for which Doxygen will produce XML output - -AnalysisTriggerEvent -CaloEvent -EventInfo -GeneratorObjects -HepMC -JetEvent -JetTagEvent -McParticleEvent -NavFourMom -MissingETEvent -Particle -TileEvent -TrackRecord -TrigEFMissingET -TrigInDetEvent -TrigSteeringEvent -TrkTrack -TrkEventPrimitives -TrkMeasurementBase -TrkParameters -TrkParametersBase -TrkTruthData -VxVertex -egammaEvent -muonEvent -tauEvent -LArRecEvent -TrigParticle -TrigMuonEvent -TrigCaloEvent diff --git a/Tools/AtlasDoxygen/cmt/cmtdoc.py b/Tools/AtlasDoxygen/cmt/cmtdoc.py deleted file mode 100755 index e0c5f7a057a61c333acea7d48825beaa7be8c763..0000000000000000000000000000000000000000 --- a/Tools/AtlasDoxygen/cmt/cmtdoc.py +++ /dev/null @@ -1,241 +0,0 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration - - -#------------------------------------------------------------ -# -# Script to generate HTML representation of the doxygen-like comments written in -# a CMT requirements file -# -# All documentation comments considered by this script must be prefixed by '##' -# -# Special actions are triggered by special keywords: -# -# o a keyword must be the first word of a documentation comment. -# o all documentation lines related with a given keyword must appear in -# a single comment block (ie all lines in this block are prefixed with '##' -# o a keyword always start with a '@' sign -# -#-------------------------------------------- -# KEYWORDS -#-------------------------------------------- -# @pattern <name> -# doc line -# doc line -# doc line -# @arg <name> <description> -# -# Describe a CMT pattern and its arguments -# -#-------------------------------------------- -# USAGE -#-------------------------------------------- -# o Since this script reads the requirements file, it must be activated while -# being in the cmt directory of the package -# o The HTML format is generated to standard output -# -# Typical usage: -# -# > cd ..../cmt -# > python /afs/cern.ch/atlas/scripts/cmtdoc.py >../doc/cmtdoc.html -# > vi ../doc/mainpage.h -# @htmlinclude cmtdoc.html -# > gmake doxygen -# -#------------------------------------------------------------ -import sys -import string -import re - - -lines = [] -in_pattern = False -in_define_pattern = False -docs = dict () -defs = dict () -arg_lists = dict () -pattern_name = '' - -comment_prefix = '##' -comment_prefix_length = len (comment_prefix) - - -def get_doc (lines): - doc = [] - for line in lines: - doc.append (string.rstrip (string.lstrip (line, '#'))) - return (doc) - # end show_pattern - -def html_begin_table (): - print '<table width="100%" border="0" cellspacing="1" bgcolor="#000000" cellpadding="2">' - print '' - print '<tr valign="top" bgcolor="#eeeebb">' - print ' <td><center><i>name</i></center></td>' - print ' <td><center><i>description</i></center></td>' - print ' <td><center><i>args</i></center></td>' - print '</tr>' - print '' - -def html_pattern_row (name, docs, arg_lists): - print '<tr valign="top" bgcolor="#ffffff">' - print ' <td><tt><a href="#pattern ' + name + '">' + name + '</a></tt></td>' - print ' <td>' - if docs.has_key (name): - for line in docs[name]: - line = re.sub ('<', '<', line) - line = re.sub ('>', '>', line) - print line - else: - print ' ' - print '</td>' - print ' <td>' - if arg_lists.has_key (name): - print '<table>' - arg_list = arg_lists[name] - for arg in arg_list: - line = arg_list[arg] - line = re.sub ('<', '<', line) - line = re.sub ('>', '>', line) - print '<tr valign="top"><td width="60"><tt>' + arg + '</tt></td><td>' + line + '</td></tr>' - print '</table>' - else: - print ' ' - print "</tr>" - -def html_end_table (): - print '</table>'; - -def html_pattern_def (name, defs): - print '<h2><a name="pattern ' + name + '"></a><tt>' + name + '</tt></h2>' - print '' - if defs.has_key (name): - print '<pre><FONT color="green">' - lines = defs[name] - for line in lines: - line = re.sub ('<', '<', line) - line = re.sub ('>', '>', line) - print line - print '</FONT></pre>' - print '' - -# -# Main -# - -f = open ('requirements') -for line in f.readlines (): - w = string.split (line) - if len(w) == 0: - continue - - if line[0:comment_prefix_length] == comment_prefix: - # - # Doxygen comments may be inserted into CMT comment lines - # - # First word may be a parameter - # - key = ' ' - if len(w) > 1: - key = w[1] - - if key[0:1] == '@': - # - # Check the keyword - # - keyword = w[1] - if keyword == '@pattern': - if in_pattern: - # Any other keyword finishes that section - docs[pattern_name] = get_doc (lines) - in_pattern = False - lines = [] - - # Syntax : @pattern <name> - in_pattern = True - pattern_name = w[2] - continue - if keyword == '@arg': - if in_pattern: - # Syntax : @arg <name> <description> - if not arg_lists.has_key (pattern_name): - arg_lists[pattern_name] = dict () - - arg = w[2] - arg_line = string.join (w[3:]) - arg_lists[pattern_name][arg] = arg_line - continue - - if in_pattern: - # Any other keyword finishes that section - docs[pattern_name] = get_doc (lines) - in_pattern = False - lines = [] - - if in_pattern: - lines.append (line) - - continue - - # - # This is a normal CMT statement - # - if in_pattern: - # - # Previous line was inside a doxygen comment block, we must finish it - # - docs[pattern_name] = get_doc (lines) - in_pattern = False - lines = [] - - # - # Running definition - # - if in_define_pattern: - line = string.rstrip (line) - lines.append (line) - if line[-1] == '\\': - in_define_pattern = True - else: - in_define_pattern = False - defs[pattern_name] = lines; - lines = [] - continue - - # - # Check the CMT keyword - # - if w[0] == 'pattern': - line = string.rstrip (line) - lines.append (line) - name = w[1] - if name == '-global': - name = w[2] - - if line[-1] == '\\': - pattern_name = name - in_define_pattern = True - else: - in_define_pattern = False - defs[name] = lines; - lines = [] - continue - - -#------------------------------------------------------------ -# The parsing is now finished -# Now generate HTML -# - -# -# Generate the pattern table -# -html_begin_table () -for key in defs: - html_pattern_row (key, docs, arg_lists) -html_end_table () - -# -# Generate the pattern definition list -# -for key in defs: - html_pattern_def (key, defs) diff --git a/Tools/AtlasDoxygen/cmt/doxygen.py b/Tools/AtlasDoxygen/cmt/doxygen.py deleted file mode 100755 index 7baaebc29e9e0129ead150bcb730adbd816b2b34..0000000000000000000000000000000000000000 --- a/Tools/AtlasDoxygen/cmt/doxygen.py +++ /dev/null @@ -1,897 +0,0 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration - - - -# -*- coding: iso-8859-1 -*- - -import os -import sys -import string -import popen2 -import stat -import re -import time -import commands -import select - -from os.path import join - -############################################################################ -## Error and success return function -def S_ERROR( sMessage = '' ): - return { 'Status': ERROR, 'OK' : 0, 'Message' : sMessage } - -def S_OK( sValue = None, sPname = 'Value' ): - dResult = { 'Status': 'OK', 'OK' : 1 } - if sValue is not None: - dResult[ sPname ] = sValue - return dResult - -############################################################################ -class SubprocessExecuter: - - def __init__( self, iTimeout = False ): - self.changeTimeout( iTimeout ) - self.iBufferLimit = 5242880 # 5MB limit for data - - def changeTimeout( self, iTimeout ): - self.iTimeout = iTimeout - if self.iTimeout == 0: - self.iTimeout = False - - def __readFromPipe( self, oPipe, iBaseLength = 0 ): - sData = "" - iMaxSliceLength = 8192 - iLastSliceLength = 8192 - - while iLastSliceLength == iMaxSliceLength: - sReadBuffer = os.read( oPipe, iMaxSliceLength ) - iLastSliceLength = len( sReadBuffer ) - sData += sReadBuffer - if len( sData ) + iBaseLength > self.iBufferLimit: - dRetVal = S_ERROR( "Reached maximum allowed length (%d bytes) for called function return value" % self.iBufferLimit ) - dRetVal[ 'ReadData' ] = sData - return dRetVal - - return S_OK( sData ) - - def __executePythonFunction( self, oFunc, stArgs, oWritePipe ): - try: - os.write( oWritePipe, "%s\n" % str( S_OK( oFunc( *stArgs ) ) ) ) - except Exception, v: - os.write( oWritePipe, "%s\n" % str( S_ERROR( str( v ) ) ) ) - try: - os.close( oWritePipe ) - finally: - os._exit(0) - - def __selectFD( self, lR, iTimeout = False ): - if self.iTimeout and not iTimeout: - iTimeout = self.iTimeout - if not iTimeout: - return select.select( lR , [], [] )[0] - else: - return select.select( lR , [], [], iTimeout )[0] - - def pythonCall( self, oFunction, stArgs ): - oReadPipe, oWritePipe = os.pipe() - iPid = os.fork() - if iPid == 0: - os.close( oReadPipe ) - self.__executePythonFunction( oFunction, stArgs, oWritePipe ) - os.close( oWritePipe ) - else: - os.close( oWritePipe ) - lReadable = self.__selectFD( [ oReadPipe ] ) - if len( lReadable ) == 0: - os.close( oReadPipe ) - os.kill( iPid, 9 ) - os.waitpid( iPid, 0 ) - return S_ERROR( "%d seconds timeout for '%s' call" % ( self.iTimeout, oFunction.__name__ ) ) - elif lReadable[0] == oReadPipe: - dData = self.__readFromPipe( oReadPipe ) - os.close( oReadPipe ) - os.waitpid( iPid, 0 ) - if dData[ 'OK' ]: - return eval( dData[ 'Value' ] ) - return dData - - def __generateSystemCommandError( self, sMessage ): - retVal = S_ERROR( sMessage ) - retVal[ 'stdout' ] = self.lBuffers[0][0] - retVal[ 'stderr' ] = self.lBuffers[1][0] - return retVal - - def __readFromFile( self, oFile, iBaseLength, bAll ): - try: - if bAll: - sData = "".join( oFile.readlines() ) - else: - sData = oFile.readline() - except Exception, v: - pass - if sData == "": - #self.checkAlive() - self.bAlive = False - if len( sData ) + iBaseLength > self.iBufferLimit: - dRetVal = S_ERROR( "Reached maximum allowed length (%d bytes) for called function return value" % self.iBufferLimit ) - dRetVal[ 'ReadData' ] = sData - return dRetVal - - return S_OK( sData ) - - def __readFromSystemCommandOutput( self, oFile, iDataIndex, bAll = False ): - retVal = self.__readFromFile( oFile, len( self.lBuffers[ iDataIndex ][0] ), bAll ) - if retVal[ 'OK' ]: - self.lBuffers[ iDataIndex ][0] += retVal[ 'Value' ] - if not self.oCallback == None: - while self.__callLineCallback( iDataIndex ): - pass - return S_OK() - else: - self.lBuffers[ iDataIndex ][0] += retVal[ 'ReadData' ] - os.kill( self.oChild.pid, 9 ) - self.oChild.wait() - return self.__generateSystemCommandError( "Exceeded maximum buffer size ( %d bytes ) timeout for '%s' call" % ( self.iBufferLimit, self.sCmd ) ) - - def systemCall( self, sCmd, oCallbackFunction = None ): - self.sCmd = sCmd - self.oCallback = oCallbackFunction - self.oChild = popen2.Popen3( self.sCmd, True ) - self.lBuffers = [ [ "", 0 ], [ "", 0 ] ] - iInitialTime = time.time() - iExitStatus = self.oChild.poll() - - while iExitStatus == -1: - retVal = self.__readFromCommand() - if not retVal[ 'OK' ]: - return retVal - if self.iTimeout and time.time() - iInitialTime > self.iTimeout: - os.kill( self.oChild.pid, 9 ) - self.oChild.wait() - self.__readFromCommand( True ) - self.oChild.fromchild.close() - self.oChild.childerr.close() - return self.__generateSystemCommandError( "Timeout (%d seconds) for '%s' call" % ( self.iTimeout, sCmd ) ) - iExitStatus = self.oChild.poll() - - self.__readFromCommand(True ) - - self.oChild.fromchild.close() - self.oChild.childerr.close() - return S_OK( ( iExitStatus / 256, self.lBuffers[0][0], self.lBuffers[1][0] ) ) - - def __readFromCommand( self, bLast = False ): - if bLast: - retVal = self.__readFromSystemCommandOutput( self.oChild.fromchild, 0, True ) - if not retVal[ 'OK' ]: - return retVal - retVal = self.__readFromSystemCommandOutput( self.oChild.childerr, 1, True ) - if not retVal[ 'OK' ]: - return retVal - else: - lReadable = self.__selectFD( [ self.oChild.fromchild, self.oChild.childerr ], 1 ) - if self.oChild.fromchild in lReadable: - retVal = self.__readFromSystemCommandOutput( self.oChild.fromchild, 0 ) - if not retVal[ 'OK' ]: - return retVal - if self.oChild.childerr in lReadable: - retVal = self.__readFromSystemCommandOutput( self.oChild.childerr, 1 ) - if not retVal[ 'OK' ]: - return retVal - return S_OK() - - - def __callLineCallback( self, iIndex ): - iNextLine = self.lBuffers[ iIndex ][0][ self.lBuffers[ iIndex ][1]: ].find( "\n" ) - if iNextLine > -1: - self.oCallback( iIndex, self.lBuffers[ iIndex ][0][ self.lBuffers[ iIndex ][1]: self.lBuffers[ iIndex ][1] + iNextLine ] ) - self.lBuffers[ iIndex ][1] += iNextLine + 1 - return True - return False - -############################################################################ -def redirectOutput(index, buffer): - """Filter function to redirect the std output and error of the job - executable for real-time debugging - """ - print buffer - - -############################################################################ -def exeCommand( sCmd, iTimeout = 0, oLineCallback = redirectOutput): - """Return ( status, output, error, pythonError ) of executing cmd in a shell.""" - oSPE = SubprocessExecuter( iTimeout ) - retVal = oSPE.systemCall( sCmd, oLineCallback ) - if retVal[ 'OK' ]: - return retVal[ 'Value' ][0], retVal[ 'Value' ][1], retVal[ 'Value' ][2], 0 - else: - if re.search("Timeout",retVal['Message']): - return 1, retVal['stdout'], retVal['Message'], 2 - else: - return 1, retVal['stdout'], retVal['stderr'], 1 - -################################################################################# -###################################### EoF ###################################### -################################################################################# -#---------------------------------------------------- -def removedirs (top): - # Delete everything reachable from the directory named in 'top'. - # CAUTION: This is dangerous! For example, if top == '/', it - # could delete all your disk files. - if os.path.exists (top): - for root, dirs, files in os.walk (top, topdown=False): - for name in files: - name = root + '/' + name - os.chmod (name, stat.S_IWRITE) - #print name - os.remove (name) - for name in dirs: - name = root + '/' + name - os.chmod (name, stat.S_IWRITE) - #print name - os.rmdir (name) - os.chmod (top, stat.S_IWRITE) - #print top - os.rmdir (top) -# def removedirs (top) - - -#---------------------------------------------------- -# -# Executing a shell command -# -def execute (cmd): - #print '> ' + cmd - r, w, e = popen2.popen3(cmd) - lines = [] - for line in r.readlines(): - ##print line - line = string.rstrip (line) - lines.append (line) - #for line in e.readlines(): - # line = string.rstrip (line) - # lines.append (line) - r.close() - w.close() - e.close() - return lines -# def execute (cmd) - -#---------------------------------------------------- -# -# Display a set of lines -# -def show_lines (lines): - for line in lines: - print line -# def show_lines (lines) - -#---------------------------------------------------- -# -# Wrapper class for CMT. -# -# Prefetch the set of macros and tags -# -class Cmt: - - - - def expand_pattern (self, text, p1, p2): - v = text - rexp = '' - for c in p1: - rexp += r'[' + c + r']' - rexp += '([^' + p2 + r']*)[' + p2 + r']' - while True: - ms = re.findall (rexp, v) - if len(ms) == 0: - break - for m in ms: - if m in self.macros: - v = string.replace (v, p1 + m + p2, self.macros[m]) - elif m in os.environ: - v = string.replace (v, p1 + m + p2, os.environ [m]) - else: - v = string.replace (v, p1 + m + p2, '') - # while True - return (v) - - def expand (self, text): - v = text - v = self.expand_pattern (v, '$(', ')') - v = self.expand_pattern (v, '${', '}') - v = self.expand_pattern (v, '%', '%') - return (v) - # expand - - # Pre-fetch the macro values and expand all of them - def init_macros (self): - lines = execute (self.cmtexe + ' show macros') - for line in lines: - w = string.split (line, '=') - name = w[0] - if len(w)>=2: - value = re.sub ('^[\']', '', w[1]) - value = re.sub ('[\']$', '', value) - self.macros [name] = value - for key in self.macros.keys(): - self.macros[key] = self.expand (self.macros[key]) - #print key + '=' + v - # for key in self.macros.keys(): - # init_macros - - def init_sets (self): - lines = execute (self.cmtexe + ' show sets') - for line in lines: - w = string.split (line, '=') - name = w[0] - if len(w)>=2: - value = re.sub ('^[\']', '', w[1]) - value = re.sub ('[\']$', '', value) - self.macros [name] = value - for key in self.macros.keys(): - self.macros[key] = self.expand (self.macros[key]) - #print key + '=' + v - # for key in self.macros.keys(): - # init_sets - - def init_tags (self): - lines = execute (self.cmtexe + ' show tags') - for line in lines: - w = string.split (line, ' ') - name = w[0] - #print 'tag=' + name - self.tags [name] = True - # init_tags - - def init_uses (self): - lines = execute (self.cmtexe + ' show uses') - for line in lines: - if line[0] == '#': - if line[0:5] == '# use': - w = string.split (line, ' ') - #print 'init_uses> [' + w[2] + ']' - self.top_uses.append (w[2]) - continue - self.uses.append (line) - # init_uses - - # Constructor - def __init__(self, tags=""): - self.cmtexe = os.environ ['CMTROOT'] + '/' + os.environ ['CMTBIN'] + '/cmt.exe -tag_add=Doxygen,'+tags+' ' - self.macros = dict () - self.tags = dict () - self.sets = dict () - self.uses = [] - self.top_uses = [] - self.init_sets () - self.init_macros () - self.init_tags () - self.init_uses () - # __init__ - - def macro_value (self, name): - if not self.macros.has_key (name): - return '' - #print 'self.macros['+name+']=' + self.macros[name] - return self.macros[name] - # macro_value - - def tag (self, name): - if not self.tags.has_key (name): - return False - return True - # tag - - def do (self, cmd): - execute (self.cmtexe + ' ' + cmd) - # do - -# class Cmt - -#---------------------------------------------------- -# -# Copy the template Doxyfile from the Doxygen interface -# Expand against CMT macros -# Manually add some Doxyfile statements -# -def filter_doxyfile (doxygen_input, doxygen_html_output, tagfiles, package_tagfile): - XmlYes = 0 - # FIXME - commenting out for the moment, until I get everything else working - - # xmllist = open (DoxygenRoot + '/cmt/XMLList.txt') - # lines = xmllist.readlines () - # xmllist.close () - # for packlist in lines: - # w = string.split (packlist) - # if len (w) > 0: - # if w[0] == package: - # XmlYes=1 - # break - f = open (DoxygenRoot + '/cmt/Doxyfile') - lines = f.readlines () - f.close () - g = open ('Doxyfile', 'w') - package = package_tagfile.split('/')[-1].split('.')[0] - # print "Going over Doxyfile lines:" - for line in lines: - w = string.split (line) - if len (w) > 0: - if w[0] == 'INPUT': - line = 'INPUT = ' + doxygen_input + '\n' - elif w[0] == 'OUTPUT_DIRECTORY': - line = 'OUTPUT_DIRECTORY = ' + doxygen_html_output + '\n' - elif w[0] == 'TAGFILES': - line = 'TAGFILES = ' + ' '.join(tagfiles) + '\n' - elif w[0] == 'GENERATE_TAGFILE': - line = 'GENERATE_TAGFILE = ' + package_tagfile + '\n' - elif w[0] == 'EXTERNAL_SEARCH_ID': - line = 'EXTERNAL_SEARCH_ID = ' + package + '\n' - elif w[0] == 'EXTRA_SEARCH_MAPPINGS': - line = 'EXTRA_SEARCH_MAPPINGS = ' + package + '=' + '../../' + package + '/html\n' - elif (w[0] == 'GENERATE_HTML'): - if package_tagfile=='': - # Only generate HTML in the second pass, where we DON'T make a tag file - line = 'GENERATE_HTML = YES' + '\n' - else: - line = 'GENERATE_HTML = NO' + '\n' - elif (XmlYes and w[0] == 'GENERATE_XML'): - line = 'GENERATE_XML = ' + 'YES' + '\n' - else: - line = cmt.expand (line) -# if line.startswith("STRIP_FROM_PATH"): -# print line -# print line - g.write (line) - g.close () -# filter_doxyfile - -#---------------------------------------------------- -# -# Construct the list of expected tag files from the list of used packages -# and the list of used packages to display in the HTML table -# -def filter_uses ( output_dir ): - used_packages = '' - tagfiles = [] - # common_output = cmt.macro_value ('DOXYGEN_COMMON_OUTPUT_DIRECTORY')+'/InstallArea/doc' #FIXME! Should use something like build_output_dir - - for line in cmt.uses: - w = string.split (line) - package = w[1] - - if package == 'CMT': - continue - - offset = cmt.macro_value (package + '_offset') - - if offset == 'CMT': - continue - - if offset != '': - offset = offset + '/' - - # I don't know why we care about finding the tagfile - just assume they exist? EJWM - # path = os.path.normpath (build_output_dir (package) + '/' + package + '.tag') - # print 'path=',path - # if os.path.isfile (path): - # print package + '.tag found in ' + path - # tagfiles = tagfiles + ' ' + path - - if package in cmt.top_uses: - # print ' top use=',package - used_packages = used_packages + ' ' + offset + package - # New approach - fill tagfiles with the 'topuses' and complete doxygen-compatible format. - # Doxygen uses funky format here: path/to/compB/compB.tag=path/to/compB/htmldocs - # tagfile = common_output+"/"+package + '.tag='+"../../"+package+'/html' - # tagfile = output_dir+'/'+package + '.tag='+output_dir+'/'+package+'/html' - tagfile = output_dir+'/'+package + '.tag=../../'+package+'/html' - # print 'tagfile = '+tagfile - tagfiles.append(tagfile) - # else: - # print 'NOT top use=',package - - #for line in cmt.uses - - return used_packages, tagfiles -# filter_uses - -#---------------------------------------------------- -# -# Construct the command to list a directory according to the platform -# -def get_ls_cmd (): - #print 'Platform=' + sys.platform - if sys.platform == 'win32': - return 'dir' - else: - return 'ls' -# get_ls_cmd - -#---------------------------------------------------- -# -# Perform the relocation of html files WRT tagfiles -# -def relocate (output, tagfiles, html_mapping): - print 'Now relocating output files' - - #tagfiles += cmt.macro_value ('Doxygen_extra_tagfiles') - - # tagfiles contains the list of all <P>.tag files for all used packages - #print 'tagfiles = [' + tagfiles + ']' - - if len(tagfiles) == 0: - print 'No tag files -> no way to relocate' - return - - # We build a dictionary - # dict <tag-file-name, doc-dir> - # where, for each tag file, we store the address where to install - # Here again we have to consider the installarea strategy - # Absolute file paths are converted into URLs - subs = dict () - - for f in string.split (tagfiles): - filename = os.path.basename (f) - package = string.replace (filename, '.tag', '') - d = build_output_dir (package) - for m in html_mapping: - d = string.replace (d, os.path.normpath (m[0]), m[1]) - subs[filename] = string.replace (d, '\\', '/') + '/html/' - - os.chdir (output + '/html') - - # We now list all files that may refer to a tag, ie tree.js and *.html - files = [] - for name in os.listdir ('.'): - if name == 'tree.js': - files.append (name) - elif re.search ('[.]html$', name) != None: - files.append (name) - # for - - if len(files) == 0: - print 'No file to relocate!' - return - - # Handle all tags - for key in subs: - if key == '': - continue - if key == 'Doxygen.tag': - continue - if key == '_doc': - continue - if key == '_cgi': - continue - - #print 'Substituting ' + subs[key] + ' for each occurence of tag file ' + key - - pattern1 = r'doxygen="(' + key + r'):([^ \"\t\>\<]*)" (href|src)="' - repl1 = r'doxygen="' + subs[key] + r'" \3="' + subs[key] - - # Special for tree.js - pattern2 = r'"(' + key + r')\:([^ \"\t\>\<]*)", "' - repl2 = r'"' + subs[key] + '", "' - - #print 'p1 = ' + pattern1 + ' r = ' + repl1 - #print 'p2 = ' + pattern2 + ' r = ' + repl2 - - for f in files: - #print 'Editing ' + f - fbak = f + '.bak' + key - #fbak = f + '.bak' - #print 'renaming ' + f + ' into ' + fbak - if not os.path.isfile (f): - #print 'File ' + f + ' not found ' - continue - - # A copy of the original file is created - # to keep the unchanged text while the converted one is filled in - # - if os.path.isfile (fbak): - os.remove (fbak) - os.rename (f, fbak) - if f != 'tree.js': - pattern = pattern1 - repl = repl1 - else: - pattern = pattern2 - repl = repl2 - - g = open (f, 'w') - gbak = open (fbak) - - for line in gbak: - line2 = re.sub (pattern, repl, line) - #if line2 != line: - # print line - # print '->' + line2 - g.write (line2) - # for line in gbak - - g.close () - gbak.close () - - # Now that the original text file is converted, we - # can throw the original copy away - # - if os.path.isfile (fbak): - os.remove (fbak) - - # for f in files - # for key in subs - -# relocate - -#======================================================== -# -# We consider two cases according to the build_strategy (with or without installarea) -# -# with_installarea: -# <package_cmtpath>/InstallArea/doc/<package>/html -# without_installarea: -# <package_root>/doc/html - -# This is identical to build_output_dir(), so let's just use that? EJWM - -# def build_tag_dir (package): -# common_output = cmt.macro_value ('DOXYGEN_COMMON_OUTPUT_DIRECTORY') -# if common_output == '': -# common_output = cmt.macro_value (package + '_cmtpath') -# project = cmt.macro_value (package + '_project') -# package_root = cmt.macro_value (package + '_root') -# -# if cmt.tag (project + '_with_installarea'): -# return (os.path.normpath (common_output + '/InstallArea/doc/')) -# else: -# return (os.path.normpath (package_root + '/doc/')) -# def build_tag_dir (package) - -def build_output_dir (package): - common_output = cmt.macro_value ('DOXYGEN_COMMON_OUTPUT_DIRECTORY') - if common_output == '': - common_output = cmt.macro_value (package + '_cmtpath') - - project = cmt.macro_value (package + '_project') - package_root = cmt.macro_value (package + '_root') - - if cmt.tag (project + '_with_installarea'): - return (os.path.normpath (common_output + '/InstallArea/doc/')) - else: - return (os.path.normpath (package_root + '/doc/')) -# def build_output_dir (package) - -#---------------------------------------------------- -# -# Parse html files in dir and replaces pattern with repl -# -def parse_html(dir,pattern,repl): - files = os.listdir(dir) - for file in files: - if file.find('.html')>0: - file = dir + '/' + file - #print 'file = ',file - f = open (file) - # Read file contents to memory. Warning! This may be a memory hog - contents = f.read () - f.close () - #print 'contents=', contents - # Substitute pattern with repl in contents - contents = re.sub(pattern,repl,contents); - #print 'contents_new=', contents_new - # Write to the same file - f = open (file,'w') - f.write(contents); - f.close () - # for f in files: -#def parse_html(dir,pattern,repl) - -def f (mapping): - return (string.split (mapping, '@')) -# def f - -def has_mainpage (): - if not os.path.isdir (os.path.normpath ('../doc')): - return (False) - cmd = get_ls_cmd () + ' ' + os.path.normpath ('../doc') - lines = execute (cmd) - for line in lines: - if string.lower(line) == 'mainpage.h': - return (True) - return (False) - -# def has_mainpage - - -#---------------------------------------------------- -# Main -#---------------------------------------------------- - -if len(sys.argv)==2: - tags=sys.argv[1][5:] -else: - tags="" -print 'Running Local Doxygen' -cmt = Cmt (tags) -#print cmt.tags - - -#---------------------------------------------------- -# Preparing the configuration - -DoxygenRoot = cmt.macro_value ('ATLASDOXYGENROOT') -package = cmt.macro_value ('package') -project = cmt.macro_value (package + '_project') -package_root = cmt.macro_value (package + '_root') -package_cmtpath = cmt.macro_value (package + '_cmtpath') - -DOXYGEN_STRIP_FROM_PATH = cmt.macro_value ('DOXYGEN_STRIP_FROM_PATH') -DOXYGEN_INPUT = cmt.macro_value ('DOXYGEN_INPUT') -DOXYGEN_FILE_PATTERNS = cmt.macro_value ('DOXYGEN_FILE_PATTERNS') -DOXYGEN_EXCLUDE = cmt.macro_value ('DOXYGEN_EXCLUDE') -DOXYGEN_EXCLUDE_PATTERNS = cmt.macro_value ('DOXYGEN_EXCLUDE_PATTERNS') - -html_mapping = map (f, string.split (cmt.macro_value ('DOXYGEN_HTML_MAPPING'))) - -print "DoxygenRoot = ", DoxygenRoot - -output = build_output_dir (package) -writeHTML=False -package_tagfile='' -if 'doxygen_tags' in cmt.tags: - print 'Pass #1 - Making doxygen tags (no HTML)' - package_tagfile = os.path.normpath (output + '/' + package + '.tag') - # package_tagfile = package + '.tag' - # output = "." -else: - # Pass #2 so make HTML - print "Pass #2 - Writing HTML in this pass... (will use tags made in pass#1)" - writeHTML=True - -print 'output=[' + output + ']' -print 'input=[' + DOXYGEN_INPUT + ']' -print 'DOXYGEN_FILE_PATTERNS=[' + DOXYGEN_FILE_PATTERNS + ']' -print 'package_root=' + package_root -print 'package_tagfile=' + package_tagfile - -DOXYGEN_GENERATE_TAGFILE = package_tagfile -print 'DOXYGEN_GENERATE_TAGFILE=' + DOXYGEN_GENERATE_TAGFILE - -used_packages='' -tagfiles=[] -if writeHTML: - # Only care about this for pass#2 - used_packages, tagfiles = filter_uses (output_dir=output) -print 'used_packages = ' + used_packages -print 'tagfiles = ' + ' '.join(tagfiles) - -#---------------------------------------------------- -# Preparing output - -#print 'output = ' + output - -if output and not os.path.isdir (output): - os.makedirs (output) - -if not os.path.isdir ('../doc'): - os.makedirs ('../doc') - -if not has_mainpage (): - f = open ('../doc/mainpage.h', 'w') - f.write ('/**\n') - f.write ('\n') - f.write (' <i>This page has been automatically generated by the tool. Please remove this line when you start creating your own mainpage</i>\n') - f.write ('\n') - f.write ('@mainpage\n') - f.write ('\n') - f.write ('@htmlinclude used_packages.html\n') - f.write ('\n') - f.write ('@include requirements\n') - f.write ('\n') - f.write ('*/\n') - f.close () - -# Only worry about this when we're working with tagfiles? -if not writeHTML and not os.path.isdir (os.path.dirname (package_tagfile)): - dirname = os.path.dirname (package_tagfile) - if (dirname): - os.makedirs (dirname) - -#---------------------------------------------------- -# Constructing the Doxyfile -# -# we first have to check the specified list of possible input file patterns -# since Doxygen is unable to survive empty specifications -# -doxygen_input = '' -for d in string.split (DOXYGEN_INPUT): - d = os.path.normpath (d) - if os.path.isdir (d): - for p in string.split (DOXYGEN_FILE_PATTERNS): - cmd = get_ls_cmd () + ' ' + os.path.normpath (d + '/' + p) - lines = execute (cmd) - if len (lines) != 0: - doxygen_input = doxygen_input + ' ' + d - break - -# when the input is empty we must stop before doxygen is run to avoid generating an error -if doxygen_input == '': - print 'Empty input for Doxygen' - exit - -print 'input for Doxygen = ' + doxygen_input - -# Operations will now occur from the ../doc directory -os.chdir ('../doc') - -package_version = cmt.macros['version'] -package_svnpath = 'https://svnweb.cern.ch/trac/atlasoff/browser'+ package_root.replace(package_cmtpath,'') + '/tags/' + package_version - -# copy new header into package doc (so it will be processed by Doxygen) - still need to insert SVN link -if writeHTML: - # print 'Copying Layout XML, and adding SVN tab' - f = open (DoxygenRoot + '/cmt/DoxygenLayout.xml') - lines = f.readlines () - f.close () - g = open ('DoxygenLayout.xml', 'w') - #print "Going over HTML lines:" - for line in lines: - # print line - # Insert the link to SVN - if '<!-- SVNLINK -->' in line: - g.write ('<tab type="user" visible="yes" url="'+ package_svnpath +'" title="SVN"/>') - g.write (line) - g.close () - -filter_doxyfile (doxygen_input, output+'/'+package, tagfiles, package_tagfile) - -# # End here for debugging -# import sys -# sys.exit() - -if writeHTML: - #---------------------------------------------------- - # Constructing used_packages.html - # - # We have to guess where documentation of used packages are installed - # - f = open ('used_packages.html', 'w') - f.write ('<center><table border="1"><tr><td><center><i><b>Used packages</b></i></center></td></tr>\n') - for u in string.split (used_packages): - p = os.path.basename (u) - output = build_output_dir (p) - r = output + '/'+p - t = os.path.normpath (output + '/' + p + '.tag') - if os.path.isfile (t): # Tag file exists - for m in html_mapping: - r = string.replace (r, os.path.normpath(m[0]), m[1]) - r = string.replace (r, '\\', '/') - f.write ('<tr><td><a href="' + r + '/html/index.html">' + u + '</a></td></tr>\n') - else: # Package does not exist - f.write ('<tr><td>' + u + '</td></tr>\n') - # if os.path.isfile (t) - # for u in string.split (used_packages) - - f.write ('</table></center>\n') - f.close () - -#---------------------------------------------------- -# Running doxygen -print 'Current location = ' + os.getcwd() -print 'Now running doxygen with PATH= \n' + cmt.macro_value ('PATH') - -os.putenv ('PATH', cmt.macro_value ('PATH')) - -status, text, error, pythonError = exeCommand('doxygen') -#status, text = commands.getstatusoutput('doxygen') -#show_lines (string.split (text, '\n')) -#print status - -# FIXME! Disabling this for the moment - not really sure what it's supposed to do... -#relocate (output, tagfiles, html_mapping) - -# Below doesn't work -# parse_html(package_html_path,'<li>\n *<form action="search.php" method="get">', -# '<li><a href="' + package_svnpath + '"><span>SVN</span></a></li>\n <li>\n <form action="search.php" method="get">') diff --git a/Tools/AtlasDoxygen/hscript.py b/Tools/AtlasDoxygen/hscript.py deleted file mode 100644 index 0e5c11fc6e3f1e413a351c7f435481f8077916ba..0000000000000000000000000000000000000000 --- a/Tools/AtlasDoxygen/hscript.py +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration - -## -*- python -*- - -## waf imports -import waflib.Logs as msg - -PACKAGE = { - "name": "Tools/AtlasDoxygen", - "authors": ["ATLAS Collaboration"], -} - -### --------------------------------------------------------------------------- -def pkg_deps(ctx): - - ## public dependencies - ctx.use_pkg("LCG_Settings", version="*", public=True) - ctx.use_pkg("LCG_Configuration", version="*", public=True) - return # pkg_deps - - -### --------------------------------------------------------------------------- -def options(ctx): - - return # options - - -### --------------------------------------------------------------------------- -def configure(ctx): - - - - ctx.hwaf_path_remove("DOTFONTPATH", ( - {"default": ""}, - {("Linux", "Doxygen"): "AtlasDoxygen"}, - )) - - ## FIXME: implement a real waf-feature to do doxygen documentation - - ## FIXME: install fonts/ttf under INSTALL_AREA and use that instead of AtlasDoxygen_root - ctx.hwaf_path_prepend("DOTFONTPATH", ( - {"default": ""}, - {("Linux", "Doxygen"): "${AtlasDoxygen_root}/fonts/ttf"}, - )) - - ctx.hwaf_declare_macro("AtlasDoxygen_native_version", ( - {"default": ""}, - {"Doxygen": "1.5.9"}, - )) - - ctx.hwaf_path_remove("PATH", ( - {"default": ""}, - {"Doxygen": "/doxygen/"}, - )) - - ctx.hwaf_path_prepend("PATH", ( - {"default": ""}, - {"Doxygen": "${LCG_external}/doxygen/${AtlasDoxygen_native_version}/${LCG_system}/bin"}, - )) - - ctx.hwaf_declare_macro("graphviz_native_version", ( - {"default": ""}, - {"Doxygen": "2.24.0"}, - )) - - ctx.hwaf_path_remove("PATH", ( - {"default": ""}, - {"Doxygen": "/graphviz/"}, - )) - - ctx.hwaf_path_prepend("PATH", ( - {"default": ""}, - {"Doxygen": "${LCG_external}/graphviz/${graphviz_native_version}/${LCG_system}/bin"}, - )) - - ctx.hwaf_macro_append("DOXYGEN_HTML_MAPPING", ( - {"default": ""}, - {("Doxygen", "local"): "/build/atlas/software/builds/@http://cern.ch/atlas-computing/links/buildDirectory"}, - {("Doxygen", "nightly"): "/build/atnight/localbuilds/nightlies/projects/@http://cern.ch/atlas-computing/links/buildDirectory/nightlies/dev"}, - {("Doxygen", "nightlyBUG"): "/build/atnight/localbuilds/nightlies/projects/@http://cern.ch/atlas-computing/links/buildDirectory/nightlies/bugfix"}, - {("Doxygen", "nightlyAFS"): "/afs/cern.ch/atlas/software/builds/nightlies/dev/@http://cern.ch/atlas-computing/links/buildDirectory/nightlies/dev"}, - {"Doxygen": "/afs/cern.ch/atlas/software/builds/@http://cern.ch/atlas-computing/links/buildDirectory"}, - )) - - ctx.hwaf_macro_append("DOXYGEN_STRIP_FROM_PATH", ( - {"default": ""}, - {("Doxygen", "local"): "/afs/cern.ch/atlas/software/builds/"}, - {("Doxygen", "nightly"): "/afs/cern.ch/atlas/software/builds/nightlies/dev/"}, - )) - - ctx.hwaf_declare_macro("DOXYGEN_COMMON_OUTPUT_DIRECTORY", ( - {"default": ""}, - {"Doxygen": "${DOXYGEN_OUTPUT}"}, - )) - - ctx.hwaf_declare_macro("DOXYGEN_INPUT", ( - {"default": ""}, - {"Doxygen": ["../src", "../${package}", "../doc", "../share", "../python", "../cmt/fragments"]}, - )) - #### macro &{{DOXYGEN_FILE_PATTERNS [{default []} {Doxygen [*.cxx *.h *.py *.mk *.icc]}]}} - ctx.hwaf_declare_macro("DOXYGEN_FILE_PATTERNS", ( - {"default": ""}, - {"Doxygen": ["*.cxx", "*.h", "*.py", "*.mk", "*.icc"]}, - )) - #### macro &{{DOXYGEN_EXCLUDE [{default []} {Doxygen []}]}} - ctx.hwaf_declare_macro("DOXYGEN_EXCLUDE", ( - {"default": ""}, - {"Doxygen": ""}, - )) - #### macro &{{DOXYGEN_EXCLUDE_PATTERNS [{default []} {Doxygen []}]}} - ctx.hwaf_declare_macro("DOXYGEN_EXCLUDE_PATTERNS", ( - {"default": ""}, - {"Doxygen": ""}, - )) - #### macro &{{DOXYGEN_EXAMPLE_PATH [{default []} {Doxygen [../doc ../cmt ../share]}]}} - ctx.hwaf_declare_macro("DOXYGEN_EXAMPLE_PATH", ( - {"default": ""}, - {"Doxygen": ["../doc", "../cmt", "../share"]}, - )) - #### macro &{{DOXYGEN_EXAMPLE_PATTERNS [{default []} {Doxygen [*.cxx *.html requirements *.py]}]}} - ctx.hwaf_declare_macro("DOXYGEN_EXAMPLE_PATTERNS", ( - {"default": ""}, - {"Doxygen": ["*.cxx", "*.html", "requirements", "*.py"]}, - )) - #### macro &{{DOXYGEN_SORT_MEMBER_DOCS [{default []} {Doxygen [NO]}]}} - ctx.hwaf_declare_macro("DOXYGEN_SORT_MEMBER_DOCS", ( - {"default": ""}, - {"Doxygen": "NO"}, - )) - #### macro &{{DOXYGEN_INLINE_INHERITED_MEMB [{default []} {Doxygen [YES]}]}} - ctx.hwaf_declare_macro("DOXYGEN_INLINE_INHERITED_MEMB", ( - {"default": ""}, - {"Doxygen": "YES"}, - )) - #### macro &{{DOXYGEN_IMAGE_PATH [{default []}]}} - ctx.hwaf_declare_macro("DOXYGEN_IMAGE_PATH", ( - {"default": ""}, - )) - #### macro &{{DOXYGEN_UML_LOOK [{default []} {Doxygen [YES]}]}} - ctx.hwaf_declare_macro("DOXYGEN_UML_LOOK", ( - {"default": ""}, - {"Doxygen": "YES"}, - )) - #### macro &{{DOXYGEN_QT_AUTOBRIEF [{default []} {Doxygen [YES]}]}} - ctx.hwaf_declare_macro("DOXYGEN_QT_AUTOBRIEF", ( - {"default": ""}, - {"Doxygen": "YES"}, - )) - - ctx.hwaf_declare_macro("DOXYGEN_JAVADOC_AUTOBRIEF", ( - {"default": ""}, - {"Doxygen": "YES"}, - )) - - return # configure - - -### --------------------------------------------------------------------------- -def build(ctx): - return # build - -## EOF ## diff --git a/Tools/AtlasDoxygen/scripts/BeginFragment b/Tools/AtlasDoxygen/scripts/BeginFragment deleted file mode 100755 index 6bdb94ef0d974d9157815ce04806fc3e1b0490bf..0000000000000000000000000000000000000000 --- a/Tools/AtlasDoxygen/scripts/BeginFragment +++ /dev/null @@ -1,6 +0,0 @@ -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>Summary of Classes</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -<link href="tabs.css" rel="stylesheet" type="text/css"> -</head><body> -<h1>Summary of Classes</h1> diff --git a/Tools/AtlasDoxygen/scripts/EndFragment b/Tools/AtlasDoxygen/scripts/EndFragment deleted file mode 100755 index 308b1d01b6ca1e7ab1b1fa896e6a8497bbcd1a37..0000000000000000000000000000000000000000 --- a/Tools/AtlasDoxygen/scripts/EndFragment +++ /dev/null @@ -1,2 +0,0 @@ -</body> -</html> diff --git a/Tools/AtlasDoxygen/scripts/MakeDoxygenClassSum.sh b/Tools/AtlasDoxygen/scripts/MakeDoxygenClassSum.sh deleted file mode 100755 index 9d210358b31548641e6fbd01a053ed0a1ff0b354..0000000000000000000000000000000000000000 --- a/Tools/AtlasDoxygen/scripts/MakeDoxygenClassSum.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh -# ==================================================================================================================================# -# # -# MakeDoxygenClassSum -r <release> # -# # -# Unix script to create Doxygen summary for every class which has XML output already produced. # -# The script uses the information already created by doxygen in the AFSDOXYGENPATH. # -# It operates on the packages described in XMLList.txt file # -# # -# Options: # -# -r|--release <rel> Nightly or build release. # -# -a|--afspath AFSDOXYGENPATH AFS location where the doxygen is located. # -# By default for nightly it is # -# /afs/cern.ch/atlas/software/builds/nightlies/dev/AtlasOffline/<rel>/InstallArea/doc/ # -# for build releases it is # -# /afs/cern.ch/atlas/software/builds/AtlasOffline/<rel>/InstallArea/doc/ # -# # -##################################################################################################################################### - -function show_help() { - echo "Usage: ${script} -r <rel> [-a <AFSDOXYGENPATH> ]" - echo " Options:" - echo " -r|--release : rel Nightly or build release." - echo " -a|--afspath : AFSDOXYTAGPATH AFS location where the doxygen is located. " - echo -} - -script=`basename $0` -rel= -AFSDOXYGENPATH= -# --- Input parameters - -if [ $# = 0 ]; then - show_help;exit 1 -fi - -while [ $# -ne 0 ]; do - - case $1 in - -r | --release) rel=$2; shift;; - -a | --afspath) AFSDOXYGENPATH=$2; shift;; - -* | --*) show_help; exit 1;; - - esac - shift -done - -if [ `echo $rel | awk '{print substr($1,1,4)}'` == "rel_" ]; then - # locations of the nightly - if [ -z "$AFSDOXYGENPATH" ]; then - AFSDOXYGENPATH="/afs/cern.ch/atlas/software/builds/nightlies/dev/AtlasOffline/$rel/InstallArea/doc" - fi -else - # locations of the build release - if [ -z "$AFSDOXYGENPATH" ]; then - AFSDOXYGENPATH="/afs/cern.ch/atlas/software/builds/AtlasOffline/$rel/InstallArea/doc" - fi - -fi - -if [ ! -d "$AFSDOXYGENPATH" ]; then - echo "Directory $AFSDOXYGENPATH does not exist " - exit 1 -fi - - -OUTPUTPATH=${AFSDOXYGENPATH}/Summaries -for PACKAGE in `grep -v '#' ../cmt/XMLList.txt` -do - mkdir -p ${OUTPUTPATH}/${PACKAGE} - for CLASS in `ls --color=no ${AFSDOXYGENPATH}/${PACKAGE}/xml/class*xml` - do - CLASSBASE=`basename ${CLASS} .xml` - echo "Processing $CLASSBASE and outputing in ${OUTPUTPATH}/${CLASSBASE}.html" - xsltproc ./pageClassExtraction.xsl ${CLASS} > ${OUTPUTPATH}/${PACKAGE}/${CLASSBASE}.html - done -done diff --git a/Tools/AtlasDoxygen/scripts/createDoxPage.sh b/Tools/AtlasDoxygen/scripts/createDoxPage.sh deleted file mode 100755 index 3d245fc3ec344d04e25809ca32aadead74ae4ff1..0000000000000000000000000000000000000000 --- a/Tools/AtlasDoxygen/scripts/createDoxPage.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/sh -# ==================================================================================================================================# -# # -# createDoxPage -d <DOXYTAGPATH> -a <AFSDOXYTAGPATH> # -# # -# Unix script to create one summary Doxygen web page for all packages. # -# The script uses the information already created by doxygen in the AFSDOXYTAGPATH. # -# # -# Options: # -# -r|--release <rel> Nightly or build release. # -# -d|--doxpath DOXYTAGPATH Http location where the doxygen is located. # -# By default for nightly it is # -# http://atlas-computing.web.cern.ch/atlas-computing/links/nightlyDevDirectory/AtlasOffline/<rel>/InstallArea/doc/ # -# for build releases it is # -# http://atlas-computing.web.cern.ch/atlas-computing/links/buildDirectory/AtlasOffline/<rel>/InstallArea/doc/ # -# -a|--afspath AFSDOXYTAGPATH AFS location where the doxygen is located. # -# By default for nightly it is # -# /afs/cern.ch/atlas/software/builds/nightlies/dev/AtlasOffline/<rel>/InstallArea/doc/ # -# for build releases it is # -# /afs/cern.ch/atlas/software/builds/AtlasOffline/<rel>/InstallArea/doc/ # -# # -##################################################################################################################################### - -function show_help() { - echo "Usage: ${script} -r <rel> [-d <DOXYTAGPATH> -a <AFSDOXYTAGPATH>]" - echo " Options:" - echo " -r|--release rel Nightly or build release." - echo " -d|--doxpath DOXYTAGPATH Http location where the doxygen is located." - echo " -a|--afspath AFSDOXYTAGPATH AFS location where the doxygen is located. " - echo -} - -script=`basename $0` -rel= -DOXYTAGPATH= -AFSDOXYTAGPATH= -# --- Input parameters - -if [ $# = 0 ]; then - show_help;exit 1 -fi - - -while [ $# -ne 0 ]; do - - case $1 in - -r | --release) rel=$2; shift;; - -d | --doxpath) DOXYTAGPATH=$2; shift;; - -a | --afspath) AFSDOXYTAGPATH=$2; shift;; - -* | --*) show_help; exit 1;; - - esac - shift -done - -if [ -z "$rel" ]; then - echo "Please specify nightly or build release with -r option." - exit 1 -fi - -if [ `echo $rel | awk '{print substr($1,1,4)}'` == "rel_" ]; then - # locations of the nightly - if [ -z "$DOXYTAGPATH" ]; then - DOXYTAGPATH="http://atlas-computing.web.cern.ch/atlas-computing/links/nightlyDevDirectory/AtlasOffline/$rel/InstallArea/doc/" - fi - if [ -z "$AFSDOXYTAGPATH" ]; then - AFSDOXYTAGPATH="/afs/cern.ch/atlas/software/builds/nightlies/dev/AtlasOffline/$rel/InstallArea/doc/" - fi -else - # locations of the build release - if [ -z "$DOXYTAGPATH" ]; then - DOXYTAGPATH="http://atlas-computing.web.cern.ch/atlas-computing/links/buildDirectory/AtlasOffline/$rel/InstallArea/doc/" - fi - if [ -z "$AFSDOXYTAGPATH" ]; then - AFSDOXYTAGPATH="/afs/cern.ch/atlas/software/builds/AtlasOffline/$rel/InstallArea/doc/" - fi - -fi - -if [ ! -d "$AFSDOXYTAGPATH" ]; then - echo "Directory $AFSDOXYTAGPATH does not exist " - exit 1 -fi - - -TEMPATH=`pwd` - -cd ${AFSDOXYTAGPATH} -cat $TEMPATH/BeginFragment > allpackages.html -for TAG in `ls --color=no *.tag` -do - PACKAGENAME=`basename ${TAG} .tag` - xsltproc --stringparam path "${PACKAGENAME}/html/" --stringparam packageName "$PACKAGENAME" $TEMPATH/pageExtraction.xsl "$TAG" >> allpackages.html - RETVALUE="$?" - if [ "${RETVALUE}" = "6" ] ; - then echo "<h3> $PACKAGENAME </h3> \n <small><ul><li>Xsltproc returned ${RETVALUE} - tag file corrupted?</li> </ul></small>" >>allpackages.html ; - fi - echo "Returned : \t${RETVALUE} after processing ${PACKAGENAME}" - -done -echo '<hr size="1"><small>Doxygen tag merging done by Edward Moyse and Shaun Roe. This file was generated on ' >> allpackages.html -date >> allpackages.html -echo '</small>' >> allpackages.html -cat $TEMPATH/EndFragment >> allpackages.html - -if [ ! -f "allpackages.html" ]; then - echo "Problem: File allpackages.html not created" - exit 1 -else - echo "Done "`pwd`"/allpackages.html" - exit 0 -fi diff --git a/Tools/AtlasDoxygen/scripts/globalDoxySearch.php b/Tools/AtlasDoxygen/scripts/globalDoxySearch.php deleted file mode 100644 index cdf1c6abd4d6dcf83db044383d10476aaf9abc7e..0000000000000000000000000000000000000000 --- a/Tools/AtlasDoxygen/scripts/globalDoxySearch.php +++ /dev/null @@ -1,595 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>Doxygen Global Search</title> -<script type="text/javascript"> -function toggleBox(szDivID, iState) // 1 visible, 0 hidden -{ - var obj = document.layers ? document.layers[szDivID] : - document.getElementById ? document.getElementById(szDivID).style : - document.all[szDivID].style; - - obj.visibility = document.layers ? ( (obj.visibility == "show") ? "hide":"show" ) : ( (obj.visibility == "visible") ? "hidden":"visible" ); -} -</script> -<style type="text/css"> -.hidden {color:#909090; - position:absolute; - top:35px; - left:73%; - width:300px; - height:100%; - z-index:99; - visibility:hidden; - font-size:11px; -} -.help {color:#909090; - font-size:11px; -} - -</style> - -<link href="AtlasAnalysisRelease/html/doxygen.css" rel="stylesheet" type="text/css"> -<link href="AtlasAnalysisRelease/html/tabs.css" rel="stylesheet" type="text/css"> - -</head><body> -<?php -echo "<p style='text-align: right;'><a href=\"#\" onclick=\"toggleBox('help',1);\"></a> -<small><FONT COLOR=BBBBBB><i>Search index generated on ".date("D M d H:i:s Y.",filemtime('globsearch.idx'))."</i></FONT></small></address>\n"; -?> - -<h1><FONT COLOR=#BB3333>Doxygen Global Search</FONT></h1> - -<form action="globalDoxySearch.php" method="get"> - <table cellspacing="0" cellpadding="0" border="0" width=100%> - <tr> - <td width=20%></td> - <td align=right><label><FONT SIZE=+1> S<u>e</u>arch for </FONT></label> - </td> - -<?php set_time_limit(0); - -function search_results() -{ - return "Search Results"; -} - -function matches_text($num) -{ - if ($num==0) - { - return "Sorry, no documents matching your query."; - } - else if ($num==1) - { - return "Found <b>1</b> document matching your query."; - } - else // $num>1 - { - return "Found <b>$num</b> documents matching your query. Showing best matches first."; - } -} - -function report_matches() -{ - return "Matches: "; -} -function end_form($value,$case,$whole,$filters) -{ - $cacheck=$case?"checked":""; - $wcheck=$whole?"checked":""; - $pcheck=$filters["package"]?"checked":""; - $ccheck=$filters["class"]?"checked":""; - $mcheck=$filters["method"]?"checked":""; - $tcheck=$filters["title"]?"checked":""; - echo "<td width=340><input type=\"text\" name=\"query\" value=\"$value\" size=\"40\" accesskey=\"e\"/> - <input type=submit accesskey=\"a\" value=\"Search\"> </td> - <td width=15%><!--<B>Filters:</B><BR>--> - <input type=checkbox name=fpackage accesskey=P $pcheck><u>P</u>ackage only<BR> - <input type=checkbox name=fclass accesskey=C $ccheck><u>C</u>lass only<BR> - <input type=checkbox name=fmethod accesskey=M $mcheck><u>M</u>ethod/Attribute only<BR> - <input type=checkbox name=ftitle accesskey=T $tcheck>Search <u>T</u>itles only<BR> - <input type=checkbox name=matchwholeword accesskey=W $wcheck>Match <u>w</u>hole word - <!--<input type=checkbox name=casesensitive accesskey= $cacheck><u>C</u>ase Sensitive--> - </td> - <td width=20%><table><tr> - <td class=help> - <LI>Search is <b>not</b> case sensitive. - <LI>Wildecards/Regular Expressions <b>not allowed</b>. - <LI>Multiple terms will search for either of the terms (OR). - <LI>Search filters are cumulative (\"Package only\" & \"Class only\" will give both). - </td> - </tr></table>\n - </td> - </tr> -</table>\n </form>\n - - -"; -} - -function readInt($file) -{ - $b1 = ord(fgetc($file)); $b2 = ord(fgetc($file)); - $b3 = ord(fgetc($file)); $b4 = ord(fgetc($file)); - return ($b1<<24)|($b2<<16)|($b3<<8)|$b4; -} - -function readString($file) -{ - $result=""; - while (ord($c=fgetc($file))) $result.=$c; - return $result; -} - -function readHeader($file) -{ - $header =fgetc($file); $header.=fgetc($file); - $header.=fgetc($file); $header.=fgetc($file); - return $header; -} - -function computeIndex($word) -{ - // Fast string hashing - //$lword = strtolower($word); - //$l = strlen($lword); - //for ($i=0;$i<$l;$i++) - //{ - // $c = ord($lword{$i}); - // $v = (($v & 0xfc00) ^ ($v << 6) ^ $c) & 0xffff; - //} - //return $v; - - // Simple hashing that allows for substring search - if (strlen($word)<2) return -1; - // high char of the index - $hi = ord($word{0}); - if ($hi==0) return -1; - // low char of the index - $lo = ord($word{1}); - if ($lo==0) return -1; - // return index - return $hi*256+$lo; -} - -function printIndex($file) -{ - $count=0; - for ($index = 0; $index<256*256; $index++) - { - fseek($file, $index*4+4); - $idx = readInt($file); - -// echo "<FONT COLOR=RED><B>index=</B>$index <B>idx</B>=$idx</FONT><BR>"; - if ($idx) - { - echo "<FONT COLOR=RED>idx=$idx</FONT><BR>"; - fseek($file,$idx); - $w = readString($file); - while ($w) - { - $statIdx = readInt($file); - $statsList[$count++]=array( - "word"=>$word, - "match"=>$w, - "index"=>$statIdx, - "full"=>strlen($w)==strlen($word), - "docs"=>array() - ); - echo "w=$w statIdex=$statIdx<BR>"; - $w = readString($file); - } - } - } - - for ($count=0;$count<sizeof($statsList);$count++) - { - $statInfo = &$statsList[$count]; - fseek($file,$statInfo["index"]); - $numDocs = readInt($file); - $docInfo = array(); - echo "<FONT COLOR=GREEN>"; -// echo "<B>word=</B>",$statInfo["word"], " "; - echo "<B>w=</B>", $statInfo["match"], " "; - echo "<B>statIdex=</B>", $statInfo["index"], " "; - echo "<B>numDocs=</B>$numDocs"; - echo "</FONT><BR>"; - // read docs info + occurrence frequency of the word - for ($i=0;$i<$numDocs;$i++) - { - $docidx=readInt($file); - $freq=readInt($file); - $docInfo[$i]=array("idx" => $docidx, - "freq" => $freq>>1, - "rank" => 0.0, - "hi" => $freq&1 - ); - } - // read name and url info for the doc - echo "<TABLE BORDER=1>"; - for ($i=0;$i<$numDocs;$i++) - { - fseek($file,$docInfo[$i]["idx"]); - $docInfo[$i]["name"]=readString($file); - $docInfo[$i]["url"]=readString($file); - echo "<TR>"; - echo "<TD><FONT COLOR=BLUE>", $docInfo[$i]["name"], "</FONT></TD>"; - echo "<TD><FONT COLOR=BLUE>", $docInfo[$i]["url"], "</FONT></TD>"; - echo "<TD><FONT COLOR=BLUE>", $docInfo[$i]["freq"], "</FONT></TD>"; - echo "<TD><FONT COLOR=BLUE>", $docInfo[$i]["hi"], "</FONT></TD>"; - echo "</TR>"; - } - echo "</TABLE>"; - $statInfo["docs"]=$docInfo; - } -} - - -function search($file,$word,$whole,&$statsList) -{ - $index = computeIndex($word); - if ($index!=-1) // found a valid index - { - fseek($file,$index*4+4); // 4 bytes per entry, skip header - $index = readInt($file); - - if ($index) // found words matching the hash key - { - $start=sizeof($statsList); - $count=$start; - fseek($file,$index); - $w = readString($file); - while ($w) - { - $statIdx = readInt($file); -// $statIdxHex=dechex( $statIdx ); -// $match = preg_match("($word)",$w,$matches); - $match=($whole)?($word==$w):($word==substr($w,0,strlen($word))); - if ($match) - { // found word that matches (as substring) - $statsList[$count++]=array( - "word"=>$word, - "match"=>$w, - "index"=>$statIdx, - "full"=>strlen($w)==strlen($word), - "docs"=>array() - ); -// echo "<FONT SIZE=+2 COLOR=RED>FOUND MATCH!</FONT><BR>"; -// echo "w=$w statIdex=$statIdx (0x$statIdxHex)<BR>"; - } - $w = readString($file); - } - $totalHi=0; - $totalFreqHi=0; - $totalFreqLo=0; - for ($count=$start;$count<sizeof($statsList);$count++) - { - $statInfo = &$statsList[$count]; - $multiplier = 1; - // whole word matches have a double weight - if ($statInfo["full"]) $multiplier=2; - fseek($file,$statInfo["index"]); - $numDocs = readInt($file); -// $numDocsHex=dechex($numDocs); -// echo "numDocs=$numDocs ( 0x$numDocsHex )"; - $docInfo = array(); - // read docs info + occurrence frequency of the word - for ($i=0;$i<$numDocs;$i++) - { - $idx=readInt($file); - $freq=readInt($file); - $docInfo[$i]=array("idx" => $idx, - "freq" => $freq>>1, - "rank" => 0.0, - "hi" => $freq&1 - ); - if ($freq&1) // word occurs in high priority doc - { - $totalHi++; - $totalFreqHi+=$freq*$multiplier; - } - else // word occurs in low priority doc - { - $totalFreqLo+=$freq*$multiplier; - } - } - // read name and url info for the doc - for ($i=0;$i<$numDocs;$i++) - { - fseek($file,$docInfo[$i]["idx"]); - $docInfo[$i]["name"]=readString($file); - $docInfo[$i]["url"]=readString($file); - } - $statInfo["docs"]=$docInfo; - } - $totalFreq=($totalHi+1)*$totalFreqLo + $totalFreqHi; - for ($count=$start;$count<sizeof($statsList);$count++) - { - $statInfo = &$statsList[$count]; - $multiplier = 1; - // whole word matches have a double weight - if ($statInfo["full"]) $multiplier=2; - for ($i=0;$i<sizeof($statInfo["docs"]);$i++) - { - $docInfo = &$statInfo["docs"]; - // compute frequency rank of the word in each doc - $freq=$docInfo[$i]["freq"]; - if ($docInfo[$i]["hi"]) - { - $statInfo["docs"][$i]["rank"]= - (float)($freq*$multiplier+$totalFreqLo)/$totalFreq; - } - else - { - $statInfo["docs"][$i]["rank"]= - (float)($freq*$multiplier)/$totalFreq; - } - } - } - } - } - return $statsList; -} - -function combine_results($results,&$docs) -{ - foreach ($results as $wordInfo) - { - $docsList = &$wordInfo["docs"]; - foreach ($docsList as $di) - { - $key=$di["url"]; - $rank=$di["rank"]; - $freq=$di["freq"]; - if (in_array($key, array_keys($docs))) - { - $docs[$key]["rank"]+=$rank; - } - else - { - $docs[$key] = array("url"=>$key, - "name"=>$di["name"], - "rank"=>$rank, - ); - } - $docs[$key]["words"][] = array( - "word"=>$wordInfo["word"], - "match"=>$wordInfo["match"], - "freq"=>$di["freq"], - "hi"=>$di["hi"] - ); - } - } - return $docs; -} - -function filter_results($docs,&$requiredWords,&$forbiddenWords,&$filters) -{ - $filteredDocs=array(); - while (list ($key, $val) = each ($docs)) - { - $words = &$docs[$key]["words"]; - $copy=1; // copy entry by default - if (sizeof($requiredWords)>0) - { - foreach ($requiredWords as $reqWord) - { - $found=0; - foreach ($words as $wordInfo) - { - $found = $wordInfo["word"]==$reqWord; - if ($found) break; - } - if (!$found) - { - $copy=0; // document contains none of the required words - break; - } - } - } - if (sizeof($forbiddenWords)>0) - { - foreach ($words as $wordInfo) - { - if (in_array($wordInfo["word"],$forbiddenWords)) - { - $copy=0; // document contains a forbidden word - break; - } - } - } - //// THIS PART ADDED 20080311 : - $copy2=1; //Copy by default unless a filter is active - if ($filters["package"] || $filters["class"] || $filters["method"] || $filters["title"]) - { - $copy2= 0; - $url = &$docs[$key]["url"]; //The url for this document - $name = strtolower($docs[$key]["name"]); //The name of this url - $word = &$docs[$key]["words"][0]["word"]; //The word that was searched for - if ($filters["package"] && preg_match("/\/html\/index\.html$/",$url)) - $copy2=1; // document is a package - //if ($filters["class"] && ! preg_match("/Class Reference$/",$name)) - if ($filters["class"] && preg_match("/\html\/class.*\.html$/",$url)) - $copy2=1; //document is a class - if ($filters["method"] && strpos($name,"::".$word)!==FALSE)//!== is the right form - $copy2=1; //document is a method or attribute - if ($filters["title"] && strpos($name,$word)!==FALSE)//!== is the right form - $copy2=1; //document is a method or attribute - } - //// END ADDED PART - if ($copy && $copy2) $filteredDocs[$key]=$docs[$key]; - } - return $filteredDocs; -} - -function compare_rank($a,$b) -{ - if ($a["rank"] == $b["rank"]) - { - return 0; - } - return ($a["rank"]>$b["rank"]) ? -1 : 1; -} - -function sort_results($docs,&$sorted) -{ - $sorted = $docs; - usort($sorted,"compare_rank"); - return $sorted; -} - -function report_results(&$docs, $time) -{ - $runPath=getcwd(); - $initURL=(strpos($runPath,"/nir/"))?"http://atlas-computing.web.cern.ch/atlas-computing/links/nightlyDocDirectory/":""; - echo "<TABLE BORDER=0 cellpadding=0 cellspacing=0 width=100% STYLE=\"border-top:1px solid #36c;background:#d5ddf3;color:#000;padding:5px 1px 4px\">"; - echo "<TR>\n"; - echo " <TD><H2>".search_results()."</td>\n"; - printf(" <TD ALIGN=RIGHT NOWRAP>%1.2f Seconds</TD>\n",$time); - echo "</TR></TABLE>\n"; - - echo "<table cellspacing=\"2\">\n"; -// echo " <tr>\n"; -// echo " <td colspan=\"2\"><h2>".search_results()."</h2></td>\n"; -// echo " </tr>\n"; - $numDocs = sizeof($docs); - if ($numDocs==0) - { - echo " <tr>\n"; - echo " <td colspan=\"2\">".matches_text(0)."</td>\n"; - echo " </tr>\n"; - } - else - { - echo " <tr>\n"; - echo " <td colspan=\"2\">".matches_text($numDocs); - echo "\n"; - echo " </td>\n"; - echo " </tr>\n"; - $num=1; - foreach ($docs as $doc) - { - if (!strcmp($doc["name"],"Page index")){//Add the package name to any URL whose name is "Page index" - $pos = strpos($doc["url"],"/",0); - $package_name = substr($doc["url"],0,$pos); - $doc["name"]="$package_name " . $doc["name"]; - } - echo " <tr>\n"; - echo " <td align=\"right\">$num.</td>"; - echo "<td><a class=\"el\" href=\"".$initURL.$doc["url"]."\">".$doc["name"]."</a></td>\n"; - echo " <tr>\n"; - echo " <td></td><td class=\"tiny\">".report_matches()." "; - foreach ($doc["words"] as $wordInfo) - { - $word = $wordInfo["word"]; - $matchRight = substr($wordInfo["match"],strlen($word)); - echo "<b><font color=red>$word</font></b>$matchRight(" . $wordInfo["freq"]; - if ($wordInfo["hi"]) echo "<font color=blue><b>♦</b></font>"; - echo ")\n"; - // break; //Check why so many identical words! - } - echo " </td>\n"; - echo " </tr>\n"; - $num++; - } - } - echo "</table>\n"; -} - -function microtime_float() -{ - list($usec, $sec) = explode(" ", microtime()); - return ((float)$usec + (float)$sec); -} - - -function main() -{ - if(strcmp('4.1.0', phpversion()) > 0) - { - die("Error: PHP version 4.1.0 or above required!"); - } - if (!($file=fopen("globsearch.idx","rb"))) - { - die("Error: Search index file could NOT be opened!"); - } - if (readHeader($file)!="DOXS") - { - die("Error: Header of index file is invalid!"); - } - $query=""; - $queryExists=0; - $casesensitive=0; - $matchwholeword=0; - $filters=array( - "package"=>0, - "class"=>0, - "method"=>0, - "title"=>0, - ); - - if (array_key_exists("query", $_GET)) - { - $query=$_GET["query"]; - $queryExists=1; - } - if (array_key_exists("matchwholeword", $_GET)){ - $matchwholeword=$_GET["matchwholeword"]; - } - if (array_key_exists("fpackage", $_GET)){ - $filters["package"]=$_GET["fpackage"]; - } - if (array_key_exists("fclass", $_GET)){ - $filters["class"]=$_GET["fclass"]; - } - if (array_key_exists("fmethod", $_GET)){ - $filters["method"]=$_GET["fmethod"]; - } - if (array_key_exists("ftitle", $_GET)){ - $filters["title"]=$_GET["ftitle"]; - } - end_form($query,$casesensitive,$matchwholeword,$filters); - echo " \n<div class=\"searchresults\">\n"; - $results = array(); - $requiredWords = array(); - $forbiddenWords = array(); - $foundWords = array(); - $word=strtok($query," "); - // printIndex($file); - $time_begin = microtime_float(); - while ($word) // for each word in the search query - { - if (($word{0}=='+')) { $word=substr($word,1); $requiredWords[]=$word; } - if (($word{0}=='-')) { $word=substr($word,1); $forbiddenWords[]=$word; } - if (!in_array($word,$foundWords)) - { - $foundWords[]=$word; - $searchword = ($casesensitive)?$word:strtolower($word); - search($file,$searchword,$matchwholeword,$results); - } - $word=strtok(" "); - } - $docs = array(); - combine_results($results,$docs); - // filter out documents with forbidden word or that do not contain - // required words - $filteredDocs = filter_results($docs,$requiredWords,$forbiddenWords,$filters); - // sort the results based on rank - $sorted = array(); - sort_results($filteredDocs,$sorted); - // report results to the user - $time_end = microtime_float(); - $time_exec = $time_end - $time_begin; - if ($queryExists){ - report_results($sorted,$time_exec); - } - echo "</div>\n"; - fclose($file); -} - -main(); - - -?> -</body> -</html> diff --git a/Tools/AtlasDoxygen/scripts/pageClassExtraction.xsl b/Tools/AtlasDoxygen/scripts/pageClassExtraction.xsl deleted file mode 100755 index acdc8d1c6f0a1737a5177900d12c649604477d44..0000000000000000000000000000000000000000 --- a/Tools/AtlasDoxygen/scripts/pageClassExtraction.xsl +++ /dev/null @@ -1,191 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> - <xsl:output indent="yes" method="html"/> - <!--Default to no output --> - <xsl:template match="text()|@*"/> - <!-- match to root element--> - <xsl:template match="doxygen"> - <html> - <head> - <title>My test</title> - <link href="doxygen.css" rel="stylesheet" type="text/css"></link> - <link href="tabs.css" rel="stylesheet" type="text/css"></link> - </head> - <body> - - <table class="memname"> - <xsl:apply-templates/> - </table> - - </body> - </html> - </xsl:template> - <!-- match to compoundef, seems t be top element for class --> - <xsl:template match="compounddef"> - <h2> - <xsl:value-of select="compoundname"/> - </h2> -<!-- <xsl:value-of select="detaileddescription"/> --> - - <xsl:apply-templates/> - </xsl:template> - <!-- match to the public definitions section, the context is now 'compoundef' if called from above --> - <xsl:template match="sectiondef[@kind='public-func']"> - <!-- now we are in sectiondef--> - <!-- iterate over the members for which the 'kind' attribute = 'function' --> - - <!-- <xsl:for-each select="memberdef[(@kind='function' ) ]"> --> - <xsl:variable name="ClassName"> - <xsl:value-of select="substring-after( ../compoundname, '::' )"/> - </xsl:variable> - <xsl:for-each select="memberdef[(@kind='function') and ( (name!=$ClassName) and not(starts-with(name, '~')) and not(starts-with(name, 'operator')) and not(starts-with(name, 'clone'))) ]"> - <tr> - <td BGCOLOR="#EEF3F5"> - <b><xsl:value-of select="definition"/></b> - <xsl:value-of select="argsstring"/> : - </td> - <td BGCOLOR="#F0F8FF"> - <xsl:value-of select="briefdescription"/> - <!-- <xsl:value-of select="detaileddescription"/> --> - - <xsl:if test= "name='px'"> - Px - </xsl:if> - <xsl:if test= "name='py'"> - Py - </xsl:if> - <xsl:if test= "name='pz'"> - Pz - </xsl:if> - <xsl:if test= "name='m'"> - Mass - </xsl:if> - <xsl:if test= "name='m2'"> - Mass squared - </xsl:if> - <xsl:if test= "name='e'"> - Energy - </xsl:if> - <xsl:if test= "name='et'"> - Transverse energy - </xsl:if> - <xsl:if test= "name='rapidity'"> - Rapidity - </xsl:if> - <xsl:if test= "name='p'"> - Momentum - </xsl:if> - <xsl:if test= "name='p2'"> - Momentum squared - </xsl:if> - <xsl:if test= "name='eta'"> - Psuedo-rapidity - </xsl:if> - <xsl:if test= "name='phi'"> - Phi - </xsl:if> - <xsl:if test= "name='pt'"> - Transverse momentum - </xsl:if> - <xsl:if test= "name='iPt'"> - Inverse transverse momentum - </xsl:if> - <xsl:if test= "name='cosPhi'"> - Cosine phi - </xsl:if> - <xsl:if test= "name='sinPhi'"> - Sine phi - </xsl:if> - <xsl:if test= "name='sinTh'"> - Sine theta - </xsl:if> - <xsl:if test= "name='cosTh'"> - Cosine theta - </xsl:if> - <xsl:if test= "name='tanTh'"> - Tangent theta - </xsl:if> - <xsl:if test= "name='cotTh'"> - Cotangent theta - </xsl:if> - <xsl:if test= "name='hlv'"> - Lorentz Vector - </xsl:if> - <xsl:if test= "name='setIPt'"> - Set transverse momentum - </xsl:if> - <xsl:if test= "name='setCotTh'"> - Set cotangent theta - </xsl:if> - <xsl:if test= "name='setPhi'"> - Set phi - </xsl:if> - <xsl:if test= "name='setM'"> - Set mass - </xsl:if> - <xsl:if test= "name='setPx'"> - Set Px - </xsl:if> - <xsl:if test= "name='setPy'"> - Set Py - </xsl:if> - <xsl:if test= "name='setPz'"> - Set Pz - </xsl:if> - <xsl:if test= "name='setE'" > - Set Energy - </xsl:if> - <xsl:if test= "name='pxi'"> - Px - </xsl:if> - <xsl:if test= "name='pyi'"> - Py - </xsl:if> - <xsl:if test= "name='pzi'"> - Pz - </xsl:if> - <xsl:if test= "name='ei'"> - Energy - </xsl:if> - <xsl:if test= "name='set4Mom'"> - Set four-momentum - </xsl:if> - <xsl:if test= "name='dump'"> - Output stream debubing information - </xsl:if> - <xsl:if test= "name='set_origin'"> - Assign vertex to particle - </xsl:if> - <xsl:if test= "name='set_charge'"> - Assign charge to particle - </xsl:if> - <xsl:if test= "name='set_dataType'"> - Assign data type to particle - </xsl:if> - <xsl:if test= "name='set_pdgId'"> - Assign particle id to particle - </xsl:if> - <xsl:if test= "name='dataType'"> - Data type: 0=data,1=full simulation,2=fast shower, 3= fast simulation,4= Monte Carlo truth - </xsl:if> - <xsl:if test= "name='origin'"> - RecVertex corresponding to particle Origin - </xsl:if> - <xsl:if test= "name='hasCharge'"> - Check if charge information is available - </xsl:if> - <xsl:if test= "name='charge'"> - Charge - </xsl:if> - <xsl:if test= "name='hasPdgId'"> - Check if particle data identifier exists - </xsl:if> - <xsl:if test= "name='pdgId'"> - Particle identificaton number - </xsl:if> - - </td> - </tr> - </xsl:for-each> - </xsl:template> -</xsl:stylesheet> diff --git a/Tools/AtlasDoxygen/scripts/pageExtraction.xsl b/Tools/AtlasDoxygen/scripts/pageExtraction.xsl deleted file mode 100755 index fc780931dd9233cad680b8c8ab5277bdd01d67dc..0000000000000000000000000000000000000000 --- a/Tools/AtlasDoxygen/scripts/pageExtraction.xsl +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> - <xsl:param name="path"/> - <xsl:param name="packageName"/> - <xsl:output indent="yes" method="html"/> - <!--Default to no output --> - <xsl:template match="text()|@*"/> - <!-- match to root element--> - <xsl:template match="tagfile"> - - <!-- - <li> - <xsl:for-each select="compound"> - <ul><xsl:value-of select="class"/></ul> - </xsl:for-each> - </li> - --> - <h3><xsl:value-of select="$packageName"/> (<a href="{$path}index.html">mainpage</a>)</h3> - <ul> - <xsl:apply-templates/> - </ul> - </xsl:template> - - <xsl:template match="compound[@kind='class']"> - <li> -<!-- <xsl:message><xsl:value-of select="$path"/></xsl:message> - <a href="/afs/cern.ch/atlas/software/builds/nightlies/dev/AtlasOffline/latest_doxygen/InstallArea/doc/TrkTrack/html/{filename}">--> - <a href="{$path}{filename}"> - <xsl:value-of select="name"/></a> - </li> - </xsl:template> - -<!-- - <xsl:template match="compound[@kind='class']"> - <li> - <a href="{name}"><xsl:value-of select="class"/></a> - </li> - </xsl:template> - - <xsl:template match="name"> -A name - </xsl:template> ---> - -</xsl:stylesheet> diff --git a/Tools/AtlasDoxygen/scripts/reindex.pl b/Tools/AtlasDoxygen/scripts/reindex.pl deleted file mode 100755 index 6a3c561fbf2bb58408f04fb57a416e51f72b1f09..0000000000000000000000000000000000000000 --- a/Tools/AtlasDoxygen/scripts/reindex.pl +++ /dev/null @@ -1,481 +0,0 @@ -#!/usr/bin/perl -# ==================================================================================================================================# -# # -# reindex -r <rel> -f <file> -d <DOXYTAGPATH> -a <AFSDOXYTAGPATH> # -# Unix script to reindex all doxygen search.idx indexes in order to create a singular searchable index file. # -# The script uses search.idx files already created by doxygen in the AFSDOXYTAGPATH. # -# # -# Options: # -# -r|--release <rel> Nightly or build release. # -# -f|--file Name of the new index file. # -# -d|--doxpath DOXYTAGPATH Http location where the doxygen is located. # -# By default for nightly it is # -# http://atlas-computing.web.cern.ch/atlas-computing/links/nightlyDevDirectory/AtlasOffline/<rel>/InstallArea/doc/ # -# for build releases it is # -# http://atlas-computing.web.cern.ch/atlas-computing/links/buildDirectory/AtlasOffline/<rel>/InstallArea/doc/ # -# -a|--afspath AFSDOXYTAGPATH AFS location where the doxygen is located. # -# By default for nightly it is # -# /afs/cern.ch/atlas/software/builds/nightlies/dev/AtlasOffline/<rel>/InstallArea/doc/ # -# for build releases it is # -# /afs/cern.ch/atlas/software/builds/AtlasOffline/<rel>/InstallArea/doc/ # -# -t|--tgtpath TARGETPATH AFS location where the globsearch.idx and globalDoxySearch.php will be copied to # -# -v|-verbose Print verbose messages while running. # -# # -##################################################################################################################################### -use strict; -use warnings; -use Getopt::Long; -use Pod::Usage; -#use Devel::Size qw(size total_size); - -sub show_help { - my $script = shift; - my $message = "Usage: $script -r <rel> [-f <file> -d <DOXYTAGPATH> -a <AFSDOXYTAGPATH>]\n". - " Options:\n". - " -r|--release rel Nightly or build release.\n". - " -f|--file Name of the new index file.\n". - " -d|--doxpath DOXYTAGPATH Http location where the doxygen is located.\n". - " -a|--afspath AFSDOXYTAGPATH AFS location where the doxygen is located.\n". - " -t|-tgtpath TARGETPATH AFS location where the globsearch.idx and globalDoxySearch.php files will be copied to.\n". - " -h|-?|-help This message\n". - " -v|-verbose Print verbose messages while running."; - return $message; -} - -sub readInt -{ - my $file = shift; - my $c1 = getc($file); my $c2 = getc($file); - my $c3 = getc($file); my $c4 = getc($file); - if (defined($c1) && defined($c2) && defined($c3) && defined($c4)){ - my $b1 = ord($c1); my $b2 = ord($c2); - my $b3 = ord($c3); my $b4 = ord($c4); - return ($b1<<24)|($b2<<16)|($b3<<8)|$b4; - } - else{ - return 0; - } -} - -sub readString -{ - my $file = shift; - my $result=""; - while (ord(my $c=getc($file)) != 0){ $result.=$c}; - return $result; -} - -sub writeInt -{ - my $file = shift; - my $index = shift; - print $file chr(($index)>>24); - print $file chr((($index)>>16)&0xff); - print $file chr((($index)>>8)&0xff); - print $file chr(($index)&0xff); -} - -sub writeString -{ - my $file = shift; - my $s = shift; - - print $file "$s\0"; -} - -sub computeIndex -{ - # Fast string hashing - my $word = shift; - my $retVal = -1; - # Simple hashing that allows for substring search - if (length($word)<2) {return (-1)}; - # high char of the index - my $hi = ord(substr($word,0,1)); - if ($hi==0) {return (-1)}; - # low char of the index - my $lo = ord(substr($word,1,1)); - if ($lo==0) {return (-1)}; - # return index - return ($hi*256+$lo); -} - -sub addUrlIndex -{ - my $idx = shift; - my $urls = shift; - my $hiPriority = shift; - my $freq = shift; - -} - -###################### MAIN ##################### - -my $script=$0; -my $rel; -my $outfilename = "globsearch.idx"; -my $DOXYTAGPATH; # Path to the HTML dir containing Doxygen docs -my $AFSDOXYTAGPATH; # Path to the AFS dir containing Doxygen docs -my $verbose = 0; -my $man = 0; -my $help = 0; -my $TARGETPATH; -my $result = GetOptions ("r|release=s"=> \$rel, # string - "f|file=s" => \$outfilename, # string - "d|doxpath=s"=> \$DOXYTAGPATH, # string - "a|afspath=s"=> \$AFSDOXYTAGPATH,# string - "t|tgtpath=s"=> \$TARGETPATH, # string - "v|verbose" => \$verbose, # flag - "h|?|help" => \$help); # flag, help - -pod2usage(show_help($0)) if $help; -pod2usage("$0: No rel defined\n" . show_help($0)) if ( !defined($rel) ); - -print "$script begin: " , `date`; -if ($rel =~ /^rel_/) -{ #location of the nightly - print "rel=$rel. Setting nightly locations\n"; - $DOXYTAGPATH="http://atlas-computing.web.cern.ch/atlas-computing/links/nightlyDevDirectory/AtlasOffline/$rel/InstallArea/doc/" unless (defined($DOXYTAGPATH)); - $AFSDOXYTAGPATH="/afs/cern.ch/atlas/software/builds/nightlies/dev/AtlasOffline/$rel/InstallArea/doc/" unless (defined($AFSDOXYTAGPATH)); -} -else -{ #location of the release - print "rel=$rel. Setting release locations\n"; - $DOXYTAGPATH="http://atlas-computing.web.cern.ch/atlas-computing/links/buildDirectory/AtlasOffline/$rel/InstallArea/doc/" unless (defined($DOXYTAGPATH)); - $AFSDOXYTAGPATH="/afs/cern.ch/atlas/software/builds/AtlasOffline/$rel/InstallArea/doc/" unless (defined($AFSDOXYTAGPATH)); -} - -if ( ! -d "$AFSDOXYTAGPATH" ){ - print "Directory $AFSDOXYTAGPATH does not exist. Exitting...\n"; - exit 1; -} - -my @infilenameArr=`find $AFSDOXYTAGPATH -maxdepth 4 -iname "search.idx"`; -chomp(@infilenameArr); - -my $count; -my $numIndexEntries=256*256; -my $buffer = ""; -my $word = ""; -my %cols = ( r => "\033[1;31m", - g => "\033[1;32m", - b => "\033[1;34m", - y => "\033[1;33m", - p => "\033[1;35m", - nc => "\033[0;m", - ); -my @globWordList; -# globWordlist is an array of hashes -# index: hash index of the word -# globWordList[i] --> word1 --> url1word1 --> name -# --> freqhi -# --> url2word1 --> name -# --> freqhi -# --> word2 --> url1word2 --> name -# --> freqhi -# --> url2word2 --> name -# --> freqhi -# globWordList[i] = { word => { urls => [0] = $name, -# [1] = $freqhi, -# }, -# }, -# }; - -my $doxyHeader="DOXS"; -my $fail; -$count = 0; -for my $infilename (@infilenameArr) -{# Begin loop over infiles - my $fileTime = `date`; - chomp $fileTime; - my $meminfo = `cat /proc/meminfo`; - my %mem; - ($mem{MemFree}) = $meminfo=~/MemFree:\s*(\d+)/; - ($mem{MemTotal}) = $meminfo=~/MemTotal:\s*(\d+)/; - ($mem{SwapFree}) = $meminfo=~/SwapFree:\s*(\d+)/; - ($mem{SwapTotal}) = $meminfo=~/SwapTotal:\s*(\d+)/; - my $memLine = "Mem: $mem{MemFree}/$mem{MemTotal}, Swap: $mem{SwapFree}/$mem{SwapTotal}"; -# my $memInfo = `cat /proc/meminfo | perl -ne '/MemFree:\ *([0-9]+\ kB)/ && print "$1\n"; /SwapFree:\ *([0-9]+\ kB)/ && print "$1\n"; ' | paste - -`; - print "$fileTime, $memLine: Opening input file: $infilename\n"; - next if (-z $infilename); #If the file is empty, skip it - - open(my $infile, "<", $infilename) || die("Can't open infile: $!"); - my $fileHeader = readString($infile); - next unless ($fileHeader eq $doxyHeader); #If the file is not a doxy index, skip it. - binmode($infile); - -# (my $path) = $infilename=~/\.\/(.*)\//; #Returns basename of infilename - (my $path) = $infilename =~ /${AFSDOXYTAGPATH}[\/]?(.*)\//; #Returns the package path relative to the AFSDOXYTAGPATH root. - my @fileWordList; #wordList beloning to this file only - ###################### READ FILE ##################### - if ($verbose) {print "################ WORDINDEX ##################\n";} - for (my $index = 0; $index<$numIndexEntries; $index++) - {# Begin loop over num of index entries - $fail = seek($infile, $index*4+4, 0); - my $idx = readInt($infile); - - my %fileWords; #Wrapper for @words, adding the $index (hash) these words belong to. - if ($idx) - { # Begin if ($idx) - if ($verbose) {printf("%spos=%d (0x%0x) idx[%d]=%d (0x%0x)%s\n", $cols{r},($index*4+4),($index*4+4),$index,$idx,$idx,$cols{nc});} - $fail = seek($infile,$idx,0); - my $w = readString($infile); - - my @words; #Array of words belonging to the same hash ($index) - while ($w) - {#Begin loop over indexed words - my $statidx = readInt($infile); - my %word = ( "word" => $w, - "statidx" => $statidx, - "docs" => [], - ); - push (@words, \%word); - - if ($verbose) {printf ("word=%s statidx=%d (0x%0x)\n", $w, $statidx, $statidx);} - $w = readString($infile); - }#End loop over indexed words - %fileWords = ( "index" => $index, - "words" => [ @words ], - ); - } # End if ($idx) - push (@fileWordList, \%fileWords); - } # End loop over num of index entries - if ($verbose) {print "################ WORDLIST ##################\n";} - my $hashid=-1; - foreach my $fileWords (@fileWordList) - {#Begin loop over all word hashes in the fileWordList - $hashid++; - my $index = $fileWords->{"index"}; - my $words = $fileWords->{"words"}; - next unless (defined ($words)); - foreach my $word (@$words) - {#Begin loop over all words beloning to this hash - my $statidx = $word->{"statidx"}; - $fail = seek($infile,$statidx,0); - my $filepos = tell($infile); - if ($verbose) {printf("%sReading statidx: %d (0x%0x) ", $cols{g},$filepos, $filepos);} - - my $numDocs = readInt($infile); - if ($verbose) {printf("numDocs: %d (0x%0x)%s\n", $numDocs, $numDocs, $cols{nc});} - exit unless ($numDocs < 50000); - my @docInfo; - for (my $iDoc=0;$iDoc<$numDocs;$iDoc++) - { - my $docidx=readInt($infile); - my $freqhi=readInt($infile); - my $freq = $freqhi>>1; - my $hi = $freqhi&1; - $docInfo[$iDoc]={"docidx" => $docidx, - "freq" => $freq, - "hi" => $hi, - }; - }#End loop over all words beloning to this hash - for (my $iDoc=0;$iDoc<$numDocs;$iDoc++) - {#Begin loop over an indexed word's documents - $fail = seek($infile,$docInfo[$iDoc]{"docidx"}, 0); - my $name = readString($infile); - my $url = readString($infile); - my $wordKey = $word->{word}; - my $urlKey = "$path/$url"; -# print "$wordKey $docInfo[$iDoc]{docidx} $docInfo[$iDoc]{freq} $urlKey \n"; -# if (defined ($globWordList[$index]->{$wordKey}->{$urlKey}->[1])) { -# print "index=$index, wordKey=$wordKey urlKey=$urlKey EXISTS! org freq=",$globWordList[$index]->{$wordKey}->{$urlKey}->[1]>>1," "; -# print "add freq ", $docInfo[$iDoc]{freq}, "\n"; -# } - $globWordList[$index]->{$wordKey}->{$urlKey}->[0] = $name; - $globWordList[$index]->{$wordKey}->{$urlKey}->[1] += $docInfo[$iDoc]{freq}<<1; - $globWordList[$index]->{$wordKey}->{$urlKey}->[1] |= $docInfo[$iDoc]{hi}; - if ($verbose){ - print "name = $name | "; - print "URL = $urlKey | "; - print "freq = ", $globWordList[$index]->{$wordKey}->{$urlKey}->[1]>>1 ," | "; - print "\n"; - } - }#End loop over an indexed word's documents - }#End loop over all words beloning to this hash - }#End loop over all word hashes in the fileWordList - close $infile; -} #End loop over infiles - -# my $struct_size = size(\@globWordList); -# my $total_size = total_size(\@globWordList); -# print "Structure Size=$struct_size\nTotal Size=$total_size\n"; -# Create sorted searchIndex: -###################### WRITE TO FILE ##################### -my $indexListBegin = 4; # Beginning of the index list in the output file -my $wordListBegin = $indexListBegin + 4*$numIndexEntries; # Beginning of the word list in the output file -my $docListBegin; # Beginning of the doc list in the output file -my $urlListBegin; # Beginning of the url list in the output file - -my @wordListOffsets; -my $wordListOffset = 0; - -# first +second pass: compute the size of the wordlist and the wordlist index -if ($verbose) {print "################ CALCULATING OFFSETS ##################\n";} -for (my $index = 0; $index<$numIndexEntries; $index++){# Begin loop over num of index entries - my $globWords = $globWordList[$index]; - if (defined ($globWords)){ - $wordListOffsets[$index] = $wordListBegin + $wordListOffset; - if ($verbose) { print "wordListOffsets[$index]=$cols{r}$wordListOffsets[$index]$cols{nc}\n ";} - foreach my $word (keys %$globWords) { #Begin loop over all words belonging to this hash - my $ws = length($word)+1+4; #word + offset to url info array + zero list terminator - $wordListOffset += $ws; - if ($verbose) { print "$word ";} - } # End loop over all words belonging to this hash - if ($verbose) { print "\n";} - $wordListOffset += 1; #zero list terminator - } else { - $wordListOffsets[$index]=0; - } -} # End loop over num of index entries - -my $size = $wordListBegin + $wordListOffset; -my $padding = $size; -$size = ($size+3)&~3; # round up to 4 byte boundary -$padding = $size - $padding; - -$docListBegin = $size; -my @docOffsets; -my $docOffset = 0; -$count = 0; -# third pass: compute offset to stats info for each word -for (my $index = 0; $index<$numIndexEntries; $index++) -{# Begin loop over num of index entries - my $globWords = $globWordList[$index]; - next unless (defined ($globWords)); - foreach my $word (keys %$globWords) - {#Begin loop over all words beloning to this hash - my $nDocs = scalar keys %{$globWords->{$word}}; - $docOffsets[$count++] = $docListBegin + $docOffset; - if ($verbose) { print ("globWordList[$index][?]: word = $word nDocs = $nDocs docOffsets[",$count-1,"] = $cols{g}$docOffsets[$count-1]$cols{nc}\n");} - $docOffset += 4+$nDocs*8; # count + (url_index,freq) per url - }#End loop over all words beloning to this hash -} # End loop over num of index entries - -$urlListBegin = $docListBegin + $docOffset; -my @urlOffsets; -my $urlOffset = 0; -$count=0; -# fourth pass: compute offset for urls: -for (my $index = 0; $index<$numIndexEntries; $index++) -{# Begin loop over num of index entries - my $globWords = $globWordList[$index]; - next unless (defined ($globWords)); - foreach my $word (keys %$globWords) - {#Begin loop over all words beloning to this hash - my $nDocs = scalar keys %{$globWords->{$word}}; - my $urls = $globWords->{$word}; - foreach my $url (keys %$urls) { - my $name = $urls->{$url}->[0]; - $urlOffsets[$count++] = $urlListBegin + $urlOffset; - if ($verbose) { print "word=$word calc urlOffsets[",$count-1,"]=$urlOffsets[$count-1] url=$url\n";} - $urlOffset += length($url)+1+ - length($name)+1; - } - }#End loop over all words beloning to this hash -} # End loop over num of index entries - -#Begin writing: -#Write header: -if ($verbose) {print "################ WRITING FILE ##################\n";} -open(my $outfile, "+>", $outfilename) || die("Can't open outfile: $!"); -binmode($outfile); -print $outfile $doxyHeader; -#Write index -if ($verbose) { print "$cols{y}******* Writing index ******* $cols{nc}\n";} -for (my $index = 0; $index<$numIndexEntries; $index++) -{# Begin loop over num of index entries - if ($verbose) { - my $pos = tell ($outfile); - print "$cols{p}$pos$cols{nc}, write wordListOffsets[$index]=$wordListOffsets[$index]\n" if ($wordListOffsets[$index]>0); - } - writeInt($outfile, $wordListOffsets[$index]); -} # End loop over num of index entries - -#Write word lists -if ($verbose) { print "$cols{y}******* Writing wordList ******* $cols{nc}\n";} -$count = 0; -for (my $index = 0; $index<$numIndexEntries; $index++){# Begin loop over num of index entries - my $globWords = $globWordList[$index]; - next unless (defined ($globWords)); - if ($verbose) { - my $pos = tell($outfile); - print "$cols{p}$pos$cols{nc} write words:\n"; - } - foreach my $word (keys %$globWords) - {#Begin loop over all words beloning to this hash - if ($verbose) {print " $word, docOffsets[$count]=$docOffsets[$count]\n";} - writeString($outfile, $word); - writeInt($outfile,$docOffsets[$count++]); - }#End loop over all words beloning to this hash - print $outfile "\0"; -} # End loop over num of index entries - -#Write extra padding bytes: -for (my $index=0;$index<$padding;$index++) { print $outfile "\0";} -#Write word statistics: -if ($verbose) { print "$cols{y}******* Writing docList ******* $cols{nc}\n";} -$count = 0; -for (my $index = 0; $index<$numIndexEntries; $index++) -{# Begin loop over num of index entries - my $globWords = $globWordList[$index]; - next unless (defined ($globWords)); - foreach my $word (keys %$globWords) - {# Begin loop over all words beloning to this hash - my $nDocs = scalar keys %{$globWords->{$word}}; - if ($verbose) { - my $pos = tell ($outfile); - print "$cols{p}$pos$cols{nc} write nDocs=$nDocs for word $cols{y}$word$cols{nc}\n"; - } - writeInt($outfile,$nDocs); - my $urls = $globWords->{$word}; - foreach my $url (keys %$urls) {# Begin loop over urls - my $name = $urls->{$url}->[0]; - my $freq = $urls->{$url}->[1]>>1; - my $hi = $urls->{$url}->[1]&1; -# my $freqhi = ((($freq)<<1) | $hi); - my $freqhi = $urls->{$url}->[1]; - if ($verbose) {print (" url=$cols{b}$url$cols{nc}, urlOffset=$urlOffsets[$count], freq=$cols{r}$freq$cols{nc}, hi=$cols{g}$hi$cols{nc}, freqhi=$freqhi\n");} - writeInt($outfile, $urlOffsets[$count++]); - writeInt($outfile, $freqhi); - }# End loop over urls - }# End loop over all words beloning to this hash -} # End loop over num of index entries - -#Write URLs: -if ($verbose) { print "$cols{y}******* Writing URLs ******* $cols{nc}\n";} -for (my $index = 0; $index<$numIndexEntries; $index++) -{# Begin loop over num of index entries - my $globWords = $globWordList[$index]; - next unless (defined ($globWords)); - foreach my $word (keys %$globWords) - {#Begin loop over all words beloning to this hash - my $urls = $globWords->{$word}; - foreach my $url (keys %$urls) { - my $name = $urls->{$url}->[0]; - if ($verbose) { - my $pos = tell($outfile); - print ("$cols{p}$pos$cols{nc} writing url=$url, name=$name\n"); - } - writeString($outfile, $name); - writeString($outfile, $url); - } - }#End loop over all words beloning to this hash -} # End loop over num of index entries - -close $outfile; -print ("File \"$outfilename\" closed.\n"); -if (defined $TARGETPATH) { - chomp(my $cur_path = `pwd`); - print ("Moving \"$outfilename\" from $cur_path to $TARGETPATH... "); - $fail=`mv $outfilename $TARGETPATH`; - unless ($fail) {print "Success.\n";} - else {print "Failure.\n";} - (my $path_to_script) = $0 =~ /(.*)\//; - print ("Copying \"globalDoxySearch.php\" from $path_to_script to $TARGETPATH... "); - $fail=`cp $path_to_script/globalDoxySearch.php $TARGETPATH`; - unless ($fail) {print "Success.\n";} - else {print "Failure.\n";} -} -print "$script end: " , `date`; - diff --git a/Trigger/TrigEvent/TrigCaloEvent/CMakeLists.txt b/Trigger/TrigEvent/TrigCaloEvent/CMakeLists.txt index 0d9bbe572a0e4090f21d9a04e5c5c46cc19b0816..7cd0dc92531f0a11949ca761daf6a3615b6333f7 100644 --- a/Trigger/TrigEvent/TrigCaloEvent/CMakeLists.txt +++ b/Trigger/TrigEvent/TrigCaloEvent/CMakeLists.txt @@ -15,7 +15,7 @@ atlas_depends_on_subdirs( PUBLIC Event/EventKernel Event/FourMom GaudiKernel - Tools/AtlasDoxygen + Trigger/TrigEvent/TrigMissingEtEvent PRIVATE Calorimeter/CaloEvent diff --git a/Trigger/TrigEvent/TrigMissingEtEvent/CMakeLists.txt b/Trigger/TrigEvent/TrigMissingEtEvent/CMakeLists.txt index cdafcac759c435a3b5171f0028d091d9a3f45dc7..90176b6490c6ec6d1b2a7c8f12c443ce868fde4c 100644 --- a/Trigger/TrigEvent/TrigMissingEtEvent/CMakeLists.txt +++ b/Trigger/TrigEvent/TrigMissingEtEvent/CMakeLists.txt @@ -11,7 +11,7 @@ atlas_depends_on_subdirs( PUBLIC Control/DataModel Control/SGTools GaudiKernel - Tools/AtlasDoxygen + PRIVATE Event/xAOD/xAODTrigMissingET Trigger/TrigDataAccess/TrigSerializeCnvSvc diff --git a/Trigger/TrigT1/TrigT1Monitoring/CMakeLists.txt b/Trigger/TrigT1/TrigT1Monitoring/CMakeLists.txt index dcf9754a672bd0104bb966ec4b6fd194682ac738..90cab624c251272e7064460e75d5a142599c6d7b 100644 --- a/Trigger/TrigT1/TrigT1Monitoring/CMakeLists.txt +++ b/Trigger/TrigT1/TrigT1Monitoring/CMakeLists.txt @@ -21,7 +21,7 @@ atlas_depends_on_subdirs( PRIVATE TileCalorimeter/TileConditions TileCalorimeter/TileEvent TileCalorimeter/TileIdentifier - Tools/AtlasDoxygen + Tools/LWHists Trigger/TrigConfiguration/TrigConfInterfaces Trigger/TrigConfiguration/TrigConfL1Data