Выпуск библиотеки Flex 3 ASDocs - PullRequest
1 голос
/ 12 мая 2009

Мы пытались скомпилировать ASDocs для проекта библиотеки Flex 3. Наша проблема в том, что ASDocs отказывается распознавать любой пользовательский компонент mxml, который создается и используется в библиотеке.

Например, если в нашей библиотеке есть пользовательский элемент управления mxml AdvancedButton, и мы пытаемся использовать его в другом классе mxml в библиотеке, то компилятор ASDocs выдает ошибку в файле родительского класса с сообщением «Ошибка: тип не найден» или не был константой времени компиляции: AdvancedButton ".

Ошибка также возникает, если мы пытаемся расширить наш пользовательский компонент. Поэтому, если наша библиотека содержит AdvancedButton, который расширяет Button, и ExtraAdvancedButton, который расширяет AdvancedButton, ASDocs будет "Невозможно найти указанный базовый класс" AdvancedButton для класса компонента "ExtraAdvancedButton" ".

С другой стороны, если на AdvancedButton ссылаются из внешней библиотеки, мы не получим ошибок.

Это не проблема, если файлы имеют формат .as, а не .mxml. В нашем случае, однако, мы вложили компоненты на основе degrafa.

Идеи будут высоко оценены.

Ответы [ 3 ]

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

У меня недавно была такая же проблема. Уловка для меня заключалась в добавлении -source-path "src" к аргументам компилятора asdoc.

Вот команда asdoc, которая работала для меня:

c:\work\prg\Flex>"c:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.3.0\bin\asdoc.exe" -doc-sources "src" -main-title "PRG documentation" -output "c:\work\prg\Flex\docs" -source-path "c:\work\XmlMappingAS3\src" -source-path "assets\css" -source-path "c:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.3.0\frameworks\projects\framework\src" -source-path "c:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.3.0\frameworks\projects\rpc\src" -external-library-path "c:\work\commonLibraries\Flex\as3commons-reflect-1.0.0.swc" -external-library-path "c:\work\commonLibraries\Flex\Cairngorm.swc" -external-library-path "c:\work\commonLibraries\Flex\spring-actionscript.swc" -external-library-path "c:\work\commonLibraries\Flex\xpath-as3-1.0.0.swc" -external-library-path "c:\work\commonLibraries\Flex\as3corelib.swc" -external-library-path "c:\work\commonLibraries\Flex\as3reflect.swc" -source-path "src"

Кроме того, очень помогло бы использование FlashDevelop ActionScript Generator Generator (то есть фактически того, что я использовал). Если вы устанавливаете FlashDevelop в среде Windows в «c: \ Program Files \ FlashDevelop», Генератор документации находится в «c: \ Program Files \ FlashDevelop \ Tools \ asdocgen \ ASDocGen.exe».

Удачи!

2 голосов
/ 08 июня 2010

Я потратил пару часов, пытаясь сгенерировать ASDocs для своего проекта Flex, и продолжал получать ошибки, связанные с невозможностью найти базовый класс x / y / z. В конце концов я обнаружил, что это потому, что я не сообщал ASDoc местоположение файлов Flex SWC:

(For me) C:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.4.0\frameworks\libs

Включите этот путь в дополнительный аргумент -library-path, и вы обнаружите, что он останавливает все ошибки, связанные с отсутствием поиска базовых классов.

Это похоже на исходную проблему, описанную выше, в которой отсутствуют ссылки на эти пользовательские компоненты. Убедитесь, что включен базовый каталог, содержащий эти пользовательские компоненты .as файлы

0 голосов
/ 01 сентября 2009

Используете ли вы параметр -library-path в asdoc?
Но подождите, вы сказали, что не получаете ошибок, если на него ссылаются из внешней библиотеки - так вы уже используете путь к библиотеке, верно?

Flex 3 ASDoc вообще не документирует mxml. Так что, может быть, вы получите Flex 4 SDK и попробуйте с asdoc, который идет с ним.

...