@@ -276,23 +276,21 @@ commandLineHandler progName isInterpreter = complicatedOptions
276276 <> help " Clone from specified git repository"
277277 <> value " https://github.com/commercialhaskell/stack"
278278 <> showDefault ))
279- addCommand' " upload"
280- " Upload a package to Hackage"
281- uploadCmd
282- ((,,,)
283- <$> many (strArgument $ metavar " TARBALL/DIR" )
284- <*> optional pvpBoundsOption
285- <*> ignoreCheckSwitch
286- <*> flag False True
287- (long " sign" <>
288- help " GPG sign & submit signature" ))
289- addCommand' " sdist"
290- " Create source distribution tarballs"
291- sdistCmd
292- ((,,)
293- <$> many (strArgument $ metavar " DIR" )
294- <*> optional pvpBoundsOption
295- <*> ignoreCheckSwitch)
279+ addCommand'
280+ " upload"
281+ " Upload a package to Hackage"
282+ uploadCmd
283+ ((,,,) <$> many (strArgument $ metavar " TARBALL/DIR" ) <*>
284+ optional pvpBoundsOption <*>
285+ ignoreCheckSwitch <*>
286+ Sig. signOpts)
287+ addCommand'
288+ " sdist"
289+ " Create source distribution tarballs"
290+ sdistCmd
291+ ((,,,) <$> many (strArgument $ metavar " DIR" ) <*> optional pvpBoundsOption <*>
292+ ignoreCheckSwitch <*>
293+ Sig. signOpts)
296294 addCommand' " dot"
297295 " Visualize your project's dependency graph using Graphviz dot"
298296 dotCmd
@@ -921,9 +919,9 @@ upgradeCmd (fromGit, repo) go = withConfigAndLock go $
921919#endif
922920
923921-- | Upload to Hackage
924- uploadCmd :: ([String ], Maybe PvpBounds , Bool , Bool ) -> GlobalOpts -> IO ()
922+ uploadCmd :: ([String ], Maybe PvpBounds , Bool , ( Bool , String ) ) -> GlobalOpts -> IO ()
925923uploadCmd ([] , _, _, _) _ = error " To upload the current package, please run 'stack upload .'"
926- uploadCmd (args, mpvpBounds, ignoreCheck, shouldSign ) go = do
924+ uploadCmd (args, mpvpBounds, ignoreCheck, (dontSign, sigServerUrl) ) go = do
927925 let partitionM _ [] = return ([] , [] )
928926 partitionM f (x: xs) = do
929927 r <- f x
@@ -942,7 +940,6 @@ uploadCmd (args, mpvpBounds, ignoreCheck, shouldSign) go = do
942940 let uploadSettings =
943941 Upload. setGetManager (return manager) Upload. defaultUploadSettings
944942 liftIO $ Upload. mkUploader config uploadSettings
945- sigServiceUrl = " https://sig.commercialhaskell.org/"
946943 withBuildConfigAndLock go $ \ _ -> do
947944 uploader <- getUploader
948945 unless ignoreCheck $
@@ -953,11 +950,11 @@ uploadCmd (args, mpvpBounds, ignoreCheck, shouldSign) go = do
953950 do tarFile <- resolveFile' file
954951 liftIO
955952 (Upload. upload uploader (toFilePath tarFile))
956- when
957- shouldSign
953+ unless
954+ dontSign
958955 (Sig. sign
959956 (lcProjectRoot lc)
960- sigServiceUrl
957+ sigServerUrl
961958 tarFile))
962959 unless (null dirs) $
963960 forM_ dirs $ \ dir -> do
@@ -966,16 +963,16 @@ uploadCmd (args, mpvpBounds, ignoreCheck, shouldSign) go = do
966963 unless ignoreCheck $ checkSDistTarball' tarName tarBytes
967964 liftIO $ Upload. uploadBytes uploader tarName tarBytes
968965 tarPath <- parseRelFile tarName
969- when
970- shouldSign
966+ unless
967+ dontSign
971968 (Sig. signTarBytes
972969 (lcProjectRoot lc)
973- sigServiceUrl
970+ sigServerUrl
974971 tarPath
975972 tarBytes)
976973
977- sdistCmd :: ([String ], Maybe PvpBounds , Bool ) -> GlobalOpts -> IO ()
978- sdistCmd (dirs, mpvpBounds, ignoreCheck) go =
974+ sdistCmd :: ([String ], Maybe PvpBounds , Bool , ( Bool , String ) ) -> GlobalOpts -> IO ()
975+ sdistCmd (dirs, mpvpBounds, ignoreCheck, (dontSign,sigServerUrl) ) go =
979976 withBuildConfig go $ do -- No locking needed.
980977 -- If no directories are specified, build all sdist tarballs.
981978 dirs' <- if null dirs
@@ -989,6 +986,8 @@ sdistCmd (dirs, mpvpBounds, ignoreCheck) go =
989986 liftIO $ L. writeFile (toFilePath tarPath) tarBytes
990987 unless ignoreCheck (checkSDistTarball tarPath)
991988 $ logInfo $ " Wrote sdist tarball to " <> T. pack (toFilePath tarPath)
989+ (_,lc) <- liftIO $ loadConfigWithOpts go
990+ unless dontSign (Sig. sign (lcProjectRoot lc) sigServerUrl tarPath)
992991
993992-- | Execute a command.
994993execCmd :: ExecOpts -> GlobalOpts -> IO ()
0 commit comments