check-pvp

Henning Thielemann lemming at henning-thielemann.de
Fri Feb 28 20:04:38 UTC 2014


Following Mikhail Glushenkov's advice I have prepared a separate tool 
that checks PVP compliance of imports as proposed in:
   https://github.com/haskell/cabal/issues/1703

There remain some problems:

* How can I exclude automatically generated modules like Path_*.hs from 
the check?

* How can I access modules that are preprocessed? HSC processed modules 
are stored in dist/build, but CPP processed modules are not stored anywhere.

* How shall I cope with condition flags? Currently I use 
flattenPackageDescription. Alternatively I might only check the modules 
that are part of the current configuration. But I may miss many modules 
this way. I might perform checks on all possible configurations.

* Can you give me advice on what I shall write to stdout and what to 
stderr? The purpose of the program is to generate a list of warnings. 
Shall they be written to stderr because they are warnings or shall they 
be written to stdout because they are the intended output of the program?

* Regarding levels of verbosity: How silent shall silent be? Shall the 
test results be emitted in silent mode or only in normal verbosity mode?


More information about the cabal-devel mailing list