Problem
The public //:docs_bundle includes docs/how-to/bundles/examples.rst and the nested bundle example mounts. That page uses literalinclude paths such as:
../../../src/tests/docs_bzl/scenarios/nested_bundles/BUILD
../../../src/tests/docs_bzl/scenarios/data_files_runfiles/BUILD
../../../src/tests/docs_bzl/scenarios/external_bundle/BUILD
These files are outside the docs/ source directory. The documentation builds successfully as the standalone docs-as-code project, but fails when its docs_bundle is consumed by another Sphinx project because sphinx-mounts enforces path confinement for mounted documents.
Reproduction
Consume @score_docs_as_code//:docs_bundle from eclipse-score/reference_integration with score_docs_as_code 8.1.0:
{
"bundle": "@score_docs_as_code//:docs_bundle",
"mount_at": "process_methods_tools/docs_as_code",
"attach_to": "process_methods_tools",
}
Run:
Observed result:
sphinx-mounts: mounted doc process_methods_tools/docs_as_code/how-to/bundles/examples references a file outside its bundle root: .../score_docs_as_code+/src/tests/docs_bzl/scenarios/nested_bundles/BUILD is not under .../score_docs_as_code+/docs
A previous closed PR, #514, attempted to add support for literalinclude outside docs/; this is the same class of problem now exposed through the public external bundle and should be resolved either by packaging the included files into the bundle or by excluding these test-fixture examples from the exported bundle.
Expected behavior
The public docs_bundle should be self-contained and mountable by another Sphinx project without path-confinement errors. The standalone documentation build and the external-bundle build should exercise the same contract.
Problem
The public
//:docs_bundleincludesdocs/how-to/bundles/examples.rstand the nested bundle example mounts. That page usesliteralincludepaths such as:These files are outside the
docs/source directory. The documentation builds successfully as the standalonedocs-as-codeproject, but fails when itsdocs_bundleis consumed by another Sphinx project becausesphinx-mountsenforces path confinement for mounted documents.Reproduction
Consume
@score_docs_as_code//:docs_bundlefromeclipse-score/reference_integrationwithscore_docs_as_code8.1.0:{ "bundle": "@score_docs_as_code//:docs_bundle", "mount_at": "process_methods_tools/docs_as_code", "attach_to": "process_methods_tools", }Run:
Observed result:
A previous closed PR, #514, attempted to add support for
literalincludeoutsidedocs/; this is the same class of problem now exposed through the public external bundle and should be resolved either by packaging the included files into the bundle or by excluding these test-fixture examples from the exported bundle.Expected behavior
The public
docs_bundleshould be self-contained and mountable by another Sphinx project without path-confinement errors. The standalone documentation build and the external-bundle build should exercise the same contract.