stack-3.7.1: The Haskell Tool Stack
LicenseBSD-3-Clause
Safe HaskellNone
LanguageGHC2021

Stack.Build.ExecutePackage

Description

Perform a build.

Synopsis

Documentation

singleBuild Source #

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 by stack install - that is handled by copyExecutables.

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.