Haddock: Generate haddock for components
Currently settings `documentation: true` enables documentation generation via haddock for your whole package, including tests and benchmarks. However, there are additional flags to control generation of documentation for this "second class" documentation targets, which are currently not honored at the cabal-install side of things. Namely, `tests`, `benchmarks`, `executables`, etc. provided under the `haddock` section in your `$CABAL_HOME/config`. This patch adds a more sensible approach to documentation generation via haddock. Also enabling `new-haddock` to generate documentation for single components instead whole packages. The behaviour works like this: - Setting `documentation: true` or passing `--enable-documentation` to cabal-install enable documentation for any component in the build plan honoring the respective flags for tests, benchmarks, exes, foreignlibs, etc. - Invoking new-haddock with a target selector will make sure the respective flags for "second class" doc targets are set correctly. E.g. $ new-haddock tests Will generate documentation for the testsuite of your package event if you have `tests: false` in your haddock section.
Showing
- Cabal/Distribution/Simple.hs 1 addition, 1 deletionCabal/Distribution/Simple.hs
- Cabal/Distribution/Simple/Haddock.hs 15 additions, 1 deletionCabal/Distribution/Simple/Haddock.hs
- Cabal/Distribution/Simple/Setup.hs 8 additions, 4 deletionsCabal/Distribution/Simple/Setup.hs
- Cabal/Distribution/Simple/UserHooks.hs 1 addition, 1 deletionCabal/Distribution/Simple/UserHooks.hs
- cabal-install/Distribution/Client/Config.hs 2 additions, 1 deletioncabal-install/Distribution/Client/Config.hs
- cabal-install/Distribution/Client/ProjectBuilding.hs 7 additions, 5 deletionscabal-install/Distribution/Client/ProjectBuilding.hs
- cabal-install/Distribution/Client/ProjectConfig/Legacy.hs 2 additions, 1 deletioncabal-install/Distribution/Client/ProjectConfig/Legacy.hs
- cabal-install/Distribution/Client/ProjectPlanning.hs 49 additions, 7 deletionscabal-install/Distribution/Client/ProjectPlanning.hs
- cabal-install/Distribution/Client/ProjectPlanning/Types.hs 22 additions, 0 deletionscabal-install/Distribution/Client/ProjectPlanning/Types.hs
Loading
Please register or sign in to comment