Flex AsDoc 完整版
Flex 生成AsDoc用的是SDK自带的asdoc.exe工具 生成AsDoc文档的方式有两种:ant或者FlashBuilder 外部配置工具 方法一:外部配置工具新增一个外部配置工具。步骤如下:
配置完成后,直接单击运行按钮就自动生成AsDoc文档了。(注:这种方式生成的AsDoc,main-title和window-title参数会出现中文乱码,目前没有解决。ANT方式不会有乱码。) 这里核心的部分就是asdoc.exe运行参数。常用参数说明:
下面是我生成SWC库的asdoc.exe参数配置: -locale zh_CN -doc-sources src -library-path+="D:Program FilesAdobeAdobe Flash Builder 4.7 (64 Bit)sdks4.6.0frameworkslibsair" -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:ProgramFilesAdobeAdobe Flash Builder 4.7 (64 Bit)sdks4.6.0frameworkslibsair") 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方式生成AsDocANT方式生成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.23201 LOCALE = 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(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |