Cabal-3.2.1.0: A framework for packaging Haskell software
Copyright (c) Duncan Coutts 2012
License BSD-like
Maintainer duncan@community.haskell.org
Safe Haskell None
Language Haskell2010

Distribution.Simple.BuildTarget

Description

Handling for user-specified build targets

Synopsis

Main interface

readTargetInfos :: Verbosity -> PackageDescription -> LocalBuildInfo -> [ String ] -> IO [ TargetInfo ] Source #

Take a list of String build targets, and parse and validate them into actual TargetInfo s to be built registered whatever.

readBuildTargets :: Verbosity -> PackageDescription -> [ String ] -> IO [ BuildTarget ] Source #

Read a list of user-supplied build target strings and resolve them to BuildTarget s according to a PackageDescription . If there are problems with any of the targets e.g. they don't exist or are misformatted, throw an IOException .

Build targets

data BuildTarget Source #

A fully resolved build target.

Constructors

BuildTargetComponent ComponentName

A specific component

BuildTargetModule ComponentName ModuleName

A specific module within a specific component.

BuildTargetFile ComponentName FilePath

A specific file within a specific component.

Instances

Instances details
Eq BuildTarget Source #
Instance details

Defined in Distribution.Simple.BuildTarget

Show BuildTarget Source #
Instance details

Defined in Distribution.Simple.BuildTarget

Generic BuildTarget Source #
Instance details

Defined in Distribution.Simple.BuildTarget

Binary BuildTarget Source #
Instance details

Defined in Distribution.Simple.BuildTarget

type Rep BuildTarget Source #
Instance details

Defined in Distribution.Simple.BuildTarget

showBuildTarget :: PackageId -> BuildTarget -> String Source #

Unambiguously render a BuildTarget , so that it can be parsed in all situations.

Parsing user build targets

Resolving build targets

resolveBuildTargets :: PackageDescription -> [( UserBuildTarget , Bool )] -> ([ BuildTargetProblem ], [ BuildTarget ]) Source #

Given a bunch of user-specified targets, try to resolve what it is they refer to.