meson.options
# 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,
)