Пример #1
0
import projects
from . import options

defaults = {
    'generator:project': 'Unix Makefiles',
    'buildflags:project': '-j1',

    'upload_file_patterns:project': [
        '*.tar.gz',
        '*.tgz',
    ],
}

os = projects.merge_config(options.os, {
    'windows': {
        'upload_file_patterns:project': [
            '*.zip',
            '*.exe',
        ],

        'generator:project': 'Ninja',
    },
    'osx': {
        'upload_file_patterns:project': [
            '*.dmg',
        ],
    },
})
Пример #2
0
    # Important ones may include 'category' for putting the builds into a
    # category for separating the builds out in the view and 'env' for
    # environment variables.
    category='awesome'
)

# the 'projects' module contains a `merge_config` function which will join two
# dictionaries. For each item, it appends lists together, recursively merges
# dictionary values, and replaces other types. Mismatches between the
# dictionaries will trigger an error. This is useful for making more builders
# which share other options which are not necessary for other builds.
specialprops = projects.merge_config(defprops, {
    # Append an extra test to exclude
    'test_excludes:builderconfig': [
        'flyingpigs', # full moon on Tuesdays
    ],

    'slaveenv': {
        'PATH': '/path/to/some/tool:${PATH}',
    },
})

specialbuildsets = [
    {
        'os': 'linux',
        'libtype': 'shared',
        'buildtype': 'release',
        'features': (
            'special',
        )
    },
]