shake-ats 0.3.0.4 → 0.3.0.5
raw patch · 2 files changed
+10/−3 lines, 2 filesdep +binaryPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
Dependencies added: binary
API changes (from Hackage documentation)
+ Development.Shake.ATS: instance Data.Binary.Class.Binary Development.Shake.ATS.Version
+ Development.Shake.ATS: instance GHC.Generics.Generic Development.Shake.ATS.Version
Files
- shake-ats.cabal +2/−1
- src/Development/Shake/ATS.hs +8/−2
shake-ats.cabal view
@@ -1,5 +1,5 @@ name: shake-ats-version: 0.3.0.4+version: 0.3.0.5 synopsis: Utilities for building ATS projects with shake description: Various helper functions for building [ATS](http://www.ats-lang.org/) with the [shake](http://shakebuild.com/) library homepage: https://github.com/vmchale/shake-ats#readme@@ -29,6 +29,7 @@ , directory , text , shake+ , binary default-language: Haskell2010 if flag(development) ghc-options: -Werror
src/Development/Shake/ATS.hs view
@@ -1,4 +1,6 @@ {-# OPTIONS_GHC -fno-warn-incomplete-uni-patterns #-}+{-# LANGUAGE DeriveAnyClass #-}+{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeSynonymInstances #-}@@ -18,6 +20,7 @@ import Control.Monad import Control.Monad.IO.Class+import Data.Binary (Binary (..)) import Data.Bool (bool) import Data.Either (fromRight) import Data.List (intercalate)@@ -26,13 +29,14 @@ import qualified Data.Text.Lazy as TL import Development.Shake import Development.Shake.FilePath+import GHC.Generics (Generic) import Language.ATS import Language.ATS.Generate import System.Directory (copyFile, createDirectoryIfMissing) import System.Exit (ExitCode (ExitSuccess)) newtype Version = Version [Integer]- deriving (Eq)+ deriving (Eq, Generic, Binary) instance Show Version where show (Version is) = intercalate "." (show <$> is)@@ -40,6 +44,7 @@ genATS :: FilePath -> FilePath -> Rules () genATS src target = target %> \out -> liftIO $ do+ createDirectoryIfMissing True (takeDirectory out) contents <- readFile src writeFile out (generateATS contents) @@ -93,7 +98,7 @@ -> Bool -- ^ Whether to use the garbage collector -> [String] -- ^ A list of libraries against which to link -> String -- ^ Source file- -> [String] -- ^ Haskell dependencies to track+ -> [String] -- ^ Other dependencies to track -> [(String, String)] -- ^ Files to be run through @hs2ats@. -> String -- ^ Binary target -> Rules ()@@ -112,6 +117,7 @@ sources <- transitiveDeps (snd <$> atg) [sourceFile] need (sources ++ hs) copySources v v' sources+ cmd_ ["mkdir", "-p", dropDirectory1 out] path <- fromMaybe "" <$> getEnv "PATH" let toLibs = fmap ("-l" <>)