Skip to content

Commit c2ac715

Browse files
committed
Require a revision 0 cabal file when force-version is used
1 parent 237f5a2 commit c2ac715

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

app/Foliage/PrepareSource.hs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
module Foliage.PrepareSource where
77

8-
import Control.Monad (when)
8+
import Control.Monad (unless, when)
99
import Data.ByteString qualified as BS
1010
import Data.Foldable (for_)
1111
import Development.Shake
@@ -16,7 +16,6 @@ import Distribution.Types.PackageId
1616
import Distribution.Types.PackageName (unPackageName)
1717
import Foliage.FetchURL (fetchURL)
1818
import Foliage.Meta
19-
import Foliage.UpdateCabalFile (rewritePackageVersion)
2019
import Foliage.Utils.GitHub (githubRepoTarballUrl)
2120
import GHC.Generics
2221
import Network.URI (URI (..))
@@ -83,9 +82,14 @@ addPrepareSourceRule inputDir cacheDir = addBuiltinRule noLint noIdentity run
8382
cmd_ Shell (Cwd srcDir) (FileStdin patch) "patch -p1"
8483

8584
when packageVersionForce $ do
85+
let revisionZero = inputDir </> unPackageName pkgName </> prettyShow pkgVersion </> "revisions" </> "0" <.> "cabal"
86+
hasRevisionZero <- doesFileExist revisionZero
87+
unless hasRevisionZero $
88+
error $
89+
"force-version requires a modified Cabal file in " ++ revisionZero
8690
let cabalFilePath = srcDir </> unPackageName pkgName <.> "cabal"
87-
putInfo $ "Updating version in cabal file" ++ cabalFilePath
88-
liftIO $ rewritePackageVersion cabalFilePath pkgVersion
91+
putInfo $ "Copying revision 0 of cabal file to " ++ cabalFilePath
92+
copyFileChanged revisionZero cabalFilePath
8993

9094
return $ RunResult ChangedRecomputeDiff BS.empty srcDir
9195

0 commit comments

Comments
 (0)