mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-04 19:08:04 +00:00
Remove dev dependencies in --all-groups --no-dev
(#9300)
## Summary Closes https://github.com/astral-sh/uv/issues/9297.
This commit is contained in:
parent
98c96b718f
commit
c6482dd038
2 changed files with 99 additions and 16 deletions
|
@ -267,11 +267,32 @@ impl DevGroupsSpecification {
|
|||
|
||||
/// Returns `true` if the group is included in the specification.
|
||||
pub fn contains(&self, group: &GroupName) -> bool {
|
||||
self.dev.as_ref().map_or(false, |dev| dev.contains(group))
|
||||
|| self
|
||||
.groups
|
||||
.as_ref()
|
||||
.map_or(false, |groups| groups.contains(group))
|
||||
if group == &*DEV_DEPENDENCIES {
|
||||
match self.dev.as_ref() {
|
||||
None => {}
|
||||
Some(DevMode::Exclude) => {
|
||||
// If `--no-dev` was provided, always exclude dev.
|
||||
return false;
|
||||
}
|
||||
Some(DevMode::Only) => {
|
||||
// If `--only-dev` was provided, always include dev.
|
||||
return true;
|
||||
}
|
||||
Some(DevMode::Include) => {
|
||||
// If `--no-group dev` was provided, exclude dev.
|
||||
return match self.groups.as_ref() {
|
||||
Some(GroupsSpecification::Include { exclude, .. }) => {
|
||||
!exclude.contains(group)
|
||||
}
|
||||
_ => true,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
self.groups
|
||||
.as_ref()
|
||||
.map_or(false, |groups| groups.contains(group))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1212,7 +1212,10 @@ fn sync_group() -> Result<()> {
|
|||
requires-python = ">=3.12"
|
||||
dependencies = ["typing-extensions"]
|
||||
|
||||
[tool.uv]
|
||||
|
||||
[dependency-groups]
|
||||
dev = ["iniconfig"]
|
||||
foo = ["anyio"]
|
||||
bar = ["requests"]
|
||||
"#,
|
||||
|
@ -1226,9 +1229,10 @@ fn sync_group() -> Result<()> {
|
|||
----- stdout -----
|
||||
|
||||
----- stderr -----
|
||||
Resolved 9 packages in [TIME]
|
||||
Prepared 1 package in [TIME]
|
||||
Installed 1 package in [TIME]
|
||||
Resolved 10 packages in [TIME]
|
||||
Prepared 2 packages in [TIME]
|
||||
Installed 2 packages in [TIME]
|
||||
+ iniconfig==2.0.0
|
||||
+ typing-extensions==4.10.0
|
||||
"###);
|
||||
|
||||
|
@ -1238,7 +1242,7 @@ fn sync_group() -> Result<()> {
|
|||
----- stdout -----
|
||||
|
||||
----- stderr -----
|
||||
Resolved 9 packages in [TIME]
|
||||
Resolved 10 packages in [TIME]
|
||||
Prepared 3 packages in [TIME]
|
||||
Installed 3 packages in [TIME]
|
||||
+ anyio==4.3.0
|
||||
|
@ -1252,13 +1256,14 @@ fn sync_group() -> Result<()> {
|
|||
----- stdout -----
|
||||
|
||||
----- stderr -----
|
||||
Resolved 9 packages in [TIME]
|
||||
Resolved 10 packages in [TIME]
|
||||
Prepared 4 packages in [TIME]
|
||||
Uninstalled 3 packages in [TIME]
|
||||
Uninstalled 4 packages in [TIME]
|
||||
Installed 4 packages in [TIME]
|
||||
- anyio==4.3.0
|
||||
+ certifi==2024.2.2
|
||||
+ charset-normalizer==3.3.2
|
||||
- iniconfig==2.0.0
|
||||
+ requests==2.31.0
|
||||
- sniffio==1.3.1
|
||||
- typing-extensions==4.10.0
|
||||
|
@ -1271,9 +1276,10 @@ fn sync_group() -> Result<()> {
|
|||
----- stdout -----
|
||||
|
||||
----- stderr -----
|
||||
Resolved 9 packages in [TIME]
|
||||
Installed 3 packages in [TIME]
|
||||
Resolved 10 packages in [TIME]
|
||||
Installed 4 packages in [TIME]
|
||||
+ anyio==4.3.0
|
||||
+ iniconfig==2.0.0
|
||||
+ sniffio==1.3.1
|
||||
+ typing-extensions==4.10.0
|
||||
"###);
|
||||
|
@ -1284,8 +1290,8 @@ fn sync_group() -> Result<()> {
|
|||
----- stdout -----
|
||||
|
||||
----- stderr -----
|
||||
Resolved 9 packages in [TIME]
|
||||
Audited 8 packages in [TIME]
|
||||
Resolved 10 packages in [TIME]
|
||||
Audited 9 packages in [TIME]
|
||||
"###);
|
||||
|
||||
uv_snapshot!(context.filters(), context.sync().arg("--all-groups").arg("--no-group").arg("bar"), @r###"
|
||||
|
@ -1294,7 +1300,7 @@ fn sync_group() -> Result<()> {
|
|||
----- stdout -----
|
||||
|
||||
----- stderr -----
|
||||
Resolved 9 packages in [TIME]
|
||||
Resolved 10 packages in [TIME]
|
||||
Uninstalled 4 packages in [TIME]
|
||||
- certifi==2024.2.2
|
||||
- charset-normalizer==3.3.2
|
||||
|
@ -1302,6 +1308,62 @@ fn sync_group() -> Result<()> {
|
|||
- urllib3==2.2.1
|
||||
"###);
|
||||
|
||||
uv_snapshot!(context.filters(), context.sync().arg("--all-groups").arg("--no-dev"), @r###"
|
||||
success: true
|
||||
exit_code: 0
|
||||
----- stdout -----
|
||||
|
||||
----- stderr -----
|
||||
Resolved 10 packages in [TIME]
|
||||
Uninstalled 1 package in [TIME]
|
||||
Installed 4 packages in [TIME]
|
||||
+ certifi==2024.2.2
|
||||
+ charset-normalizer==3.3.2
|
||||
- iniconfig==2.0.0
|
||||
+ requests==2.31.0
|
||||
+ urllib3==2.2.1
|
||||
"###);
|
||||
|
||||
uv_snapshot!(context.filters(), context.sync().arg("--dev"), @r###"
|
||||
success: true
|
||||
exit_code: 0
|
||||
----- stdout -----
|
||||
|
||||
----- stderr -----
|
||||
Resolved 10 packages in [TIME]
|
||||
Uninstalled 7 packages in [TIME]
|
||||
Installed 1 package in [TIME]
|
||||
- anyio==4.3.0
|
||||
- certifi==2024.2.2
|
||||
- charset-normalizer==3.3.2
|
||||
- idna==3.6
|
||||
+ iniconfig==2.0.0
|
||||
- requests==2.31.0
|
||||
- sniffio==1.3.1
|
||||
- urllib3==2.2.1
|
||||
"###);
|
||||
|
||||
uv_snapshot!(context.filters(), context.sync().arg("--dev").arg("--no-group").arg("dev"), @r###"
|
||||
success: true
|
||||
exit_code: 0
|
||||
----- stdout -----
|
||||
|
||||
----- stderr -----
|
||||
Resolved 10 packages in [TIME]
|
||||
Uninstalled 1 package in [TIME]
|
||||
- iniconfig==2.0.0
|
||||
"###);
|
||||
|
||||
uv_snapshot!(context.filters(), context.sync().arg("--group").arg("dev").arg("--no-dev"), @r###"
|
||||
success: true
|
||||
exit_code: 0
|
||||
----- stdout -----
|
||||
|
||||
----- stderr -----
|
||||
Resolved 10 packages in [TIME]
|
||||
Audited 1 package in [TIME]
|
||||
"###);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue