Создайте локальную базу данных Hoogle, несмотря на ошибку в пикше - PullRequest
0 голосов
/ 02 апреля 2019

Существует ли обходной путь для создания локальной базы данных Hoogle, несмотря на ошибки Haddock в некоторых пакетах. Например, есть ли обходной путь, как исключить эти пакеты из подзадачи Haddock при сборке локал Hoogle DB?

В качестве конкретного примера:

$ stack hoogle
No Hoogle database yet. Automatically building haddocks and hoogle database (use --no-setup to disable) ...
classy-prelude-yesod-1.5.0: configure
classy-prelude-yesod-1.5.0: build
classy-prelude-yesod-1.5.0: haddock
Progress 1/2

--  While building package classy-prelude-yesod-1.5.0 using:
      /Users/nrm/.stack/setup-exe-cache/x86_64-osx/Cabal-simple_mPHDZzAJ_2.4.0.1_ghc-8.6.4 --builddir=.stack-work/dist/x86_64-osx/Cabal-2.4.0.1 haddock --html --hoogle --html-location=../$pkg-$version/ --haddock-option=--hyperlinked-source --haddock-option=--quickjump
    Process exited with code: ExitFailure 1
    Logs have been written to: /Users/nrm/Sources/mdpm/projects/Yapper/.stack-work/logs/classy-prelude-yesod-1.5.0.log

    Configuring classy-prelude-yesod-1.5.0...
    Preprocessing library for classy-prelude-yesod-1.5.0..
    Building library for classy-prelude-yesod-1.5.0..
    [1 of 2] Compiling ClassyPrelude.Yesod ( src/ClassyPrelude/Yesod.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/ClassyPrelude/Yesod.o )
    [2 of 2] Compiling Paths_classy_prelude_yesod ( .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/autogen/Paths_classy_prelude_yesod.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Paths_classy_prelude_yesod.o )
    Preprocessing library for classy-prelude-yesod-1.5.0..
    Running Haddock on library for classy-prelude-yesod-1.5.0..
    Haddock coverage:
    haddock: internal error: internal: extractDecl
    CallStack (from HasCallStack):
      error, called at utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:1116:12 in main:Haddock.Interface.Create

Относится к Как строить с пикшами, но игнорировать ошибки пикш

1 Ответ

0 голосов
/ 02 апреля 2019

stack hoogle - это примерно помощник около stack haddock, затем hoogle generate --local.Если вы можете сгенерировать вывод Haddock только для проектов, которые работают, вы можете вручную hoogle generate --local.Тем не менее, я не знаю ни одного способа ограничить stack haddock только подмножеством, поэтому это может быть нецелесообразно.

Другой подход - hoogle generate <list of dependencies>, который будет использовать удаленную документацию, а не локальнуюи, таким образом, пропущу работающую пикшу.

...