Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump Doxygen v1.12.0 -> v1.13.0 #5080

Merged
merged 7 commits into from
Jan 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ jobs:
build-and-deploy:
runs-on: ubuntu-latest
env:
DOXYGEN_VERSION: 1.12.0
DOXYGEN_AWESOME_VERSION: 2.3.3
DOXYGEN_VERSION: 1.13.0
DOXYGEN_AWESOME_VERSION: 2.3.4
PR_PATH: pr-preview/${{ github.event.number }}
DOMAIN: p4lang.github.io
DEPLOYMENT: '<img src="https://github.com/user-attachments/assets/f94fada5-45ca-4271-9106-180728235ad2" alt="Rocket" width="25"/>'
Expand Down
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ use them, but YMMV.

- Python 3 for scripting and running tests

- Optional: Documentation generation requires Doxygen (1.12.0) and Graphviz (2.38.0 or higher).
- Optional: Documentation generation requires Doxygen (1.13.0) and Graphviz (2.38.0 or higher).

Backends may have additional dependencies. The dependencies for the backends
included with `P4C` are documented here:
Expand All @@ -311,14 +311,14 @@ pip3 install --user -r requirements.txt
**For documentation building:**

**Tools**
- Download the Doxygen 1.12.0 binary
- Download the Doxygen 1.13.0 binary
```bash
wget https://github.com/doxygen/doxygen/releases/download/Release_1_12_0/doxygen-1.12.0.linux.bin.tar.gz
wget https://github.com/doxygen/doxygen/releases/download/Release_1_13_0/doxygen-1.13.0.linux.bin.tar.gz
```
- Extract and install Doxygen
```bash
tar xzvf doxygen-1.12.0.linux.bin.tar.gz
cd doxygen-1.12.0
tar xzvf doxygen-1.13.0.linux.bin.tar.gz
cd doxygen-1.13.0
sudo make install
cd ..
```
Expand All @@ -328,7 +328,7 @@ sudo apt-get install -y graphviz
```
**Theme**
```bash
git clone --depth 1 -b v2.3.3 https://github.com/jothepro/doxygen-awesome-css ./docs/doxygen/awesome_css
git clone --depth 1 -b v2.3.4 https://github.com/jothepro/doxygen-awesome-css ./docs/doxygen/awesome_css
```

`P4C` also depends on Google Protocol Buffers (Protobuf). `P4C` requires version
Expand Down Expand Up @@ -362,14 +362,14 @@ sudo pip3 install -r requirements.txt
**For documentation building:**

**Tools**
- Download the Doxygen 1.12.0 binary
- Download the Doxygen 1.13.0 binary
```bash
wget https://github.com/doxygen/doxygen/releases/download/Release_1_12_0/doxygen-1.12.0.linux.bin.tar.gz
wget https://github.com/doxygen/doxygen/releases/download/Release_1_13_0/doxygen-1.13.0.linux.bin.tar.gz
```
- Extract and install Doxygen
```bash
tar xzvf doxygen-1.12.0.linux.bin.tar.gz
cd doxygen-1.12.0
tar xzvf doxygen-1.13.0.linux.bin.tar.gz
cd doxygen-1.13.0
sudo make install
cd ..
```
Expand All @@ -379,7 +379,7 @@ sudo dnf install -y graphviz
```
**Theme**
```bash
git clone --depth 1 -b v2.3.3 https://github.com/jothepro/doxygen-awesome-css ./docs/doxygen/awesome_css
git clone --depth 1 -b v2.3.4 https://github.com/jothepro/doxygen-awesome-css ./docs/doxygen/awesome_css
```

