Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Documenter to v1.3 for inventory writing #53571

Merged
merged 1 commit into from
Mar 4, 2024

Conversation

goerz
Copy link
Contributor

@goerz goerz commented Mar 3, 2024

With the newest Documenter release, the Julia documentation will automatically have an objects.inv file. This file allows any other project using Documenter with the DocumenterInterLinks plugin (or any project using Sphinx) to link directly into the Julia documentation, e.g., with [`Base.sort!`](@extref Julia).

See also JuliaDocs/Documenter.jl#2424 (comment) and the following comments

With the newest Documenter release, the Julia documentation will
automatically have an `objects.inv` file. This file allows any other
project using Documenter with the DocumenterInterLinks plugin (or
project using Sphinx) to link directly into the Julia
documentation, e.g., with ```[`Base.sort!`](@extref Julia)```
@goerz
Copy link
Contributor Author

goerz commented Mar 4, 2024

@fredrikekre fredrikekre added the docsystem The documentation building system label Mar 4, 2024
@LilithHafner
Copy link
Member

LilithHafner commented Mar 4, 2024

We're already on 1.x so this shouldn't break anything. And the PDF docs look good.

@LilithHafner LilithHafner merged commit 0311aa4 into JuliaLang:master Mar 4, 2024
6 of 8 checks passed
@goerz
Copy link
Contributor Author

goerz commented Mar 4, 2024

Thanks for merging!

As a followup:

Does this need to be backported to 1.11? I think the master branch is already going into a future 1.12, right? How would I go about making a PR for a backport (I'm not super familiar with Julia's dev-process)

What about backporting to the current 1.10 series that's live at https://docs.julialang.org/en/v1/? That is still using Documenter 0.27, but an inventory can be easily created via the DocumenterInventoryWritingBackport package. I've done this manually without any problems, and the resulting inventory is available at https://github.com/JuliaDocs/DocumenterInterLinks.jl/wiki/Inventory-File-Repository

