-
Notifications
You must be signed in to change notification settings - Fork 701
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
haddock-project command #8162
haddock-project command #8162
Conversation
This PR can be reviewed patch by patch. Currently it's missing:
|
8b1239e
to
c3668b9
Compare
6bacfe5
to
fce52ba
Compare
I think it's the same Edit: no, actually last time it was |
This time the error at least seems related to haddock... |
46e33c6
to
ee40652
Compare
All tests are green 🟢 |
Congrats. We'll review RSN. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a big PR! Thank you very much for this work. :)
@Mikolaj I would be most comfortable if we could advertise this for the next release candidate of 3.8 :) |
A little late bikeshedding here. I'm not a big fan of flags/commands differing in one letter, e.g. This is not a hard stop for me, no way. Wanted to throw it in to see if anyone is sympathetic to the idea. |
Indeed there is merit to this review |
How likely is this to break things not related to haddock? |
@Mikolaj It's a thousand lines PR, and since we can't easily rollback stuff like a SAAS, I'd rather have our beta-testers try it out before we settle on the final release. ;) |
I think the timing is wrong for the first 3.8 release sadly. We declared it was feature complete over a month ago, and we've released a candidate that, barring urgent bug fixes or regressions, is intended to be the same as the final 3.8 release. This work looks really useful and I'm excited to have it in. But I think, given the size involved, and the need for giving people time to really test and use such functionality, that this should be milestoned for the following release of cabal-install. |
Sorry my English was at fault here, my preoccupation was to have this feature beta-tested before shipped in a release. The fact that it's not 3.8 is not a problem, but I feared that there wouldn't be another RC if this feature was integrated into 3.8 |
Did it for you :) |
Added: * `haddockIndex`: passed as '--use-index' to 'haddock' * `haddockBaseUrl` : passed as '--base-url' to haddock'
This is useful for passing arguments to `haddock-project` command which will create haddocks for all the components, together with a consistent index.
We need 'renderArgs' to work when we create an index. In this case some of the options will not be set.
Added arguments: * 'argGenContents': haddocks' '--gen-contents' * 'argGenIndex': haddocks' '--gen-index' * 'argPrologueFile': haddocks' '--prologue' but unlike '--argPrlogue' it passes the file name not the prologue text itself.
The 'haddock-project' command can be used to create haddocks of all components together with indexes (html, quickjump) and the content page.
This allows to test against a newer version of haddock than one that comes with `ghc`, even with head of `haddock` repository.
It was broken in various ways :/ * The CmdHaddock (and CmdHaddockProject) have to restore the paths set with 'haddockProgramPath' (or 'haddockProjectProgramPath'); * haddock is not by default in 'ProgramDb'; We need to add it first, otherwise 'reconfigure' will not update its path. * 'setupHsHaddockFlags', need to store haddock location in 'haddockProgramPaths. This patch also adds 'haddockProjectProgramPath' and 'haddockProjectProgramArgs' to 'HaddockProjectFlags' which are passed to 'CmdHaddockProject'.
…mand Haddock-2.26.1 allows to configure whether modules from a given interface file should be visible on the generated content page. We make visible only modules which come from local packages.
Generated haddocks will have valid links to packages distributed with GHC, e.g. `base`, `bytestring`, `array`, etc.
It is supported at least from `haddock-2.16`.
By passing `--haddock-html-location` one can link to haddocks to documentation published on hackage. However one can use it or `--base-url`. The latter will build self contained directory of haddock documentation.
3aaf98a
to
eee9bac
Compare
Apologies, that's an oversight. It will be an honour for our team if you accept the repo invite I've just sent. |
Fixes #7669, also fixes
--with-haddock
support which is useful when testing a newer version ofhaddock
than the one distributed withghc
.Please include the following checklist in your PR:
Please also shortly describe how you tested your change. Bonus points for added tests!