packages feed

hkgr 0.4 → 0.4.1

raw patch · 5 files changed

+48/−48 lines, 5 files

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Changelog +## 0.4.1 (2022-06-23)+- 'rename' improvements+- 'new': avoid error on cabal >= 3.4 by not passing --license to cabal init+ ## 0.4 (2022-03-27) - template.cabal: use cabal 2.0 and define hs-source-dirs - 'tagdist --existing-tag' replaces 'dist' command
README.md view
@@ -15,64 +15,56 @@  After committing the latest changes for the release, create a tag and tarball: -```+```shellsession $ hkgr tagdist-v0.2.5+v0.4 No errors or warnings could be found in the package. Running hlint-./Main.hs:107:28: Warning: Redundant do+src/Main.hs:(407,9)-(408,55): Warning: Eta reduce Found:-  do void $ cmdBool "hlint" ["."]+  replaceHolder lbl val file+    = sed ["s/@" ++ lbl ++ "@/" ++ val ++ "/"] file Perhaps:-  void $ cmdBool "hlint" ["."]-Resolving dependencies...-Configuring hkgr-0.2.5...-Building source dist for hkgr-0.2.5...-Preprocessing executable 'hkgr' for hkgr-0.2.5..-Source tarball created: dist/hkgr-0.2.5.tar.gz+  replaceHolder lbl val = sed ["s/@" ++ lbl ++ "@/" ++ val ++ "/"]++[]+["src/Main.hs","data/template.cabal.tmpl","README.md","CHANGELOG.md","LICENSE","hkgr.cabal"]+[(NoExec,"CHANGELOG.md"),(NoExec,"LICENSE"),(NoExec,"README.md"),(NoExec,"data/template.cabal.tmpl"),(NoExec,"hkgr.cabal"),(NoExec,"src/Main.hs")]+Wrote tarball sdist to /var/home/petersen/github/hkgr/.hkgr/hkgr-0.4.tar.gz ``` -After fixing up, retag a new tarball:+After fixing up, retag a new tarball with `--force` and upload candidate,+in one go: -```-$ hkgr tagdist -f-Updated tag 'v0.2.5' (was 55b69db)+```shellsession+$ hkgr upload -f+Updated tag 'v0.4' (was f6d72ba) No errors or warnings could be found in the package. Running hlint-Resolving dependencies...-Configuring hkgr-0.2.5...-Building source dist for hkgr-0.2.5...-Preprocessing executable 'hkgr' for hkgr-0.2.5..-Source tarball created: dist/hkgr-0.2.5.tar.gz+[]+["src/Main.hs","data/template.cabal.tmpl","README.md","CHANGELOG.md","LICENSE","hkgr.cabal"]+[(NoExec,"CHANGELOG.md"),(NoExec,"LICENSE"),(NoExec,"README.md"),(NoExec,"data/template.cabal.tmpl"),(NoExec,"hkgr.cabal"),(NoExec,"src/Main.hs")]+Wrote tarball sdist to /var/home/petersen/github/hkgr/.hkgr/hkgr-0.4.tar.gz+hackage.haskell.org password:+Uploaded to https://hackage.haskell.org/package/hkgr-0.4/candidate ``` -Alternatively if you had manually tagged the release with `v0.2.5`+Alternatively if you had manually tagged the release with `v0.4` you can use `hkgr tagdist --existing-tag` to create a dist tarball. -The tarball can now be uploaded to Hackage as a candidate release:-```-$ hkgr upload--Uploaded to https://hackage.haskell.org/package/hkgr-0.2.5/candidate-```--One can continue to `tagdist -f` and `upload` until+One can continue to `tagdist -f` and/or `upload -f` until everything looks good and CI passed etc. -Note that `tagdist -f` and `upload`, can be combined as `upload -f`.-If one wants to check the candidate upload quickly,-it is faster just to run `upload` followed by `upload -f` if needed.- Then it is time to push the final tag and publish the release: -```+```shellsession $ hkgr publish-Everything up-to-date-Total 0 (delta 0), reused 0 (delta 0)+git pushing... done+Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 To github.com:juhp/hkgr.git- * [new tag]         v0.2.5 -> v0.2.5--Published at https://hackage.haskell.org/package/hkgr-0.2.5+ * [new tag]         v0.4 -> v0.4+hackage.haskell.org password:+Published at https://hackage.haskell.org/package/hkgr-0.4 ```  ## Details@@ -97,7 +89,7 @@ the tag and dist tarball.  One should not be able to `tagdist` on an already published-(ie released) version made with hkgr.+(ie released) version made with hkgr, before the version is bumped.  If sdist fails for some reason then hkgr tries to reset the tag. 
data/template.cabal.tmpl view
@@ -16,9 +16,9 @@ --                       ChangeLog.md cabal-version:       2.0 -- tested-with:         GHC == 8.6.5---                        | == 8.8.4---                        | == 8.10.7---                        | == 9.0.2+--                       || == 8.8.4+--                       || == 8.10.7+--                       || == 9.0.2  source-repository head   type:                git
hkgr.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.0 name:                hkgr-version:             0.4+version:             0.4.1 synopsis:            Simple Hackage release workflow for package maintainers description:             Hkgr (Hackager) is a tool to help make new releases of@@ -20,7 +20,7 @@ data-files:          template.cabal.tmpl extra-doc-files:     README.md                    , CHANGELOG.md-tested-with:         GHC == 8.10.5, GHC == 8.8.4, GHC == 8.6.5, GHC == 8.4.4,+tested-with:         GHC == 8.10.7, GHC == 8.8.4, GHC == 8.6.5, GHC == 8.4.4,                      GHC == 8.2.2, GHC == 8.0.2  source-repository head
src/Main.hs view
@@ -342,7 +342,7 @@     Nothing -> do       let setupFile = "Setup.hs"       origsetup <- doesFileExist setupFile-      cabal_ "init" ["--quiet", "--no-comments", "--non-interactive", "--is-libandexe", "--cabal-version=1.18", "--license=BSD3", "--package-name=" ++ name, "--version=0.1.0", "--dependency=base<5", "--source-dir=src"]+      cabal_ "init" ["--quiet", "--no-comments", "--non-interactive", "--is-libandexe", "--cabal-version=1.18", "--package-name=" ++ name, "--version=0.1.0", "--dependency=base<5", "--source-dir=src"]       whenJustM (cmdMaybe $ P.proc "find" ["-name", "Main.hs"]) $ \ file -> do         sed ["1s/^module Main where/-- SPDX-License-Identifier: BSD-3-Clause\\n\\nmodule Main (main) where/"] file         unless (file == "src/Main.hs") $ renameFile file "src/Main.hs"@@ -430,6 +430,10 @@ renameCmd newname = do   pkgid <- getPackageId   let oldname = unPackageName (pkgName pkgid)-  sed ["s/" ++ oldname ++ "/" ++ newname ++ "/g"] $ oldname <.> "cabal"-  renameFile (oldname <.> "cabal") (newname <.> "cabal")-  -- FIXME adjust README+  sed ["s/" ++ oldname ++ "/" ++ newname ++ "/g", "s/Paths_" ++ replace "-" "_" oldname ++ "/Paths_" ++ replace "-" "_" newname ++ "/g"] $ oldname <.> "cabal"+  git_ "mv" [oldname <.> "cabal", newname <.> "cabal"]+  -- FIXME for all *.hs+  sed ["s/" ++ oldname ++ "/" ++ newname ++ "/g", "s/Paths_" ++ replace "-" "_" oldname ++ "/Paths_" ++ replace "-" "_" newname ++ "/g"] "src/Main.hs"+  sed ["s/" ++ oldname ++ "/" ++ newname ++ "/g"] "README.md"+  sed ["s/" ++ oldname ++ "/" ++ newname ++ "/g"] "ChangeLog.md"+  renameDirectory (".." </> oldname) (".." </> newname)