License | BSD-3-Clause |
---|---|
Safe Haskell | None |
Language | GHC2021 |
Stack.Build.ExecutePackage
Description
Perform a build.
Synopsis
- singleBuild :: (HasEnvConfig env, HasRunner env) => ActionContext -> ExecuteEnv -> Task -> InstalledMap -> Bool -> RIO env ()
- singleTest :: HasEnvConfig env => TestOpts -> [StackUnqualCompName] -> ActionContext -> ExecuteEnv -> Task -> InstalledMap -> RIO env ()
- singleBench :: HasEnvConfig env => BenchmarkOpts -> [StackUnqualCompName] -> ActionContext -> ExecuteEnv -> Task -> InstalledMap -> RIO env ()
Documentation
Arguments
:: (HasEnvConfig env, HasRunner env) | |
=> ActionContext | |
-> ExecuteEnv | |
-> Task | |
-> InstalledMap | |
-> Bool | Is this a final build? |
-> RIO env () |
Implements running a package's build, used to implement
ATBuild
and
ATBuildFinal
tasks. In particular this does the
following:
- Checks if the package exists in the precompiled cache, and if so, add it to the database instead of performing the build.
- Runs the configure step if needed (
ensureConfig
) - Runs the build step
- Generates haddocks
- Registers the library and copies the built executables into the local
install directory. Note that this is literally invoking Cabal with
copy
, and not the copying done bystack install
- that is handled bycopyExecutables
.
singleTest :: HasEnvConfig env => TestOpts -> [StackUnqualCompName] -> ActionContext -> ExecuteEnv -> Task -> InstalledMap -> RIO env () Source #
Implements running a package's tests. Also handles producing coverage reports if coverage is enabled.
singleBench :: HasEnvConfig env => BenchmarkOpts -> [StackUnqualCompName] -> ActionContext -> ExecuteEnv -> Task -> InstalledMap -> RIO env () Source #
Implements running a package's benchmarks.