2017-10-04 4 views
8

stack new crée généralement un fichier Setup.hs par défaut. Je l'ai supprimé d'un projet et il se construit encore pour n'importe quel lts résolveur jusqu'à lts-2. Il passe également cabal check au moins pour cabal version 1.24. Puis-je déduire de ce résultat que l'inclusion d'un Setup.hs par défaut dans un projet n'est plus à la mode et que je peux la supprimer? En particulier, de nombreux utilisateurs potentiels seront-ils détournés de l'installation du paquet si celui-ci ne passe pas cabal check pour cabal1.22?Est-ce que les utilisateurs seront détournés d'un paquet s'il ne passe pas `cabal check` pour` cabal` `1.22` en raison de l'absence de` Setup.hs`?

P.S. Cette question est plus spécifique que the other, similar one en ce que je veux savoir, en particulier, si le paquet ne passant pas cabal check pour une certaine version de cabal en raison de l'absence d'un Setup.hs sinon inutile sera compté contre ce paquet dans certaines situations, et si il Il y a d'autres inconvénients à ne pas avoir un Setup.hs dans un projet, compte tenu de l'état actuel de l'écosystème Haskell. Si un Setup.hs est nécessaire ou utile globalement n'est pas une question ici.

+2

En effet, je ne vois pas l'intérêt d'avoir un 'Setup.hs' quand il n'est que celui par défaut de toute façon (comme il est, comme ...? Probablement 99% de tous les projets). – leftaroundabout

Répondre

1

Si vous exécutez cabal sdist sur un projet sans fichier Setup.hs, cabal en crée un pour vous - essayez-le! En tant que tel, il n'y a aucun intérêt à supprimer le fichier, car il sera simplement régénéré lorsque vous empaquetez pour la distribution de toute façon.

+0

Le but est de supprimer le fouillis. Par exemple, si j'ai un 'package.yaml'' hpack' ajouté au contrôle de version, je n'ajouterais pas 'example.cabal' au contrôle de version, mais plutôt à une liste d'ignorés, car, quand quelqu'un construit le paquet avec 'stack', il sera régénéré sous le capot. Tant que 'Setup.hs' peut être régénéré, je ferai de même pour cela. Je rapporterai plus loin comme je l'ai fonctionné. –