cake3-0.3.0.1: Third cake the Makefile EDSL

Safe HaskellNone

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 whereSource

Methods

toUrp :: x -> UrpSource

tempfiles :: x -> [File]Source

data UrpState Source

Constructors

UrpState 

Fields

urpst :: Urp
 

newtype UrpGen m a Source

Constructors

UrpGen 

Fields

unUrpGen :: StateT UrpState m a
 

Instances

liftUrp :: t -> tSource

library'Source

Arguments

:: MonadMake m 
=> Make [File]

A monadic action, returning a list of libraries to include

-> UrpGen m () 

Dir name , file to embed data UrEmbed = Urembed File File deriving (Show)

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

externalMake'Source

Arguments

:: File

External Makefile

-> File

External file to refer to

-> Make [File] 

Build a file using external Makefile facility.

externalMakeSource

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

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

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

sql :: MonadMake m => File -> 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

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