-
Notifications
You must be signed in to change notification settings - Fork 6
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
Including project libraries in odig's documentation collection #48
Comments
No at the moment I think the simplest is that you make the cmti available files in some way in In any case given the dependency order this is rather a job for |
This works! Thanks for the suggestion. I basically did the following: cd _opam/lib
for l in ../../_build/default/libraries/*; do
base=$(basename $l)
ln -s $l/src/.$base.objs/byte $base
done It's not particularly elegant or easily reversible, but it gave me the results I was looking for in the short term. |
I'm not sure I understand the build structure here. But isn't there a clean directory prefix that has one lib per directory with its build artefacts. If that is the case one thing that could be done is to turn the various directory configuration of You could then simply In fact I always thought I'd eventually need to do something along these lines to support @lpw25's namespaces via the But I find his current spec for the variable a bit too complex --- @lpw25 I have the impression that since symlinks now exists on all platforms you could simply have a regular search path instead with the first level of directories in the search paths defining the names (also the overriding order you mandated is counter intuitive to the order used e.g. by gcc's |
In this repo there are a few libraries with their source under I didn't know about |
It should. You can always see which packages it picks up and their information by invoking |
The reason to have an additional layer of names is that the top level of names is inherently contested. If we try to make it be the package names then all OCaml packaging systems must agree on globally unique names for every package in order to inter-operate. Whereas if the top level of names is instead the names of the packing systems themselves (e.g. dune, opam, ocamlfind, debian) then only those must be unique -- the names of packages need only be unique within each packaging systems not globally.
That does seem like a mistake -- could you add an issue to the repo to track it. |
I don't think I grasp your point. From a developer perspective don't I want to hard-code packaging system names in my build systems and/or sources. I rather expect And I think what you want could still be achieved with such a simpler scheme by doing a: mkdir p1 && cd p1
ln -s PATH/TO/DEBIAN/LIB debian
ln -s $(opam var lib) opam
export OCAML_NAMESPACES=p1:$OCAML_NAMESPACES This would make the lookup procedure easier to understand and implement for other tools (like
|
I proposed to standardize an |
I have a project with multiple libraries defined in it. I can generated their documentation with
dune build @doc
and I can, using a local opam switch, generate documentation for all of the project's dependencies usingodig odoc
.Does odig have a way to link and bundle all of this documentation together? The project-local libraries are not separately packaged for opam so they aren't installable under the local opam switch. What I would really like is to be able to do something equivalent to
and have all of the local library documentation and all of the opam dependency documentation properly linked and exposed for users to browse.
The text was updated successfully, but these errors were encountered: