Copyright | Copyright 2017 Awake Security |
---|---|
License | Apache-2.0 |
Maintainer | opensource@awakesecurity.com |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Language.Ninja.IR.Target0.1.0
Contents
Description
Types relating to Ninja build targets, outputs, and dependencies.
- data Target
- makeTarget :: Text -> Target
- targetIText :: Iso' Target IText
- targetText :: Iso' Target Text
- data Output
- makeOutput :: Target -> Output
- outputTarget :: Lens' Output Target
- data Dependency
- makeDependency :: Target -> DependencyType -> Dependency
- dependencyTarget :: Lens' Dependency Target
- dependencyType :: Lens' Dependency DependencyType
- data DependencyType
- _NormalDependency :: Prism' DependencyType ()
- _OrderOnlyDependency :: Prism' DependencyType ()
Target
This type represents a Ninja target name.
Instances
Eq Target | #Source | |
Ord Target | #Source | |
Read Target | #Source | |
Show Target | #Source | |
IsString Target | #Source | |
Generic Target | #Source | |
Hashable Target | #Source | |
ToJSON Target | #Source | |
ToJSONKey Target | #Source | |
FromJSON Target | #Source | |
FromJSONKey Target | #Source | |
NFData Target | #Source | |
(Monad m, Serial m Text) => Serial m Target | #Source | Uses the underlying |
(Monad m, CoSerial m Text) => CoSerial m Target | #Source | Uses the underlying |
type Rep Target | #Source | |
targetIText :: Iso' Target IText Source 0.1.0#
An isomorphism between a Target
and its underlying IText
.
Output
A Ninja build output.
More information is available here.
Instances
Eq Output | #Source | |
Ord Output | #Source | |
Read Output | #Source | |
Show Output | #Source | |
Generic Output | #Source | |
Hashable Output | #Source | |
ToJSON Output | #Source | Converts to |
FromJSON Output | #Source | Inverse of the |
NFData Output | #Source | |
(Monad m, Serial m Text) => Serial m Output | #Source | |
(Monad m, CoSerial m Text) => CoSerial m Output | #Source | |
type Rep Output | #Source | |
Dependency
data Dependency Source 0.1.0#
A build dependency.
More information is available here.
Instances
Eq Dependency | #Source | |
Ord Dependency | #Source | |
Read Dependency | #Source | |
Show Dependency | #Source | |
Generic Dependency | #Source | |
Hashable Dependency | #Source | |
ToJSON Dependency | #Source | Converts to |
FromJSON Dependency | #Source | Inverse of the |
NFData Dependency | #Source | |
(Monad m, Serial m Text) => Serial m Dependency | #Source | |
(Monad m, CoSerial m Text) => CoSerial m Dependency | #Source | |
type Rep Dependency | #Source | |
makeDependency Source 0.1.0#
Arguments
:: Target | The underlying target. |
-> DependencyType | The dependency type (normal, implicit, or order-only). |
-> Dependency |
Construct a Dependency
.
dependencyTarget :: Lens' Dependency Target Source 0.1.0#
A lens for the Target
of a Dependency
.
dependencyType :: Lens' Dependency DependencyType Source 0.1.0#
A lens for the DependencyType
of a Dependency
.
data DependencyType Source 0.1.0#
The type of a Dependency
: normal, implicit, or order-only.
Constructors
0.1.0NormalDependency | A normal dependency. |
0.1.0OrderOnlyDependency | An order-only dependency. These are only rebuilt if there is at least one non-order-only dependency that is out of date. Section 4.3 "Types of Prerequisites" in the GNU Make manual has a good explanation of this concept. |
Instances
Eq DependencyType | #Source | |
Ord DependencyType | #Source | |
Read DependencyType | #Source | |
Show DependencyType | #Source | |
Generic DependencyType | #Source | |
Hashable DependencyType | #Source | |
ToJSON DependencyType | #Source | Converts to |
FromJSON DependencyType | #Source | Inverse of the |
NFData DependencyType | #Source | |
Monad m => Serial m DependencyType | #Source | |
Monad m => CoSerial m DependencyType | #Source | |
type Rep DependencyType | #Source | |
_NormalDependency :: Prism' DependencyType () Source 0.1.0#
A prism for the NormalDependency
constructor.
_OrderOnlyDependency :: Prism' DependencyType () Source 0.1.0#
A prism for the OrderOnlyDependency
constructor.