git-vogue 0.2.0.1 → 0.2.1.0
raw patch · 5 files changed
+37/−48 lines, 5 filesdep −mtldep ~ghc-moddep ~hlintdep ~stylish-haskellnew-uploaderPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies removed: mtl
Dependency ranges changed: ghc-mod, hlint, stylish-haskell
API changes (from Hackage documentation)
- Git.Vogue.Types: checkHook :: VCS m -> m Bool
- Git.Vogue.Types: disablePlugin :: PluginDiscoverer m -> PluginName -> m ()
- Git.Vogue.Types: discoverPlugins :: PluginDiscoverer m -> m [Plugin m]
- Git.Vogue.Types: enablePlugin :: PluginDiscoverer m -> PluginName -> m ()
- Git.Vogue.Types: enabled :: Plugin m -> Bool
- Git.Vogue.Types: getFiles :: VCS m -> SearchMode -> m [FilePath]
- Git.Vogue.Types: getTopLevel :: VCS m -> m FilePath
- Git.Vogue.Types: installHook :: VCS m -> m ()
- Git.Vogue.Types: instance Eq (Plugin m)
- Git.Vogue.Types: instance Eq PluginName
- Git.Vogue.Types: instance Eq Result
- Git.Vogue.Types: instance Eq SearchMode
- Git.Vogue.Types: instance Eq VogueCommand
- Git.Vogue.Types: instance Eq VogueOptions
- Git.Vogue.Types: instance IsString PluginName
- Git.Vogue.Types: instance Monoid PluginName
- Git.Vogue.Types: instance Ord (Plugin m)
- Git.Vogue.Types: instance Ord PluginName
- Git.Vogue.Types: instance Ord Result
- Git.Vogue.Types: instance Show (Plugin m)
- Git.Vogue.Types: instance Show PluginName
- Git.Vogue.Types: instance Show Result
- Git.Vogue.Types: instance Show SearchMode
- Git.Vogue.Types: instance Show VogueCommand
- Git.Vogue.Types: instance Show VogueOptions
- Git.Vogue.Types: optCommand :: VogueOptions -> VogueCommand
- Git.Vogue.Types: optSearch :: VogueOptions -> SearchMode
- Git.Vogue.Types: pluginName :: Plugin m -> PluginName
- Git.Vogue.Types: removeHook :: VCS m -> m ()
- Git.Vogue.Types: runCheck :: Plugin m -> [FilePath] -> [FilePath] -> m Result
- Git.Vogue.Types: runFix :: Plugin m -> [FilePath] -> [FilePath] -> m Result
- Git.Vogue.Types: unPluginName :: PluginName -> Text
+ Git.Vogue.Types: [checkHook] :: VCS m -> m Bool
+ Git.Vogue.Types: [disablePlugin] :: PluginDiscoverer m -> PluginName -> m ()
+ Git.Vogue.Types: [discoverPlugins] :: PluginDiscoverer m -> m [Plugin m]
+ Git.Vogue.Types: [enablePlugin] :: PluginDiscoverer m -> PluginName -> m ()
+ Git.Vogue.Types: [enabled] :: Plugin m -> Bool
+ Git.Vogue.Types: [getFiles] :: VCS m -> SearchMode -> m [FilePath]
+ Git.Vogue.Types: [getTopLevel] :: VCS m -> m FilePath
+ Git.Vogue.Types: [installHook] :: VCS m -> m ()
+ Git.Vogue.Types: [optCommand] :: VogueOptions -> VogueCommand
+ Git.Vogue.Types: [optSearch] :: VogueOptions -> SearchMode
+ Git.Vogue.Types: [pluginName] :: Plugin m -> PluginName
+ Git.Vogue.Types: [removeHook] :: VCS m -> m ()
+ Git.Vogue.Types: [runCheck] :: Plugin m -> [FilePath] -> [FilePath] -> m Result
+ Git.Vogue.Types: [runFix] :: Plugin m -> [FilePath] -> [FilePath] -> m Result
+ Git.Vogue.Types: [unPluginName] :: PluginName -> Text
+ Git.Vogue.Types: instance Data.String.IsString Git.Vogue.Types.PluginName
+ Git.Vogue.Types: instance GHC.Base.Monoid Git.Vogue.Types.PluginName
+ Git.Vogue.Types: instance GHC.Classes.Eq (Git.Vogue.Types.Plugin m)
+ Git.Vogue.Types: instance GHC.Classes.Eq Git.Vogue.Types.PluginName
+ Git.Vogue.Types: instance GHC.Classes.Eq Git.Vogue.Types.Result
+ Git.Vogue.Types: instance GHC.Classes.Eq Git.Vogue.Types.SearchMode
+ Git.Vogue.Types: instance GHC.Classes.Eq Git.Vogue.Types.VogueCommand
+ Git.Vogue.Types: instance GHC.Classes.Eq Git.Vogue.Types.VogueOptions
+ Git.Vogue.Types: instance GHC.Classes.Ord (Git.Vogue.Types.Plugin m)
+ Git.Vogue.Types: instance GHC.Classes.Ord Git.Vogue.Types.PluginName
+ Git.Vogue.Types: instance GHC.Classes.Ord Git.Vogue.Types.Result
+ Git.Vogue.Types: instance GHC.Show.Show (Git.Vogue.Types.Plugin m)
+ Git.Vogue.Types: instance GHC.Show.Show Git.Vogue.Types.PluginName
+ Git.Vogue.Types: instance GHC.Show.Show Git.Vogue.Types.Result
+ Git.Vogue.Types: instance GHC.Show.Show Git.Vogue.Types.SearchMode
+ Git.Vogue.Types: instance GHC.Show.Show Git.Vogue.Types.VogueCommand
+ Git.Vogue.Types: instance GHC.Show.Show Git.Vogue.Types.VogueOptions
Files
- git-vogue.cabal +16/−41
- lib/Git/Vogue.hs +1/−1
- lib/Git/Vogue/PluginDiscoverer/Libexec.hs +12/−1
- src/git-vogue-cabal.hs +2/−2
- src/git-vogue-ghc-mod.hs +6/−3
git-vogue.cabal view
@@ -1,12 +1,12 @@ name: git-vogue-version: 0.2.0.1+version: 0.2.1.0 synopsis: A framework for pre-commit checks. description: Make your Haskell git repositories fashionable.-homepage: https://github.com/anchor/git-vogue+homepage: https://github.com/oswynb/git-vogue license: BSD3 license-file: LICENSE author: Anchor Engineering <engineering@anchor.com.au>-maintainer: Anchor Engineering <engineering@anchor.com.au>+maintainer: Oswyn Brent <oztastic703@gmail.com> copyright: (c) 2015 Anchor Systems, Pty Ltd and Others category: Development build-type: Custom@@ -16,7 +16,7 @@ source-repository HEAD type: git- location: https://github.com/anchor/git-vogue+ location: https://github.com/oswynb/git-vogue flag gpl default: True@@ -32,33 +32,25 @@ Git.Vogue.PluginCommon other-modules: Paths_git_vogue build-depends: base >=4.6 && <5+ , containers , directory , filepath- , process- , containers , formatting+ , optparse-applicative >= 0.11+ , process , split , text- , optparse-applicative >= 0.11 , transformers- , mtl , unix- -- To fix depedencies- , hlint >= 1.9.13 && < 1.10- , stylish-haskell >= 0.5.11 && < 0.5.12- , ghc-mod >= 5.2 && < 5.3 executable git-vogue default-language: Haskell2010 hs-source-dirs: src main-is: git-vogue.hs build-depends: base- , filepath- , directory- , text , git-vogue , optparse-applicative- , split+ , text executable git-vogue-cabal default-language: Haskell2010@@ -66,26 +58,20 @@ main-is: git-vogue-cabal.hs build-depends: base , Cabal- , containers , git-vogue- , directory- , filepath- , process executable git-vogue-hlint default-language: Haskell2010 hs-source-dirs: src main-is: git-vogue-hlint.hs build-depends: base- , directory- , filepath- , hlint- , cpphs , bifunctors- , haskell-src-exts+ , cpphs+ , directory , git-vogue+ , haskell-src-exts+ , hlint >= 1.9.13 && < 1.10 , hscolour- , process if !flag(gpl) cpp-options: -DGPL_SCARES_ME @@ -95,26 +81,17 @@ main-is: git-vogue-stylish.hs build-depends: base , Diff- , directory- , filepath , git-vogue- , process , strict- , stylish-haskell+ , stylish-haskell >= 0.5.11 && < 0.6 executable git-vogue-ghc-mod default-language: Haskell2010 hs-source-dirs: src main-is: git-vogue-ghc-mod.hs build-depends: base- , Diff- , directory- , containers- , filepath+ , ghc-mod >= 5.2 && < 5.5 , git-vogue- , process- , strict- , ghc-mod test-suite unit type: exitcode-stdio-1.0@@ -122,14 +99,12 @@ hs-source-dirs: tests main-is: unit.hs build-depends: base+ , containers , directory , filepath- , containers , git-vogue , hspec- , temporary , process- , transformers- , unix+ , temporary -- vim: set tabstop=21 expandtab:
lib/Git/Vogue.hs view
@@ -104,7 +104,6 @@ go CmdRunFix = do- cd (check_fs, all_fs, plugins) <- things rs <- for plugins $ \p -> do r <- runCheck p check_fs all_fs@@ -118,6 +117,7 @@ exitWithWorst (catMaybes rs) things = do+ cd check_fs <- getFiles search_mode when (null check_fs) (success "Vacuous success - Nothing to check")
lib/Git/Vogue/PluginDiscoverer/Libexec.hs view
@@ -56,10 +56,21 @@ => FilePath -> m [Plugin m] discover libexec_dir = do+ let libexec_plugins = libexec_dir </> "git-vogue"++ -- Check if libexec dir does not exist, and notify user that this may be+ -- caused by cabal being dumb.+ is_dir <- liftIO $ doesDirectoryExist libexec_plugins+ unless is_dir . liftIO .+ putStrLn $ "Could not find libexec plugins: " <> libexec_plugins+ <> "\nThis could be caused by installing with a buggy cabal, \+ \see:\n\thttps://github.com/anchor/git-vogue/issues/80"+ -- Use the environmental variable and $libexec/git-vogue/ directories as -- the search path. path <- fromMaybe "" <$> liftIO (lookupEnv "GIT_VOGUE_PATH")- let directories = splitOn ":" path <> [libexec_dir </> "git-vogue"]++ let directories = splitOn ":" path <> [libexec_plugins] -- Disable plugins by the name that they present, so that the user does not -- need to know how the backend works.
src/git-vogue-cabal.hs view
@@ -68,8 +68,8 @@ unless (null distInexusable) $ do outputBad "The following errors will cause portability problems on other environments:" printCheckMessages distInexusable- let isDistError (PackageDistSuspicious {}) = False- isDistError _ = True+ let isDistError PackageDistSuspicious {} = False+ isDistError _ = True errors = filter isDistError packageChecks unless (null errors) $ outputBad "Hackage would reject this package."
src/git-vogue-ghc-mod.hs view
@@ -14,13 +14,14 @@ import Control.Monad import Data.Char import Data.Foldable-import Data.List hiding (and, notElem)+import Data.List hiding (and, notElem) import Data.Maybe import Data.Monoid import Data.Traversable import Git.Vogue.PluginCommon import Language.Haskell.GhcMod-import Prelude hiding (and, notElem)+import Language.Haskell.GhcMod.Monad+import Prelude hiding (and, notElem) import System.Exit main :: IO ()@@ -60,6 +61,8 @@ s <> "\n\tSuggestion: cabal configure --enable-tests\n" | "bench" `isInfixOf` fmap toLower s && "hidden package" `isInfixOf` s = s <> "\n\tSuggestion: cabal configure --enable-benchmarks\n"+ | "hGetContents: invalid argument" `isInfixOf` s =+ s <> "\n\tSuggestion: use cabal < 1.22\n" | otherwise = s -- | ghc-mod check all of the given files from the current directory@@ -69,7 +72,7 @@ ghcModCheck files = do -- We can't actually check all at once, or ghc-mod gets confused, so we -- traverse- (r,_) <- runGhcModT defaultOptions (traverse (check . pure) files)+ (r,_) <- runGmOutT defaultOptions $ runGhcModT defaultOptions (traverse (check . pure) files) -- Seriously guys? Eithers within eithers? warn_errs <- case r of