mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-01-23 12:41:58 +01:00
commenter outdated: Strip out boot libs and remove some noise
This commit is contained in:
parent
87945046e6
commit
7dc339f0ae
@ -32,7 +32,6 @@ enum VersionTag {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl VersionTag {
|
impl VersionTag {
|
||||||
|
|
||||||
fn tag(&self) -> &'static str {
|
fn tag(&self) -> &'static str {
|
||||||
match self {
|
match self {
|
||||||
VersionTag::Manual(_) => "manual",
|
VersionTag::Manual(_) => "manual",
|
||||||
@ -77,6 +76,9 @@ pub fn outdated() {
|
|||||||
let mut i = 0;
|
let mut i = 0;
|
||||||
|
|
||||||
for (package, version) in map {
|
for (package, version) in map {
|
||||||
|
if is_boot(&package) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if i % 100 == 0 {
|
if i % 100 == 0 {
|
||||||
println!("{:02}%", ((i as f64 / entries as f64) * 100.0).floor());
|
println!("{:02}%", ((i as f64 / entries as f64) * 100.0).floor());
|
||||||
}
|
}
|
||||||
@ -85,33 +87,71 @@ pub fn outdated() {
|
|||||||
if version.version() != latest {
|
if version.version() != latest {
|
||||||
println!(
|
println!(
|
||||||
"{} mismatch, {}: {}, hackage: {}",
|
"{} mismatch, {}: {}, hackage: {}",
|
||||||
package, version.tag(), version.version(), latest
|
package,
|
||||||
|
version.tag(),
|
||||||
|
version.version(),
|
||||||
|
latest
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for ((package, version), dependents) in support {
|
for ((package, version), dependents) in support {
|
||||||
|
if is_boot(&package) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if i % 100 == 0 {
|
if i % 100 == 0 {
|
||||||
println!("{:02}%", ((i as f64 / entries as f64) * 100.0).floor());
|
println!("{:02}%", ((i as f64 / entries as f64) * 100.0).floor());
|
||||||
}
|
}
|
||||||
i += 1;
|
i += 1;
|
||||||
let latest = latest_version(&package);
|
let latest = latest_version(&package);
|
||||||
if version != latest {
|
if version != latest {
|
||||||
|
let max = 3;
|
||||||
|
let dependents_stripped = dependents.len().checked_sub(max).unwrap_or(0);
|
||||||
|
let dependents = dependents
|
||||||
|
.into_iter()
|
||||||
|
.take(max)
|
||||||
|
.map(|(p, v)| format!("{}-{}", p, v))
|
||||||
|
.collect::<Vec<String>>()
|
||||||
|
.join(", ");
|
||||||
|
let dependents = if dependents_stripped > 0 {
|
||||||
|
format!("{} and {} more", dependents, dependents_stripped)
|
||||||
|
} else {
|
||||||
|
dependents
|
||||||
|
};
|
||||||
|
|
||||||
println!(
|
println!(
|
||||||
"{} mismatch, snapshot: {}, hackage: {}, dependents: {}",
|
"{} mismatch, snapshot: {}, hackage: {}, dependents: {}",
|
||||||
package,
|
package, version, latest, dependents,
|
||||||
version,
|
|
||||||
latest,
|
|
||||||
dependents
|
|
||||||
.into_iter()
|
|
||||||
.map(|(p, v)| format!("{}-{}", p, v))
|
|
||||||
.collect::<Vec<String>>()
|
|
||||||
.join(", "),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn is_boot(package: &str) -> bool {
|
||||||
|
[
|
||||||
|
"Cabal",
|
||||||
|
"base",
|
||||||
|
"bytestring",
|
||||||
|
"containers",
|
||||||
|
"containers",
|
||||||
|
"directory",
|
||||||
|
"filepath",
|
||||||
|
"deepseq",
|
||||||
|
"ghc",
|
||||||
|
"ghc-boot",
|
||||||
|
"ghc-boot-th",
|
||||||
|
"ghc-prim",
|
||||||
|
"integer-gmp",
|
||||||
|
"process",
|
||||||
|
"stm",
|
||||||
|
"template-haskell",
|
||||||
|
"text",
|
||||||
|
"time",
|
||||||
|
]
|
||||||
|
.contains(&package)
|
||||||
|
}
|
||||||
|
|
||||||
fn latest_version(pkg: &str) -> String {
|
fn latest_version(pkg: &str) -> String {
|
||||||
String::from_utf8(
|
String::from_utf8(
|
||||||
Command::new("latest-version")
|
Command::new("latest-version")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user