Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
atlas
athena
Commits
72ef7a37
Commit
72ef7a37
authored
Apr 24, 2014
by
Edward Moyse
Committed by
Graeme Stewart
Sep 19, 2014
Browse files
'Attempting to get global search working again' (AtlasDoxygen-00-04-05)
parent
2592b530
Changes
15
Expand all
Hide whitespace changes
Inline
Side-by-side
Tools/AtlasDoxygen/cmt/Doxyfile
0 → 100755
View file @
72ef7a37
This diff is collapsed.
Click to expand it.
Tools/AtlasDoxygen/cmt/DoxygenLayout.xml
0 → 100644
View file @
72ef7a37
<doxygenlayout
version=
"1.0"
>
<!-- 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>
<!--SVNLINK-->
<tab
type=
"examples"
visible=
"yes"
title=
""
intro=
""
/>
</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=
""
/>
<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=
""
/>
<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=
""
/>
<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=
""
/>
<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>
Tools/AtlasDoxygen/cmt/XMLList.txt
0 → 100755
View file @
72ef7a37
#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
Tools/AtlasDoxygen/cmt/cmtdoc.py
0 → 100755
View file @
72ef7a37
# 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
)
Tools/AtlasDoxygen/cmt/doxygen.py
0 → 100755
View file @
72ef7a37
This diff is collapsed.
Click to expand it.
Tools/AtlasDoxygen/cmt/requirements
0 → 100755
View file @
72ef7a37
package
AtlasDoxygen
#------------------------------------------------------
#
All
settings
defined
by
this
package
should
be
selectively
valued
#
only
when
the
Doxygen
tag
is
active
#
#
This
tag
is
activated
only
when
gmake
doxygen
is
run
.
And
this
is
actually
#
triggered
by
the
special
target_xxx
tag
associated
with
the
constituent
.
#
The
tag
associated
with
the
constistuent
is
named
target_doxygen
<
package
>
just
#
because
the
constituent
has
this
name
.
#
This
specific
tag
is
therefore
associated
with
the
generic
Doxygen
tag
so
as
#
to
have
a
generic
format
in
this
requirements
#
#
Also
the
script
Doxygen
.
sh
actually
used
to
drive
doxygen
makes
use
of
the
generic
tag
#
to
perform
additional
queries
.
#
#------------------------------------------------------
use
LCG_Settings
*
use
LCG_Configuration
*
path_remove
DOTFONTPATH
""
Linux
&
Doxygen
"AtlasDoxygen"
path_prepend
DOTFONTPATH
""
Linux
&
Doxygen
"$(AtlasDoxygen_root)/fonts/ttf"
macro
AtlasDoxygen_native_version
""
Doxygen
"1.8.2"
path_remove
PATH
""
Doxygen
"/doxygen/"
path_prepend
PATH
""
Doxygen
"$(LCG_external)/doxygen/$(AtlasDoxygen_native_version)/$(LCG_system)/bin"
macro
graphviz_native_version
""
Doxygen
"2.28.0"
path_remove
PATH
""
Doxygen
"/graphviz/"
path_prepend
PATH
""
Doxygen
"$(LCG_external)/graphviz/$(graphviz_native_version)/$(LCG_system)/bin"
include_path
none
#
#
The
DOXYGEN_HTML_MAPPING
macro
receives
a
space
-
separated
list
of
address
mappings
each
of
the
form
:
#
<
file
-
base
>@<
URL
-
base
>
#
#
At
generation
time
,
all
absolute
paths
used
in
outputs
will
be
filtered
and
converted
to
URLs
#
(
Relative
paths
don
't need to be translated)
# This mechanism is generally useful when TAG-based mechanisms are active.
#
macro_append DOXYGEN_HTML_MAPPING "" \
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"
#
# The DOXYGEN_STRIP_FROM_PATH macro receives the partial pathname to strip from the file paths shown in
# each package'
s
files
.
html
.
macro_append
DOXYGEN_STRIP_FROM_PATH
""
\
Doxygen
&
local
"/afs/cern.ch/atlas/software/builds/"
\
Doxygen
&
nightly
"/afs/cern.ch/atlas/software/builds/nightlies/dev/"
#
#
The
DOXYGEN_COMMON_OUTPUT_DIRECTORY
macro
describes
a
common
output
directory
.
If
it
's not defined,
# Then the common convention is used:
#
# with_installarea:
# <cmtpath>/InstallArea/doc/<package>/html
# without_installarea:
# <package_root>/doc/html
# DOXYGEN_OUTPUT should be set in the shell if you want another location
macro DOXYGEN_COMMON_OUTPUT_DIRECTORY "" Doxygen ${DOXYGEN_OUTPUT}
#
# The following macros are directly expanded into the Doxyfile
#
macro DOXYGEN_INPUT "" Doxygen "../src ../Root ../$(package) ../doc ../share ../python ../cmt/fragments"
macro DOXYGEN_FILE_PATTERNS "" Doxygen "*.cxx *.h *.py *.mk *.icc"
macro DOXYGEN_EXCLUDE "" Doxygen ""
macro DOXYGEN_EXCLUDE_PATTERNS "" Doxygen ""
macro DOXYGEN_EXAMPLE_PATH "" Doxygen "../doc ../cmt ../share"
macro DOXYGEN_EXAMPLE_PATTERNS "" Doxygen "*.cxx *.html requirements *.py"
macro DOXYGEN_SORT_MEMBER_DOCS "" Doxygen "NO"
macro DOXYGEN_INLINE_INHERITED_MEMB "" Doxygen "YES"
macro DOXYGEN_IMAGE_PATH ""
macro DOXYGEN_UML_LOOK "" Doxygen "YES"
macro DOXYGEN_QT_AUTOBRIEF "" Doxygen "YES"
macro DOXYGEN_JAVADOC_AUTOBRIEF "" Doxygen "YES"
# Now you can use cmt doxygen -tag=<tag1,tag2,...>
action doxygen "python ${AtlasDoxygen_root}/cmt/doxygen.py $(cmt_args)"
Tools/AtlasDoxygen/hscript.py
0 → 100644
View file @
72ef7a37
# 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/"
},