rustyphoenixrequest 1.5.0

This library provides methods to mock request API. This is the Rust equivalent of https://gitlab.in2p3.fr/CTA-LAPP/PHOENIX_LIBS2/network/PhoenixRequest
Documentation
[workspace]
channels = [
    "https://prefix.dev/pixi-build-backends",
    "https://prefix.dev/conda-forge",
    "https://prefix.dev/phoenix",             # priority to stable versions
    "https://prefix.dev/phoenix-dev",
]
platforms = ["linux-64", "linux-aarch64"]
preview = ["pixi-build"]

# dependencies of the "default" feature: add the package, it will pull in its run-time dependencies!
[dependencies]

[package]
name = "rustyphoenixrequest" # NAME_PLACEHOLDER <--- do not remove this comment! It is used to update version with branch name in CI!
version = "1.5.0" # VERSION_PLACEHOLDER <--- do not remove this comment! It is used to update version with branch name in CI!
authors = ["Thibaut Oprinsen <thibaut.oprinsen@lapp.in2p3.fr>", 
           "Pierre Aubert <pierre.aubert@lapp.in2p3.fr>",
           "Vincent Pollet <vincent.pollet@lapp.in2p3.fr>"
]
description = "This library provides methods to mock request API. This is the Rust equivalent of https://gitlab.in2p3.fr/CTA-LAPP/PHOENIX_LIBS2/network/PhoenixRequest"
license = "CECILL-C"
homepage = "https://gitlab.in2p3.fr/CTA-LAPP/PHOENIX_LIBS2/network/RustyPhoenixRequest"
repository = "https://gitlab.in2p3.fr/CTA-LAPP/PHOENIX_LIBS2/network/RustyPhoenixRequest.git"

[package.build]
backend = { name = "pixi-build-rust", version = "*" }

[package.build.config]

[package.build-dependencies]
rust = ">=1.93.1,<2"
rust-src = ">=1.93.1,<2"

[package.host-dependencies]
lld = ">=21.0.0,<22.0.0"
gcc = ">=11.0.0,<16"
binutils = ">=2.4.0,<3.0.0"

[package.run-dependencies]

[feature.test.dependencies]
rust = ">=1.93.1,<2"
rust-src = ">=1.93.1,<2"
gcc = "*"
binutils = "*"

### TEST TASKS
[feature.test.tasks.testbuild]
args = [{ "arg" = "cargo_extra_args", "default" = "" }]
cmd = "cargo {{ cargo_extra_args }} build --verbose"

[feature.test.tasks.test]
args = [{ "arg" = "output_dir", "default" = "test_output" },
		{ "arg" = "cargo_extra_args", "default" = "" }]
depends-on = [{ "task" = "testbuild", "args" = [ "{{ cargo_extra_args }}" ] }]
cmd = "cargo {{ cargo_extra_args }} test --verbose --all-features --tests --target-dir={{ output_dir }}"

[feature.coverage.dependencies]
rust = ">=1.93.1,<2"
rust-src = ">=1.93.1,<2"
lld = ">=22.1.0,<22.2.0"
gcc = "*"
binutils = "*"

### COVERAGE TASKS
[feature.coverage.tasks.configure]
args = [{ "arg" = "coverage_dir", "default" = "coverage" }]
cmd = [
    "cargo", "install", "cargo-llvm-cov", "&&",
	"mkdir", "-p", "{{ coverage_dir }}"
]

[feature.coverage.tasks.htmlcoverage]
args = [
	{ "arg" = "coverage_dir", "default" = "coverage" },
	{ "arg" = "cargo_extra_args", "default" = "" }
]
depends-on = [{ "task" = "configure" , "args" = [ "{{ coverage_dir }}" ] }]
cmd = "cargo {{ cargo_extra_args }} llvm-cov --html --output-dir {{ coverage_dir }}"

[feature.coverage.tasks.coberturacoverage]
args = [
	{ "arg" = "coverage_dir", "default" = "coverage" },
	{ "arg" = "cobertura_report", "default" = "cobertura.xml" },
	{ "arg" = "cargo_extra_args", "default" = "" }
]
depends-on = [{ "task" = "htmlcoverage" , "args" = [ "{{ coverage_dir }}", "{{ cargo_extra_args }}" ] }]
cmd = "cargo {{ cargo_extra_args }} llvm-cov --cobertura --output-path {{ coverage_dir }}/{{ cobertura_report }}"

[feature.coverage.tasks.coverage]
depends-on = [{ "task" = "coberturacoverage", "args" = [ "{{ coverage_dir }}", "{{ cobertura_report }}", "{{ cargo_extra_args }}" ] }]
args = [
    { "arg" = "coverage_dir", "default" = "coverage" },
    { "arg" = "cobertura_report", "default" = "cobertura.xml" },
	{ "arg" = "cargo_extra_args", "default" = "" }
]
cmd = "cargo {{ cargo_extra_args }} llvm-cov report"

[feature.doc.dependencies]
gcc = "*"
rust = ">=1.93.1,<2"
rust-src = ">=1.93.1,<2"
binutils = "*"

### DOC TASKS
[feature.doc.tasks.doc]
args = [{ "arg" = "cargo_extra_args", "default" = "" }]
cmd = "cargo {{ cargo_extra_args }} doc --no-deps"

### PUBLISH TASKS
[feature.publish.dependencies]
rust = ">=1.93.1,<2"
rust-src = ">=1.93.1,<2"

[feature.publish.tasks.login]
args = [{ "arg" = "crates_io_token", "default" = "" }]
cmd = "cargo check && cargo login {{ crates_io_token }}"

[feature.publish.tasks.publish]
depends-on = [{ "task" = "login", "args" = [ "{{ crates_io_token }}" ] }]
args = [{ "arg" = "crates_io_token", "default" = "" }]
cmd = "cargo publish"

[environments]
prod = { solve-group = "prod" }
test = { features = ["test"], solve-group = "prod" }
coverage = { features = ["coverage"], solve-group = "prod" }
publish = { features = ["publish"], solve-group = "prod" }
doc = { features = ["doc"], no-default-feature = true }
# use default for the dev environment so tasks are resolved in this environment (avoids having to specify env)
# no need to include doc: pixi will figure the environment to use from the task if it is unique
default = { features = ["test", "coverage"], solve-group = "prod" }