Ho annotato il mio codice in stile Haddock e desidero generare documentazione in grado di navigare. Poiché sto anche usando lo stack, voglio integrare la generazione della documentazione nel flusso di lavoro. Tuttavia, non sono ancora stato in grado di generare nulla di utile.Generazione di documentazione per il mio codice con Haddock e stack
posso correre
stack haddock
e sarà generare la documentazione nello stile che voglio (si trovano in profondità all'interno ~/.stack/
), ma sembra solo per generare la documentazione per i pacchetti che dipendono da, piuttosto che per la il mio codice personale
Quando eseguo
stack haddock --help
ho l'impressione che posso usare l'argomento aggiuntivo --haddock
per generare la documentazione per il mio progetto e --no-haddock-deps
di lasciare fuori la documentazione per le mie dipendenze. Tuttavia, quando corro
stack haddock --haddock --no-haddock-deps
niente sembra accadere. Se I stack clean
per prima cosa ricompilerà tutto il mio codice ma non viene generato alcun output che sembra riguardare in alcun modo la documentazione.
Come soluzione intermedia Inoltre ho provato a fare funzionare Haddock di per sé, vale a dire
haddock my-source.hs
ma poi ho un errore che non riesce a trovare un modulo il file dipende da (che viene installato localmente da stack). Questo mi dà l'impressione che la generazione della documentazione dovrà passare attraverso lo stack in qualche modo. Ho cercato, ma non ho trovato alcuna spiegazione relativa alla configurazione dei miei file .cabal
e stack.yaml
per la documentazione.
TL; DR
Come posso usare stack e Haddock per generare la documentazione per il codice nel mio pacchetto?
il tuo progetto un file eseguibile o una libreria? Penso che lo stack generi solo documenti per le librerie al momento (per chi stampa il percorso dei documenti dopo il comando, o lo si può vedere da 'stack path'), vedi qui: https: // github.com/commercialhaskell/stack/issues/729 (compresa la soluzione suggerita per la creazione di documenti per i file eseguibili con "cabal eglefino"). –
@ RüdigerHanke: Bene, grazie. Con questo collegamento, ho risolto il problema, utilizzando effettivamente "eglefino di cabala" e la soluzione alternativa suggerita. Se vuoi scriverlo come risposta, lo accetterò, altrimenti potrò scrivere la soluzione da solo. (Il mio progetto è un eseguibile.) –