[lldb-dev] LLDB Website

Tanya Lattner via lldb-dev lldb-dev at lists.llvm.org
Tue May 7 17:35:07 PDT 2019



> On May 7, 2019, at 4:48 PM, Jonas Devlieghere <jonas at devlieghere.com> wrote:
> 
> Thanks Tanya! I can see the website was updated. I've added a timestamp to the Sphinx configuration, but it doesn't show up on the website. I'm not sure whether that's because I did something wrong or because the site is still not generated post-commit. 
> 

You are right. I needed to change one more thing to trigger the script. Can you try to change one thing now? 

> Did you change anything to where the Doxygen is generated? I updated all the links to remove the /html/ form the URL and put a redirect in place, but now the cpp docs are back at their old location: https://lldb.llvm.org/cpp_reference/html/index.html <https://lldb.llvm.org/cpp_reference/html/index.html>
Yes! I forgot we had this conversation. Sorry about that. I just changed it back.

-Tanya



> 
> Thank,
> Jonas
> 
> On Tue, May 7, 2019 at 4:08 PM Tanya Lattner <tanyalattner at llvm.org <mailto:tanyalattner at llvm.org>> wrote:
> Ok, I believe everything should be working. So the cpp ref and python ref are generated nightly. Sphinx/web is done post-commit. I just ran it by hand and you can see the script output: http://lists.llvm.org/pipermail/www-scripts/2019-May/007606.html <http://lists.llvm.org/pipermail/www-scripts/2019-May/007606.html>
> 
> Is it possible for you to add a timestamp to the bottom of the sphinx generated webpages? That would also make it easy to spot if it hasn’t run recently. 
> 
> If you aren’t seeing something updated, please let me know. If you add new targets, I have to do that manually as it's not automatic.
> 
> Thanks,
> Tanya
> 
> 
>> On May 7, 2019, at 9:28 AM, Jonas Devlieghere <jonas at devlieghere.com <mailto:jonas at devlieghere.com>> wrote:
>> 
>> Hey Tanya,
>> 
>> That's great. I see the Python documentation is online now! 
>> 
>> Unfortunately it appears that the Sphinx part still isn't updating. I pushed a bunch of changes last week and none have made it to the homepage yet. I checked the www-scripts mailing list but I don't see any failures for LLDB. Do you know what's up here?
>> 
>> Thanks,
>> Jonas
>> 
>> On Tue, May 7, 2019 at 12:19 AM Tanya Lattner <tanyalattner at llvm.org <mailto:tanyalattner at llvm.org>> wrote:
>> Ignore this. svn wasn’t actually updating the src tree. It works! I just need doxygen script to finish and it will be confirmed tonight.
>> 
>> 
>> -Tanya
>> 
>>> On May 6, 2019, at 11:55 PM, Tanya Lattner <tanyalattner at llvm.org <mailto:tanyalattner at llvm.org>> wrote:
>>> 
>>> I’m not sure it is working. To clarify, nothing in LLVM should be compiled to build the python docs correct? 
>>> 
>>> So I shouldn’t see this?
>>> Scanning dependencies of target liblldb_exports
>>> [  0%] Creating export file for liblldb
>>> [  0%] Built target liblldb_exports
>>> Scanning dependencies of target LLVMDemangle
>>> [  0%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/Demangle.cpp.o
>>> [  0%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o
>>> [  0%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangle.cpp.o
>>> [  0%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangleNodes.cpp.o
>>> [  0%] Linking CXX static library ../libLLVMDemangle.a
>>> [  0%] Built target LLVMDemangle
>>> Scanning dependencies of target LLVMSupport
>>> [  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AArch64TargetParser.cpp.o
>>> [  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMTargetParser.cpp.o
>>> [  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AMDGPUMetadata.cpp.o
>>> [  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APFloat.cpp.o
>>> [  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APInt.cpp.o
>>> 
>>> Do I need any additional config options?
>>> 
>>> Thanks,
>>> Tanya
>>> 
>>>> On May 3, 2019, at 8:58 AM, Jonas Devlieghere <jonas at devlieghere.com <mailto:jonas at devlieghere.com>> wrote:
>>>> 
>>>> Hey Tanya,
>>>> 
>>>> It appears the website is still stuck. It hasn't picked up my changes from earlier this week. Please let me know if there's anything I can do to help.
>>>> 
>>>> Thanks,
>>>> Jonas
>>>> 
>>>> On Wed, May 1, 2019 at 10:40 PM Tanya Lattner <tanyalattner at llvm.org <mailto:tanyalattner at llvm.org>> wrote:
>>>> I will give this a shot. I did remove the changes before to prevent any issue.
>>>> 
>>>> -Tanya
>>>> 
>>>>> On Apr 29, 2019, at 10:26 AM, Jonas Devlieghere <jonas at devlieghere.com <mailto:jonas at devlieghere.com>> wrote:
>>>>> 
>>>>> I've merged the aforementioned patch. 
>>>>> 
>>>>> Tanya, can you give generating the python docs another shot?
>>>>> 
>>>>> Thanks,
>>>>> Jonas
>>>>> 
>>>>> On Fri, Apr 26, 2019 at 4:29 PM Jonas Devlieghere <jonas at devlieghere.com <mailto:jonas at devlieghere.com>> wrote:
>>>>> I've put up a patch to make it possible to generate the python reference without building lldb at all: https://reviews.llvm.org/D61216 <https://reviews.llvm.org/D61216>
>>>>> 
>>>>> PS: The website isn't updating anymore, is that because of the python reference generation?
>>>>> 
>>>>> On Wed, Apr 24, 2019 at 11:46 AM Ted Woodward <tedwood at quicinc.com <mailto:tedwood at quicinc.com>> wrote:
>>>>> That's the issue - lldb-python-doc depends on liblldb. From docs/CMakeLists.txt:
>>>>> 
>>>>> if(EPYDOC_EXECUTABLE)
>>>>>   find_program(DOT_EXECUTABLE dot)
>>>>>     if(DOT_EXECUTABLE)
>>>>>       set(EPYDOC_OPTIONS ${EPYDOC_OPTIONS} --graph all --dotpath ${DOT_EXECUTABLE})
>>>>>     endif()
>>>>>     set(DOC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/doc")
>>>>>     file(MAKE_DIRECTORY "${DOC_DIR}")
>>>>>     #set(ENV{PYTHONPATH} ${CMAKE_CURRENT_BINARY_DIR}/../../../lib/python2.7/site-packages)
>>>>>     add_custom_target(lldb-python-doc
>>>>>       ${EPYDOC_EXECUTABLE}
>>>>>       --html
>>>>>       lldb
>>>>>       -o ${CMAKE_CURRENT_BINARY_DIR}/python_reference
>>>>>       --name "LLDB python API"
>>>>>       --url "http://lldb.llvm.org <http://lldb.llvm.org/>"
>>>>>       ${EPYDOC_OPTIONS}
>>>>>       DEPENDS swig_wrapper liblldb
>>>>>       WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../../../lib${LLVM_LIBDIR_SUFFIX}/python2.7/site-packages
>>>>>       COMMENT "Generating LLDB Python API reference with epydoc" VERBATIM
>>>>>     )
>>>>> endif(EPYDOC_EXECUTABLE)
>>>>> 
>>>>> 
>>>>> > -----Original Message-----
>>>>> > From: lldb-dev <lldb-dev-bounces at lists.llvm.org <mailto:lldb-dev-bounces at lists.llvm.org>> On Behalf Of Pavel Labath
>>>>> > via lldb-dev
>>>>> > Sent: Wednesday, April 24, 2019 1:16 AM
>>>>> > To: Jonas Devlieghere <jonas at devlieghere.com <mailto:jonas at devlieghere.com>>; Tanya Lattner
>>>>> > <tanyalattner at llvm.org <mailto:tanyalattner at llvm.org>>
>>>>> > Cc: LLDB <lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>>
>>>>> > Subject: [EXT] Re: [lldb-dev] LLDB Website
>>>>> > 
>>>>> > On 24/04/2019 03:19, Jonas Devlieghere via lldb-dev wrote:
>>>>> > >
>>>>> > >
>>>>> > > On Tue, Apr 23, 2019 at 6:04 PM Jonas Devlieghere
>>>>> > > <jonas at devlieghere.com <mailto:jonas at devlieghere.com> <mailto:jonas at devlieghere.com <mailto:jonas at devlieghere.com>>> wrote:
>>>>> > >
>>>>> > >
>>>>> > >
>>>>> > >     On Tue, Apr 23, 2019 at 5:43 PM Tanya Lattner <tanyalattner at llvm.org <mailto:tanyalattner at llvm.org>
>>>>> > >     <mailto:tanyalattner at llvm.org <mailto:tanyalattner at llvm.org>>> wrote:
>>>>> > >
>>>>> > >
>>>>> > >
>>>>> > >>         On Apr 23, 2019, at 5:06 PM, Jonas Devlieghere
>>>>> > >>         <jonas at devlieghere.com <mailto:jonas at devlieghere.com> <mailto:jonas at devlieghere.com <mailto:jonas at devlieghere.com>>> wrote:
>>>>> > >>
>>>>> > >>
>>>>> > >>
>>>>> > >>         On Tue, Apr 23, 2019 at 5:00 PM Tanya Lattner
>>>>> > >>         <tanyalattner at llvm.org <mailto:tanyalattner at llvm.org> <mailto:tanyalattner at llvm.org <mailto:tanyalattner at llvm.org>>> wrote:
>>>>> > >>
>>>>> > >>
>>>>> > >>
>>>>> > >>>             On Apr 23, 2019, at 11:54 AM, Jonas Devlieghere
>>>>> > >>>             <jonas at devlieghere.com <mailto:jonas at devlieghere.com> <mailto:jonas at devlieghere.com <mailto:jonas at devlieghere.com>>>
>>>>> > wrote:
>>>>> > >>>
>>>>> > >>>             Hey Tanya,
>>>>> > >>>
>>>>> > >>>             On Tue, Apr 23, 2019 at 11:51 Tanya Lattner
>>>>> > >>>             <tanyalattner at llvm.org <mailto:tanyalattner at llvm.org> <mailto:tanyalattner at llvm.org <mailto:tanyalattner at llvm.org>>> wrote:
>>>>> > >>>
>>>>> > >>>                 Jonas,
>>>>> > >>>
>>>>> > >>>                 Ignore what I said before as these do need to be
>>>>> > >>>                 separate targets. It appears the new targets are
>>>>> > >>>                 running doxygen. This isn’t something we typically do
>>>>> > >>>                 as a post commit hook since it takes awhile. I’ll
>>>>> > >>>                 need to do this via the doxygen nightly script. Any
>>>>> > >>>                 concerns?
>>>>> > >>>
>>>>> > >>>             That sounds perfect. Can we still do the regular website
>>>>> > >>>             post commit?
>>>>> > >>
>>>>> > >>             Yes, so it will do docs-lldb-html on every commit.
>>>>> > >>
>>>>> > >>
>>>>> > >>         Perfect!
>>>>> > >>
>>>>> > >>
>>>>> > >>             So I am able to generate the cpp reference docs:
>>>>> > >>             https://lldb.llvm.org/cpp_reference/index.html <https://lldb.llvm.org/cpp_reference/index.html>
>>>>> > >>
>>>>> > >>             However, the main website links to
>>>>> > >>             https://lldb.llvm.org/cpp_reference/html/index.html <https://lldb.llvm.org/cpp_reference/html/index.html>. Do
>>>>> > >>             you want the html in that url? I can change the alias. We
>>>>> > >>             strip for other doxygen.
>>>>> > >>
>>>>> > >>
>>>>> > >>         Let's keep it without the html. I'll update a link on the
>>>>> > >>         website and add a redirect.
>>>>> > >>
>>>>> > >>
>>>>> > >>             As for python docs, what is required to build those? It's
>>>>> > >>             not showing up as a target for me.
>>>>> > >>
>>>>> > >>
>>>>> > >>         This is probably because you don't have `epydoc` installed
>>>>> > >>         (sudo pip install epydoc).
>>>>> > >>         I think you'll have to re-run cmake after for it to pick it
>>>>> > >>         up. The corresponding target should then be `lldb-python-doc`.
>>>>> > >>
>>>>> > >>         https://lldb.llvm.org/cpp_reference/index.html <https://lldb.llvm.org/cpp_reference/index.html>
>>>>> > >
>>>>> > >         Well installing epydoc did the trick, but I don’t think the
>>>>> > >         doxygen script is the right place for this target. I have not
>>>>> > >         dug into it yet but it appears to require some LLVM libraries
>>>>> > >         and is building those. I’m letting it finish to verify it builds
>>>>> > >         but I’ll have to sort out the best way of doing this on the
>>>>> > >         server. We have other scripts that generate other documentation
>>>>> > >         that build parts of LLVM. Ideally, I would want to leverage that
>>>>> > >         and reduce build times.
>>>>> > >
>>>>> > >
>>>>> > >     Yeah, the annoying thing about the Python documentation is that it
>>>>> > >     builds the C++ API, then runs swig to generate the Python wrapper,
>>>>> > >     and finally generates the docs from that.
>>>>> > 
>>>>> > It should be possible to solve this by tweaking the dependency graph a bit.
>>>>> > There's no fundamental reason why you need to build anything in order to
>>>>> > run swig. It is purely a textual step -- it ingests header files and interface
>>>>> > definitions and spits out python and cpp files. The inputs are present as static
>>>>> > checked in source, so the swig step could theoretically be the very first build
>>>>> > command that we run.
>>>>> > 
>>>>> > >     I wonder if we can just use the static bindings that are checked-in
>>>>> > >     instead. I will look into that later today/tomorrow.
>>>>> > >
>>>>> > >
>>>>> > > Right, so the reason is that we don't have the static bindings on
>>>>> > > llvm.org <http://llvm.org/> <http://llvm.org <http://llvm.org/>> (we have them for swift-lldb on GitHub).
>>>>> > > Maybe we should check them in upstream too? That's something the
>>>>> > > community will have to weigh in on...
>>>>> > >
>>>>> > 
>>>>> > I think it would be good to avoid that...
>>>>> > 
>>>>> > pl
>>>>> > _______________________________________________
>>>>> > lldb-dev mailing list
>>>>> > lldb-dev at lists.llvm.org <mailto:lldb-dev at lists.llvm.org>
>>>>> > https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev <https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev>
>>>> 
>>> 
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20190507/5a09edfc/attachment-0001.html>


More information about the lldb-dev mailing list