OZI-Project/OZI

View on GitHub
meson.options

Summary

Maintainability
Test Coverage
# meson.options
# Part of the OZI Project, under the Apache License v2.0 with LLVM Exceptions.
# See LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
option(
    'ozi-blastpipe',
    type: 'feature',
    value: 'disabled',
    description: 'blastpipe integration tests package',
)
option(
    'compile-requirements-command',
    type: 'array',
    value: ['uv', 'pip', 'compile'],
    yield: true,
)
option(
    'install-requirements-command',
    type: 'array',
    value: ['uv', 'pip'],
    yield: true,
)
option('dev', type: 'feature', value: 'auto')
option('install-subprojects', type: 'feature', value: 'disabled')
option('docs-source', type: 'feature', value: 'disabled')
option('test-source', type: 'feature', value: 'auto')
option('dist', type: 'feature', value: 'auto')
option('docs', type: 'feature', value: 'auto')
option('lint', type: 'feature', value: 'auto')
option('test', type: 'feature', value: 'auto')

option(
    'python-dependencies',
    type: 'array',
    description: 'sanity check module dependencies',
    value: ['setuptools_scm', 'piptools', 'setuptools', 'ninja', 'mesonbuild'],
)

option(
    'namespace',
    type: 'array',
    description: '--setup=dev',
    value: ['dist', 'docs', 'lint', 'test'],
    yield: true,
)

option(
    'variables',
    type: 'array',
    description: 'variables to set',
    value: [
        'python',
        'plugin-only',
        'install_dependencies',
        'no-version',
        'module-only',
        'source-to-build',
        'docs-source',
        'test-source',
        'dist-exclude-suites',
        'docs-exclude-suites',
        'lint-exclude-suites',
        'test-exclude-suites',
    ],
)

option('unhashable', type: 'array', value: ['source-to-build'])
option('dist-priority', type: 'integer', value: 1, yield: true)
option('docs-priority', type: 'integer', value: 3, yield: true)
option('lint-priority', type: 'integer', value: 4, yield: true)
option('test-priority', type: 'integer', value: 2, yield: true)
option('dist-timeout-multiplier', type: 'integer', value: 1, yield: true)
option('docs-timeout-multiplier', type: 'integer', value: 1, yield: true)
option('lint-timeout-multiplier', type: 'integer', value: 1, yield: true)
option('test-timeout-multiplier', type: 'integer', value: 30, yield: true)
option('dist-exclude-suites', type: 'array', value: ['docs', 'lint', 'test'])
option('docs-exclude-suites', type: 'array', value: ['dist', 'lint', 'test'])
option('lint-exclude-suites', type: 'array', value: ['docs', 'dist', 'test'])
option('test-exclude-suites', type: 'array', value: ['dist', 'docs', 'lint'])
option(
    'dist-suite',
    type: 'array',
    description: '--setup=dist',
    value: ['cibuildwheel', 'sigstore', 'python-semantic-release', 'twine'],
    yield: true,
)
option(
    'docs-suite',
    type: 'array',
    description: '--setup=docs',
    value: [],
    yield: true,
)
option(
    'lint-suite',
    type: 'array',
    description: '--setup=lint',
    value: [
        'bandit',
        'black',
        'isort',
        'mypy',
        'pyright',
        'flake8',
        'flake8-quotes',
        'flake8-pytest-style',
        'flake8-type-checking',
        'flake8-annotations',
        'flake8-broken-line',
        'flake8-eradicate',
        'flake8-fixme',
        'flake8-bugbear',
        'flake8-datetimez',
        'flake8-no-pep420',
        'flake8-comprehensions',
        'flake8-leading-blank-lines',
        'flake8-tidy-imports',
        'flake8-pyi',
        'readme-renderer',
    ],
    yield: true,
)
option(
    'test-suite',
    type: 'array',
    description: '--setup=test',
    value: [
        'coverage',
        'hypothesis',
        # 'pytest',
        'pytest-asyncio',
        'pytest-cov',
        'pytest-xdist',
        'pytest-tcpclient',
        'pytest-randomly',
    ],
    yield: true,
)
option(
    'should-fail',
    type: 'array',
    description: 'tests that return non-zero',
    value: [],
    yield: true,
)

option(
    'plugin-only',
    type: 'array',
    description: 'install only - plugins for other utility applications',
    value: [
        'Flake8-pyproject',
        'flake8-annotations',
        'flake8-broken-line',
        'flake8-bugbear',
        'flake8-comprehensions',
        'flake8-datetimez',
        'flake8-docstring-checker',
        'flake8-eradicate',
        'flake8-fixme',
        'flake8-leading-blank-lines',
        'flake8-no-pep420',
        'flake8-pyi',
        'flake8-pytest-style',
        'flake8-quotes',
        'flake8-tidy-imports',
        'flake8-type-checking',
        'hypothesis',
        'pytest-asyncio',
        'pytest-cov',
        'pytest-randomly',
        'pytest-tcpclient',
        'pytest-xdist',
        'sphinxawesome-codelinter',
        'sphinxawesome-theme',
    ],
)

option(
    'no-version',
    type: 'array',
    description: 'no packaged version metadata',
    value: [
        'pytest-asyncio',
        'pytest-tcpclient',
        'pytest-randomly',
        'pytest-xdist',
        'semantic_release',
        'sphinxawesome-codelinter',
        'sphinxawesome-theme',
        'flake8-comprehensions',
    ],
)
option('tox-env-dir', type: 'string', value: '')
option(
    'module-only',
    type: 'array',
    description: 'no application - python module entry point only',
    value: [
        'semantic_release',
        'sphinxawesome-codelinter',
        'sphinxawesome-theme',
        'pytest',
        'readme-renderer',
    ],
)
# utility application arguments
option('args-sigstore', type: 'array', value: ['--version'], yield: true)
option(
    'config-args-sigstore',
    description: 'pip-compile args',
    type: 'array',
    value: ['-q', '--strip-extras', '--allow-unsafe',  '--generate-hashes',],
    yield: true,
)
option('install-args-sigstore', type: 'array', value: [], yield: true)
option(
    'args-semantic_release',
    type: 'array',
    value: ['--help'],
    yield: true,
)
option(
    'config-args-semantic_release',
    description: 'pip-compile args',
    type: 'array',
    value: ['-q', '--strip-extras', '--allow-unsafe',  '--generate-hashes',],
    yield: true,
)
option('install-args-semantic_release', description: 'pipx install args', type: 'array', value: [], yield: true)
option(
    'config-args-cibuildwheel',
    description: 'pip-compile args',
    type: 'array',
    value: ['-q', '--strip-extras', '--allow-unsafe',  '--generate-hashes',],
    yield: true,
)
option('args-cibuildwheel', type: 'array', value: ['--help'], yield: true)
option('install-args-cibuildwheel', type: 'array', value: [], yield: true)
option(
    'config-args-twine',
    description: 'pip-compile args',
    type: 'array',
    value: ['-q', '--strip-extras', '--allow-unsafe',  '--generate-hashes',],
    yield: true,
)
option('install-args-twine', type: 'array', value: [], yield: true)
option('args-twine', type: 'array', value: ['--version'], yield: true)
option('args-mypy', type: 'array', value: ['@build_root@'], yield: true)
option(
    'config-args-mypy',
    description: 'pip-compile args',
    type: 'array',
    value: ['-q', '--strip-extras', '--allow-unsafe',  '--generate-hashes',],
    yield: true,
)
option(
    'install-args-mypy',
    description: 'pipx install args',
    type: 'array',
    value: [],
    yield: true,
)
option(
    'args-bandit',
    description: 'application args',
    type: 'array',
    value: [
        '--configfile',
        'pyproject.toml',
        '--ignore-nosec',
        '-r',
        '@build_root@',
    ],
)
option(
    'config-args-bandit',
    description: 'pip-compile args',
    type: 'array',
    value: ['-q', '--strip-extras', '--allow-unsafe',  '--generate-hashes',],
    yield: true,
)
option(
    'install-args-bandit',
    description: 'pipx install args',
    type: 'array',
    value: [],
    yield: true,
)
option(
    'args-black',
    description: 'application args',
    type: 'array',
    value: [
        '-S',
        '--verbose',
        '--check',
        '--diff',
        '--no-color',
        '@build_root@',
    ],
    yield: true,
)
option(
    'config-args-black',
    description: 'pip-compile args',
    type: 'array',
    value: ['-q', '--strip-extras', '--allow-unsafe',  '--generate-hashes',],
    yield: true,
)
option(
    'install-args-black',
    description: 'pipx install args',
    type: 'array',
    value: [],
    yield: true,
)
option(
    'args-isort',
    description: 'application args',
    type: 'array',
    value: [
        '-c',
        '--skip-glob',
        '*.pyi',
        '--extend-skip',
        'meson-private/pycompile.py',
        '@build_root@',
    ],
    yield: true,
)
option(
    'config-args-isort',
    description: 'pip-compile args',
    type: 'array',
    value: ['-q', '--strip-extras', '--allow-unsafe',  '--generate-hashes',],
    yield: true,
)
option(
    'install-args-isort',
    description: 'pipx install args',
    type: 'array',
    value: [],
    yield: true,
)
option(
    'args-pylint',
    description: 'application args',
    type: 'array',
    value: ['@project_name@'],
    yield: true,
)
option(
    'config-args-pylint',
    description: 'pip-compile args',
    type: 'array',
    value: ['-q', '--strip-extras', '--allow-unsafe',  '--generate-hashes',],
    yield: true,
)
option(
    'install-args-pylint',
    description: 'pipx install args',
    type: 'array',
    value: [],
    yield: true,
)
option(
    'args-pyright',
    description: 'application args',
    type: 'array',
    value: [
        '--stats',
        '--warnings',
        '--verbose',
        '@build_root@',
    ],
    yield: true,
)
option(
    'config-args-pyright',
    description: 'pip-compile args',
    type: 'array',
    value: ['-q', '--strip-extras', '--allow-unsafe',  '--generate-hashes',],
    yield: true,
)
option(
    'install-args-pyright',
    description: 'pipx install args',
    type: 'array',
    value: [],
    yield: true,
)
option(
    'args-coverage',
    description: 'application args',
    type: 'array',
    value: ['debug', 'config'],
    yield: true,
)
option(
    'config-args-coverage',
    description: 'pip-compile args',
    type: 'array',
    value: ['-q', '--strip-extras', '--allow-unsafe',  '--generate-hashes',],
    yield: true,
)
option(
    'install-args-coverage',
    description: 'pipx install args',
    type: 'array',
    value: [],
    yield: true,
)
option(
    'args-readme-renderer',
    description: 'module args',
    type: 'array',
    value: ['README.rst'],
    yield: true,
)
option(
    'config-args-readme-renderer',
    description: 'pip-compile args',
    type: 'array',
    value: ['-q', '--strip-extras', '--allow-unsafe',  '--generate-hashes',],
    yield: true,
)
option(
    'install-args-readme-renderer',
    description: 'pipx install args',
    type: 'array',
    value: [],
    yield: true,
)
option(
    'args-flake8',
    type: 'array',
    value: [
        '--toml-config=pyproject.toml',
        '--benchmark',
        '--statistics',
        '--max-complexity',
        '6',
        '--show-source',
        '@build_root@/',
    ],
    yield: true,
)
option(
    'config-args-flake8',
    description: 'pip-compile args',
    type: 'array',
    value: ['-q', '--strip-extras', '--allow-unsafe',  '--generate-hashes',],
    yield: true,
)
option(
    'install-args-flake8',
    description: 'pipx install args',
    type: 'array',
    value: [],
    yield: true,
)
option('args-Flake8-pyproject', type: 'array', value: [], yield: true)
option(
    'args-pytest',
    type: 'array',
    value: [
        '--cov=ozi',
        '-q',
        '--basetemp=temp',
        '-n',
        'auto',
        '-d',
        '--exitfirst',
        '--cov-config=pyproject.toml',
    ],
    yield: true,
)
option(
    'config-args-pytest',
    description: 'pip-compile args',
    type: 'array',
    value: ['-q', '--strip-extras', '--allow-unsafe',  '--generate-hashes',],
    yield: true,
)
option(
    'install-args-pytest',
    description: 'pipx install args',
    type: 'array',
    value: [],
    yield: true,
)