Skip to content

Commit b4737df

Browse files
authored
fix: generate public API docs correctly (#804)
1 parent 4c906d1 commit b4737df

66 files changed

Lines changed: 244 additions & 55 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ install-deps:
3333

3434
build-api-docs:
3535
cd mkdocs && \
36+
rm -rf docs/api && \
3637
mkdir -p docs/api && \
3738
doxygen Doxyfile && \
3839
echo "Doxygen output created in docs/api/"

mkdocs/Doxyfile

Lines changed: 6 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -966,7 +966,7 @@ WARN_LOGFILE =
966966
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
967967
# Note: If this tag is empty the current directory is searched.
968968

969-
INPUT = ../src ../README.md
969+
INPUT = ../src ../README.md namespace_docs.dox
970970

971971
# This tag can be used to specify the character encoding of the source files
972972
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -1006,57 +1006,9 @@ INPUT_FILE_ENCODING =
10061006
# be provided as doxygen C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08,
10071007
# *.f18, *.f, *.for, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice.
10081008

1009-
FILE_PATTERNS = *.c \
1010-
*.cc \
1011-
*.cxx \
1012-
*.cxxm \
1013-
*.cpp \
1014-
*.cppm \
1015-
*.ccm \
1016-
*.c++ \
1017-
*.c++m \
1018-
*.java \
1019-
*.ii \
1020-
*.ixx \
1021-
*.ipp \
1022-
*.i++ \
1023-
*.inl \
1024-
*.idl \
1025-
*.ddl \
1026-
*.odl \
1027-
*.h \
1028-
*.hh \
1029-
*.hxx \
1030-
*.hpp \
1031-
*.h++ \
1032-
*.ixx \
1033-
*.l \
1034-
*.cs \
1035-
*.d \
1036-
*.php \
1037-
*.php4 \
1038-
*.php5 \
1039-
*.phtml \
1040-
*.inc \
1041-
*.m \
1042-
*.markdown \
1009+
FILE_PATTERNS = *.h \
10431010
*.md \
1044-
*.mm \
1045-
*.dox \
1046-
*.py \
1047-
*.pyw \
1048-
*.f90 \
1049-
*.f95 \
1050-
*.f03 \
1051-
*.f08 \
1052-
*.f18 \
1053-
*.f \
1054-
*.for \
1055-
*.vhd \
1056-
*.vhdl \
1057-
*.ucf \
1058-
*.qsf \
1059-
*.ice
1011+
*.dox
10601012

10611013
# The RECURSIVE tag can be used to specify whether or not subdirectories should
10621014
# be searched for input files as well.
@@ -1071,7 +1023,8 @@ RECURSIVE = YES
10711023
# Note that relative paths are relative to the directory from which doxygen is
10721024
# run.
10731025

1074-
EXCLUDE =
1026+
EXCLUDE = ../src/iceberg/test \
1027+
../src/iceberg/catalog/hive/gen-cpp
10751028

10761029
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
10771030
# directories that are symbolic links (a Unix file system feature) are excluded
@@ -1087,7 +1040,7 @@ EXCLUDE_SYMLINKS = NO
10871040
# Note that the wildcards are matched against the file with absolute path, so to
10881041
# exclude all test directories for example use the pattern */test/*
10891042

1090-
EXCLUDE_PATTERNS =
1043+
EXCLUDE_PATTERNS = *_internal.h
10911044

10921045
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
10931046
# (namespaces, classes, functions, etc.) that should be excluded from the

mkdocs/build-docs.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ if ! command -v doxygen &> /dev/null; then
4141
else
4242
echo "Building API documentation with Doxygen..."
4343
cd mkdocs
44+
rm -rf docs/api
4445
mkdir -p docs/api
4546
doxygen Doxyfile
4647
cd ..

mkdocs/namespace_docs.dox

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
20+
/// \namespace iceberg
21+
/// \brief Core Apache Iceberg C++ APIs.
22+
23+
/// \namespace iceberg::arrow
24+
/// \brief Arrow-backed IO and data conversion APIs.
25+
26+
/// \namespace iceberg::avro
27+
/// \brief Avro reader, writer, and metadata APIs.
28+
29+
/// \namespace iceberg::hive
30+
/// \brief Hive catalog APIs.
31+
32+
/// \namespace iceberg::parquet
33+
/// \brief Parquet reader, writer, and registration APIs.
34+
35+
/// \namespace iceberg::puffin
36+
/// \brief Puffin file metadata, reader, and writer APIs.
37+
38+
/// \namespace iceberg::rest
39+
/// \brief REST catalog APIs.
40+
41+
/// \namespace iceberg::rest::auth
42+
/// \brief REST catalog authentication APIs.
43+
44+
/// \namespace iceberg::retry
45+
/// \brief Retry policy APIs.
46+
47+
/// \namespace iceberg::sql
48+
/// \brief SQL catalog APIs.
49+
50+
/// \namespace iceberg::table
51+
/// \brief Table update requirement APIs.
52+
53+
/// \namespace iceberg::util
54+
/// \brief Utility APIs.

src/iceberg/arrow/arrow_io_util.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919

2020
#pragma once
2121

22+
/// \file iceberg/arrow/arrow_io_util.h
23+
/// \brief Provide helpers to create Arrow-backed FileIO implementations.
24+
2225
#include <memory>
2326
#include <string>
2427
#include <unordered_map>

src/iceberg/arrow/s3/s3_properties.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919

2020
#pragma once
2121

22+
/// \file iceberg/arrow/s3/s3_properties.h
23+
/// \brief Define S3 configuration property keys.
24+
2225
#include <string_view>
2326

2427
namespace iceberg::arrow {

src/iceberg/avro/avro_constants.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919

2020
#pragma once
2121

22+
/// \file iceberg/avro/avro_constants.h
23+
/// \brief Define Avro metadata constants used by Iceberg.
24+
2225
#include <string_view>
2326

2427
namespace iceberg::avro {

src/iceberg/avro/avro_metrics.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919

2020
#pragma once
2121

22+
/// \file iceberg/avro/avro_metrics.h
23+
/// \brief Compute Iceberg metrics for Avro data files.
24+
2225
#include "iceberg/iceberg_bundle_export.h"
2326
#include "iceberg/metrics.h"
2427

src/iceberg/avro/avro_reader.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919

2020
#pragma once
2121

22+
/// \file iceberg/avro/avro_reader.h
23+
/// \brief Provide the Avro file reader interface.
24+
2225
#include "iceberg/file_reader.h"
2326
#include "iceberg/iceberg_bundle_export.h"
2427

src/iceberg/avro/avro_writer.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919

2020
#pragma once
2121

22+
/// \file iceberg/avro/avro_writer.h
23+
/// \brief Provide the Avro file writer interface.
24+
2225
#include "iceberg/file_writer.h"
2326
#include "iceberg/iceberg_bundle_export.h"
2427

0 commit comments

Comments
 (0)