The options for allowing people to link into the documentation for Julia's current release are the following:

  • We don't backport. I manually create inventory files when there is a new release and add them on the wiki page. Everyone will have to download the Julia.toml.zip file, unpack it, put it in docs/src/inventories/Julia.toml in their project and instantiate the InterLinks plugin in docs/make.jl as

    links = InterLinks(
      "Julia" => (
          "https://docs.julialang.org/en/v1/",
          joinpath(@__DIR__, "src", "inventories", "Julia.toml")
      ),
    )
  • I manually create an inventory file and someone scp's it directly to the web server hosting the Julia documentation. Needs buy-in from someone with access to the server, and has to happen in a timely fashion for every minor Julia release until 1.12. This would probably be the only way to get an inventory online for the current 1.10.2.

  • We backport using DocumenterInventoryWritingBackport (it's a similarly trivial PR as this one), which would make the inventory available at least for 1.10.3. Again, I'd need some pointers as to how and were to make a PR.

@goerz goerz deleted the documenter-1.3 branch March 4, 2024 17:04
@LilithHafner LilithHafner added the backport 1.11 Change should be backported to release-1.11 label Mar 4, 2024
@LilithHafner
Copy link
Member

I think it's okay to backport this PR directly to 1.11 as that is already on documenter 1.x and the feature freeze was recent.

1.10, not so much because that would be a breaking Documenter update. The DocumenterInventoryWritingBackport approach sounds good. I'm guessing the right approach is to make a PR to the release-1.10 branch, but I'm not sure.

@KristofferC

@goerz
Copy link
Contributor Author

goerz commented Mar 4, 2024

1.10, not so much because that would be a breaking Documenter update.

Yes, to be clear, when I said "backporting" for 1.10 I didn't mean directly backporting "Update Documenter to v1.3", which would indeed be breaking. I'm only thinking of "Add inventory writing" via DocumenterInventoryWritingBackport. If there's a 1.10 branch, all I would have to do is to add using DocumenterInventoryWritingBackport to the doc/make.jl file on that branch. The DocumenterInventoryWritingBackport package is compatible with the Documenter 0.27 that's used in the Julia 1.10 documentation, so no updating of Documenter to 1.0 or 1.3 is necessary.

@goerz
Copy link
Contributor Author

goerz commented Mar 4, 2024

I think it's okay to backport this PR directly to 1.11 as that is already on documenter 1.x and the feature freeze was recent.

Let me know if there's anything I should do to make that happen

@goerz
Copy link
Contributor Author

goerz commented Mar 4, 2024

I followed up with #53597 for 1.10.x

Do I open something for 1.11 as well, or is that just a matter of a maintainer cherry-picking this PR onto the 1.10 branch (which should work)?

@LilithHafner
Copy link
Member

is that just a matter of a maintainer cherry-picking this PR onto the 1.10 branch (which should work)?

Yes, usually via a script that scrapes merged PRs with the backport label.

KristofferC pushed a commit that referenced this pull request Mar 6, 2024
With the newest Documenter release, the Julia documentation will
automatically have an `objects.inv` file. This file allows any other
project using Documenter with the
[`DocumenterInterLinks`](https://github.com/JuliaDocs/DocumenterInterLinks.jl)
plugin (or any project using
[Sphinx](https://www.sphinx-doc.org/en/master/)) to link directly into
the Julia documentation, e.g., with ```[`Base.sort!`](@extref Julia)```.

See also
JuliaDocs/Documenter.jl#2424 (comment)
and the following comments

(cherry picked from commit 0311aa4)
@KristofferC KristofferC mentioned this pull request Mar 6, 2024
60 tasks
KristofferC added a commit that referenced this pull request Mar 17, 2024
Backported PRs:
- [x] #39071 <!-- Add a lazy `logrange` function and `LogRange` type -->
- [x] #51802 <!-- Allow AnnotatedStrings in log messages -->
- [x] #53369 <!-- Orthogonalize re-indexing for FastSubArrays -->
- [x] #48050 <!-- improve `--heap-size-hint` arg handling -->
- [x] #53482 <!-- add IR encoding for EnterNode -->
- [x] #53499 <!-- Avoid compiler warning about redefining jl_globalref_t
-->
- [x] #53507 <!-- update staled `Core.Compiler.Effects` documentation
-->
- [x] #53408 <!-- task splitting: change additive accumulation to
multiplicative -->
- [x] #53523 <!-- add back an alias for `check_top_bit` -->
- [x] #53377 <!-- add _readdirx for returning more object info gathered
during dir scan -->
- [x] #53525 <!-- fix InteractiveUtils call in Base.runtests on failure
-->
- [x] #53540 <!-- use more efficient `_readdirx` for tab completion -->
- [x] #53545 <!-- use `_readdirx` for `walkdir` -->
- [x] #53551 <!-- revert "Add @create_log_macro for making custom styled
logging macros (#52196)" -->
- [x] #53554 <!-- Always return a value in 1-d circshift! of
abstractarray.jl -->
- [x] #53424 <!-- yet more atomics & cache-line fixes on work-stealing
queue -->
- [x] #53571 <!-- Update Documenter to v1.3 for inventory writing -->
- [x] #53403 <!-- Move parallel precompilation to Base -->
- [x] #53589 <!-- add back `unsafe_convert` to pointer for arrays -->
- [x] #53596 <!-- build: remove extra .a file -->
- [x] #53606 <!-- fix error path in `precompilepkgs` -->
- [x] #53004 <!-- Unexport with, at_with, and ScopedValue from Base -->
- [x] #53629 <!-- typo fix in scoped values docs -->
- [x] #53630 <!-- sroa: Fix incorrect scope counting -->
- [x] #53598 <!-- Use Base parallel precompilation to build stdlibs -->
- [x] #53649 <!-- precompilepkgs: package in boths deps and weakdeps are
in fact only weak -->
- [x] #53671 <!-- Fix bootstrap Base precompile in cross compile
configuration -->
- [x] #52125 <!-- Load Pkg if not already to reinstate missing package
add prompt -->
- [x] #53602 <!-- Handle zero on arrays of unions of number types and
missings -->
- [x] #53516 <!-- permit NamedTuple{<:Any, Union{}} to be created -->
- [x] #53643 <!-- Bump CSL to 1.1.1 to fix libgomp bug -->
- [x] #53679 <!-- move precompile workload back from Base -->
- [x] #53663 <!-- add isassigned methods for reinterpretarray -->
- [x] #53662 <!-- [REPL] fix incorrectly cleared line after completions
accepted -->
- [x] #53611 <!-- Linalg: matprod_dest for Diagonal and adjvec -->
- [x] #53659 <!-- fix #52025, re-allow all implicit pointer casts in
cconvert for Array -->
- [x] #53631 <!-- LAPACK: validate input parameters to throw informative
errors -->
- [x] #53628 <!-- Make some improvements to the Scoped Values
documentation. -->
- [x] #53655 <!-- Change tbaa of ptr_phi to tbaa_value  -->
- [x] #53391 <!-- Default to the medium code model in x86 linux -->
- [x] #53699 <!-- Move `isexecutable, isreadable, iswritable` to
`filesystem.jl` -->
- [x] #41232 <!-- Fix linear indexing for ReshapedArray if the parent
has offset axes -->
- [x] #53527 <!-- Enable analyzegc checks for try catch and fix found
issues -->
- [x] #52092 
- [x] #53682 <!-- Increase build precompilation -->
- [x] #53720 
- [x] #53553 <!-- typeintersect: fix `UnionAll` unaliasing bug caused by
innervars. -->

Contains multiple commits, manual intervention needed:
- [ ] #53305 <!-- Propagate inbounds in isassigned with CartesianIndex
indices -->

Non-merged PRs with backport label:
- [ ] #53736 <!-- fix literal-pow to return the right type when the base
is -1 -->
- [ ] #53707 <!-- Make ScopedValue public -->
- [ ] #53696 <!-- add invokelatest to on_done callback in bracketed
paste -->
- [ ] #53660 <!-- put Logging back in default sysimage -->
- [ ] #53509 <!-- revert moving "creating packages" from Pkg.jl -->
- [ ] #53452 <!-- RFC: allow Tuple{Union{}}, returning Union{} -->
- [ ] #53402 <!-- Add `jl_getaffinity` and `jl_setaffinity` -->
- [ ] #52694 <!-- Reinstate similar for AbstractQ for backward
compatibility -->
- [ ] #51928 <!-- Styled markdown, with a few tweaks -->
- [ ] #51816 <!-- User-themable stacktraces -->
- [ ] #51811 <!-- Make banner size depend on terminal size -->
- [ ] #51479 <!-- prevent code loading from lookin in the versioned
environment when building Julia -->
@KristofferC KristofferC removed the backport 1.11 Change should be backported to release-1.11 label Mar 18, 2024
mkitti pushed a commit to mkitti/julia that referenced this pull request Apr 13, 2024
With the newest Documenter release, the Julia documentation will
automatically have an `objects.inv` file. This file allows any other
project using Documenter with the
[`DocumenterInterLinks`](https://github.com/JuliaDocs/DocumenterInterLinks.jl)
plugin (or any project using
[Sphinx](https://www.sphinx-doc.org/en/master/)) to link directly into
the Julia documentation, e.g., with ```[`Base.sort!`](@extref Julia)```.

See also
JuliaDocs/Documenter.jl#2424 (comment)
and the following comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docsystem The documentation building system
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants