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.Ninja

Contents

Description

A datatype representing the intermediate representation of a Ninja file after compilation.

Since: 0.1.0

Synopsis

Ninja

data Ninja Source #

A parsed and normalized Ninja file.

Since: 0.1.0

Instances

Eq Ninja Source # 

Methods

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

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

Show Ninja Source # 

Methods

showsPrec :: Int -> Ninja -> ShowS #

show :: Ninja -> String #

showList :: [Ninja] -> ShowS #

Generic Ninja Source # 

Associated Types

type Rep Ninja :: * -> * #

Methods

from :: Ninja -> Rep Ninja x #

to :: Rep Ninja x -> Ninja #

Hashable Ninja Source #

Default Hashable instance via Generic.

Since: 0.1.0

Methods

hashWithSalt :: Int -> Ninja -> Int #

hash :: Ninja -> Int #

ToJSON Ninja Source #

Converts to {meta: …, builds: …, phonys: …, defaults: …, pools: …}.

Since: 0.1.0

FromJSON Ninja Source #

Inverse of the ToJSON instance.

Since: 0.1.0

NFData Ninja Source #

Default NFData instance via Generic.

Since: 0.1.0

Methods

rnf :: Ninja -> () #

(Monad m, NinjaConstraint (Serial m)) => Serial m Ninja Source #

Default Serial instance via Generic.

Since: 0.1.0

Methods

series :: Series m Ninja #

(Monad m, NinjaConstraint (CoSerial m)) => CoSerial m Ninja Source #

Default CoSerial instance via Generic.

Since: 0.1.0

Methods

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

type Rep Ninja Source # 

makeNinja :: Ninja Source #

Construct a default Ninja value.

Since: 0.1.0

ninjaMeta :: Lens' Ninja Meta Source #

Metadata, which includes top-level variables like builddir.

Since: 0.1.0

ninjaBuilds :: Lens' Ninja (HashSet Build) Source #

Compiled build declarations.

Since: 0.1.0

ninjaPhonys :: Lens' Ninja (HashMap Target (HashSet Target)) Source #

Phony targets, as documented here.

Since: 0.1.0

ninjaDefaults :: Lens' Ninja (HashSet Target) Source #

The set of default targets, as documented here.

Since: 0.1.0

ninjaPools :: Lens' Ninja (HashSet Pool) Source #

The set of pools for this Ninja file.

Since: 0.1.0

type NinjaConstraint c = (c Text, c Version, c (HashMap Target (HashSet Target)), c (HashSet Build), c (HashSet Target), c (HashSet Pool)) Source #

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

Since: 0.1.0