language-ninja-0.2.0: A library for dealing with the Ninja build language.

CopyrightCopyright 2017 Awake Security
LicenseApache-2.0
Maintaineropensource@awakesecurity.com
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Language.Ninja.IR.Build0.1.0

Contents

Description

A datatype for Ninja build declarations.

Synopsis

Build

data Build Source 0.1.0#

A Ninja build declaration, as documented here.

Instances

Eq Build  

Methods

(==) :: Build -> Build -> Bool #

(/=) :: Build -> Build -> Bool #

Show Build  

Methods

showsPrec :: Int -> Build -> ShowS #

show :: Build -> String #

showList :: [Build] -> ShowS #

Generic Build  

Associated Types

type Rep Build :: * -> * #

Methods

from :: Build -> Rep Build x #

to :: Rep Build x -> Build #

Hashable Build

Default Hashable instance via Generic.0.1.0

Methods

hashWithSalt :: Int -> Build -> Int #

hash :: Build -> Int #

ToJSON Build

Converts to {rule: …, outputs: …, dependencies: …}.0.1.0

FromJSON Build

Inverse of the ToJSON instance.0.1.0

NFData Build

Default NFData instance via Generic.0.1.0

Methods

rnf :: Build -> () #

(Monad m, BuildConstraint (Serial m)) => Serial m Build

Default Serial instance via Generic.0.1.0

Methods

series :: Series m Build #

(Monad m, BuildConstraint (CoSerial m)) => CoSerial m Build

Default CoSerial instance via Generic.0.1.0

Methods

coseries :: Series m b -> Series m (Build -> b) #

type Rep Build  
type Rep Build = D1 (MetaData "Build" "Language.Ninja.IR.Build" "language-ninja-0.2.0-4aVVODOvkNMFxGcRpnztag" False) (C1 (MetaCons "MkBuild" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_buildRule") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Rule)) ((:*:) (S1 (MetaSel (Just Symbol "_buildOuts") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (HashSet Output))) (S1 (MetaSel (Just Symbol "_buildDeps") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (HashSet Dependency))))))

makeBuild :: Rule -> Build Source 0.1.0#

Construct a default Build from the given Rule

buildRule :: Lens' Build Rule Source 0.1.0#

The rule to execute when building any of the outputs.

buildOuts :: Lens' Build (HashSet Output) Source 0.1.0#

The outputs that are built as a result of rule execution.

buildDeps :: Lens' Build (HashSet Dependency) Source 0.1.0#

The dependencies that must be satisfied before this can be built.

type BuildConstraint c = (c Text, c (HashSet Output), c (HashSet Dependency)) Source 0.1.0#

The set of constraints required for a given constraint to be automatically computed for a Build.