ghcide/hie.yaml
Pepe Iborra 959db7b10b
Extract the benchmarking Shake rules to a standalone Cabal package (#941)
* [bench-hist] break down in rule functions

* Extract the benchmarking Shake rules to a shake-bench package

There's some room for reusing the rules used in the historic benchmarking suite
in other projects. This change makes that a bit easier and improves the
documentation and code structure.

The new structure is:
- lib:shake-bench - a Cabal library with functions to generate Shake rules
- ghcide:bench:benchHist - the ghcide instantiation of the above Shake rules

That's not to say that shake-bench is completely decoupled from ghcide -
there are still plenty of assumptions on how the benchmarks are organized, their
outputs, etc. But with a little bit of effort, it should be easy to make
these rules more reusable

* Fix nix build

* Fix license

* hlints and redundant imports

* more hlints

* Exclude shake-bench from the stack build
2020-12-07 15:03:15 +00:00

30 lines
906 B
YAML

# Upon change, also update hie.yaml.cbl and hie.yaml.stack
cradle:
multi:
- path: "./test/data"
config: { cradle: { none: } }
- path: "./shake-bench/src"
config:
cradle:
cabal:
component: "lib:shake-bench"
- path: "./"
config:
cradle:
cabal:
- path: "./src"
component: "ghcide:lib:ghcide"
- path: "./exe"
component: "ghcide:exe:ghcide"
- path: "./session-loader"
component: "ghcide:lib:ghcide"
- path: "./test"
component: "ghcide:test:ghcide-tests"
- path: "./bench"
component: "ghcide:exe:ghcide-bench"
- path: "./bench/hist"
component: "ghcide:bench:benchHist"
- path: "./test/preprocessor"
component: "ghcide:exe:ghcide-test-preprocessor"