Ошибка компиляции ASDoc в Flash Builder 4 - PullRequest
3 голосов
/ 23 сентября 2010

Не могу понять, почему я продолжаю получать эту ошибку каждый раз, когда пытаюсь скомпилировать ASDoc в Flash Builder 4.

Мне удалось ASDoc создать папку вывода asdoc, но она не завершена. Существует только файл toplevel.xml и папка tempdita.

Это ошибка, которая появляется на моей консоли

Error at xsl:choose on line 46 of processHTML.xslt:
  java.io.FileNotFoundException:
  /Users/NEWYORK/abritez/Documents/workspaces/ate/ATE_Shell/asdoc-output/index.tmp (No such
  file or directory)
  at xsl:apply-templates (file:/Users/NEWYORK%5Cabritez/Documents/workspaces/ate/ATE_Shell/asdoc-output/tempdita/processHTML.xslt#25)
     processing /html
Transformation failed: Run-time errors were reported

Строка 46 в ProcessHTML.xslt - это начальная <xsl:choose> в элементе ниже.

<xsl:template match="html">
<xsl:copy-of select="$noLiveDocs"/>
<xsl:choose>
  <xsl:when test=".//frameset">
    <xsl:copy-of select="$frameDocType"/>
  </xsl:when>
  <xsl:otherwise>
    <xsl:copy-of select="$docType"/>
  </xsl:otherwise>
</xsl:choose>
<xsl:choose>
  <xsl:when test="$isLiveDocs"/>
  <xsl:otherwise>
    <xsl:value-of select="$markOfTheWeb"/>
  </xsl:otherwise>
</xsl:choose>
<xsl:element name="html">
  <xsl:apply-templates/>
  <xsl:copy-of select="$copyrightComment"/>
  <xsl:value-of select="$newline"/>
</xsl:element>
</xsl:template>

Я перешел к настройке внешнего инструмента и добавил местоположение asdoc

/Applications/Adobe Flash Builder 4/sdks/flex_sdk_4.1/bin/asdoc

Затем я добавил свой рабочий каталог

${workspace_loc:/ATE_Shell}

И наконец, я вставил все свои аргументы

-lenient
-source-path src
-doc-sources src
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/ActivityToolkitLib/bin/ActivityToolkitLib.swc
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/ATE_Template/bin/ATE_Template.swc
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/AssesmentCommunicationLib/bin/AssesmentCommunicationLib.swc
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/BFW_UI/bin/BFW_UI.swc
-external-library-path=/Users/NEWYORK\abritez/Documents/workspaces/ate/DiagnosticReporter/bin/DiagnosticReporter.swc

UPDATE: В итоге я откатился до 3.5, выполнил тестовое приложение с одним методом для документирования и получил эту ошибку.

Мой метод

package com.test
{
import mx.containers.Canvas;


public class Grouptest extends Canvas
{
    public function Grouptest()
    {
        super();
    }

    /**
     *  Hello
     * 
     * @param   value   Some string
     * */

    public function set testMe(value:String):void
    {
        trace("value " + value)
    }
}
} 

Моя ошибка

Loading configuration file /Applications/Adobe Flash Builder 4/sdks/3.5.0/frameworks/flex-config.xml Adobe ASDoc 
Version 3.5.0 build 12683 
Copyright (c) 2004-2007 Adobe Systems, Inc. All rights reserved. 

Error: '' is not a directory 
Use 'asdoc -help' for information about using the command line

Любая помощь или указание в правильном направлении будут очень ценными. Я запускал ASDoc в прошлом, поэтому я уверен, что я что-то упускаю.

Ответы [ 3 ]

2 голосов
/ 28 сентября 2010

ASDoc, как известно, плохо сообщает об ошибках и дает красные селедки.

Следующее было подходящим для Flex 3. Я предполагаю, что оно все еще подходит для Flex 4.

Главное, что нужно запомнитьявляется то, что ASDoc делает только один проход, в отличие от компилятора, который делает (по крайней мере) два.Это выявляет проблемы, которые компилятор скрывает для вас, классически, если вы объявляете что-то как привязываемое, но не делаете класс IEventDispatcher, компилятор обманывает вас при первом проходе, но ASDoc просто не работает.

Другойобщая проблема - файл не найден при использовании тегов типа @see.Если вы указали неверный путь, ASDoc использовал его для сброса и не генерировал.

Третья наиболее распространенная проблема в моем опыте - это неправильно сформированные HTML-теги.Забывает добавить

или добавить теги HTML в теги ASDoc, которые их не принимают.

К сожалению, поскольку ASDoc плохо SO плохо сообщает об этих ошибках и не обрабатывает изящноошибки, это королевский кошмар, чтобы найти, где проблема, не перебирая код построчно ...

1 голос
/ 25 мая 2011

У меня была такая же проблема.Я наконец нашел случайный пост об этой же проблеме , и это исправило его для меня.

В другой раз черная дыра с генерацией asdoc

[asdoc] [FatalОшибка] toplevel.xml: 90: 2: содержимое элементов должно состоять из правильно сформированных символьных данных или разметки.

[asdoc] Ошибка: не удалось создать toplevel.xml: содержимое элементов должно состоять изправильно сформированные символьные данные или разметка.

Это вызвано случайным символом в ваших комментариях asdoc, который парсеру не нравится.В моем случае пара <или> вместе с @.

1 голос
/ 14 мая 2011

Я понимаю, что вы имеете дело с 4, но я столкнулся с той же проблемой с 3.5, поэтому может применяться следующее:

Это происходит потому, что папка asdocs и, что более важно, папка asdocs / templates не была 't включен в 3.5 дистрибутив Flex SDK.Просто скопируйте asdocs из 3.4 или другого 3.x SDK, и он будет работать.

http://michael.omnicypher.com/2011/05/flex-35-and-using-asdocs.html

...