cake3-0.6.0: Third cake the Makefile EDSL

Safe HaskellNone
LanguageHaskell98

Development.Cake3.Ext.UrWeb

Synopsis

Documentation

data Urp Source

Constructors

Urp 

Fields

urp :: File
 
uexe :: Maybe File
 
uhdr :: [UrpHdrToken]
 
umod :: [UrpModToken]
 

newtype UWLib Source

Constructors

UWLib Urp 

newtype UWExe Source

Constructors

UWExe Urp 

class UrpLike x where Source

Minimal complete definition

toUrp

Methods

toUrp :: x -> Urp Source

tempfiles :: x -> [File] Source

data UrpState Source

Constructors

UrpState 

Fields

urpst :: Urp
 
urautogen :: File
 

newtype UrpGen m a Source

Constructors

UrpGen 

Fields

unUrpGen :: StateT UrpState m a
 

Instances

library' Source

Arguments

:: MonadMake m 
=> Make [File]

A monadic action, returning a list of libraries to include

-> UrpGen m () 

A general method of including a library into the UrWeb project.

library :: MonadMake m => UWLib -> UrpGen m () Source

Include a library defined somewhere in the current project

externalMake3 Source

Arguments

:: File

External Makefile

-> File

External file to refer to

-> String

The name of the target to run

-> Make [File] 

Build a file using external Makefile facility.

externalMake' Source

Arguments

:: File

External Makefile

-> File

External file to refer to

-> Make [File] 

Build a file using external Makefile facility.

externalMake Source

Arguments

:: File

File from the external project to build

-> Make [File] 

Build a file from external project. It is expected, that this project has a Makwfile in it's root directory. Call Makefile with the default target

externalMakeTarget Source

Arguments

:: File

File from the external project to build

-> String 
-> Make [File] 

Build a file from external project. It is expected, that this project has a Makwfile in it's root directory

externalMake2 :: File -> Make [File] Source

Build a file from external project. It is expected, that this project has a fiel.mk (a Makefile with an unusual name) in it's root directory

link' :: MonadMake m => File -> String -> UrpGen m () Source

link :: MonadMake m => File -> UrpGen m () Source

csrc' :: MonadMake m => File -> String -> String -> UrpGen m () Source

csrc :: MonadMake m => File -> UrpGen m () Source

ffi :: MonadMake m => File -> UrpGen m () Source

sql :: MonadMake m => File -> UrpGen m () Source

data BinOption Source

Constructors

NoScan 
UseUrembed 

bin :: (MonadIO m, MonadMake m) => File -> BinOptions -> UrpGen m () Source

data JSFunc Source

Constructors

JSFunc 

Fields

urdecl :: String

URS declaration for this function

urname :: String

UrWeb name of this function

jsname :: String

JavaScript name of this function

Instances

data JSType Source

Constructors

JSType 

Fields

urtdecl :: String
 

Instances

parse_js :: ByteString -> Make (Either String ([JSType], [JSFunc])) Source

Parse the JavaScript file, extract top-level functions, convert their signatures into Ur/Web format, return them as the list of strings