[llvm-branch-commits] [clang-tools-extra] d907514 - Revert "[clang-doc] Add --asset option to clang-doc (#94717)"
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Jun 21 13:17:44 PDT 2024
Author: Paul Kirth
Date: 2024-06-21T13:17:41-07:00
New Revision: d9075144100406eed753f1b7ca3df933a596bb3a
URL: https://github.com/llvm/llvm-project/commit/d9075144100406eed753f1b7ca3df933a596bb3a
DIFF: https://github.com/llvm/llvm-project/commit/d9075144100406eed753f1b7ca3df933a596bb3a.diff
LOG: Revert "[clang-doc] Add --asset option to clang-doc (#94717)"
This reverts commit 724d903e03aaf7ee7d4bcdf3cd9fe1e1bda33f9a.
Added:
Modified:
clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
Removed:
clang-tools-extra/test/clang-doc/single-source-html.cpp
################################################################################
diff --git a/clang-tools-extra/clang-doc/tool/ClangDocMain.cpp b/clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
index 5a43c70a5ebc3..5517522d7967d 100644
--- a/clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
+++ b/clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
@@ -81,12 +81,6 @@ static llvm::cl::list<std::string> UserStylesheets(
llvm::cl::desc("CSS stylesheets to extend the default styles."),
llvm::cl::cat(ClangDocCategory));
-static llvm::cl::opt<std::string> UserAssetPath(
- "asset",
- llvm::cl::desc("User supplied asset path to "
- "override the default css and js files for html output"),
- llvm::cl::cat(ClangDocCategory));
-
static llvm::cl::opt<std::string> SourceRoot("source-root", llvm::cl::desc(R"(
Directory where processed files are stored.
Links to definition locations will only be
@@ -133,86 +127,16 @@ std::string getFormatString() {
// GetMainExecutable (since some platforms don't support taking the
// address of main, and some platforms can't implement GetMainExecutable
// without being given the address of a function in the main executable).
-std::string getExecutablePath(const char *Argv0, void *MainAddr) {
+std::string GetExecutablePath(const char *Argv0, void *MainAddr) {
return llvm::sys::fs::getMainExecutable(Argv0, MainAddr);
}
-llvm::Error getAssetFiles(clang::doc::ClangDocContext &CDCtx) {
- using DirIt = llvm::sys::fs::directory_iterator;
- std::error_code FileErr;
- llvm::SmallString<128> FilePath(UserAssetPath);
- for (DirIt DirStart = DirIt(UserAssetPath, FileErr),
- DirEnd;
- !FileErr && DirStart != DirEnd; DirStart.increment(FileErr)) {
- FilePath = DirStart->path();
- if (llvm::sys::fs::is_regular_file(FilePath)) {
- if (llvm::sys::path::extension(FilePath) == ".css")
- CDCtx.UserStylesheets.insert(CDCtx.UserStylesheets.begin(),
- std::string(FilePath));
- else if (llvm::sys::path::extension(FilePath) == ".js")
- CDCtx.FilesToCopy.emplace_back(FilePath.str());
- }
- }
- if (FileErr)
- return llvm::createFileError(FilePath, FileErr);
- return llvm::Error::success();
-}
-
-llvm::Error getDefaultAssetFiles(const char *Argv0,
- clang::doc::ClangDocContext &CDCtx) {
- void *MainAddr = (void *)(intptr_t)getExecutablePath;
- std::string ClangDocPath = getExecutablePath(Argv0, MainAddr);
- llvm::SmallString<128> NativeClangDocPath;
- llvm::sys::path::native(ClangDocPath, NativeClangDocPath);
-
- llvm::SmallString<128> AssetsPath;
- AssetsPath = llvm::sys::path::parent_path(NativeClangDocPath);
- llvm::sys::path::append(AssetsPath, "..", "share", "clang");
- llvm::SmallString<128> DefaultStylesheet;
- llvm::sys::path::native(AssetsPath, DefaultStylesheet);
- llvm::sys::path::append(DefaultStylesheet,
- "clang-doc-default-stylesheet.css");
- llvm::SmallString<128> IndexJS;
- llvm::sys::path::native(AssetsPath, IndexJS);
- llvm::sys::path::append(IndexJS, "index.js");
-
- llvm::outs() << "Using default asset: " << AssetsPath << "\n";
-
- if (!llvm::sys::fs::is_regular_file(IndexJS))
- return llvm::createStringError(llvm::inconvertibleErrorCode(),
- "default index.js file missing at " +
- IndexJS + "\n");
-
- if (!llvm::sys::fs::is_regular_file(DefaultStylesheet))
- return llvm::createStringError(
- llvm::inconvertibleErrorCode(),
- "default clang-doc-default-stylesheet.css file missing at " +
- DefaultStylesheet + "\n");
-
- CDCtx.UserStylesheets.insert(CDCtx.UserStylesheets.begin(),
- std::string(DefaultStylesheet));
- CDCtx.FilesToCopy.emplace_back(IndexJS.str());
-
- return llvm::Error::success();
-}
-
-llvm::Error getHtmlAssetFiles(const char *Argv0,
- clang::doc::ClangDocContext &CDCtx) {
- if (!UserAssetPath.empty() &&
- !llvm::sys::fs::is_directory(std::string(UserAssetPath)))
- llvm::outs() << "Asset path supply is not a directory: " << UserAssetPath
- << " falling back to default\n";
- if (llvm::sys::fs::is_directory(std::string(UserAssetPath)))
- return getAssetFiles(CDCtx);
- return getDefaultAssetFiles(Argv0, CDCtx);
-}
-
int main(int argc, const char **argv) {
llvm::sys::PrintStackTraceOnErrorSignal(argv[0]);
std::error_code OK;
const char *Overview =
- R"(Generates documentation from source code and comments.
+ R"(Generates documentation from source code and comments.
Example usage for files without flags (default):
@@ -258,9 +182,23 @@ Example usage for a project using a compile commands database:
{"index.js", "index_json.js"}};
if (Format == "html") {
- if (auto Err = getHtmlAssetFiles(argv[0], CDCtx)) {
- llvm::outs() << "warning: " << toString(std::move(Err)) << "\n";
- }
+ void *MainAddr = (void *)(intptr_t)GetExecutablePath;
+ std::string ClangDocPath = GetExecutablePath(argv[0], MainAddr);
+ llvm::SmallString<128> NativeClangDocPath;
+ llvm::sys::path::native(ClangDocPath, NativeClangDocPath);
+ llvm::SmallString<128> AssetsPath;
+ AssetsPath = llvm::sys::path::parent_path(NativeClangDocPath);
+ llvm::sys::path::append(AssetsPath, "..", "share", "clang");
+ llvm::SmallString<128> DefaultStylesheet;
+ llvm::sys::path::native(AssetsPath, DefaultStylesheet);
+ llvm::sys::path::append(DefaultStylesheet,
+ "clang-doc-default-stylesheet.css");
+ llvm::SmallString<128> IndexJS;
+ llvm::sys::path::native(AssetsPath, IndexJS);
+ llvm::sys::path::append(IndexJS, "index.js");
+ CDCtx.UserStylesheets.insert(CDCtx.UserStylesheets.begin(),
+ std::string(DefaultStylesheet));
+ CDCtx.FilesToCopy.emplace_back(IndexJS.str());
}
// Mapping phase
diff --git a/clang-tools-extra/test/clang-doc/single-source-html.cpp b/clang-tools-extra/test/clang-doc/single-source-html.cpp
deleted file mode 100644
index 32f232b9c45a0..0000000000000
--- a/clang-tools-extra/test/clang-doc/single-source-html.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-// RUN: clang-doc --format=html --executor=standalone %s -output=%t/docs | FileCheck %s
-// CHECK: Using default asset: {{.*}}{{[\/]}}share{{[\/]}}clang
\ No newline at end of file
More information about the llvm-branch-commits
mailing list