Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/devbot/main.py
blob: eaa31a3b6ba46c8bc3fcbc4ddef4b3ffbdbdb850 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import pkgutil
import imp

from devbot import config
from devbot import environ
from devbot import plugins
from devbot import system
from devbot import build
from devbot import state
from devbot import clean


def run_build(full=False):
    if full or state.full_build_is_required():
        clean.clean(build_only=True)
        environ.setup_gconf()

    state.full_build_touch()

    if not build.pull(lazy=True):
        return False

    if not build.build(full=False):
        return False

    return True


def load_plugins():
    for loader, name, ispkg in pkgutil.iter_modules(plugins.__path__):
        f, filename, desc = imp.find_module(name, plugins.__path__)
        imp.load_module(name, f, filename, desc)


def setup(config_args, check_args):
    load_plugins()

    config.setup(**config_args)

    if not system.check(**check_args):
        return False

    environ.setup_variables()
    environ.setup_gconf()

    return True