【发布时间】:2013-12-11 22:43:40
【问题描述】:
我现在正在尝试生成一个 asdoc。该项目是两个班。一个类扩展View,另一个是自定义Event 类。真的,真的很简单。对于我的一生,我无法让 asdoc 正确生成。我尝试了很多不同的命令,我忘记了我实际尝试过和没有尝试过的命令。
每次编译时,我都会得到以下输出:
/Users/jjanusch/dev/workspaces/AIR/library/src/com/vuria/ui/views/PanelViewBase.as(41): col: 37 Error: The definition of base class View was not found.
public class PanelViewBase extends View
^
/Users/jjanusch/dev/workspaces/AIR/library/src/com/vuria/ui/views/PanelViewBase.as(204): col: 31 Error: Method marked override must override another method.
override protected function createChildren():void {
^
/Users/jjanusch/dev/workspaces/AIR/library/src/com/vuria/ui/views/PanelViewBase.as(246): col: 32 Error: Method marked override must override another method.
override public function set navigationContent(value:Array):void {
^
/Users/jjanusch/dev/workspaces/AIR/library/src/com/vuria/ui/views/PanelViewBase.as(262): col: 32 Error: Method marked override must override another method.
override public function set actionContent(value:Array):void {
^
/Users/jjanusch/dev/workspaces/AIR/library/src/com/vuria/ui/views/PanelViewBase.as(279): col: 31 Error: Method marked override must override another method.
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
^
这是我正在使用的 bash 脚本
#!/bin/bash
docSource="/Users/jjanusch/dev/workspaces/AIR/library/src"
docOut="/Users/jjanusch/dev/workspaces/AIR/library/documentation"
libraryPath="/Applications/Adobe Flash Builder 4.7/sdks/4.11 AIR 3.9/frameworks/libs"
packageDescriptions="/Users/jjanusch/dev/workspaces/AIR/library/asdocs-package-descriptions.xml"
"$asdoc" \
-doc-sources "$docSource" \
-output "$docOut" \
-lenient \
-compiler.library-path "$libraryPath" \
-package-description-file "$packageDescriptions" \
-keep-xml=true \
-skip-xsl=true
PanelViewBase 类中涉及很多 Flex 类,但唯一的移动组件是 View。我一直找不到任何无法记录移动课程的类似问题。有谁知道为什么这不起作用?我也尝试过手动将每个 swc 包含为一个库
编辑:值得注意的是这是 Flex 4.11 和 AIR 3.9。此外,Grant Skinner 的 Asdocr 应用程序也因同样的错误而失败。
这里也是该类的导入,只是为了更好的衡量:
import com.vuria.events.ViewEvent;
import flash.events.MouseEvent;
import mx.core.UIComponent;
import mx.graphics.SolidColor;
import spark.components.Button;
import spark.components.Group;
import spark.components.View;
import spark.primitives.Rect;
import spark.primitives.RectangularDropShadow;
【问题讨论】:
-
看起来在编译代码时出现问题 - 您是否尝试将 flex sdk 添加为源/lib 路径之一?自从我不得不这样做以来已经有很多年了,所以我手头没有语法。尝试在一个不扩展任何内容的简单文件上运行 asdoc,看看是否遇到同样的问题
-
@divillysausages 我试过了。目前,我将其设置为
-compiler.library-path选项,但我也尝试过从-library-path到-source-path到-doc-sources的所有内容。它确实适用于一个简单的项目,但我无法让它与任何与移动 sdk 相关的东西一起工作 -
尝试在一个裸文件上运行它,至少我们知道这是否是问题所在
-
@divillysausages 只是在编辑我的评论。我已经试过了。适用于任何不包含移动组件的项目。我的猜测是,显然,这些组件没有被包括在内。我什至尝试过手动添加这些组件
-
来自这里:help.adobe.com/en_US/flex/using/…,一些事情要尝试:1)“默认情况下,ASDoc 工具根据 flex\frameworks\libs 中的库 SWC 文件编译其输入文件” - 是那里的火花库,或其他地方? 2) 尝试将
-exclude-dependencies设置为true3) 尝试使用-exclude-[classes/dependencies/sources]4) 尝试添加-lenient选项(忽略错误)
标签: flash apache-flex flex-mobile asdoc