@@ -6,10 +6,7 @@ license = {file = "LICENSE.txt"}
6
6
7
7
[build-system ]
8
8
requires = [
9
- ' OZI.build~=1.0.2' ,
10
- ' pip-tools>=7' ,
11
- ' pipx>=1.5' ,
12
- ' setuptools_scm[toml]>=8.0' ,
9
+ " OZI.build[core,uv]~=1.2" ,
13
10
]
14
11
build-backend = " ozi_build.buildapi"
15
12
@@ -333,57 +330,59 @@ env_list =
333
330
334
331
[gh]
335
332
python =
336
- 3.12 = dist,lint,test
337
- 3.11 = dist,lint,test
338
- 3.10 = dist,lint,test
333
+ 3.12 = dist,lint,test
334
+ 3.11 = dist,lint,test
335
+ 3.10 = dist,lint,test
339
336
340
337
[testenv]
341
338
allowlist_externals =
342
339
rm
343
340
pipx
344
- python
345
341
meson
342
+ python
346
343
package = wheel
347
344
deps =
348
- OZI.build>=0.0.27
349
- pip-tools>=7
350
- setuptools_scm[toml]>=8.0
351
- -r requirements.in
345
+ uv
346
+ commands_pre =
347
+ python -m uv pip install -r requirements.in OZI.build[uv,core]~=1.2
348
+ pipx install --python=python meson
352
349
commands =
353
- meson compile -C {env_tmp_dir}
354
- rm -rf {env_tmp_dir}/.gitignore
350
+ meson setup {env_tmp_dir} -Ddist=disabled -Dtox-env-dir={env_dir}
351
+ meson compile -C {env_tmp_dir}
352
+ rm -rf {env_tmp_dir}/.gitignore
353
+ commands_post =
354
+ {env_python} -m invoke --search-root={env_tmp_dir}/subprojects/ozi/ozi checkpoint --suite={env_name} {posargs}
355
355
356
356
[testenv:dist]
357
- commands_pre =
358
- pipx install --python=python meson
359
- meson setup {env_tmp_dir} -Dozi:dist=enabled -Dozi:tox-env-dir={env_dir}
360
- commands_post = meson test --no-rebuild --maxfail=1 -C {env_tmp_dir} --setup=dist
357
+ description = OZI distribution checkpoint
361
358
362
359
[testenv:lint]
363
- commands_pre =
364
- pipx install --python=python meson
365
- meson setup {env_tmp_dir} -Dozi:lint=enabled -Dozi:tox-env-dir={env_dir}
366
- commands_post = meson test --no-rebuild --maxfail=1 -C {env_tmp_dir} --setup=lint
360
+ description = OZI format/lint checkpoint
367
361
368
362
[testenv:test]
369
- commands_pre =
370
- pipx install --python=python meson
371
- meson setup {env_tmp_dir} -Dozi:test=enabled -Dozi:tox-env-dir={env_dir}
372
- commands_post = meson test --no-rebuild --maxfail=1 -C {env_tmp_dir} --setup=test
363
+ description = OZI unit tests checkpoint
373
364
374
365
[testenv:fix]
375
366
description = OZI project fix issues utility (black, isort, autoflake, ruff)
376
367
deps = pipx
377
368
skip_install = true
369
+ commands_pre =
378
370
commands =
379
371
pipx run --python {env_python} black -S .
380
372
pipx run --python {env_python} isort .
381
373
pipx run --python {env_python} autoflake -i -r .
382
- pipx run --python {env_python} ruff check blastpipe --fix
374
+ pipx run --python {env_python} ruff check ozi --fix
375
+ commands_post =
383
376
384
377
[testenv:scm]
385
378
description = OZI supply chain management (setuptools_scm)
386
- deps = setuptools_scm[toml]>=8
387
379
commands =
388
380
{env_python} -m setuptools_scm {posargs}
381
+ commands_post =
382
+
383
+ [testenv:invoke]
384
+ description = OZI invoke task entrypoint, for more info use "tox -e invoke -- --list"
385
+ no_package = true
386
+ commands_post =
387
+ {env_python} -m invoke --search-root={env_tmp_dir}/subprojects/ozi/ozi {posargs:--list}
389
388
"""
0 commit comments