@@ -217,6 +217,7 @@ haddockProjectAction flags _extraArgs globalFlags = do
217
217
, haddockOutputDir = haddockProjectOutputDir flags
218
218
>>>>>>> 1 b89c1bf5 (Removed some haddock- project options)
219
219
}
220
+ <<<<<<< HEAD
220
221
nixFlags = (commandDefaultFlags CmdHaddock. haddockCommand)
221
222
{ NixStyleOptions. haddockFlags = haddockFlags
222
223
, NixStyleOptions. configFlags =
@@ -227,6 +228,95 @@ haddockProjectAction flags _extraArgs globalFlags = do
227
228
--
228
229
-- Construct the build plan and infer the list of packages which haddocks
229
230
-- we need.
231
+ =======
232
+ nixFlags =
233
+ (commandDefaultFlags CmdHaddock. haddockCommand)
234
+ { NixStyleOptions. haddockFlags = haddockFlags
235
+ , NixStyleOptions. configFlags =
236
+ (NixStyleOptions. configFlags (commandDefaultFlags CmdBuild. buildCommand))
237
+ { configVerbosity = haddockProjectVerbosity flags
238
+ }
239
+ }
240
+
241
+ --
242
+ -- Construct the build plan and infer the list of packages which haddocks
243
+ -- we need.
244
+ --
245
+
246
+ withContextAndSelectors RejectNoTargets Nothing
247
+ (commandDefaultFlags CmdBuild. buildCommand)
248
+ [" all" ] globalFlags HaddockCommand
249
+ $ \ targetCtx ctx targetSelectors -> do
250
+ baseCtx <- case targetCtx of
251
+ ProjectContext -> return ctx
252
+ GlobalContext -> return ctx
253
+ ScriptContext path exemeta -> updateContextAndWriteProjectFile ctx path exemeta
254
+ let distLayout = distDirLayout baseCtx
255
+ cabalLayout = cabalDirLayout baseCtx
256
+ buildCtx <-
257
+ runProjectPreBuildPhase verbosity baseCtx $ \ elaboratedPlan -> do
258
+ -- Interpret the targets on the command line as build targets
259
+ -- (as opposed to say repl or haddock targets).
260
+ targets <-
261
+ either reportTargetProblems return $
262
+ resolveTargets
263
+ selectPackageTargets
264
+ selectComponentTargetBasic
265
+ elaboratedPlan
266
+ Nothing
267
+ targetSelectors
268
+
269
+ let elaboratedPlan' =
270
+ pruneInstallPlanToTargets
271
+ TargetActionBuild
272
+ targets
273
+ elaboratedPlan
274
+ return (elaboratedPlan', targets)
275
+
276
+ printPlan verbosity baseCtx buildCtx
277
+
278
+ let elaboratedPlan :: ElaboratedInstallPlan
279
+ elaboratedPlan = elaboratedPlanOriginal buildCtx
280
+
281
+ sharedConfig :: ElaboratedSharedConfig
282
+ sharedConfig = elaboratedShared buildCtx
283
+
284
+ pkgs :: [Either InstalledPackageInfo ElaboratedConfiguredPackage ]
285
+ pkgs = matchingPackages elaboratedPlan
286
+
287
+ progs <-
288
+ reconfigurePrograms
289
+ verbosity
290
+ (haddockProjectProgramPaths flags)
291
+ (haddockProjectProgramArgs flags)
292
+ -- we need to insert 'haddockProgram' before we reconfigure it,
293
+ -- otherwise 'set
294
+ . addKnownProgram haddockProgram
295
+ . pkgConfigCompilerProgs
296
+ $ sharedConfig
297
+ let sharedConfig' = sharedConfig{pkgConfigCompilerProgs = progs}
298
+
299
+ _ <-
300
+ requireProgramVersion
301
+ verbosity
302
+ haddockProgram
303
+ (orLaterVersion (mkVersion [2 , 26 , 1 ]))
304
+ progs
305
+
306
+ --
307
+ -- Build project; we need to build dependencies.
308
+ -- Issue #8958.
309
+ --
310
+
311
+ when localStyle $
312
+ CmdBuild. buildAction
313
+ (commandDefaultFlags CmdBuild. buildCommand)
314
+ [" all" ]
315
+ globalFlags
316
+
317
+ --
318
+ -- Build haddocks of each components
319
+ >>>>>>> 2 c597e8c9 (Build dependencies with haddock- project)
230
320
--
231
321
232
322
withContextAndSelectors RejectNoTargets Nothing nixFlags [" all" ] globalFlags HaddockCommand $ \ targetCtx ctx targetSelectors -> do
@@ -317,8 +407,8 @@ haddockProjectAction flags _extraArgs globalFlags = do
317
407
| not localStyle ->
318
408
return []
319
409
Left package -> do
320
- -- TODO: this might not work for public packages with sublibraries
321
- -- (which will be visible if one is using `--local` switch) .
410
+ -- TODO: this might not work for public packages with sublibraries.
411
+ -- Issue #9026 .
322
412
let packageName = unPackageName (pkgName $ sourcePackageId package)
323
413
destDir = outputDir </> packageName
324
414
fmap catMaybes $ for (haddockInterfaces package) $ \ interfacePath -> do
@@ -363,7 +453,12 @@ haddockProjectAction flags _extraArgs globalFlags = do
363
453
, Visible
364
454
)
365
455
]
366
- False -> return []
456
+ False -> do
457
+ warn verbosity
458
+ (" haddocks of "
459
+ ++ show unitId
460
+ ++ " not found in the store" )
461
+ return []
367
462
False
368
463
| not localStyle ->
369
464
return []
@@ -394,8 +489,17 @@ haddockProjectAction flags _extraArgs globalFlags = do
394
489
, Hidden
395
490
)
396
491
]
492
+ <<<<<<< HEAD
397
493
False -> return []
398
494
>>>>>>> 1840 bca4b (haddock- project: use UnitId instead of package names)
495
+ =======
496
+ False -> do
497
+ warn verbosity
498
+ (" haddocks of "
499
+ ++ show unitId
500
+ ++ " not found in the store" )
501
+ return []
502
+ >>>>>>> 2 c597e8c9 (Build dependencies with haddock- project)
399
503
400
504
Right package ->
401
505
case elabLocalToProject package of
0 commit comments