aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--crates/mozart-core/src/package.rs17
-rw-r--r--crates/mozart-registry/src/inline_package.rs171
-rw-r--r--crates/mozart-registry/src/lib.rs1
-rw-r--r--crates/mozart-registry/src/lockfile.rs20
-rw-r--r--crates/mozart-registry/src/resolver.rs26
-rw-r--r--crates/mozart-registry/src/vcs_bridge.rs10
-rw-r--r--crates/mozart/src/commands/init.rs9
-rw-r--r--crates/mozart/src/commands/install.rs26
-rw-r--r--crates/mozart/tests/installer.rs480
9 files changed, 355 insertions, 405 deletions
diff --git a/crates/mozart-core/src/package.rs b/crates/mozart-core/src/package.rs
index a45a480..02ec935 100644
--- a/crates/mozart-core/src/package.rs
+++ b/crates/mozart-core/src/package.rs
@@ -529,7 +529,19 @@ pub struct RawAutoload {
pub struct RawRepository {
#[serde(rename = "type")]
pub repo_type: String,
- pub url: String,
+
+ /// Required for VCS / composer / artifact / path types; absent for inline
+ /// `package` repositories. Modeled as Option to mirror Composer's
+ /// per-type schema (Composer enforces presence in `RepositoryFactory`,
+ /// not at the JSON-parse step).
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ pub url: Option<String>,
+
+ /// Inline package definition(s) for `type: package` repositories. Either
+ /// a single object or an array of objects, mirroring
+ /// `Composer\Repository\PackageRepository`'s schema.
+ #[serde(default, skip_serializing_if = "Option::is_none")]
+ pub package: Option<serde_json::Value>,
}
/// Default root-package name when `composer.json` omits the `name` field.
@@ -635,7 +647,8 @@ mod tests {
.insert("phpunit/phpunit".to_string(), "^10.0".to_string());
raw.repositories = vec![RawRepository {
repo_type: "vcs".to_string(),
- url: "https://github.com/acme/repo".to_string(),
+ url: Some("https://github.com/acme/repo".to_string()),
+ package: None,
}];
let mut psr4 = BTreeMap::new();
diff --git a/crates/mozart-registry/src/inline_package.rs b/crates/mozart-registry/src/inline_package.rs
new file mode 100644
index 0000000..e10cd2b
--- /dev/null
+++ b/crates/mozart-registry/src/inline_package.rs
@@ -0,0 +1,171 @@
+//! Support for inline `type: package` repositories.
+//!
+//! `composer.json` may embed full package metadata under
+//! `repositories[].package`, mirroring `Composer\Repository\PackageRepository`.
+//! These packages need no network fetch — they go straight into the resolver
+//! pool and into the generated lockfile entry verbatim.
+
+use crate::packagist::PackagistVersion;
+use mozart_core::package::RawRepository;
+
+/// One package extracted from a `type: package` repository.
+pub struct InlinePackage {
+ pub name: String,
+ pub version: PackagistVersion,
+}
+
+/// Collect every package definition from `type: package` repositories.
+///
+/// Each repository's `package` field may be a single object or an array of
+/// objects. Entries that fail to parse (missing `name`/`version`, etc.) are
+/// silently skipped so the rest of the repositories list still applies —
+/// matching Composer's lenient PackageRepository constructor.
+pub fn collect_inline_packages(repositories: &[RawRepository]) -> Vec<InlinePackage> {
+ let mut packages = Vec::new();
+ for repo in repositories {
+ if repo.repo_type != "package" {
+ continue;
+ }
+ let Some(value) = &repo.package else {
+ continue;
+ };
+
+ match value {
+ serde_json::Value::Array(arr) => {
+ for entry in arr {
+ if let Some(pkg) = parse_inline_package(entry) {
+ packages.push(pkg);
+ }
+ }
+ }
+ serde_json::Value::Object(_) => {
+ if let Some(pkg) = parse_inline_package(value) {
+ packages.push(pkg);
+ }
+ }
+ _ => {}
+ }
+ }
+ packages
+}
+
+fn parse_inline_package(value: &serde_json::Value) -> Option<InlinePackage> {
+ let obj = value.as_object()?;
+ let name = obj.get("name")?.as_str()?.to_string();
+ let version_str = obj.get("version")?.as_str()?.to_string();
+
+ // PackagistVersion requires `version_normalized`. If the inline definition
+ // omits it (the common case), compute it the same way Packagist does:
+ // run the version through Mozart's normalizer.
+ let mut value_for_parse = value.clone();
+ if let serde_json::Value::Object(ref mut map) = value_for_parse
+ && !map.contains_key("version_normalized")
+ {
+ let normalized = mozart_semver::Version::parse(&version_str)
+ .map(|v| v.to_string())
+ .unwrap_or_else(|_| version_str.clone());
+ map.insert(
+ "version_normalized".to_string(),
+ serde_json::Value::String(normalized),
+ );
+ }
+
+ let version: PackagistVersion = serde_json::from_value(value_for_parse).ok()?;
+ Some(InlinePackage { name, version })
+}
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+
+ fn pkg_repo(value: serde_json::Value) -> RawRepository {
+ RawRepository {
+ repo_type: "package".to_string(),
+ url: None,
+ package: Some(value),
+ }
+ }
+
+ #[test]
+ fn collects_single_inline_package_object() {
+ let repos = vec![pkg_repo(serde_json::json!({
+ "name": "a/a",
+ "version": "1.0.0"
+ }))];
+ let pkgs = collect_inline_packages(&repos);
+ assert_eq!(pkgs.len(), 1);
+ assert_eq!(pkgs[0].name, "a/a");
+ assert_eq!(pkgs[0].version.version, "1.0.0");
+ assert_eq!(pkgs[0].version.version_normalized, "1.0.0.0");
+ }
+
+ #[test]
+ fn collects_inline_package_array() {
+ let repos = vec![pkg_repo(serde_json::json!([
+ {"name": "a/a", "version": "1.0.0"},
+ {"name": "b/b", "version": "2.0.0"}
+ ]))];
+ let pkgs = collect_inline_packages(&repos);
+ assert_eq!(pkgs.len(), 2);
+ assert_eq!(pkgs[0].name, "a/a");
+ assert_eq!(pkgs[1].name, "b/b");
+ }
+
+ #[test]
+ fn ignores_non_package_repos() {
+ let repos = vec![RawRepository {
+ repo_type: "vcs".to_string(),
+ url: Some("https://example.com/foo.git".to_string()),
+ package: None,
+ }];
+ assert!(collect_inline_packages(&repos).is_empty());
+ }
+
+ #[test]
+ fn skips_entries_missing_name_or_version() {
+ let repos = vec![pkg_repo(serde_json::json!([
+ {"name": "a/a", "version": "1.0.0"},
+ {"name": "missing/version"},
+ {"version": "2.0.0"},
+ {"name": "b/b", "version": "2.0.0"}
+ ]))];
+ let pkgs = collect_inline_packages(&repos);
+ assert_eq!(pkgs.len(), 2);
+ assert_eq!(pkgs[0].name, "a/a");
+ assert_eq!(pkgs[1].name, "b/b");
+ }
+
+ #[test]
+ fn preserves_explicit_version_normalized() {
+ let repos = vec![pkg_repo(serde_json::json!({
+ "name": "a/a",
+ "version": "1.0",
+ "version_normalized": "1.0.0.0-explicit"
+ }))];
+ let pkgs = collect_inline_packages(&repos);
+ assert_eq!(pkgs[0].version.version_normalized, "1.0.0.0-explicit");
+ }
+
+ #[test]
+ fn parses_full_metadata_fields() {
+ let repos = vec![pkg_repo(serde_json::json!({
+ "name": "a/a",
+ "version": "1.0.0",
+ "type": "library",
+ "require": {"b/b": "^2.0"},
+ "replace": {"old/x": "1.0"},
+ "provide": {"some/iface": "1.0"},
+ "conflict": {"bad/pkg": "*"},
+ "dist": {"type": "zip", "url": "https://e.com/a.zip"}
+ }))];
+ let pkgs = collect_inline_packages(&repos);
+ assert_eq!(pkgs.len(), 1);
+ let v = &pkgs[0].version;
+ assert_eq!(v.package_type.as_deref(), Some("library"));
+ assert_eq!(v.require.get("b/b").map(String::as_str), Some("^2.0"));
+ assert_eq!(v.replace.get("old/x").map(String::as_str), Some("1.0"));
+ assert_eq!(v.provide.get("some/iface").map(String::as_str), Some("1.0"));
+ assert_eq!(v.conflict.get("bad/pkg").map(String::as_str), Some("*"));
+ assert!(v.dist.is_some());
+ }
+}
diff --git a/crates/mozart-registry/src/lib.rs b/crates/mozart-registry/src/lib.rs
index 4c26c1e..a4afacd 100644
--- a/crates/mozart-registry/src/lib.rs
+++ b/crates/mozart-registry/src/lib.rs
@@ -1,5 +1,6 @@
pub mod cache;
pub mod downloader;
+pub mod inline_package;
pub mod installed;
pub mod lockfile;
pub mod packagist;
diff --git a/crates/mozart-registry/src/lockfile.rs b/crates/mozart-registry/src/lockfile.rs
index 331f58e..a99c921 100644
--- a/crates/mozart-registry/src/lockfile.rs
+++ b/crates/mozart-registry/src/lockfile.rs
@@ -354,6 +354,19 @@ pub struct LockFileGenerationRequest {
pub repo_cache: Cache,
}
+impl LockFileGenerationRequest {
+ /// Look up an inline `type: package` definition for `name` (if any).
+ /// Returns the matching `PackagistVersion` so callers can short-circuit
+ /// the Packagist fetch for resolved packages that came from a `type:
+ /// package` repository.
+ fn inline_lookup(&self, name: &str, version_normalized: &str) -> Option<PackagistVersion> {
+ crate::inline_package::collect_inline_packages(&self.composer_json.repositories)
+ .into_iter()
+ .find(|ipkg| ipkg.name == name && ipkg.version.version_normalized == version_normalized)
+ .map(|ipkg| ipkg.version)
+ }
+}
+
/// Convert a `PackagistSource` to a `LockedSource`.
fn packagist_source_to_locked(ps: &PackagistSource) -> LockedSource {
LockedSource {
@@ -504,6 +517,13 @@ pub async fn generate_lock_file(request: &LockFileGenerationRequest) -> anyhow::
// 1. Fetch full metadata for all resolved packages
let mut package_metadata: HashMap<String, PackagistVersion> = HashMap::new();
for pkg in &request.resolved_packages {
+ // Inline `type: package` repositories carry full metadata in
+ // composer.json — use it directly instead of hitting Packagist.
+ if let Some(inline) = request.inline_lookup(&pkg.name, &pkg.version_normalized) {
+ package_metadata.insert(pkg.name.clone(), inline);
+ continue;
+ }
+
let versions = packagist::fetch_package_versions(&pkg.name, &request.repo_cache).await?;
// Find the exact version matching pkg.version_normalized
let matching = versions
diff --git a/crates/mozart-registry/src/resolver.rs b/crates/mozart-registry/src/resolver.rs
index e3cc1f6..7aab6b2 100644
--- a/crates/mozart-registry/src/resolver.rs
+++ b/crates/mozart-registry/src/resolver.rs
@@ -463,14 +463,32 @@ pub async fn resolve(request: &ResolveRequest) -> Result<Vec<ResolvedPackage>, R
}
}
+ // Collect inline `type: package` repositories. These don't require any
+ // network fetch; they go straight into the pool and are also tracked by
+ // name so the Packagist seed/transitive loops below skip them.
+ let inline_packages = crate::inline_package::collect_inline_packages(&request.repositories);
+ let mut inline_package_names: HashSet<String> = HashSet::new();
+ for ipkg in &inline_packages {
+ inline_package_names.insert(ipkg.name.clone());
+ let inputs = packagist_to_pool_inputs(
+ &ipkg.name,
+ &ipkg.version,
+ request.minimum_stability,
+ &request.stability_flags,
+ );
+ for input in inputs {
+ builder.add_package(input);
+ }
+ }
+
// Seed the builder with packages for root requirements
for name in root_requires.keys() {
if PackageName(name.clone()).is_platform() {
continue; // platform packages already added
}
- // Skip packages already provided by VCS repositories
- if vcs_package_names.contains(name) {
+ // Skip packages already provided by VCS or inline-package repositories
+ if vcs_package_names.contains(name) || inline_package_names.contains(name) {
continue;
}
@@ -500,8 +518,8 @@ pub async fn resolve(request: &ResolveRequest) -> Result<Vec<ResolvedPackage>, R
continue;
}
- // Skip packages already provided by VCS repositories
- if vcs_package_names.contains(&name) {
+ // Skip packages already provided by VCS or inline-package repositories
+ if vcs_package_names.contains(&name) || inline_package_names.contains(&name) {
continue;
}
diff --git a/crates/mozart-registry/src/vcs_bridge.rs b/crates/mozart-registry/src/vcs_bridge.rs
index 78aaaa5..be61845 100644
--- a/crates/mozart-registry/src/vcs_bridge.rs
+++ b/crates/mozart-registry/src/vcs_bridge.rs
@@ -32,14 +32,20 @@ pub async fn scan_vcs_repositories(repositories: &[RawRepository]) -> Vec<VcsPac
other => Some(other),
};
- let vcs_repo = VcsRepository::new(repo.url.clone(), forced_type, config.clone());
+ // VCS repositories require `url`; skip silently if missing (Composer
+ // would reject this earlier in RepositoryFactory).
+ let Some(url) = repo.url.clone() else {
+ continue;
+ };
+
+ let vcs_repo = VcsRepository::new(url.clone(), forced_type, config.clone());
match vcs_repo.scan().await {
Ok(versions) => {
all_versions.extend(versions);
}
Err(e) => {
- eprintln!("Warning: Failed to scan VCS repository {}: {}", repo.url, e,);
+ eprintln!("Warning: Failed to scan VCS repository {url}: {e}");
}
}
}
diff --git a/crates/mozart/src/commands/init.rs b/crates/mozart/src/commands/init.rs
index 25600f7..49176ab 100644
--- a/crates/mozart/src/commands/init.rs
+++ b/crates/mozart/src/commands/init.rs
@@ -700,12 +700,17 @@ fn parse_repositories(repos: &[String]) -> anyhow::Result<Vec<RawRepository>> {
.as_str()
.ok_or_else(|| anyhow::anyhow!("Repository JSON must contain a 'url' field"))?
.to_string();
- result.push(RawRepository { repo_type, url });
+ result.push(RawRepository {
+ repo_type,
+ url: Some(url),
+ package: None,
+ });
} else {
// Plain URL
result.push(RawRepository {
repo_type: "vcs".to_string(),
- url: repo.clone(),
+ url: Some(repo.clone()),
+ package: None,
});
}
}
diff --git a/crates/mozart/src/commands/install.rs b/crates/mozart/src/commands/install.rs
index a10dd69..1cc4e6f 100644
--- a/crates/mozart/src/commands/install.rs
+++ b/crates/mozart/src/commands/install.rs
@@ -608,18 +608,22 @@ pub async fn install_from_lock(
continue;
}
+ // A package with neither dist nor source has no install action.
+ // This covers Composer's `type: metapackage` (modeled explicitly
+ // as "no installer") and inline `type: package` definitions used
+ // in test fixtures that intentionally omit download metadata.
+ // Mozart records the operation and the installed.json entry but
+ // performs no filesystem work, mirroring Composer's
+ // MetapackageInstaller.
+ if pkg.dist.is_none() && pkg.source.is_none() {
+ continue;
+ }
+
let dist = pkg.dist.as_ref().ok_or_else(|| {
- if pkg.source.is_some() {
- anyhow::anyhow!(
- "Package {} has no dist information. Use --prefer-source to install from VCS.",
- pkg.name,
- )
- } else {
- anyhow::anyhow!(
- "Package {} has no dist or source information",
- pkg.name,
- )
- }
+ anyhow::anyhow!(
+ "Package {} has no dist information. Use --prefer-source to install from VCS.",
+ pkg.name,
+ )
})?;
let mut progress = make_progress(!config.no_progress, &pkg.name, &pkg.version);
diff --git a/crates/mozart/tests/installer.rs b/crates/mozart/tests/installer.rs
index 7af07b5..fc13392 100644
--- a/crates/mozart/tests/installer.rs
+++ b/crates/mozart/tests/installer.rs
@@ -66,10 +66,7 @@ macro_rules! installer_fixture {
};
}
-installer_fixture!(
- abandoned_listed,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(abandoned_listed);
installer_fixture!(
alias_in_complex_constraints,
ignore = "mozart binary cannot yet run this fixture"
@@ -78,10 +75,7 @@ installer_fixture!(
alias_in_lock,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- alias_in_lock2,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(alias_in_lock2);
installer_fixture!(
alias_on_unloadable_package,
ignore = "mozart binary cannot yet run this fixture"
@@ -98,14 +92,8 @@ installer_fixture!(
alias_with_reference,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- aliased_priority,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- aliased_priority_conflicting,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(aliased_priority);
+installer_fixture!(aliased_priority_conflicting);
installer_fixture!(
aliases_with_require_dev,
ignore = "mozart binary cannot yet run this fixture"
@@ -122,18 +110,9 @@ installer_fixture!(
circular_dependency2,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- circular_dependency_errors,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- conflict_against_provided_by_dep_package_works,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- conflict_against_provided_package_works,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(circular_dependency_errors);
+installer_fixture!(conflict_against_provided_by_dep_package_works);
+installer_fixture!(conflict_against_provided_package_works);
installer_fixture!(
conflict_against_replaced_by_dep_package_problem,
ignore = "mozart binary cannot yet run this fixture"
@@ -142,22 +121,10 @@ installer_fixture!(
conflict_against_replaced_package_problem,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- conflict_between_dependents,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- conflict_between_root_and_dependent,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- conflict_downgrade,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- conflict_downgrade_nested,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(conflict_between_dependents);
+installer_fixture!(conflict_between_root_and_dependent);
+installer_fixture!(conflict_downgrade);
+installer_fixture!(conflict_downgrade_nested);
installer_fixture!(
conflict_on_root_with_alias_prevents_update_if_not_required,
ignore = "mozart binary cannot yet run this fixture"
@@ -166,10 +133,7 @@ installer_fixture!(
conflict_with_alias_in_lock_does_prevents_install,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- conflict_with_alias_prevents_update,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(conflict_with_alias_prevents_update);
installer_fixture!(
conflict_with_alias_prevents_update_if_not_required,
ignore = "mozart binary cannot yet run this fixture"
@@ -178,38 +142,20 @@ installer_fixture!(
conflict_with_all_dependencies_option_dont_recommend_to_use_it,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- deduplicate_solver_problems,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- disjunctive_multi_constraints,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(deduplicate_solver_problems);
+installer_fixture!(disjunctive_multi_constraints);
installer_fixture!(
full_update_minimal_changes,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- github_issues_4319,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- github_issues_4795,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- github_issues_4795_2,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(github_issues_4319);
+installer_fixture!(github_issues_4795);
+installer_fixture!(github_issues_4795_2);
installer_fixture!(
github_issues_7051,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- github_issues_8902,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(github_issues_8902);
installer_fixture!(
github_issues_8903,
ignore = "mozart binary cannot yet run this fixture"
@@ -226,51 +172,24 @@ installer_fixture!(
hint_main_rename,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- install_aliased_alias,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(install_aliased_alias);
installer_fixture!(
install_branch_alias_composer_repo,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- install_dev,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- install_dev_using_dist,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(install_dev);
+installer_fixture!(install_dev_using_dist);
installer_fixture!(install_forces_reinstall_if_abandon_changes);
-installer_fixture!(
- install_from_incomplete_lock,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(install_from_incomplete_lock);
installer_fixture!(
install_from_incomplete_lock_with_ignore,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- install_from_lock_removes_package,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- install_funding_notice,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- install_funding_notice_env,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- install_funding_notice_not_displayed_env,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- install_ignore_platform_package_requirement_list,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(install_from_lock_removes_package);
+installer_fixture!(install_funding_notice);
+installer_fixture!(install_funding_notice_env);
+installer_fixture!(install_funding_notice_not_displayed_env);
+installer_fixture!(install_ignore_platform_package_requirement_list);
installer_fixture!(
install_ignore_platform_package_requirement_wildcard,
ignore = "mozart binary cannot yet run this fixture"
@@ -287,31 +206,16 @@ installer_fixture!(
install_overridden_platform_packages,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- install_package_and_its_provider_skips_original,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- install_prefers_repos_over_package_versions,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- install_reference,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(install_package_and_its_provider_skips_original);
+installer_fixture!(install_prefers_repos_over_package_versions);
+installer_fixture!(install_reference);
installer_fixture!(
install_security_advisory_matching_dependency,
ignore = "mozart binary cannot yet run this fixture"
);
installer_fixture!(install_self_from_root);
-installer_fixture!(
- install_simple,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- install_without_lock,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(install_simple);
+installer_fixture!(install_without_lock);
installer_fixture!(
load_replaced_package_if_replacer_dropped,
ignore = "mozart binary cannot yet run this fixture"
@@ -326,22 +230,13 @@ installer_fixture!(
partial_update_downgrades_non_allow_listed_unstable,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- partial_update_forces_dev_reference_from_lock_for_non_updated_packages,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(partial_update_forces_dev_reference_from_lock_for_non_updated_packages);
installer_fixture!(
partial_update_from_lock,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- partial_update_from_lock_with_root_alias,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- partial_update_installs_from_lock_even_missing,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(partial_update_from_lock_with_root_alias);
+installer_fixture!(partial_update_installs_from_lock_even_missing);
installer_fixture!(
partial_update_keeps_older_dep_if_still_required,
ignore = "mozart binary cannot yet run this fixture"
@@ -374,42 +269,18 @@ installer_fixture!(
partial_update_with_deps_warns_root,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- partial_update_with_symlinked_path_repos,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- partial_update_without_lock,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- platform_ext_solver_problems,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- plugins_are_installed_first,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- prefer_lowest_branches,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- problems_reduce_versions,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- provider_can_coexist_with_other_version_of_provided,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(partial_update_with_symlinked_path_repos);
+installer_fixture!(partial_update_without_lock);
+installer_fixture!(platform_ext_solver_problems);
+installer_fixture!(plugins_are_installed_first);
+installer_fixture!(prefer_lowest_branches);
+installer_fixture!(problems_reduce_versions);
+installer_fixture!(provider_can_coexist_with_other_version_of_provided);
installer_fixture!(
provider_conflicts,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- provider_conflicts2,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(provider_conflicts2);
installer_fixture!(
provider_conflicts3,
ignore = "mozart binary cannot yet run this fixture"
@@ -418,22 +289,13 @@ installer_fixture!(
provider_dev_require_can_satisfy_require,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- provider_gets_picked_together_with_other_version_of_provided,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(provider_gets_picked_together_with_other_version_of_provided);
installer_fixture!(
provider_gets_picked_together_with_other_version_of_provided_conflict,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- provider_gets_picked_together_with_other_version_of_provided_indirect,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- provider_packages_can_be_installed_if_selected,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(provider_gets_picked_together_with_other_version_of_provided_indirect);
+installer_fixture!(provider_packages_can_be_installed_if_selected);
installer_fixture!(
provider_packages_can_be_installed_together_with_provided_if_both_installable,
ignore = "mozart binary cannot yet run this fixture"
@@ -442,10 +304,7 @@ installer_fixture!(
provider_packages_can_not_be_installed_unless_selected,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- provider_satisfies_its_own_requirement,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(provider_satisfies_its_own_requirement);
installer_fixture!(
remove_deletes_unused_deps,
ignore = "mozart binary cannot yet run this fixture"
@@ -458,18 +317,9 @@ installer_fixture!(
replace_alias,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- replace_priorities,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- replace_range_require_single_version,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- replace_root_require,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(replace_priorities);
+installer_fixture!(replace_range_require_single_version);
+installer_fixture!(replace_root_require);
installer_fixture!(
replaced_packages_should_not_be_installed,
ignore = "mozart binary cannot yet run this fixture"
@@ -478,22 +328,13 @@ installer_fixture!(
replaced_packages_should_not_be_installed_when_installing_from_lock,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- replacer_satisfies_its_own_requirement,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(replacer_satisfies_its_own_requirement);
installer_fixture!(
repositories_priorities,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- repositories_priorities2,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- repositories_priorities3,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(repositories_priorities2);
+installer_fixture!(repositories_priorities3);
installer_fixture!(
repositories_priorities4,
ignore = "mozart binary cannot yet run this fixture"
@@ -506,54 +347,24 @@ installer_fixture!(
root_alias_change_with_circular_dep,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- root_alias_gets_loaded_for_locked_pkgs,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- root_requirements_do_not_affect_locked_versions,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(root_alias_gets_loaded_for_locked_pkgs);
+installer_fixture!(root_requirements_do_not_affect_locked_versions);
installer_fixture!(
solver_problem_with_hash_in_branch,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- solver_problems,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- solver_problems_with_disabled_platform,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- suggest_installed,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- suggest_prod,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- suggest_prod_nolock,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- suggest_replaced,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- suggest_uninstalled,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(solver_problems);
+installer_fixture!(solver_problems_with_disabled_platform);
+installer_fixture!(suggest_installed);
+installer_fixture!(suggest_prod);
+installer_fixture!(suggest_prod_nolock);
+installer_fixture!(suggest_replaced);
+installer_fixture!(suggest_uninstalled);
installer_fixture!(
unbounded_conflict_does_not_match_default_branch_with_branch_alias,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- unbounded_conflict_does_not_match_default_branch_with_numeric_branch,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(unbounded_conflict_does_not_match_default_branch_with_numeric_branch);
installer_fixture!(
unbounded_conflict_matches_default_branch,
ignore = "mozart binary cannot yet run this fixture"
@@ -562,26 +373,11 @@ installer_fixture!(
update_abandoned_package_required_but_blocked_via_audit_config,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- update_alias,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_alias_lock,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_alias_lock2,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_all,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_all_dry_run,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(update_alias);
+installer_fixture!(update_alias_lock);
+installer_fixture!(update_alias_lock2);
+installer_fixture!(update_all);
+installer_fixture!(update_all_dry_run);
installer_fixture!(
update_allow_list,
ignore = "mozart binary cannot yet run this fixture"
@@ -594,10 +390,7 @@ installer_fixture!(
update_allow_list_minimal_changes,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- update_allow_list_patterns,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(update_allow_list_patterns);
installer_fixture!(
update_allow_list_patterns_with_all_dependencies,
ignore = "mozart binary cannot yet run this fixture"
@@ -618,10 +411,7 @@ installer_fixture!(
update_allow_list_reads_lock,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- update_allow_list_removes_unused,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(update_allow_list_removes_unused);
installer_fixture!(
update_allow_list_require_new_replace,
ignore = "mozart binary cannot yet run this fixture"
@@ -662,30 +452,15 @@ installer_fixture!(
update_changes_url,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- update_dev_ignores_providers,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_dev_packages_updates_repo_url,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_dev_to_new_ref_picks_up_changes,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(update_dev_ignores_providers);
+installer_fixture!(update_dev_packages_updates_repo_url);
+installer_fixture!(update_dev_to_new_ref_picks_up_changes);
installer_fixture!(
update_downgrades_unstable_packages,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- update_ignore_platform_package_requirement_list,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_ignore_platform_package_requirement_list_upper_bounds,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(update_ignore_platform_package_requirement_list);
+installer_fixture!(update_ignore_platform_package_requirement_list_upper_bounds);
installer_fixture!(
update_ignore_platform_package_requirement_wildcard,
ignore = "mozart binary cannot yet run this fixture"
@@ -694,78 +469,27 @@ installer_fixture!(
update_ignore_platform_package_requirements,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- update_installed_alias,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_installed_alias_dry_run,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_installed_reference,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_installed_reference_dry_run,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_mirrors_changes_url,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_mirrors_fails_with_new_req,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_no_dev_still_resolves_dev,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_no_install,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_package_present_in_lock_but_not_at_all_in_remote,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_package_present_in_lock_but_not_in_remote,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_package_present_in_lock_but_not_in_remote_due_to_min_stability,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(update_installed_alias);
+installer_fixture!(update_installed_alias_dry_run);
+installer_fixture!(update_installed_reference);
+installer_fixture!(update_installed_reference_dry_run);
+installer_fixture!(update_mirrors_changes_url);
+installer_fixture!(update_mirrors_fails_with_new_req);
+installer_fixture!(update_no_dev_still_resolves_dev);
+installer_fixture!(update_no_install);
+installer_fixture!(update_package_present_in_lock_but_not_at_all_in_remote);
+installer_fixture!(update_package_present_in_lock_but_not_in_remote);
+installer_fixture!(update_package_present_in_lock_but_not_in_remote_due_to_min_stability);
installer_fixture!(
update_package_present_in_lower_repo_prio_but_not_main_due_to_min_stability,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- update_picks_up_change_of_vcs_type,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_prefer_lowest_stable,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_reference,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_reference_picks_latest,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_removes_unused_locked_dep,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_requiring_decision_reverts_and_learning_positive_literals,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(update_picks_up_change_of_vcs_type);
+installer_fixture!(update_prefer_lowest_stable);
+installer_fixture!(update_reference);
+installer_fixture!(update_reference_picks_latest);
+installer_fixture!(update_removes_unused_locked_dep);
+installer_fixture!(update_requiring_decision_reverts_and_learning_positive_literals);
installer_fixture!(
update_security_advisory_matching_direct_dependency,
ignore = "mozart binary cannot yet run this fixture"
@@ -774,22 +498,10 @@ installer_fixture!(
update_security_advisory_matching_indirect_dependency,
ignore = "mozart binary cannot yet run this fixture"
);
-installer_fixture!(
- update_syncs_outdated,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(update_syncs_outdated);
installer_fixture!(update_to_empty_from_blank);
installer_fixture!(update_to_empty_from_locked);
-installer_fixture!(
- update_with_all_dependencies,
- ignore = "mozart binary cannot yet run this fixture"
-);
-installer_fixture!(
- update_without_lock,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(update_with_all_dependencies);
+installer_fixture!(update_without_lock);
installer_fixture!(updating_dev_from_lock_removes_old_deps);
-installer_fixture!(
- updating_dev_updates_url_and_reference,
- ignore = "mozart binary cannot yet run this fixture"
-);
+installer_fixture!(updating_dev_updates_url_and_reference);