2015-03-31 12 views
9

Obecnie pracuję nad projektem z Rust i Cargo. Działa dobrze, ale napotykam mały problem: w przypadku ponownego użycia kodu większość mojego projektu znajduje się w skrzynce z bibliotekami. W tej skrzyni wiele rzeczy jest prywatnych. Więc kiedy robię cargo doc, mam tylko dokumentację do publicznych, eksportowanych rzeczy ... co jest naprawdę świetne, ponieważ łatwo jest zobaczyć, co jest eksportowane, a co nie.Jak mogę uwzględnić prywatne moduły podczas generowania dokumentacji za pośrednictwem Cargo?

Ale muszę przyznać, że tęsknię za kompletną dokumentację całego projektu, dla celów rozwoju ...

Odpowiedz

4

Można to zrobić przekazując argumenty rustdoc po --, np.

cargo rustdoc -- \ 
    --no-defaults \ 
    --passes strip-hidden \ 
    --passes collapse-docs \ 
    --passes unindent-comments \ 
    --passes strip-priv-imports 

Na podstawie odpowiedzi @ Shepmaster, nie ma potrzeby ręcznego wklejania kopii.

10

może nie być w stanie to zrobić z ładunkiem dzisiaj, istnieje obejście jeśli używasz rustdoc bezpośrednio.

Run cargo doc -v i zanotuj polecenia rustdoc to działa:

$ cargo doc -v 
    Compiling docz v0.0.1 (file:///private/tmp/docz) 
    Running `rustdoc src/lib.rs -o /private/tmp/docz/target/doc --crate-name docz -L dependency=/private/tmp/docz/target/debug -L dependency=/private/tmp/docz/target/debug/deps` 

Następnie dodać --no-defaults --passes strip-hidden --passes collapse-docs --passes unindent-comments do polecenia:

rustdoc src/lib.rs -o /private/tmp/docz/target/doc --crate-name docz \ 
    -L dependency=/private/tmp/docz/target/debug \ 
    -L dependency=/private/tmp/docz/target/debug/deps \ 
    --no-defaults \ 
    --passes strip-hidden --passes collapse-docs --passes unindent-comments 
+0

Bardzo dziękuję, to działa tak jak miałem nadzieję. –

+1

Jeśli nie chcesz pokazywać powrotnego eksportu, będziesz chciał dodać '--pass strip-priv-import'. –

1

To jest teraz prostsze, wystarczy użyć:

cargo rustdoc -- --document-private-items