Skip to content

Commit dc3053d

Browse files
committed
wip
1 parent 2dd024f commit dc3053d

File tree

1 file changed

+89
-85
lines changed

1 file changed

+89
-85
lines changed

src/lib.rs

+89-85
Original file line numberDiff line numberDiff line change
@@ -74,57 +74,58 @@ pub fn fetch_license_infos(lockfile_or_prefix: LockfileOrPrefix) -> Result<Licen
7474
const IGNORE_PYPI_DEFAULT: bool = false;
7575

7676
fn get_lockfile_or_prefix(
77-
lockfile: Vec<PathBuf>,
78-
prefix: Vec<PathBuf>,
79-
platforms: Option<Vec<Platform>>,
80-
environments: Option<Vec<String>>,
81-
ignore_pypi: Option<bool>,
77+
cli_config: CondaDenyCliConfig,
78+
toml_config: CondaDenyTomlConfig,
8279
) -> Result<LockfileOrPrefix> {
83-
if lockfile.is_empty() && prefix.is_empty() {
84-
// test if pixi.lock exists next to config file, otherwise error
85-
let default_lockfile_path = env::current_dir()?.join("pixi.lock");
86-
if !default_lockfile_path.is_file() {
87-
Err(anyhow::anyhow!("No lockfiles or conda prefixes provided"))
88-
} else {
89-
Ok(LockfileOrPrefix::Lockfile(LockfileSpec {
90-
lockfiles: vec![default_lockfile_path],
91-
platforms,
92-
environments,
93-
ignore_pypi: ignore_pypi.unwrap_or(IGNORE_PYPI_DEFAULT),
94-
}))
95-
}
96-
} else if !lockfile.is_empty() && !prefix.is_empty() {
97-
Err(anyhow::anyhow!(
98-
"Both lockfiles and conda prefixes provided. Please only provide either or."
99-
))
100-
} else if !lockfile.is_empty() {
101-
Ok(LockfileOrPrefix::Lockfile(LockfileSpec {
102-
lockfiles: lockfile.iter().map(|s| s.into()).collect(),
103-
platforms,
104-
environments,
105-
ignore_pypi: ignore_pypi.unwrap_or(IGNORE_PYPI_DEFAULT),
106-
}))
107-
} else {
108-
assert!(!prefix.is_empty());
109-
110-
if platforms.is_some() {
111-
Err(anyhow::anyhow!(
112-
"Cannot specify platforms and conda prefixes at the same time"
113-
))
114-
} else if environments.is_some() {
115-
Err(anyhow::anyhow!(
116-
"Cannot specify environments and conda prefixes at the same time"
117-
))
118-
} else if ignore_pypi.is_some() {
119-
Err(anyhow::anyhow!(
120-
"Cannot specify ignore-pypi and conda prefixes at the same time"
121-
))
122-
} else {
123-
Ok(LockfileOrPrefix::Prefix(
124-
prefix.iter().map(|s| s.into()).collect(),
125-
))
126-
}
127-
}
80+
// cli overrides toml configuration
81+
82+
Ok(LockfileOrPrefix::Prefix(vec!["adwd".into()]))
83+
84+
// if lockfile.is_empty() && prefix.is_empty() {
85+
// // test if pixi.lock exists next to config file, otherwise error
86+
// let default_lockfile_path = env::current_dir()?.join("pixi.lock");
87+
// if !default_lockfile_path.is_file() {
88+
// Err(anyhow::anyhow!("No lockfiles or conda prefixes provided"))
89+
// } else {
90+
// Ok(LockfileOrPrefix::Lockfile(LockfileSpec {
91+
// lockfiles: vec![default_lockfile_path],
92+
// platforms,
93+
// environments,
94+
// ignore_pypi: ignore_pypi.unwrap_or(IGNORE_PYPI_DEFAULT),
95+
// }))
96+
// }
97+
// } else if !lockfile.is_empty() && !prefix.is_empty() {
98+
// Err(anyhow::anyhow!(
99+
// "Both lockfiles and conda prefixes provided. Please only provide either or."
100+
// ))
101+
// } else if !lockfile.is_empty() {
102+
// Ok(LockfileOrPrefix::Lockfile(LockfileSpec {
103+
// lockfiles: lockfile.iter().map(|s| s.into()).collect(),
104+
// platforms,
105+
// environments,
106+
// ignore_pypi: ignore_pypi.unwrap_or(IGNORE_PYPI_DEFAULT),
107+
// }))
108+
// } else {
109+
// assert!(!prefix.is_empty());
110+
111+
// if platforms.is_some() {
112+
// Err(anyhow::anyhow!(
113+
// "Cannot specify platforms and conda prefixes at the same time"
114+
// ))
115+
// } else if environments.is_some() {
116+
// Err(anyhow::anyhow!(
117+
// "Cannot specify environments and conda prefixes at the same time"
118+
// ))
119+
// } else if ignore_pypi.is_some() {
120+
// Err(anyhow::anyhow!(
121+
// "Cannot specify ignore-pypi and conda prefixes at the same time"
122+
// ))
123+
// } else {
124+
// Ok(LockfileOrPrefix::Prefix(
125+
// prefix.iter().map(|s| s.into()).collect(),
126+
// ))
127+
// }
128+
// }
128129
}
129130

130131
pub fn get_config_options(
@@ -168,42 +169,45 @@ pub fn get_config_options(
168169

169170
debug!("Parsed TOML config: {:?}", toml_config);
170171

171-
// cli overrides toml configuration
172-
let lockfile = cli_config
173-
.lockfile()
174-
.unwrap_or(toml_config.get_lockfile_spec());
175-
let prefix = cli_config.prefix().unwrap_or_default();
176-
177-
let platforms = if cli_config.platform().is_some() {
178-
cli_config.platform()
179-
} else {
180-
toml_config.get_platform_spec()
181-
};
182-
if platforms.is_some() && !prefix.is_empty() {
183-
return Err(anyhow::anyhow!(
184-
"Cannot specify platforms and conda prefixes at the same time"
185-
));
186-
}
187-
188-
let environments = if cli_config.environment().is_some() {
189-
cli_config.environment()
190-
} else {
191-
toml_config.get_environment_spec()
192-
};
193-
if environments.is_some() && !prefix.is_empty() {
194-
return Err(anyhow::anyhow!(
195-
"Cannot specify environments and conda prefixes at the same time"
196-
));
197-
}
198-
199-
let ignore_pypi = if cli_config.ignore_pypi().is_some() {
200-
cli_config.ignore_pypi()
201-
} else {
202-
toml_config.get_ignore_pypi()
203-
};
204-
172+
173+
174+
// let lockfile = cli_config
175+
// .lockfile()
176+
// .unwrap_or(toml_config.get_lockfile_spec());
177+
// let prefix = cli_config.prefix().unwrap_or_default();
178+
179+
// let platforms = if cli_config.platform().is_some() {
180+
// cli_config.platform()
181+
// } else {
182+
// toml_config.get_platform_spec()
183+
// };
184+
// if platforms.is_some() && !prefix.is_empty() {
185+
// return Err(anyhow::anyhow!(
186+
// "Cannot specify platforms and conda prefixes at the same time"
187+
// ));
188+
// }
189+
190+
// let environments = if cli_config.environment().is_some() {
191+
// cli_config.environment()
192+
// } else {
193+
// toml_config.get_environment_spec()
194+
// };
195+
// if environments.is_some() && !prefix.is_empty() {
196+
// return Err(anyhow::anyhow!(
197+
// "Cannot specify environments and conda prefixes at the same time"
198+
// ));
199+
// }
200+
201+
// let ignore_pypi = if cli_config.ignore_pypi().is_some() {
202+
// cli_config.ignore_pypi()
203+
// } else {
204+
// toml_config.get_ignore_pypi()
205+
// };
206+
207+
// let lockfile_or_prefix =
208+
// get_lockfile_or_prefix(lockfile, prefix, platforms, environments, ignore_pypi)?;
205209
let lockfile_or_prefix =
206-
get_lockfile_or_prefix(lockfile, prefix, platforms, environments, ignore_pypi)?;
210+
get_lockfile_or_prefix(cli_config, toml_config)?;
207211

208212
let config = match cli_config {
209213
CondaDenyCliConfig::Check {

0 commit comments

Comments
 (0)