From 799556036a66a0486ba633c225709cc636690c56 Mon Sep 17 00:00:00 2001 From: Etienne Millon Date: Thu, 20 Apr 2023 10:49:51 +0200 Subject: [PATCH] odoc: put odoc support files in odoc.support Fixes #7364 If the directory is named `_odoc_support` with a leading underscore, it is omitted when deploying to github pages. This is because this system also support the jekyll site generator, which uses this convention for data files. We can not use any directory name here since we want to avoid conflicts with OCaml identifiers and names of `*.mld` files. Signed-off-by: Etienne Millon --- CHANGES.md | 4 ++++ src/dune_rules/odoc.ml | 2 +- .../test-cases/odoc/multiple-private-libs.t/run.t | 2 +- test/blackbox-tests/test-cases/odoc/odoc-simple.t/run.t | 2 +- .../test-cases/odoc/odoc-unique-mlds/diff-scope.t/run.t | 2 +- .../test-cases/odoc/odoc-unique-mlds/same-scope.t/run.t | 2 +- 6 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index e1b89129748..57c82b1ca70 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -160,6 +160,10 @@ Unreleased This is consistent with how `(executables)` handles this field. (#7576 , fixes #5852, @emillon) +- Change directory of odoc assets to `odoc.support` (was `_odoc_support`) so + that it works with Github Pages out of the box. (#7588, fixes #7364, + @emillon) + 3.7.0 (2023-02-17) ------------------ diff --git a/src/dune_rules/odoc.ml b/src/dune_rules/odoc.ml index f53b62b17cd..5209749de6d 100644 --- a/src/dune_rules/odoc.ml +++ b/src/dune_rules/odoc.ml @@ -85,7 +85,7 @@ let add_rule sctx = Super_context.add_rule sctx ~dir module Paths = struct - let odoc_support_dirname = "_odoc_support" + let odoc_support_dirname = "odoc.support" let root (context : Context.t) = Path.Build.relative context.Context.build_dir "_doc" diff --git a/test/blackbox-tests/test-cases/odoc/multiple-private-libs.t/run.t b/test/blackbox-tests/test-cases/odoc/multiple-private-libs.t/run.t index 64fb6cd78a8..0b428f0404b 100644 --- a/test/blackbox-tests/test-cases/odoc/multiple-private-libs.t/run.t +++ b/test/blackbox-tests/test-cases/odoc/multiple-private-libs.t/run.t @@ -1,7 +1,7 @@ This test checks that there is no clash when two private libraries have the same name $ dune build --display short @doc-private - odoc _doc/_html/_odoc_support + odoc _doc/_html/odoc.support ocamlc a/.test.objs/byte/test.{cmi,cmo,cmt} ocamlc b/.test.objs/byte/test.{cmi,cmo,cmt} odoc a/.test.objs/byte/test.odoc diff --git a/test/blackbox-tests/test-cases/odoc/odoc-simple.t/run.t b/test/blackbox-tests/test-cases/odoc/odoc-simple.t/run.t index 32fa585da52..576485c9f6f 100644 --- a/test/blackbox-tests/test-cases/odoc/odoc-simple.t/run.t +++ b/test/blackbox-tests/test-cases/odoc/odoc-simple.t/run.t @@ -16,7 +16,7 @@ This test if `.odocl` files are generated index - + diff --git a/test/blackbox-tests/test-cases/odoc/odoc-unique-mlds/diff-scope.t/run.t b/test/blackbox-tests/test-cases/odoc/odoc-unique-mlds/diff-scope.t/run.t index 0facbf03562..871be196ec5 100644 --- a/test/blackbox-tests/test-cases/odoc/odoc-unique-mlds/diff-scope.t/run.t +++ b/test/blackbox-tests/test-cases/odoc/odoc-unique-mlds/diff-scope.t/run.t @@ -1,6 +1,6 @@ Duplicate mld's in different scope $ dune build @doc --display short - odoc _doc/_html/_odoc_support + odoc _doc/_html/odoc.support odoc _doc/_odoc/pkg/scope1/page-index.odoc ocamlc scope1/.scope1.objs/byte/scope1.{cmi,cmo,cmt} odoc _doc/_odoc/pkg/scope2/page-index.odoc diff --git a/test/blackbox-tests/test-cases/odoc/odoc-unique-mlds/same-scope.t/run.t b/test/blackbox-tests/test-cases/odoc/odoc-unique-mlds/same-scope.t/run.t index 1284d13aff7..2386793a830 100644 --- a/test/blackbox-tests/test-cases/odoc/odoc-unique-mlds/same-scope.t/run.t +++ b/test/blackbox-tests/test-cases/odoc/odoc-unique-mlds/same-scope.t/run.t @@ -1,6 +1,6 @@ Duplicate mld's in the same scope $ dune build @doc --display short - odoc _doc/_html/_odoc_support + odoc _doc/_html/odoc.support odoc _doc/_odoc/pkg/root/page-index.odoc ocamlc lib1/.root_lib1.objs/byte/root_lib1.{cmi,cmo,cmt} ocamlc lib2/.root_lib2.objs/byte/root_lib2.{cmi,cmo,cmt}