HDFS-8745. Use Doxygen to generate documents for libhdfspp. Contributed by Haohui Mai.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/49c5702a Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/49c5702a Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/49c5702a Branch: refs/heads/HDFS-8707 Commit: 49c5702ab764e77b2f7669fcf5f25d37201d66b7 Parents: 8dadcb5 Author: Haohui Mai <whe...@apache.org> Authored: Thu Jul 9 13:47:20 2015 -0700 Committer: Haohui Mai <whe...@apache.org> Committed: Wed Oct 7 00:17:10 2015 -0700 ---------------------------------------------------------------------- BUILDING.txt | 7 ++++--- .../src/main/native/libhdfspp/CMakeLists.txt | 8 ++++++++ .../src/main/native/libhdfspp/doc/Doxyfile.in | 16 ++++++++++++++++ .../src/main/native/libhdfspp/doc/mainpage.dox | 8 ++++++++ 4 files changed, 36 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/49c5702a/BUILDING.txt ---------------------------------------------------------------------- diff --git a/BUILDING.txt b/BUILDING.txt index efd93d1..ff0849f 100644 --- a/BUILDING.txt +++ b/BUILDING.txt @@ -10,9 +10,10 @@ Requirements: * ProtocolBuffer 2.5.0 * CMake 2.6 or newer (if compiling native code), must be 3.0 or newer on Mac * Zlib devel (if compiling native code) -* openssl devel (if compiling native hadoop-pipes and to get the best HDFS encryption performance) -* Jansson C XML parsing library (if compiling libwebhdfs) -* Linux FUSE (Filesystem in Userspace) version 2.6 or above (if compiling fuse_dfs) +* openssl devel ( if compiling native hadoop-pipes and to get the best HDFS encryption performance ) +* Jansson C XML parsing library ( if compiling libwebhdfs ) +* Doxygen ( if compiling libhdfspp and generating the documents ) +* Linux FUSE (Filesystem in Userspace) version 2.6 or above ( if compiling fuse_dfs ) * Internet connection for first build (to fetch all Maven and Hadoop dependencies) * python (for releasedocs) * bats (for shell code testing) http://git-wip-us.apache.org/repos/asf/hadoop/blob/49c5702a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/CMakeLists.txt b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/CMakeLists.txt index f4bc8b8..cae786c 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/CMakeLists.txt +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/CMakeLists.txt @@ -18,6 +18,7 @@ project (libhdfspp) +find_package(Doxygen) find_package(Protobuf REQUIRED) find_package(Threads) @@ -33,6 +34,13 @@ if(APPLE) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -Wno-deprecated-declarations") endif() +if(DOXYGEN_FOUND) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile @ONLY) +add_custom_target(doc ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Generating API documentation with Doxygen" VERBATIM) +endif(DOXYGEN_FOUND) + include_directories( include lib http://git-wip-us.apache.org/repos/asf/hadoop/blob/49c5702a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/doc/Doxyfile.in ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/doc/Doxyfile.in b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/doc/Doxyfile.in new file mode 100644 index 0000000..773990f --- /dev/null +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/doc/Doxyfile.in @@ -0,0 +1,16 @@ +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = "libhdfspp" +OUTPUT_DIRECTORY = doc +TAB_SIZE = 2 +MARKDOWN_SUPPORT = YES +BUILTIN_STL_SUPPORT = YES + + +INPUT = @PROJECT_SOURCE_DIR@/doc/mainpage.dox \ + @PROJECT_SOURCE_DIR@/include/libhdfspp \ + +INPUT_ENCODING = UTF-8 +RECURSIVE = NO + +GENERATE_HTML = YES +GENERATE_LATEX = NO http://git-wip-us.apache.org/repos/asf/hadoop/blob/49c5702a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/doc/mainpage.dox ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/doc/mainpage.dox b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/doc/mainpage.dox new file mode 100644 index 0000000..ef4ba26 --- /dev/null +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/native/libhdfspp/doc/mainpage.dox @@ -0,0 +1,8 @@ +/** +\mainpage libhdfs++ + +libhdfs++ is a modern implementation of HDFS client in C++11. It is +optimized for the Massive Parallel Processing (MPP) applications that +access thousands of files concurrently in HDFS. + +*/