| License | BSD-3-Clause |
|---|---|
| Safe Haskell | None |
| Language | GHC2024 |
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. The latter is a task for
building a package's benchmarks and test-suites.
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.