Skip to content

Commit 89743b2

Browse files
feat: add conda/outputs and conda/build_v2 backend protocol (#4118)
Co-authored-by: Hofer-Julian <[email protected]> Co-authored-by: Julian Hofer <[email protected]>
1 parent 60b3746 commit 89743b2

91 files changed

Lines changed: 4956 additions & 1374 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Cargo.lock

Lines changed: 212 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ clap_complete = "4.5.46"
2828
clap_complete_nushell = "4.5.5"
2929
concat-idents = "1.1.5"
3030
console = "0.15.10"
31+
console-subscriber = "0.4.1"
3132
crossbeam-channel = "0.5.14"
3233
csv = "1.3.1"
3334
ctrlc = "3.4.5"
@@ -69,6 +70,7 @@ pep508_rs = "0.9.2"
6970
percent-encoding = "2.3.1"
7071
pin-project-lite = "0.2.16"
7172
pyproject-toml = "0.13.4"
73+
rand = { version = "0.9.1", default-features = false }
7274
regex = "1.11.1"
7375
reqwest = { version = "0.12.12", default-features = false }
7476
reqwest-middleware = "0.4"
@@ -219,6 +221,7 @@ rustls-tls = [
219221
]
220222
self_update = []
221223
slow_integration_tests = []
224+
tokio-console = ["console-subscriber", "tokio/tracing"]
222225

223226
# This feature enables performance optimizations but at the cost of increased
224227
# compile times. By default, it is only used when building the release binary.
@@ -242,6 +245,7 @@ clap = { workspace = true, features = [
242245
clap_complete = { workspace = true }
243246
clap_complete_nushell = { workspace = true }
244247
console = { workspace = true, features = ["windows-console-colors"] }
248+
console-subscriber = { workspace = true, optional = true }
245249
crossbeam-channel = { workspace = true }
246250
csv = { workspace = true }
247251
dashmap = { workspace = true }

crates/pixi_build_discovery/src/backend_spec.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
use std::str::FromStr;
22

3+
use pixi_spec::BinarySpec;
34
use pixi_spec_containers::DependencyMap;
4-
use rattler_conda_types::{Channel, ChannelConfig, ChannelUrl, NamelessMatchSpec};
5+
use rattler_conda_types::{Channel, ChannelConfig, ChannelUrl};
56
use url::Url;
67

78
/// Describes how a backend should be instantiated.
@@ -54,21 +55,21 @@ pub struct SystemCommandSpec {
5455
#[cfg_attr(feature = "serde", serde(rename_all = "kebab-case"))]
5556
pub struct EnvironmentSpec {
5657
/// The main requirement
57-
pub requirement: (rattler_conda_types::PackageName, NamelessMatchSpec),
58+
pub requirement: (rattler_conda_types::PackageName, BinarySpec),
5859

5960
/// The requirements for the environment.
6061
#[cfg_attr(
6162
feature = "serde",
6263
serde(skip_serializing_if = "DependencyMap::is_empty")
6364
)]
64-
pub additional_requirements: DependencyMap<rattler_conda_types::PackageName, NamelessMatchSpec>,
65+
pub additional_requirements: DependencyMap<rattler_conda_types::PackageName, BinarySpec>,
6566

6667
/// Additional constraints to apply to the environment
6768
#[cfg_attr(
6869
feature = "serde",
6970
serde(skip_serializing_if = "DependencyMap::is_empty")
7071
)]
71-
pub constraints: DependencyMap<rattler_conda_types::PackageName, NamelessMatchSpec>,
72+
pub constraints: DependencyMap<rattler_conda_types::PackageName, BinarySpec>,
7273

7374
/// The channels to use for solving
7475
pub channels: Vec<ChannelUrl>,
@@ -92,10 +93,7 @@ impl JsonRpcBackendSpec {
9293
Self {
9394
name: DEFAULT_BUILD_TOOL.to_string(),
9495
command: CommandSpec::EnvironmentSpec(Box::new(EnvironmentSpec {
95-
requirement: (
96-
DEFAULT_BUILD_TOOL.parse().unwrap(),
97-
NamelessMatchSpec::default(),
98-
),
96+
requirement: (DEFAULT_BUILD_TOOL.parse().unwrap(), BinarySpec::any()),
9997
additional_requirements: Default::default(),
10098
constraints: Default::default(),
10199
channels: vec![conda_forge_channel, backends_channel],

0 commit comments

Comments
 (0)