packages feed

weeder 0.1.4 → 0.1.5

raw patch · 4 files changed

+25/−4 lines, 4 files

Files

CHANGES.txt view
@@ -1,5 +1,7 @@ Changelog for Weeder +0.1.5+    If --yaml and no hints give no output 0.1.4     #9, allow --dist-dir to set the stack dist-dir     Deal with operators including | in them
README.md view
@@ -6,7 +6,7 @@ * [HLint](https://github.com/ndmitchell/hlint#readme), looking for "Redundant extension" hints, which finds unused extensions. * The `weeder` tool, which detects functions that are exported internally but not available from outside this package. It also detects redundancies and missing information in your `.cabal` file. -## Running Weeder+## Running Weeder locally  Weeder piggy-backs off files generated by [`stack`](https://www.haskellstack.org), so first obtain stack, then: @@ -42,3 +42,21 @@ ```  This configuration declares that I am not interested in the message about modules being reused between components (that's the way `ghcid` works, and I am aware of it). It also says that I am not concerned about `withWaiterPoll` being a weed - it's a simplified method of file change detection I use for debugging, so even though it's dead now, I sometimes do switch to it.++## Running with Continuous Integration++Before running Weeder on your continuous integration (CI) server, you should first ensure there are no existing weeds. One way to achieve that is to ignore existing hints by running `weeder . --yaml > .weeder.yaml` and checking in the resulting `.weeder.yaml`.++On the CI you should then run `weeder .` (or `weeder . --build` to compile as well). To avoid the cost of compilation you may wish to fetch the [latest Weeder binary release](https://github.com/ndmitchell/weeder/releases/latest). For certain CI environments there are helper scripts to do that.++**Travis:** Execute the following command:++    curl -sL https://raw.github.com/ndmitchell/weeder/master/misc/travis.sh | sh -s .++The arguments after `-s` are passed to `weeder`, so modify the final `.` if you want other arguments.++**Appveyor:** Add the following statement to `.appveyor.yml`:++    - ps: Invoke-Command ([Scriptblock]::Create((Invoke-WebRequest 'https://raw.githubusercontent.com/ndmitchell/weeder/master/misc/appveyor.ps1').Content)) -ArgumentList @('.')++The arguments inside `@()` are passed to `weeder`, so add new arguments surrounded by `'`, space separated - e.g. `@('.' '--build')`.
src/Warning.hs view
@@ -107,7 +107,7 @@ showWarningsValue = valToValue . f warningLabels . map (dropWhileEnd isNothing . warningPath)     where         f (name:names) xs-            | all (\x -> length x <= 1) xs = [End name $ sort [x | [Just x] <- xs]]+            | all (\x -> length x <= 1) xs = [End name $ sort [x | [Just x] <- xs] | xs /= []]             | otherwise = concat                 [ case a of                     Nothing -> f names b@@ -118,7 +118,8 @@ showWarningsJson = LBS.unpack . JSON.encode . showWarningsValue  showWarningsYaml :: [Warning] -> String-showWarningsYaml = BS.unpack . Yaml.encode . showWarningsValue+showWarningsYaml [] = "" -- no need to write anything in the file+showWarningsYaml xs = BS.unpack $ Yaml.encode $ showWarningsValue xs   readWarningsFile :: FilePath -> IO [Warning]
weeder.cabal view
@@ -1,7 +1,7 @@ cabal-version:      >= 1.18 build-type:         Simple name:               weeder-version:            0.1.4+version:            0.1.5 license:            BSD3 license-file:       LICENSE category:           Development