Skip to content

Commit 945dbc4

Browse files
committed
Merge pull request #2890 from bennofs/upload-doc
Implement `cabal upload --doc`
2 parents 38937f2 + 2a07a9e commit 945dbc4

File tree

7 files changed

+271
-110
lines changed

7 files changed

+271
-110
lines changed

Cabal/Distribution/Simple/Haddock.hs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ import Distribution.Simple.PreProcess
4949
import Distribution.Simple.Setup
5050
( defaultHscolourFlags
5151
, Flag(..), toFlag, flagToMaybe, flagToList, fromFlag
52-
, HaddockFlags(..), HscolourFlags(..) )
52+
, fromFlagOrDefault, HaddockFlags(..), HscolourFlags(..) )
5353
import Distribution.Simple.Build (initialBuildSteps)
5454
import Distribution.Simple.InstallDirs
5555
( InstallDirs(..)
@@ -218,7 +218,8 @@ haddock pkg_descr lbi suffixes flags' = do
218218
let commonArgs = mconcat
219219
[ libdirArgs
220220
, fromFlags (haddockTemplateEnv lbi (packageId pkg_descr)) flags
221-
, fromPackageDescription pkg_descr ]
221+
, fromPackageDescription forDist pkg_descr ]
222+
forDist = fromFlagOrDefault False (haddockForHackage flags)
222223

223224
let pre c = preprocessComponent pkg_descr c lbi False verbosity suffixes
224225
withAllComponentsInBuildOrder pkg_descr lbi $ \component clbi -> do
@@ -278,19 +279,21 @@ fromFlags env flags =
278279
argOutputDir = maybe mempty Dir . flagToMaybe $ haddockDistPref flags
279280
}
280281

281-
fromPackageDescription :: PackageDescription -> HaddockArgs
282-
fromPackageDescription pkg_descr =
282+
fromPackageDescription :: Bool -> PackageDescription -> HaddockArgs
283+
fromPackageDescription forDist pkg_descr =
283284
mempty { argInterfaceFile = Flag $ haddockName pkg_descr,
284285
argPackageName = Flag $ packageId $ pkg_descr,
285-
argOutputDir = Dir $ "doc" </> "html"
286-
</> display (packageName pkg_descr),
286+
argOutputDir = Dir $ "doc" </> "html" </> name,
287287
argPrologue = Flag $ if null desc then synopsis pkg_descr
288288
else desc,
289289
argTitle = Flag $ showPkg ++ subtitle
290290
}
291291
where
292292
desc = PD.description pkg_descr
293293
showPkg = display (packageId pkg_descr)
294+
name
295+
| forDist = showPkg ++ "-docs"
296+
| otherwise = display (packageName pkg_descr)
294297
subtitle | null (synopsis pkg_descr) = ""
295298
| otherwise = ": " ++ synopsis pkg_descr
296299

cabal-install/Distribution/Client/Config.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,7 @@ instance Monoid SavedConfig where
346346

347347
combinedSavedUploadFlags = UploadFlags {
348348
uploadCheck = combine uploadCheck,
349+
uploadDoc = combine uploadDoc,
349350
uploadUsername = combine uploadUsername,
350351
uploadPassword = combine uploadPassword,
351352
uploadPasswordCmd = combine uploadPasswordCmd,

0 commit comments

Comments
 (0)