Flex AsDoc 完整版

来源:互联网 发布:高尔夫轮毂数据 编辑:程序博客网 时间:2024/05/15 14:00

Flex 生成AsDoc用的是SDK自带的asdoc.exe工具

生成AsDoc文档的方式有两种:ant或者FlashBuilder 外部配置工具

方法一:外部配置工具

新增一个外部配置工具。步骤如下:



配置完成后,直接单击运行按钮就自动生成AsDoc文档了。(注:这种方式生成的AsDoc,main-title和window-title参数会出现中文乱码,目前没有解决。ANT方式不会有乱码。)

这里核心的部分就是asdoc.exe运行参数。常用参数说明:

参数名称

参数功能

-locale

资源类型(英文:en_US,中文:zh_CN…)

-doc-classes path-element[…]

指定需要被输出成文档的类文件(一般用doc-source指定要生成文档的源码目录),这些类文件必须放在资源路径下[默认参数]

该参数使用方法等同于compc组件编译器的-include-classes参数

-doc-namespaces uri manifest

要求被输出成文档的类文件URI列表,这些类文件必须放在资源路径下。

必须包含至少一个URI并指出命名空间内容的明确位置

-doc-sources path-element […]

需要被输出成文档的文件目录,并且其子目录也会被递归输出

-source-path path-element […]

源码所在路径(不太明白他和-doc-source的区别,发现不指定也能正常导出)

-exclude-classes string

不需要被输出的类文件列表,必须指定类名

-exclude-dependencies true|false

决定是否所有的相关类都会输出,如果设true,与输出类相关的类不回被输出。默认值为false

-footer string  

文档中HTML页面底部的显示信息

-left-frameset-width int

控制文档左边目录宽度的整数值。你可以根据你的包名来改变这个值

默认值是210px

-main-title string

文档中HTML页面头部显示信息, 默认值是”API Documentation”.

-output string

输出文档的目录名. 默认值 “asdoc-output”.

-package name “description”

输出文档中对应的包名。你可以指定一个以上的包,建议用-package-description-file方便点

-package-description-file path-element

包结构描述文件(见附件:packageDes.xml)

-library-path

AsDoc用到的库的路径

-keep-xml

When true, retain the intermediate XML files created by the ASDoc tool. The default value is false.


下面是我生成SWC库的asdoc.exe参数配置:

-locale zh_CN-doc-sources src-library-path+="D:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\sdks\4.6.0\frameworks\libs\air"-footer "AsDocLib的帮助文档"-main-title "AsDocLib帮助文档"-left-frameset-width 200-window-title "AsDocLib帮助文档"-package-description-file packageDes.xml-keep-xml

