language-ninja-0.1.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.Build

Contents

Description

A datatype for Ninja build declarations.

Since: 0.1.0

Synopsis

Build

data Build Source #

A Ninja build declaration, as documented here.

Since: 0.1.0

Instances

Eq Build Source # 

Methods

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

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

Show Build Source # 

Methods

showsPrec :: Int -> Build -> ShowS #

show :: Build -> String #

showList :: [Build] -> ShowS #

Generic Build Source # 

Associated Types

type Rep Build :: * -> * #

Methods

from :: Build -> Rep Build x #

to :: Rep Build x -> Build #

Hashable Build Source #

Default Hashable instance via Generic.

Since: 0.1.0

Methods

hashWithSalt :: Int -> Build -> Int #

hash :: Build -> Int #

ToJSON Build Source #

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

Since: 0.1.0

FromJSON Build Source #

Inverse of the ToJSON instance.

Since: 0.1.0

NFData Build Source #

Default NFData instance via Generic.

Since: 0.1.0

Methods

rnf :: Build -> () #

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

Default Serial instance via Generic.

Since: 0.1.0

Methods

series :: Series m Build #

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

Default CoSerial instance via Generic.

Since: 0.1.0

Methods

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

type Rep Build Source # 
type Rep Build = D1 (MetaData "Build" "Language.Ninja.IR.Build" "language-ninja-0.1.0-CTXTL0Lugm4Llo91nN4SIr" 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 #

Construct a default Build from the given Rule

Since: 0.1.0

buildRule :: Lens' Build Rule Source #

The rule to execute when building any of the outputs.

Since: 0.1.0

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

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

Since: 0.1.0

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

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

Since: 0.1.0

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

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

Since: 0.1.0