簡體   English   中英

命令“鋼筋文檔”不一致

[英]Command 'rebar doc' is inconsistent

首先,“鋼筋文檔”有時有效,有時無效。 它很奇怪。 我正在使用的鋼筋版本為2.5.1

我的文件夾結構是:

  1. Header_Directory
    1.1應用
    1.1.1 sub_dir_1
    1.1.2 sub_dir_2 /包含
    1.1.3 sub_dir_3
    1.2副
    1.3 confs
    rebar.config

sub_dir_3中的模塊還使用sub_dir_2 / include文件夾中的一些包含文件。

使用命令鋼筋文檔時出現的錯誤是:
.sub_dir_3 / src / my_log_worker.erl,在模塊標題中:在第9行:找不到文件:some.hrl edoc:跳過源文件'sub_dir_3 / src / my_log_worker.erl':{'EXIT',error}。 edoc:doclet'edoc_doclet'中的錯誤:{'EXIT',error}。 錯誤:處理/ home / learn / header_directory / apps / sub_dir_3時文檔失敗:{'EXIT',error}

我先進行“清理干凈”操作,然后再進行“編譯”操作,然后再執行“ doc doc”操作

另外,當我在erl shell中執行此操作時,會出現錯誤。

edoc:file(“ some_log_worker.erl”,[])。
edoc:讀取文件'some_log_worker.erl'時出錯。
**異常退出:{error,enoent}
在函數edoc:read_source / 2(edoc.erl,第664行)中,來自edoc_extract:source / 3(edoc_extract.erl,第52行)的調用
在edoc:read / 2的通話中(edoc.erl,第537行)
在edoc:file / 2的調用中(edoc.erl,第116行)

有什么方法可以將我的hrl文件包含在rebar.config或edoc選項中?

我有'{edoc_opts,[{i,“ apps / sub_dir_3 / include”}]}}。 在rebar.config中,仍然沒有幫助。

您似乎沒有遵循鋼筋/ OTP約定:

OTP約定

鋼筋希望項目遵循OTP設計原則文檔:應用程序中所述的OTP約定。

應用程序應包含以下目錄集:

 src ebin priv include 

並具有一個應用程序資源文件:ebin / example_project.app或src / example_project.app.src。 在后一種情況下,ebin / example_project.app文件是在編譯階段從src / example_project.app.src自動生成的。

鋼筋和OTP的鼓勵

我建議您轉到該文件組織,使用諸如鋼筋之類的標准工具確實要簡單得多。

是的,遵循OTP原則始終是最大的利益。 但是,它適用於我的應用程序結構。

唯一的問題是由於erlang模塊中的@headerfile批注。 不知何故,我不知道如何正確使用@headerfile批注。

感謝您的所有幫助。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM