题
这一问题涉及使用ASDoc创建文档从AS3。我不这样做,从Flex或任何东西,只是采用命令行,但一切正常和ASDoc不返回的任何错误,一些链接所得的文件被破坏。
具体地说,在所有的地方有联系性质或方法的其他部分的文件(包括在同一类),链路蜿蜒增加一倍的文件夹相对应的软件包。
例如,说我的记录 myPackage.MyClass
.如果 MyClass
有一个酒店叫 MyProperty
, 和某个地方,在我的文档,包括我的一个线是这样的:
@see #MyProperty
然后,该文件是正确分析和"另请参见:"链路是正确建立,但它的风向
.../output_directory/myPackage/myPackage/MyClass.html#MyProperty
其中当然,在实际文件系统只有一个 myPackage
文件夹。
相关部分的我ASDoc命令看起来是这样的:
asdoc
-source-path .
-doc-sources myPackage
-output D:\dev\repository\docs\myPackage_docs
-external-library-path "C:\Progra~1\Adobe\flex_sdk_3\frameworks\libs\player\10\playerglobal.swc"
我也许是缺少一些ASDoc论点,即将指定的基URL链接,或者沿着这些线路的东西?如果这是一个普通的错误这将是显而易见的许多人,但我找不到任何结果的问题,所以我的工作假设是,它不会发生在人运ASDoc从Flex,也许是因为一些设置我省略。
感谢任何的帮助!
在建议的TypeOneError,我尝试了不同种类的@看到的链接。我发现,这些工作的罚款:
@see some.package
@see ClassName
@see ClassName#property
虽然这些不工作:
@see #property
@see full.package.ClassName
@see full.package.ClassName#property
什么有点糟糕的是,虽然所有的导航链接工作,同增加一倍的路径发生在自动产生的种类型的链接。例如,它显示了每个方法的签名方法时返回一个类的文件,该链接是打破。
我还有看看HTML,并发现,该问题不会出现与该网页的基地址或任何东西,只是不一致的链接。因此,在一行的连续 @see
链接,他们中的一些链接到 ClassName.html
和一些链接到 package/ClassName.html
, 通过的规则上所示。所有这一切,通过这种方式,是真的,不论是否正在观看的网页在框架或没有。
更多的信息,如果我想出任何东西,但想法的变通办法都是最受欢迎的。
更新: 一些更多的详细信息:我不知道我的确切SDK版本,除非它伴随着Flex3,但如果我跑ASDoc没有参数,它报告: Adobe ASDoc Version 3.3.0 build 4852
.我所有Windows XP,从一批文件放在该类路径的目录。
部分方案: 所有但是我的一个问题得到了解决通过升级的4.0.0.7219beta版的Flex4SDK(和使用ASDoc分布在其中).现在,我所有的 @see
标记工作的预期。剩下的唯一问题是,到哪里,无论我有一个方法是回返一类是属于我的文档,ASDoc简单见的链接。例如,如果我有一个方法的签名是 ClassA#getB():ClassB
, 然后那里就是所示的文件,该文本"ClassB"链接"packageName:ClassB.html"而不是"packageName/ClassB.html".这似乎是一个简单的错误。啧.
解决方案
ASDoc是令人沮丧,没有结束。你有没有尝试过明确添加全面包/类名@看看我.e:
@see myPackage.myClass#MyProperty
来看看是否有差别?
编辑
我跑一些测试的基础上你的调查结果和内部财产标记是为我工作。即
@看到#_dispatcher
直接链接到该财产上的网页(没有双子文件夹)。我认为你也许需要重新考虑你是如何运行的命令。例如,我的代码是设立正是如此:
/src
/com
/bkwld
/fetch
我通常运行asdoc内"src":
asdoc -source-path . -doc-classes com/bkwld/fetch/Fetch
我尝试了所有这些在获取。作为他们的所有工作预期:
* @see FetchItem
* @see com.bkwld.utils.Logger
* @see #_dispatcher
第一次带我来的FetchItem页、第二次带我来的记录页在不同的包装,而第三跳起来的页面向保护的方法的获取。
只是出于好奇...哪个版本的sdk你们使用?
其他提示
我猜测的问题是你行
-医生-来源myPackage
指定'.'存在,而不是'myPackage'应该得到固定的(所以让它完全相同的来源的路径)
我已经写了一个简单的Python脚本,用于修复道路是错误地输入所产生的asdoc的情况下提及上面提到的。即,如果有一个方法myMethod(v:MyClass,...) asdoc不正确地产生的链接href="../mypackage:Myclass" 脚本将解决这个问题取代:通过a/
我应该注意到,docs我产生有一个漂亮的"平"的结构,那就是,一个包有一堆类。我不知道如果修复工作与更复杂的文件结构。
无论如何,如果任何人想尝试一下剧本,我将很高兴送它。