I wanted to bump this question back up. Has anyone else come up with a
good way to handle arbitrary intersphinx links between docs that are
to be hosted on readthedocs? Forcing a "no circular links" policy
imposes significant restrictions on structuring multiple Git repos
that are related. My solution was a script that does two-round builds,
but has to build the docs such that both stages are done on the final
resting place. An option to control the URL and centralize the
inventory files with unique names (rather than requiring the URL path
have the repo name just so that the inventory can always have the name
"objects.inv", is also restrictive - could this not have the repo's
name as the base instead of "objects"?)

On Sat, Jan 23, 2016 at 6:42 PM, Ned Batchelder <n...@nedbatchelder.com> wrote:
> Thanks, this is a way to do it, though it will be expensive in time.  Thanks
> for the feedback, at least I know I haven't overlooked something that's
> available.
>
> --Ned.
>
> On Friday, January 22, 2016 at 5:59:31 PM UTC-5, Daniel Beck wrote:
>>
>> Hi Ned,
>>
>> I've had this problem myself. If you build a given Sphinx project pointing
>> to a not yet built .inv file (or files), Sphinx will issue a bunch of
>> warnings (e.g., `WARNING: intersphinx inventory
>> '../path_to_other_project/objects.inv' not fetchable` ) but Sphinx will
>> build the project's own .inv file successfully. So I do a two-pass build
>> that ignores warnings on the first pass and ignores the saved environment on
>> the second pass. It looks a bit like this (though there's an overcomplicated
>> fabfile to do this all for me):
>>
>> For each project, first pass, ignoring warnings:
>> > make SPHINXOPTS='-Q' html
>>
>> For each project, second pass (or more, if you're building additional
>> formats):
>> > make SPHINXOPTS='-E -n -W' html
>>
>> `-E` is the important part, forcing Sphinx to refetch the .inv file(s). I
>> like to use `-n` for nitpicky mode and `-W` to promote warnings to errors,
>> since I expect warnings in the first pass but would rather not have the
>> build succeed at all if there are unexpected warnings (your preferences—and
>> authorial discipline—may vary).
>>
>> You might also want to add `-q` because seeing the build progress over and
>> over gets old fast.
>>
>> A dedicated inventory builder would be nice to have, but this gets the job
>> done for me. I hope it helps solve your problem!
>>
>>
>> —Daniel
>>
>>
>> On Fri, Jan 22, 2016 at 5:30 PM, Ned Batchelder <n...@nedbatchelder.com>
>> wrote:
>>>
>>> At edX, we're using intersphinx to link among our own projects.  But it's
>>> designed to pull .inv files from readthedocs.  This means if we add a new
>>> reference between projects, the build will fail until the target has been
>>> published.  I tried using the second value in the mapping tuple to point to
>>> a local file, but the file hadn't been created yet.
>>>
>>> Is there a way to generate all the .inv files in a first pass, and then
>>> do the full build of the doc?
>>>
>>> --Ned.
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "sphinx-users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to sphinx-users...@googlegroups.com.
>>> To post to this group, send email to sphinx...@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/sphinx-users.
>>> For more options, visit https://groups.google.com/d/optout.
>>
>>
> --
> You received this message because you are subscribed to the Google Groups
> "sphinx-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sphinx-users+unsubscr...@googlegroups.com.
> To post to this group, send email to sphinx-users@googlegroups.com.
> Visit this group at https://groups.google.com/group/sphinx-users.
> For more options, visit https://groups.google.com/d/optout.



-- 
Dave Dittrich
dave.dittr...@gmail.com

-- 
You received this message because you are subscribed to the Google Groups 
"sphinx-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sphinx-users+unsubscr...@googlegroups.com.
To post to this group, send email to sphinx-users@googlegroups.com.
Visit this group at https://groups.google.com/group/sphinx-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to