[clang-tools-extra] reapply [clang-doc] Add --asset option to clang-doc (PR #96358)
Nico Weber via cfe-commits
cfe-commits at lists.llvm.org
Sat Jun 22 13:39:21 PDT 2024
================
@@ -182,23 +258,9 @@ Example usage for a project using a compile commands database:
{"index.js", "index_json.js"}};
if (Format == "html") {
- 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());
+ if (auto Err = getHtmlAssetFiles(argv[0], CDCtx)) {
----------------
nico wrote:
After I've read this in some detail, I'm confused by this patch.
As far as I can tell, `getAssetFiles()` looks for _all_ `.css` and `.js` files in the passed-in directory and appends them. Line 182 still wants the main js file to be called `index.js`, even if `--asset` is used (…right?), but only `getDefaultAssetFiles()` checks for the existence of that file.
The way I would've expected this to work is that `--asset` just overrides the value of `AssetsPath`. Is there more discussion on why this doesn't implemented that way somewhere that I missed?
https://github.com/llvm/llvm-project/pull/96358
More information about the cfe-commits
mailing list