Setup Hooks: make Location a separate data type
This commit makes Location a separate data type: data Location where Location :: SymbolicPath Pkg (Dir baseDir) -> RelativePath baseDir File -> Location instead of being a type synonym for (FilePath, FilePath). We noted during testing of the Hooks API that it was all too easy to give an incorrect location for rule outputs, e.g. by omitting an extension or using an absolute path. This change allows us to improve the API documentation, as well as clarifying the types to avoid any ambiguities about what kind of file path is expected (FilePath vs SymbolicPath).
Showing
- Cabal-hooks/Cabal-hooks.cabal 0 additions, 1 deletionCabal-hooks/Cabal-hooks.cabal
- Cabal-hooks/src/Distribution/Simple/SetupHooks.hs 5 additions, 18 deletionsCabal-hooks/src/Distribution/Simple/SetupHooks.hs
- Cabal/src/Distribution/Simple/SetupHooks/Errors.hs 4 additions, 13 deletionsCabal/src/Distribution/Simple/SetupHooks/Errors.hs
- Cabal/src/Distribution/Simple/SetupHooks/Internal.hs 19 additions, 13 deletionsCabal/src/Distribution/Simple/SetupHooks/Internal.hs
- Cabal/src/Distribution/Simple/SetupHooks/Rule.hs 80 additions, 7 deletionsCabal/src/Distribution/Simple/SetupHooks/Rule.hs
- cabal-testsuite/PackageTests/BuildToolPaths/pbts/SetupHooks.hs 15 additions, 14 deletions...-testsuite/PackageTests/BuildToolPaths/pbts/SetupHooks.hs
- cabal-testsuite/PackageTests/SetupHooks/SetupHooksC2HsRules/SetupHooks.hs 17 additions, 17 deletions...PackageTests/SetupHooks/SetupHooksC2HsRules/SetupHooks.hs
- cabal-testsuite/PackageTests/SetupHooks/SetupHooksCyclicRules/SetupHooks.hs 5 additions, 5 deletions...ckageTests/SetupHooks/SetupHooksCyclicRules/SetupHooks.hs
- cabal-testsuite/PackageTests/SetupHooks/SetupHooksCyclicRules/setup.out 3 additions, 3 deletions...e/PackageTests/SetupHooks/SetupHooksCyclicRules/setup.out
- cabal-testsuite/PackageTests/SetupHooks/SetupHooksDuplicateRuleId/SetupHooks.hs 3 additions, 2 deletions...eTests/SetupHooks/SetupHooksDuplicateRuleId/SetupHooks.hs
- cabal-testsuite/PackageTests/SetupHooks/SetupHooksDuplicateRuleId/setup.out 3 additions, 3 deletions...ckageTests/SetupHooks/SetupHooksDuplicateRuleId/setup.out
- cabal-testsuite/PackageTests/SetupHooks/SetupHooksInvalidRuleOutputIndex/SetupHooks.hs 6 additions, 7 deletions...SetupHooks/SetupHooksInvalidRuleOutputIndex/SetupHooks.hs
- cabal-testsuite/PackageTests/SetupHooks/SetupHooksMissingRuleDep/SetupHooks.hs 4 additions, 4 deletions...geTests/SetupHooks/SetupHooksMissingRuleDep/SetupHooks.hs
- cabal-testsuite/PackageTests/SetupHooks/SetupHooksMissingRuleDep/setup.out 1 addition, 1 deletion...ackageTests/SetupHooks/SetupHooksMissingRuleDep/setup.out
- cabal-testsuite/PackageTests/SetupHooks/SetupHooksMissingRuleRes/SetupHooks.hs 3 additions, 3 deletions...geTests/SetupHooks/SetupHooksMissingRuleRes/SetupHooks.hs
- cabal-testsuite/PackageTests/SetupHooks/SetupHooksMissingRuleRes/setup.out 1 addition, 1 deletion...ackageTests/SetupHooks/SetupHooksMissingRuleRes/setup.out
- cabal-testsuite/PackageTests/SetupHooks/SetupHooksRuleOrdering/SetupHooks.hs 13 additions, 12 deletions...kageTests/SetupHooks/SetupHooksRuleOrdering/SetupHooks.hs
- cabal-testsuite/PackageTests/SetupHooks/SetupHooksUnusedRules/SetupHooks.hs 4 additions, 4 deletions...ckageTests/SetupHooks/SetupHooksUnusedRules/SetupHooks.hs
- cabal-testsuite/PackageTests/SetupHooks/SetupHooksUnusedRules/setup.out 6 additions, 3 deletions...e/PackageTests/SetupHooks/SetupHooksUnusedRules/setup.out
Loading
Please register or sign in to comment