(注:lib库中引用AIR库,生成AsDoc会报错,需要加入:-library-path+="D:\ProgramFiles\Adobe\Adobe Flash Builder 4.7 (64 Bit)\sdks\4.6.0\frameworks\libs\air"

packageDes.xml文件内容如下:

<overviews>       <packages>                   <package name="com.asdoc.test.components">       <shortDescription>                                  <![CDATA[组件源码包]]>                              </shortDescription>       <description>            <![CDATA[AsDocLib的组件包]]>                            </description>    </package>    <package name="com.asdoc.test.skins">       <shortDescription>                                  <![CDATA[组件皮肤包]]>                              </shortDescription>       <description>            <![CDATA[AsDocLib的组件皮肤包]]>                            </description>    </package>    <package name="com.asdoc.test.utils">       <shortDescription>                                  <![CDATA[组件工具类]]>                              </shortDescription>       <description>            <![CDATA[AsDocLib的组件工具类]]>                            </description>    </package></packages></overviews>
 

方法二:ANT方式生成AsDoc

ANT方式生成AsDoc其实是将第一种方式弄成脚本化编译。

在lib工程src目录下面加上build.xml和build.properties(用过ant脚本化编译的人都知道)

build.xml内容如下:

<?xml version="1.0"?><!--版权所有 甘训奏 谢谢光临 (我不会告诉你是SDK地下的asdoc里面拷贝的)默认执行 main target--><project name="ASDocs" default="main" basedir="."><!--配置属性--><property file="build.properties" /><property name="lenient" value="true"/><property name="flexlib" location="${FLEX_HOME}/frameworks"/><!--main target 依赖 clean 和 doc target--><target name="main" depends="clean,doc" description="Clean build of all ASDocs"/><!--clean target 清除AsDoc输出目录--><target name="clean" description="Cleans all ASDocs"><delete dir="${OUTPUT_DIR}"/><echo>清除${OUTPUT_DIR}</echo></target><!--doc target 生成AsDoc--><target name="doc">    <condition property="asdoc.jvm.args" value="-Xmx512m">        <os family="windows"/>    </condition>    <condition property="asdoc.jvm.args" value="-Xmx1024m">        <os family="mac"/>    </condition>    <condition property="asdoc.jvm.args" value="-Xmx512m">        <os family="unix"/>    </condition>    <available property="flexTasksJar" value="${FLEX_HOME}/lib/flexTasks.jar" file="${FLEX_HOME}/lib/flexTasks.jar"/>    <available property="flexTasksJar" value="${FLEX_HOME}/ant/lib/flexTasks.jar" file="${FLEX_HOME}/ant/lib/flexTasks.jar"/><!-- Load the <asdoc> task. We can't do this at the <project> level --><!-- because targets that run before flexTasks.jar gets built would fail. --><taskdef resource="flexTasks.tasks" classpath="${flexTasksJar}"/><!-- Call asdoc to generate dita xml files --><!-- 这里就是调用asdoc.exe执行脚本化编译了,对了 fork="true"会导致控制台中文乱码,别问为什么,我也不知道。 --><asdoc output="${OUTPUT_DIR}" lenient="true" failonerror="true" warnings="false" strict="true" locale="en_US" fork="false" keep-xml="true"><!-- asDoc Infomation --><window-title>asDocAPI标题</window-title><main-title >asDocAPI文档</main-title><footer>asDoc API 页脚 版权所有ganxunzou</footer><!-- top level class to include in asdoc -->    <!-- source path for asdoc 根据目录生成AsDoc--><compiler.source-path path-element="src"/><doc-sources path-element="src"/><!-- namespaces to include in asdoc --><!-- 或者用这种,根据清单文件生成AsDoc。这种方式不太好,没有在清单文件的AsDoc不会生成。  清单文件一般写组件,不会加入皮肤,然后你懂的,AsDo文档里面没有皮肤--><!--<doc-namespaces uri="library://ns.myasdoc.com/flex/myasdoc"/><namespace uri="library://ns.myasdoc.com/flex/myasdoc" manifest="my-manifest.xml"/>-->    <namespace uri="library://ns.adobe.com/flashx/textLayout" manifest="${flexlib}/projects/textLayout/manifest.xml"/><!-- namespace declaration for asdoc -->    <namespace uri="http://www.adobe.com/2006/airmxml" manifest="${flexlib}/projects/airframework/manifest.xml"/>    <namespace uri="http://www.adobe.com/2006/airspark" manifest="${flexlib}/projects/airspark/manifest.xml"/>    <namespace uri="http://www.adobe.com/2006/rpcmxml" manifest="${flexlib}/projects/rpc/manifest.xml"/>    <namespace uri="http://ns.adobe.com/2009/mx-mxml" manifest="${flexlib}/projects/mx/manifest.xml"/>    <namespace uri="http://www.adobe.com/2006/advancedgridsmxml" manifest="${flexlib}/projects/advancedgrids/manifest_advancedgrids.xml"/>    <namespace uri="http://www.adobe.com/2006/charts" manifest="${flexlib}/projects/charts/manifest_charts.xml"/>            <namespace uri="http://www.adobe.com/2006/mxml" manifest="${flexlib}/mxml-manifest.xml"/>    <namespace uri="library://ns.adobe.com/flex/spark" manifest="${flexlib}/projects/spark/manifest.xml"/>    <namespace uri="library://ns.adobe.com/flex/mx" manifest="${flexlib}/mxml-manifest.xml"/><namespace uri="library://ns.adobe.com/flex/spark-mobilecomponents" manifest="${flexlib}/projects/mobilecomponents/manifest.xml"/><namespace uri="library://ns.adobe.com/flex/spark-dmv" manifest="${flexlib}/projects/spark_dmv/manifest_spark_dmv.xml"/><library-path dir="libs" includes="*.swc" append="true"/><library-path dir="${FLEX_HOME}/frameworks/libs" includes="*.swc" append="true"/><library-path dir="${FLEX_HOME}/frameworks/libs/mobile" includes="*.swc" append="true"/><library-path dir="${FLEX_HOME}/frameworks/libs/automation" includes="*.swc" append="true"/><external-library-path dir="${flexlib}/libs/air">    <include name="airglobal.swc" />    </external-library-path><external-library-path dir="${flexlib}/libs">    <include name="framework.swc" />    </external-library-path><!-- lib中加入AIR库,必须加上下面两个,要不然你调试去吧 --><external-library-path dir="${flexlib}/libs/air">   <include name="airframework.swc" /></external-library-path><external-library-path dir="${flexlib}/libs/air">   <include name="airspark.swc" /></external-library-path><jvmarg line="${asdoc.jvm.args}"/><define name="CONFIG::debug" value="false"/><define name="CONFIG::release" value="true"/><define name="CONFIG::FLASH_10_1" value="false"/>            <define name="CONFIG::LOGGING" value="false"/><define name="CONFIG::performanceInstrumentation" value="false"/>            </asdoc></target></project>


Build.properties文件内容如下:

# 设置到您的Flex SDK的所在路径FLEX_HOME=D:/Program Files/Adobe/Adobe Flash Builder 4.7 (64 Bit)/sdks/4.6.0 # 定位到您的项目源码的位置# {$basedir} 是Ant默认支持的变量SOURCE_DIR =${basedir}/src # 定位到您的Lib路径,如果存在的话#LIBS_DIR =${basedir}/libs # 设定SWF的输出位置OUTPUT_DIR = ${basedir}/outasdoc# 是人都知道SDK版本SDK_VERSION = 4.6.0.23201LOCALE = zh_CN


然后选中build.xml右键  -- 调试 – Ant构建就OK了



Lib SWC AsDoc 提示

发现SWC拷贝到AIR里面,AsDoc不提示,解决办法:

第一步:在生成AsDoc的时候,加上-keep-xml参数。

第二步:src目录下,新建一个包叫asdocs(名字随便),然后拷贝tempdita下的 packages.dita和自己组件对应的xml文件到asdocs目录下。


第三步:项目右键 – 属性 – Flex库构建路径—资源,勾选asdocs文件夹,重新编译swc就支持AsDoc了



CSDN 不能上传附件,挺烦的。

AsDocLib的源码:http://download.csdn.net/detail/ganxunzou/8172865
1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 14岁眼皮很松怎么办啊 ps存不了psd格式怎么办 花草上有白色物怎么办 ps抠出来有白边头发怎么办 脸上结痂掉了有红印怎么办 海棠花瓣干枯怎么办茎变软 微信上的图片打不开怎么办 口红吊兰老掉叶子怎么办 翠叶竹芋叶子卷怎么办 牙有龋齿垫底以后酸怎么办 事业单位辞职请示30天不批怎么办 孕早期吃了油菜怎么办 实体店买到翻新苹果手机怎么办 太阳花叶子蔫了怎么办 刚摘下来的多肉怎么办 购车4s不给合同怎么办 橙光游戏2.0商城怎么办 飞羽花卷叶了怎么办 孔雀竹芋叶子发黄卷曲怎么办 孔雀竹芋叶子黄了卷了怎么办 飞羽竹芋叶尖黄怎么办 十七岁还是胸小怎么办 英雄联盟连接不上服务器怎么办 彩叶草叶子蔫了怎么办 家里种葱老是死怎么办 非洲菊生虫子了怎么办 多肉的花剪下来怎么办 结石痛怎么办怎么止疼 喝玫瑰花茶胃疼怎么办 卡地亚戒指掉色怎么办 苹果8plus掉电快怎么办 苹果8plus耗电快怎么办 卡地亚戒指划痕怎么办 苹果手机玫瑰金掉色怎么办 14k玫瑰金掉色怎么办 卡地亚手镯掉色怎么办 手机掉油漆里了怎么办 黄金戴久了变黑怎么办 玫瑰金褪色不亮了怎么办 黄金带久了不亮怎么办 玉石带久了不亮怎么办