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

Merge Sherlodoc #1263

Merged
merged 301 commits into from
Dec 13, 2024
Merged

Merge Sherlodoc #1263

merged 301 commits into from
Dec 13, 2024

Conversation

Julow
Copy link
Collaborator

@Julow Julow commented Dec 13, 2024

This replaces #1259 and #1207

Sherlodoc will now be maintained as part of Odoc, except for its website. The entire history of Sherlodoc is kept for proper attribution using git subtree but the code is not intended to be extracted again. It is based on https://github.com/Julow/sherlodoc/tree/odoc3-merge
Sherlodoc will be released at the same time as Odoc with the same version numbers.

art-w and others added 16 commits February 7, 2024 18:44
The path relative to the project root makes sherlodoc impossible to
vendor. Use a relative path instead.
"Fewer conversions between Names and strings"
"Overhaul of module-type-of and shadowing"
"Remove core types and exceptions from identifiers"
Several changes:
- Entries are now defined in the `odoc_index` library,
- Entries can have new kinds (pages, source, ...)
- Indexes have the form of "skeletons of entries", that can be folded.
- Indexes can be created by odoc with the `odoc compile-index` command, and
  then consumed by sherlodoc.

These changes come from:
- ocaml#1228
- ocaml#1232
- ocaml#1233
- ocaml#1244
- ocaml#1250
- ocaml#1251
This function was used only in sherlodoc, it makes sense to be here.
In particular, odoc 3 fixed a bug where "hidden" modules were still
indexed. This is why e.g. `Base.StringLabels` is removed from the tests
output.
Odoc 3 also fixed the way extension constructor are handled.

Before, a "type" would be added, with ID the first constructor, making things
rather strange from the user eg as in the (now fixed) example:
```
type Main.MyExtension
```
displayed for
```
type extensible_type += MyExtension
```

This is now fixed. A test for the definition of the extensible type is also
added.
All of sherlodoc except for the website will be merged into the Odoc
repository.
git-subtree-dir: sherlodoc
git-subtree-mainline: 6a3ed64
git-subtree-split: e1b33f9
This will make maintaining both Odoc and Sherlodoc easier.

Sherlodoc's website is not included and is intended to be maintained
separately.
@Julow Julow mentioned this pull request Dec 13, 2024
This is useful for running Odoc's tests alone, especially on < 4.08
@panglesd
Copy link
Collaborator

panglesd commented Dec 13, 2024

It seems the "installing the dependencies" step should include sherlodoc's one, otherwise when installing sherlodoc's dependencies, opam installs odoc from opam-repository...

This is needed to be able to run Sherlodoc's and Odoc's tests
separately, for example in CI on in Opam.
@Julow Julow added the no changelog This pull request does not need a changelog entry label Dec 13, 2024
These libraries need to be attached to a package with '(package odoc)'.
This has the side effect of making the library installable (under the
__private__ namespace) and promote test dependencies into build
dependencies.
This works around that.
@Julow Julow force-pushed the merge-sherlodoc branch 2 times, most recently from 812ad71 to 8b484be Compare December 13, 2024 17:53
@panglesd
Copy link
Collaborator

Benchmark CI is failing but it is not checking anything, that's just a infra issue, so it's not an issue for us now.

@panglesd panglesd merged commit 953704c into ocaml:master Dec 13, 2024
23 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no changelog This pull request does not need a changelog entry
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants