2015-09-22 21 views
20

Haddock stilinde koduma açıklama ekledim ve göz atılabilir belgeler oluşturmak istiyorum. Yığını da kullandığım için, dokümantasyon oluşturmayı iş akışına entegre etmek istiyorum. Ancak, henüz yararlı bir şey üretemedim.Haddock ve yığın ile kendi kodum için belge oluşturma

Ben

stack haddock 

çalıştırabilir ve bunun bana göre tarzında belgeler üretecek (derin ~/.stack/ içine bulunacak), ancak yalnızca için daha doğrusu, ben bağımlı paketleri belgeleri oluşturmak gibi görünüyor kendi kodum Ben

stack haddock --help 

çalıştırdığınızda

benim bağımlılıkları belgelerine bırakmak kendi projesi için belgeleri oluşturmak için ek argüman --haddock kullanın ve --no-haddock-deps olabilir izlenimini olsun. Ancak,

'u çalıştırdığımda hiçbir şey olmuyor. İlk önce stack clean ise tüm kodumu yeniden derler, ancak belgelere herhangi bir şekilde benzeyecek bir çıktı üretilmez. Ayrıca tek başına Haddock çalışan çalıştık bir ara çözüm olarak

yani

haddock my-source.hs 

fakat daha sonra dosyası (yığını tarafından yerel olarak yüklü olan) bağlı olan bir modül bulamadığını bir hata olsun. Bu bana, dokümantasyon üretiminin bir şekilde yığından geçmek zorunda olduğu izlenimini veriyor. Aradığım için, .cabal ve stack.yaml dosyalarının belgelenmesiyle ilgili herhangi bir açıklama bulunamadı.

TL; DR

Nasıl kendi paketinde kodu belgelerine üretmek için yığını ve Haddock kullanabilirim?

+2

çalıştırılabilir veya bir kitaplık proje mi? Bence yığın şu anda yalnızca kütüphaneler için dokümanlar üretiyor (komuttan sonra dokümanlar yolunu yazdırıyor ya da 'yığın yolundan görebiliyorsunuz), buraya bakın: https: // github.com/commercialhaskell/stack/issues/729 ("cabal mezgit" ile yürütülebilir dosyalar için dokümanlar oluşturmak için önerilen geçici çözüm de dahil). –

+0

@ RüdigerHanke: Harika, teşekkürler. Bu bağlantı ile, gerçekten de 'cabal mezgit' ve bağlantılı önerilen geçici çözümü kullanarak çalıştım. Eğer cevabını bir cevap olarak yazmak istiyorsanız bunu kabul edeceğim, yoksa çözümü kendim yazabilirim. (Projem yürütülebilir.) –

cevap

12

Yığın sorunu izleyicisindeki this ticket'a göre, Yığın şu anda yalnızca kitaplıklar için belgeler oluşturabilir, ancak yürütülebilir dosyaları değil.

Cabal bu komutla yığın veri tabanları ile çalışmak üzere konfigüre edilebilir:

cabal configure --package-db=clear --package-db=global --package-db=$(stack path --snapshot-pkg-db) --package-db=$(stack path --local-pkg-db) 

bundan sonra belgeleri oluşturmak için cabal haddock --executables çalışabilir.

Bu arada, stack haddock yalnızca stack build --haddock için bir kısayol olduğundan, stack haddock --haddock yazmanıza gerek yoktur.

+0

SO düzenleme sistemini henüz anlamıyorum:/Belki de kızgınım ama düzenlemeyi önerdiğimde oldukça kabulleyim 'cabal configure' komutu emrinizde değil . Şimdi düzenleme geçmişi, düzenleme yapmanın anlamsız olduğunu söylüyor. Neyse cevabınız için teşekkürler ve düzenlemeyi geri almaktan çekinmeyin ... –

+2

@SamvanHerwaarden Bir cevap gönderildikten birkaç dakika sonra yazarın tarihte görünmeden düzenleyebildiğine inanıyorum. Belki de burada olan budur. –

+0

'cabal configure ...' komutunun çalıştırılması, 'cabal: ghc-pkg '' dökümünde başarısız oldu 'komutu benim için başarısız oldu. –