#!/usr/bin/env python
import os

from waflib.extras import autowaf as autowaf
import waflib.Logs as Logs

import literasc

def confgure(conf):
    pass

def bld_book_src(task):
    filenames = []
    for i in task.inputs:
        filenames += [i.abspath()]

    literasc.gen(open(task.outputs[0].abspath(), 'w'), filenames)

def build(bld):
    files = [bld.path.find_node('README.txt')]
    for i in ['eg-amp.lv2',
              'eg-midigate.lv2',
              'eg-fifths.lv2',
              'eg-metro.lv2',
              'eg-sampler.lv2',
              'eg-scope.lv2',
              'eg-params.lv2']:
        files += bld.path.ant_glob('%s/*.txt' % i)
        files += bld.path.ant_glob('%s/manifest.ttl*' % i)
        files += bld.path.ant_glob('%s/*.ttl' % i)
        files += bld.path.ant_glob('%s/*.c' % i)
        files += bld.path.ant_glob('%s/*.h' % i)

    # Compile book sources into book.txt asciidoc source
    bld(rule   = bld_book_src,
        source = files,
        target = 'book.txt')

    # Run asciidoc to generate book.html
    stylesdir      = bld.path.find_node('../doc/').abspath()
    pygments_style = bld.path.find_node('../doc/style.css').abspath()
    bld(rule   = 'asciidoc -a stylesdir=%s -a source-highlighter=pygments -a pygments-style=%s -b html -o ${TGT} ${SRC}' % (
        stylesdir, pygments_style),
        source = 'book.txt',
        target = 'book.html')