on master help sign in
commenter outdated: Strip out boot libs and remove some noise
commit7dc339f0ae28ccb2fa4d353b4eb2af7806d864c3 authorAdam Bergmark <adam@bergmark.nl> dateSun 26 Dec 2021, 22:33 (5 years ago) parent8794504
1 file changed+50−10
etc/commenter/src/lib.rs+50−10
etc/commenter/src/lib.rs+50−10
@@ -32,7 +32,6 @@ enum VersionTag {
3232}
3333
3434impl VersionTag {
35−
3635 fn tag(&self) -> &'static str {
3736 match self {
3837 VersionTag::Manual(_) => "manual",
@@ -77,6 +76,9 @@ pub fn outdated() {
7776 let mut i = 0;
7877
7978 for (package, version) in map {
79+ if is_boot(&package) {
80+ continue;
81+ }
8082 if i % 100 == 0 {
8183 println!("{:02}%", ((i as f64 / entries as f64) * 100.0).floor());
8284 }
@@ -85,33 +87,71 @@ pub fn outdated() {
8587 if version.version() != latest {
8688 println!(
8789 "{} mismatch, {}: {}, hackage: {}",
88− package, version.tag(), version.version(), latest
90+ package,
91+ version.tag(),
92+ version.version(),
93+ latest
8994 );
9095 }
9196 }
9297
9398 for ((package, version), dependents) in support {
99+ if is_boot(&package) {
100+ continue;
101+ }
102+
94103 if i % 100 == 0 {
95104 println!("{:02}%", ((i as f64 / entries as f64) * 100.0).floor());
96105 }
97106 i += 1;
98107 let latest = latest_version(&package);
99108 if version != latest {
109+ let max = 3;
110+ let dependents_stripped = dependents.len().checked_sub(max).unwrap_or(0);
111+ let dependents = dependents
112+ .into_iter()
113+ .take(max)
114+ .map(|(p, v)| format!("{}-{}", p, v))
115+ .collect::<Vec<String>>()
116+ .join(", ");
117+ let dependents = if dependents_stripped > 0 {
118+ format!("{} and {} more", dependents, dependents_stripped)
119+ } else {
120+ dependents
121+ };
122+
100123 println!(
101124 "{} mismatch, snapshot: {}, hackage: {}, dependents: {}",
102− package,
103− version,
104− latest,
105− dependents
106− .into_iter()
107− .map(|(p, v)| format!("{}-{}", p, v))
108− .collect::<Vec<String>>()
109− .join(", "),
125+ package, version, latest, dependents,
110126 );
111127 }
112128 }
113129}
114130
131+fn is_boot(package: &str) -> bool {
132+ [
133+ "Cabal",
134+ "base",
135+ "bytestring",
136+ "containers",
137+ "containers",
138+ "directory",
139+ "filepath",
140+ "deepseq",
141+ "ghc",
142+ "ghc-boot",
143+ "ghc-boot-th",
144+ "ghc-prim",
145+ "integer-gmp",
146+ "process",
147+ "stm",
148+ "template-haskell",
149+ "text",
150+ "time",
151+ ]
152+ .contains(&package)
153+}
154+
115155fn latest_version(pkg: &str) -> String {
116156 String::from_utf8(
117157 Command::new("latest-version")