releaser 0.2.1.0 → 0.3.0.0
raw patch · 4 files changed
+32/−4 lines, 4 filesdep −regex-tdfa-text
Dependencies removed: regex-tdfa-text
Files
- CHANGELOG.md +6/−0
- releaser.cabal +1/−2
- releaser/Main.hs +4/−0
- src/Releaser/Primitives.hs +21/−2
CHANGELOG.md view
@@ -1,5 +1,11 @@ # Revision history for releaser +## 0.3.0.0 -- 2020-05-04++* Upload to haddock support++* LTS-15 support+ ## 0.2.1.0 -- 2019-12-02 * Use cabal v2 commands to avoid compatibility issues
releaser.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.4 name: releaser synopsis: Automation of Haskell package release process-version: 0.2.1.0+version: 0.3.0.0 license: Apache-2.0 license-file: LICENSE maintainer: domen@dev.si@@ -24,7 +24,6 @@ base >=4.7 && <5, Cabal -any, regex-tdfa -any,- regex-tdfa-text -any, process -any, pretty-terminal -any, text -any
releaser/Main.hs view
@@ -24,3 +24,7 @@ gitPush "origin" gitPushTags "origin" cabalUpload tarball++ -- make haddocks and upload them+ docsTarball <- cabalMakeHaddocks "."+ cabalUploadDocs docsTarball
src/Releaser/Primitives.hs view
@@ -6,6 +6,8 @@ , cabalBumpVersion , cabalSdist , cabalUpload+ , cabalMakeHaddocks+ , cabalUploadDocs -- git primitives , gitCheckout , gitGetTags@@ -71,7 +73,7 @@ cabalRead :: FilePath -> IO CabalInfo cabalRead dir = do logStep $ "Looking for a cabal file in " <> dir- cabalFile <- tryFindPackageDesc dir+ cabalFile <- tryFindPackageDesc silent dir genericPackageDescription <- readGenericPackageDescription silent cabalFile let pkgversion = pkgVersion $ package $ packageDescription genericPackageDescription pkgname = pkgName $ package $ packageDescription genericPackageDescription@@ -87,7 +89,7 @@ cabalWriteVersion dir versionStr = do if validCabalVersion versionStr then do- cabalFile <- tryFindPackageDesc dir+ cabalFile <- tryFindPackageDesc silent dir cabalinfo <- cabalRead dir cabal <- T.readFile cabalFile let versionPrev :: T.Text@@ -124,6 +126,23 @@ let sdistTarball = "dist-newstyle/sdist/" <> name cabalinfo <> "-" <> version cabalinfo <> ".tar.gz" logStep $ "Created " <> sdistTarball return sdistTarball++cabalMakeHaddocks :: FilePath -> IO FilePath+cabalMakeHaddocks dir = do+ logStep "Running $ cabal haddock"+ cabalinfo <- cabalRead dir+ void $ readProcess "cabal" ["v2-haddock", "--haddock-for-hackage"] mempty+ let docsTarball = "dist-newstyle/" <> name cabalinfo <> "-" <> version cabalinfo <> "-docs.tar.gz"+ logStep $ "Created " <> docsTarball+ return docsTarball++cabalUploadDocs :: FilePath -> IO ()+cabalUploadDocs docsTarball = do+ logStep "Running $ cabal upload -d"+ -- TODO: recommend that credentials are configured via ~/cabal/config+ interactiveProcess (proc "cabal" ["upload", "-d", "--publish", docsTarball]) $ \_ -> do+ promptRetry "cabal upload -d"+ cabalUploadDocs docsTarball cabalUpload :: FilePath -> IO () cabalUpload sdistTarball = do