Skip to content
  1. Jan 22, 2021
  2. Jan 17, 2021
    • Raphael Isemann's avatar
      Reland [lldb][docs] Use sphinx instead of epydoc to generate LLDB's Python reference · e7bc6c59
      Raphael Isemann authored
      The build server should now have the missing dependencies.
      
      Original summary:
      
      Currently LLDB uses epydoc to generate the Python API reference for the website.
      epydoc however is unmaintained since more than a decade and no longer works with
      Python 3. Also whatever setup we had once for generating the documentation on
      the website server no longer seems to work, so the current website documentation
      has been stale since more than a year.
      
      This patch replaces epydoc with sphinx and its automodapi plugin that can
      generate Python API references. LLVM already uses sphinx for the rest of the
      documentation, so this way we are more consistent with the rest of LLVM. The
      only new dependency is the automodapi plugin for sphinx.
      
      This patch effectively does the following things:
      * Remove the epydoc code.
      * Make a new dummy Python API page in our website that just calls the Sphinx
        command for generated the API documentation.
      * Add a mock _lldb module that is only used when generating the Python API.
       This way we don't have to build all of LLDB to generate the API reference.
      
      Some notes:
      * The long list of skips is necessary due to boilerplate functions that SWIG
        is generating. Sadly automodapi is not really scriptable from what I can see,
        so we have to blacklist this stuff manually.
      * The .gitignore change because automodapi wants a subfolder of our
        documentation directory to place generated documentation files there. The path
        is also what is used on the website, so we can't really workaround this
        (without copying the whole `docs` dir somewhere else when we build).
      * We have to use environment variables to pass our build path to our sphinx
        configuration. Sphinx doesn't support passing variables onto that script.
      
      Reviewed By: JDevlieghere
      
      Differential Revision: https://reviews.llvm.org/D94489
      e7bc6c59
  3. Jan 15, 2021
    • Raphael Isemann's avatar
      Revert "[lldb][docs] Use sphinx instead of epydoc to generate LLDB's Python reference" · 9d2053f6
      Raphael Isemann authored
      This reverts commit bab121a1. It seems the
      docs buildbot doesn't have the required Python headers.
      9d2053f6
    • Raphael Isemann's avatar
      [lldb][docs] Use sphinx instead of epydoc to generate LLDB's Python reference · bab121a1
      Raphael Isemann authored
      Currently LLDB uses epydoc to generate the Python API reference for the website.
      epydoc however is unmaintained since more than a decade and no longer works with
      Python 3. Also whatever setup we had once for generating the documentation on
      the website server no longer seems to work, so the current website documentation
      has been stale since more than a year.
      
      This patch replaces epydoc with sphinx and its automodapi plugin that can
      generate Python API references. LLVM already uses sphinx for the rest of the
      documentation, so this way we are more consistent with the rest of LLVM. The
      only new dependency is the automodapi plugin for sphinx.
      
      This patch effectively does the following things:
      * Remove the epydoc code.
      * Make a new dummy Python API page in our website that just calls the Sphinx
        command for generated the API documentation.
      * Add a mock _lldb module that is only used when generating the Python API.
       This way we don't have to build all of LLDB to generate the API reference.
      
      Some notes:
      * The long list of skips is necessary due to boilerplate functions that SWIG
        is generating. Sadly automodapi is not really scriptable from what I can see,
        so we have to blacklist this stuff manually.
      * The .gitignore change because automodapi wants a subfolder of our
        documentation directory to place generated documentation files there. The path
        is also what is used on the website, so we can't really workaround this
        (without copying the whole `docs` dir somewhere else when we build).
      * We have to use environment variables to pass our build path to our sphinx
        configuration. Sphinx doesn't support passing variables onto that script.
      
      Reviewed By: JDevlieghere
      
      Differential Revision: https://reviews.llvm.org/D94489
      bab121a1
  4. Sep 04, 2020
  5. Jul 07, 2020
    • Sam McCall's avatar
      [clangd] Store index in '.cache/clangd/index' instead of '.clangd/index' · 9b55bc4d
      Sam McCall authored
      Summary:
      .clangd/index was well-intentioned in 2754942c, but `.clangd` is the best
      filename for the clangd config file (matching .clang-format and .clang-tidy).
      And of course we can't have both .clangd/index and .clangd...
      
      There are a few overlapping goals to satisfy:
       - it should be clear from the directory name that this is transient
         data that is safe to delete at the cost of recomputation, i.e. a cache
       - it should be easy and self-documenting to blacklist these files in .gitignore
       - we should have some consistency between filenames in-tree and
         corresponding files in user storage (e.g. under XDG's ~/.cache/)
       - we should be consistent across platforms (including windows, which
         doesn't have distinct cache vs config directories)
      
      So the plan is:
        $PROJECT/.clangd                    (project config)
        $PROJECT/.cache/clangd/index/       (project index)
        $PROJECT/.cache/clangd/modules/     (maybe in future)
        $XDG_CONFIG_HOME/clangd/config.yaml (user config)
        $XDG_CACHE_HOME/clangd/index/       (index of non-project files)
        $XDG_CACHE_HOME/clangd/modules/     (maybe in future)
      This is sensible if XDG_{CONFIG,CACHE}_HOME coincide, and has a simple
      .gitignore rule going forward: `.cache/`.
      
      The monorepo gitignore is updated to reflect the backwards-compatible practice:
        ignore .clangd/ (with trailing slash) matching index files from clangd 9/10
        ignore .cache matching index from clangd 11+, and potentially other tools.
      The entries from llvm-project/llvm gitignore are removed (obsolete).
      
      Reviewers: kadircet, hokein
      
      Subscribers: ilya-biryukov, MaskRay, jkorous, omtcyfz, arphaman, usaxena95, cfe-commits, llvm-commits
      
      Tags: #clang, #llvm
      
      Differential Revision: https://reviews.llvm.org/D83099
      9b55bc4d
  6. Jun 25, 2020
  7. Jun 12, 2020
  8. Sep 04, 2019
  9. Aug 02, 2019
  10. Apr 09, 2019
  11. Mar 11, 2017
  12. Mar 03, 2013
    • Sean Silva's avatar
      .gitignore: ignore docs/_build · 206bc114
      Sean Silva authored
      That is where the documentation gets built to.
      
      I'm pretty much clueless about SVN; I would appreciate if someone more
      knowledgeable about SVN made the equivalent change.
      
      llvm-svn: 176417
      206bc114
  13. Jan 14, 2013
  14. Jan 03, 2013
    • Sean Silva's avatar
      analyzer: add initial Sphinx configuration · cd61d28c
      Sean Silva authored
      This is just the output of sphinx-quickstart. Now all that is needed
      to begin converting the analyzer docs to reST is the server-side setup.
      
      The analyzer folks have asked me to keep this segregated from the other
      clang docs since the analyzer is a logically separate project (and has
      its own separate web page) even though it resides in the clang tree.
      
      llvm-svn: 171425
      cd61d28c
  15. Dec 13, 2012
    • Sean Silva's avatar
      docs: Initial Sphinx setup for Clang. · 99b51c48
      Sean Silva authored
      I don't think this will be visible just yet on <clang.llvm.org/docs/>
      since I don't think that the necessary server-side setup has taken
      place.
      
      Don't shoot me over the theme. I don't want to duplicate LLVM's theme
      into the clang repo at the moment, so I just used one of Sphinx's
      default themes.
      
      llvm-svn: 170042
      99b51c48
  16. Oct 10, 2012
  17. Aug 13, 2012
  18. Oct 24, 2011
  19. Jul 19, 2011
  20. May 31, 2011
  21. Dec 17, 2010
  22. Dec 16, 2010
Loading