Skip to content

Commit 2752672

Browse files
authored
Merge pull request #524 from well-typed/unused-dependencies
Update ci: check for unused dependencies
2 parents 2ad0fe1 + c42708b commit 2752672

3 files changed

Lines changed: 47 additions & 16 deletions

File tree

.github/workflows/haskell-ci.yml

Lines changed: 47 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
#
99
# For more information, see https://github.com/haskell-CI/haskell-ci
1010
#
11-
# version: 0.19.20250630
11+
# version: 0.19.20250710
1212
#
13-
# REGENDATA ("0.19.20250630",["github","--config=cabal.haskell-ci","cabal.project"])
13+
# REGENDATA ("0.19.20250710",["github","--config=cabal.haskell-ci","cabal.project"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -254,23 +254,59 @@ jobs:
254254
echo "packages: ${PKGDIR_metametapost}" >> cabal.project
255255
if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER < 91200)) -ne 0 ] ; then echo "packages: ${PKGDIR_template_haskell_optics}" >> cabal.project ; fi
256256
echo "package optics" >> cabal.project
257-
echo " ghc-options: -Werror=missing-methods" >> cabal.project
257+
echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project
258258
echo "package optics-core" >> cabal.project
259-
echo " ghc-options: -Werror=missing-methods" >> cabal.project
259+
echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project
260260
echo "package optics-extra" >> cabal.project
261-
echo " ghc-options: -Werror=missing-methods" >> cabal.project
261+
echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project
262262
echo "package optics-sop" >> cabal.project
263-
echo " ghc-options: -Werror=missing-methods" >> cabal.project
263+
echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project
264264
echo "package optics-th" >> cabal.project
265-
echo " ghc-options: -Werror=missing-methods" >> cabal.project
265+
echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project
266266
echo "package optics-vl" >> cabal.project
267-
echo " ghc-options: -Werror=missing-methods" >> cabal.project
267+
echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project
268268
echo "package indexed-profunctors" >> cabal.project
269-
echo " ghc-options: -Werror=missing-methods" >> cabal.project
269+
echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project
270270
echo "package metametapost" >> cabal.project
271-
echo " ghc-options: -Werror=missing-methods" >> cabal.project
271+
echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project
272272
if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER < 91200)) -ne 0 ] ; then echo "package template-haskell-optics" >> cabal.project ; fi
273-
if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER < 91200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
273+
if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER < 91200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project ; fi
274+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo "package optics" >> cabal.project ; fi
275+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo " ghc-options: -Werror=unused-packages" >> cabal.project ; fi
276+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo "package optics-core" >> cabal.project ; fi
277+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo " ghc-options: -Werror=unused-packages" >> cabal.project ; fi
278+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo "package optics-extra" >> cabal.project ; fi
279+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo " ghc-options: -Werror=unused-packages" >> cabal.project ; fi
280+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo "package optics-sop" >> cabal.project ; fi
281+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo " ghc-options: -Werror=unused-packages" >> cabal.project ; fi
282+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo "package optics-th" >> cabal.project ; fi
283+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo " ghc-options: -Werror=unused-packages" >> cabal.project ; fi
284+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo "package optics-vl" >> cabal.project ; fi
285+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo " ghc-options: -Werror=unused-packages" >> cabal.project ; fi
286+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo "package indexed-profunctors" >> cabal.project ; fi
287+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo " ghc-options: -Werror=unused-packages" >> cabal.project ; fi
288+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo "package metametapost" >> cabal.project ; fi
289+
if [ $((! GHCJSARITH && HCNUMVER >= 90400)) -ne 0 ] ; then echo " ghc-options: -Werror=unused-packages" >> cabal.project ; fi
290+
if [ $((! GHCJSARITH && HCNUMVER >= 90400 && HCNUMVER < 91200)) -ne 0 ] ; then echo "package template-haskell-optics" >> cabal.project ; fi
291+
if [ $((! GHCJSARITH && HCNUMVER >= 90400 && HCNUMVER < 91200)) -ne 0 ] ; then echo " ghc-options: -Werror=unused-packages" >> cabal.project ; fi
292+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo "package optics" >> cabal.project ; fi
293+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project ; fi
294+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo "package optics-core" >> cabal.project ; fi
295+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project ; fi
296+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo "package optics-extra" >> cabal.project ; fi
297+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project ; fi
298+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo "package optics-sop" >> cabal.project ; fi
299+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project ; fi
300+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo "package optics-th" >> cabal.project ; fi
301+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project ; fi
302+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo "package optics-vl" >> cabal.project ; fi
303+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project ; fi
304+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo "package indexed-profunctors" >> cabal.project ; fi
305+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project ; fi
306+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo "package metametapost" >> cabal.project ; fi
307+
if [ $((! GHCJSARITH && HCNUMVER >= 90000)) -ne 0 ] ; then echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project ; fi
308+
if [ $((! GHCJSARITH && HCNUMVER >= 90000 && HCNUMVER < 91200)) -ne 0 ] ; then echo "package template-haskell-optics" >> cabal.project ; fi
309+
if [ $((! GHCJSARITH && HCNUMVER >= 90000 && HCNUMVER < 91200)) -ne 0 ] ; then echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project ; fi
274310
cat >> cabal.project <<EOF
275311
EOF
276312
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(indexed-profunctors|metametapost|optics|optics-core|optics-extra|optics-sop|optics-th|optics-vl|template-haskell-optics)$/; }' >> cabal.project.local

optics-extra/optics-extra.cabal

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ library
6464
hs-source-dirs: src
6565

6666
build-depends: base >= 4.10 && <5
67-
, array >= 0.5.2.0 && <0.6
6867
, bytestring >= 0.10.8 && <0.13
6968
, containers >= 0.5.10.2 && <0.8
7069
, hashable >= 1.1.1 && <1.6

optics/optics.cabal

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,9 @@ library
6868
hs-source-dirs: src
6969

7070
build-depends: base >= 4.10 && <5
71-
, array >= 0.5.2.0 && <0.6
72-
, containers >= 0.5.10.2 && <0.8
73-
, mtl >= 2.2.2 && <2.4
7471
, optics-core >= 0.4.1 && <0.4.2
7572
, optics-extra >= 0.4.2 && <0.4.3
7673
, optics-th >= 0.4.1 && <0.4.2
77-
, transformers >= 0.5 && <0.7
7874

7975
-- main module to land with repl
8076
exposed-modules: Optics

0 commit comments

Comments
 (0)