You can also look at the [dependencies installation script](https://github.com/p4lang/p4c/blob/main/tools/install_fedora_deps.sh)
Expand Down Expand Up @@ -421,14 +421,14 @@ Installing on macOS:
```

**Optional documentation building tools:**
- Download and install the Doxygen 1.12.0 DMG file from [here](https://github.com/doxygen/doxygen/releases/download/Release_1_12_0/Doxygen-1.12.0.dmg).
- Download and install the Doxygen 1.13.0 DMG file from [here](https://github.com/doxygen/doxygen/releases/download/Release_1_13_0/Doxygen-1.13.0.dmg).
- Install Graphviz
```
brew install graphviz
```
**Optional Documentation theme:**
```
git clone --depth 1 -b v2.3.3 https://github.com/jothepro/doxygen-awesome-css ./docs/doxygen/awesome_css
git clone --depth 1 -b v2.3.4 https://github.com/jothepro/doxygen-awesome-css ./docs/doxygen/awesome_css
```

Homebrew offers a `protobuf` formula. It installs version 3.2, which should
Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ overview of the compiler goals and architecture.
### Doxygen Comments Style Guide
- Comment Markup and Documentation Commands
- `<!-- ... -->` is used for adding documentation inclusion notes. This content is hidden from both the rendered Markdown and Doxygen, but visible in the raw view on GitHub.
- ```<!--! ... -->``` hides commands from GitHubs Markdown rendering but provides instructions to Doxygen. For example:
- Use HTML comments with an exclamation mark to add instructions for Doxygen. These comments are hidden in GitHub's Markdown but processed by Doxygen. For example:
```
<!--!
\page changelog Releases
Expand Down
80 changes: 57 additions & 23 deletions docs/doxygen/doxygen.cfg
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Doxyfile 1.12.0
# Doxyfile 1.13.0

# This file describes the settings to be used by the documentation system
# Doxygen (www.doxygen.org) for a project.
Expand Down Expand Up @@ -42,7 +42,7 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.

PROJECT_NAME = P4 Compiler Documentation (P4C)
PROJECT_NAME = "P4 Compiler Documentation (P4C)"

# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
Expand All @@ -51,7 +51,7 @@ PROJECT_NAME = P4 Compiler Documentation (P4C)
PROJECT_NUMBER =

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
# for a project that appears at the top of each page and should give viewers a
# quick idea about the purpose of the project. Keep the description short.

PROJECT_BRIEF = "The P4 Compiler"
Expand Down Expand Up @@ -80,7 +80,7 @@ OUTPUT_DIRECTORY = ./build
# sub-directories (in 2 levels) under the output directory of each output format
# and will distribute the generated files over these directories. Enabling this
# option can be useful when feeding Doxygen a huge amount of source files, where
# putting all generated files in the same directory would otherwise causes
# putting all generated files in the same directory would otherwise cause
# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to
# control the number of sub-directories.
# The default value is: NO.
Expand Down Expand Up @@ -192,17 +192,17 @@ STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =

# If the SHORT_NAMES tag is set to YES, Doxygen will generate much shorter (but
# less readable) file names. This can be useful is your file systems doesn't
# less readable) file names. This can be useful if your file system doesn't
# support long names like on DOS, Mac, or CD-ROM.
# The default value is: NO.

SHORT_NAMES = NO

# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen will interpret the
# first line (until the first dot) of a Javadoc-style comment as the brief
# description. If set to NO, the Javadoc-style will behave just like regular Qt-
# style comments (thus requiring an explicit @brief command for a brief
# description.)
# first line (until the first dot, question mark or exclamation mark) of a
# Javadoc-style comment as the brief description. If set to NO, the Javadoc-
# style will behave just like regular Qt-style comments (thus requiring an
# explicit @brief command for a brief description.)
# The default value is: NO.

JAVADOC_AUTOBRIEF = NO
Expand All @@ -218,9 +218,10 @@ JAVADOC_AUTOBRIEF = NO
JAVADOC_BANNER = NO

# If the QT_AUTOBRIEF tag is set to YES then Doxygen will interpret the first
# line (until the first dot) of a Qt-style comment as the brief description. If
# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
# requiring an explicit \brief command for a brief description.)
# line (until the first dot, question mark or exclamation mark) of a Qt-style
# comment as the brief description. If set to NO, the Qt-style will behave just
# like regular Qt-style comments (thus requiring an explicit \brief command for
# a brief description.)
# The default value is: NO.

QT_AUTOBRIEF = NO
Expand Down Expand Up @@ -373,11 +374,20 @@ MARKDOWN_ID_STYLE = GITHUB
# When enabled Doxygen tries to link words that correspond to documented
# classes, or namespaces to their corresponding documentation. Such a link can
# be prevented in individual cases by putting a % sign in front of the word or
# globally by setting AUTOLINK_SUPPORT to NO.
# globally by setting AUTOLINK_SUPPORT to NO. Words listed in the
# AUTOLINK_IGNORE_WORDS tag are excluded from automatic linking.
# The default value is: YES.

AUTOLINK_SUPPORT = NO

# This tag specifies a list of words that, when matching the start of a word in
# the documentation, will suppress auto links generation, if it is enabled via
# AUTOLINK_SUPPORT. This list does not affect affect links explicitly created
# using \# or the \link or commands.
# This tag requires that the tag AUTOLINK_SUPPORT is set to YES.

AUTOLINK_IGNORE_WORDS =

# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
# to include (a tag file for) the STL sources as input, then you should set this
# tag to YES in order to let Doxygen match functions declarations and
Expand Down Expand Up @@ -589,6 +599,14 @@ HIDE_UNDOC_MEMBERS = NO

HIDE_UNDOC_CLASSES = NO

# If the HIDE_UNDOC_NAMESPACES tag is set to YES, Doxygen will hide all
# undocumented namespaces that are normally visible in the namespace hierarchy.
# If set to NO, these namespaces will be included in the various overviews. This
# option has no effect if EXTRACT_ALL is enabled.
# The default value is: YES.

HIDE_UNDOC_NAMESPACES = YES

# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all friend
# declarations. If set to NO, these declarations will be included in the
# documentation.
Expand Down Expand Up @@ -991,10 +1009,10 @@ INPUT = ../../docs/README.md \
INPUT_ENCODING = UTF-8

# This tag can be used to specify the character encoding of the source files
# that Doxygen parses The INPUT_FILE_ENCODING tag can be used to specify
# that Doxygen parses. The INPUT_FILE_ENCODING tag can be used to specify
# character encoding on a per file pattern basis. Doxygen will compare the file
# name with each pattern and apply the encoding instead of the default
# INPUT_ENCODING) if there is a match. The character encodings are a list of the
# INPUT_ENCODING if there is a match. The character encodings are a list of the
# form: pattern=encoding (like *.php=ISO-8859-1).
# See also: INPUT_ENCODING for further information on supported encodings.

Expand Down Expand Up @@ -1052,9 +1070,9 @@ EXCLUDE = ../../frontends/p4/README.md \
../../docs/doxygen/01_overview.md \
../../docs/doxygen/00_revision_history.md \
../../lib/README.md \
../../backends/bmv2/pna_nic/README.md \
../../backends/bmv2/pna_nic/README.md \
../../ir/README.md \
../../backends/bmv2/portable_common/README.md \
../../backends/bmv2/portable_common/README.md

# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
Expand Down Expand Up @@ -1171,6 +1189,15 @@ FILTER_SOURCE_PATTERNS =

USE_MDFILE_AS_MAINPAGE = ./Doxymain.md

# If the IMPLICIT_DIR_DOCS tag is set to YES, any README.md file found in sub-
# directories of the project's root, is used as the documentation for that sub-
# directory, except when the README.md starts with a \dir, \page or \mainpage
# command. If set to NO, the README.md file needs to start with an explicit \dir
# command in order to be used as directory documentation.
# The default value is: YES.

IMPLICIT_DIR_DOCS = YES

# The Fortran standard specifies that for fixed formatted Fortran code all
# characters from position 72 are to be considered as comment. A common
# extension is to allow longer lines before the automatic comment starts. The
Expand Down Expand Up @@ -1412,6 +1439,7 @@ HTML_STYLESHEET =
HTML_EXTRA_STYLESHEET = awesome_css/doxygen-awesome.css \
awesome_css/doxygen-awesome-sidebar-only.css \
awesome_css/doxygen-awesome-sidebar-only-darkmode-toggle.css \
awesome_css/doxygen-awesome-interactive-toc.js \
../assets/css/cards.css \
../assets/css/flow.css \
../assets/css/p4c_custom.css
Expand Down Expand Up @@ -1587,9 +1615,9 @@ DOCSET_PUBLISHER_NAME = Publisher
# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
# on Windows. In the beginning of 2021 Microsoft took the original page, with
# a.o. the download links, offline the HTML help workshop was already many years
# in maintenance mode). You can download the HTML help workshop from the web
# archives at Installation executable (see:
# a.o. the download links, offline (the HTML help workshop was already many
# years in maintenance mode). You can download the HTML help workshop from the
# web archives at Installation executable (see:
# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo
# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe).
#
Expand Down Expand Up @@ -1748,7 +1776,7 @@ ECLIPSE_DOC_ID = org.doxygen.Project
# of each HTML page. A value of NO enables the index and the value YES disables
# it. Since the tabs in the index contain the same information as the navigation
# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
# The default value is: NO.
# The default value is: YES.
# This tag requires that the tag GENERATE_HTML is set to YES.

DISABLE_INDEX = NO
Expand All @@ -1765,7 +1793,7 @@ DISABLE_INDEX = NO
# shows how to put an image at the root of the tree instead of the PROJECT_NAME.
# Since the tree basically has the same information as the tab index, you could
# consider setting DISABLE_INDEX to YES when enabling this option.
# The default value is: NO.
# The default value is: YES.
# This tag requires that the tag GENERATE_HTML is set to YES.

GENERATE_TREEVIEW = YES
Expand Down Expand Up @@ -2177,7 +2205,7 @@ LATEX_HIDE_INDICES = NO
# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
# bibliography, e.g. plainnat, or ieeetr. See
# https://en.wikipedia.org/wiki/BibTeX and \cite for more info.
# The default value is: plain.
# The default value is: plainnat.
# This tag requires that the tag GENERATE_LATEX is set to YES.

LATEX_BIB_STYLE = plain
Expand Down Expand Up @@ -2851,6 +2879,12 @@ PLANTUML_CFG_FILE =

PLANTUML_INCLUDE_PATH =

# The PLANTUMLFILE_DIRS tag can be used to specify one or more directories that
# contain PlantUml files that are included in the documentation (see the
# \plantumlfile command).

PLANTUMLFILE_DIRS =

# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
# that will be shown in the graph. If the number of nodes in a graph becomes
# larger than this value, Doxygen will truncate the graph, which is visualized
Expand Down
2 changes: 1 addition & 1 deletion docs/doxygen/p4c_footer.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!-- HTML footer for doxygen 1.12.0-->
<!-- HTML footer for doxygen 1.13.0-->
<!-- start footer part -->
<!--BEGIN GENERATE_TREEVIEW-->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
Expand Down
8 changes: 7 additions & 1 deletion docs/doxygen/p4c_header.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!-- HTML header for doxygen 1.12.0-->
<!-- HTML header for doxygen 1.13.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="$langISO">
<head>
Expand Down Expand Up @@ -41,6 +41,12 @@
DoxygenAwesomeDarkModeToggle.init()
</script>

<!-- Add interactive TOC -->
<script type="text/javascript" src="$relpath^doxygen-awesome-interactive-toc.js"></script>
<script type="text/javascript">
DoxygenAwesomeInteractiveToc.init()
</script>

$treeview
$search
$mathjax
Expand Down
2 changes: 1 addition & 1 deletion docs/doxygen/p4c_layout.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<doxygenlayout version="1.0">
<!-- Generated by doxygen 1.12.0 -->
<!-- Generated by doxygen 1.13.0 -->
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title=""/>
Expand Down
Loading