stack-all 0.6 → 0.6.1
raw patch · 4 files changed
+14/−11 lines, 4 files
Files
- ChangeLog.md +3/−0
- README.md +4/−4
- src/Main.hs +6/−6
- stack-all.cabal +1/−1
ChangeLog.md view
@@ -1,5 +1,8 @@ # Release history for stack-all +## 0.6.1 (2024-05-20)+- fix --create-config and --make-lts failing if no command+ ## 0.6 (2024-05-19) - stack-all now works outside of projects too like stack does - error when --make-lts combined with a command args
README.md view
@@ -24,16 +24,16 @@ `$ stack-all --version` ```-0.6+0.6.1 ``` `$ stack-all --help` ``` Build over Stackage versions -Usage: stack-all [--version] [(-c|--create-config) | (-s|--make-lts)]- [-k|--keep-going] [-d|--debug] [--refresh-cache]- [-n|--newest MAJOR] [(-o|--oldest MAJOR) | (-a|--all-lts)]+Usage: stack-all [--version] [(-c|--create-config) | (-s|--make-lts)] + [-k|--keep-going] [-d|--debug] [--refresh-cache] + [-n|--newest MAJOR] [(-o|--oldest MAJOR) | (-a|--all-lts)] [MAJORVER... [COMMAND...]] stack-all builds projects easily across different Stackage versions
src/Main.hs view
@@ -50,7 +50,7 @@ case command of CreateConfig -> do unless (null cargs) $- error' "cannot combine --create-config with stack commands"+ error' $ "cannot combine --create-config with stack commands:" +-+ unwords cargs unless (null versions) $ error' "cannot combine --create-config with major versions" case verlimit of@@ -58,14 +58,14 @@ _ -> createStackAll Nothing mnewest MakeStackLTS -> do unless (null cargs) $- error' "cannot combine --make-lts with stack commands"+ error' $ "cannot combine --make-lts with stack commands:" +-+ unwords cargs if null versions then error' "--make-lts needs an LTS major version" else makeStackLTS refresh versions DefaultRun -> do configs <- readStackConfigs let newestFilter = maybe id (filter . (>=)) mnewest- mapM_ (stackBuild configs keepgoing debug refresh cargs) (newestFilter versions)+ mapM_ (runStack configs keepgoing debug refresh $ if null cargs then ["build"] else cargs) (newestFilter versions) where findStackProjectDir :: IO (Maybe FilePath) findStackProjectDir = do@@ -110,7 +110,7 @@ AllVersions -> return allMajors Oldest ver -> return $ filter (inRange Nightly ver) allMajors else nub <$> mapM resolveMajor verlist- return (versions,if null cmds then ["build"] else cmds)+ return (versions,cmds) where inRange :: MajorVer -> MajorVer -> MajorVer -> Bool inRange newest oldest v = v >= oldest && v <= newest@@ -187,9 +187,9 @@ configFile :: MajorVer -> FilePath configFile ver = "stack-" ++ showCompact ver <.> "yaml" -stackBuild :: [MajorVer] -> Bool -> Bool -> Bool -> [String]+runStack :: [MajorVer] -> Bool -> Bool -> Bool -> [String] -> MajorVer -> IO ()-stackBuild configs keepgoing debug refresh command ver = do+runStack configs keepgoing debug refresh command ver = do let mcfgver = case ver of Nightly | Nightly `elem` configs -> Just Nightly
stack-all.cabal view
@@ -1,5 +1,5 @@ name: stack-all-version: 0.6+version: 0.6.1 synopsis: CLI tool for building over Stackage major versions description: Build a Haskell project over one or many Stackage major LTS versions.