dart - 文档根 : Merge/Append libraries

标签 dart

如何创建具有多个库包的 docgen 解决方案?与 Dart 类似,左侧垂直菜单包含每个库的链接。 示例:我的 dart 编辑器工作区包含 5 个项目

mowbotnavrc_server (server)
mowbotnavrc_web (client)
mowbotnavrc (library)
mowbotnavrc_protocol (library)
osswebwidgets (library)

我想要在index.html 的左侧菜单中列出上面的3 个库包。当我添加更多库时,它们每个都会在左侧菜单中获得一个链接。目前,我只能单独生成每个库,没有问题。

cd %project-folder%
:: <<< Run pub get to get the dependencies >>>
cmd /c %dart-sdk-bin%\pub get
cmd /c docgen.bat --verbose %OPTIONS% --out %ENV-PROJECT-DOCS% --no-include-sdk --no-include-dependent-packages --package-root=%project-folder%\packages %project-folder%\lib

根据文档的 --append 选项听起来像是我需要的,但我从未让它工作。

--append
Use the same format used the last time the docs were generated, 
as stated in library_list.json. Add the newly generated documentation
to the docs directory, library_list.json, and index.txt.

我使用的是 Dart SDK 版本 1.4.0-dev.2.2。我认为 --append 从 1.4 开始已弃用。任何建议表示赞赏。

最佳答案

根据 Günter 的回答,我能够让 Windows 命令版本正常工作。也许其他人也会发现有帮助。

:: ===========================================================================
:: DOCGEN: MOWBOT Dart Project
:: ===========================================================================
mode con:cols=135 lines=50

:: --------------------------------------------
:: Initialize environment variables
:: --------------------------------------------
setlocal
set PATH-DARTSDKBIN=F:\Public\Downloads\Darteditor-windows-x64\dart\dart-sdk\bin
set PATH=%PATH%;%PATH-DARTSDKBIN%
set PATH-DARTPROJECTS=C:\Users\OSSDevYorgi\DartProjects
set PATH-DARTDOCS=C:\Users\OSSDevYorgi\DartDocs

set ERRORMSG=

:: --------------------------------------------
:: Initialize PATH-DARTDOCS & PATH-DARTDOCS-MOWBOT folders
:: --------------------------------------------
IF NOT EXIST %PATH-DARTDOCS% mkdir %PATH-DARTDOCS%
set PATH-DARTDOCS-MOWBOT=%PATH-DARTDOCS%\mowbot

IF NOT EXIST %PATH-DARTDOCS-MOWBOT% (
   mkdir %PATH-DARTDOCS-MOWBOT% 1> nul
) ELSE (
   del %PATH-DARTDOCS-MOWBOT% /s /q 1> nul
)

:: --------------------------------------------
:: MAIN DOC PROJECT:mowbotnavrc
:: -------------------------------------------- 
set PROJECT-NAME=mowbotnavrc
set PATH-PROJECT=%PATH-DARTPROJECTS%\libraries\%PROJECT-NAME%
set PROJECTLIBS=lib\mowbotnavrc.dart
set PROJECTLIBS=%PROJECTLIBS% %PATH-DARTPROJECTS%\libraries\mowbotnavrc_protocol\lib\protobufs\mowbot.pb.dart
set PROJECTLIBS=%PROJECTLIBS% %PATH-DARTPROJECTS%\webcomponents\osswebwidgets\lib\instruments.dart
::set PROJECTLIBS=%PROJECTLIBS% %PATH-DARTPROJECTS%\webcomponents\osswebwidgets\lib\guages.dart

::set STARTPAGE=%PROJECT-NAME%

:: --------------------------------------------
:: VERIFY FOLDERS EXIST
:: --------------------------------------------
@IF EXIST %PATH-PROJECT% goto :BUILDDOCS
@set ERRORMSG="PATH NOT FOUND "%PATH-PROJECT%
@goto :ERRORHANDLER

:: --------------------------------------------
:: SUBROUTINE:BUILDDOCS
:: --------------------------------------------
:BUILDDOCS

:: --------------------------------------------
:: Hack:Temporary workaround for pre-existing dartdoc-viewer causes "docgen --serve" to fail
:: --------------------------------------------
set ENV-PROJECT-DOCS=%PATH-PROJECT%\dartdoc-viewer
IF EXIST %ENV-PROJECT-DOCS% (
   rmdir %ENV-PROJECT-DOCS% /s /q 1> nul
)

set ENV-PROJECT-DOCS=%PATH-PROJECT%\nobackup\docs
IF NOT EXIST %ENV-PROJECT-DOCS% (
   mkdir %ENV-PROJECT-DOCS% 1> nul
) ELSE (
   del %ENV-PROJECT-DOCS% /s /q 1> nul
)

cd %PATH-PROJECT%
:: <<< Run pub get to get the dependencies >>>
::cmd /c %PATH-DARTSDKBIN%\pub get

cmd /c docgen.bat --serve --verbose --no-include-sdk ^
--include-dependent-packages ^
--out %ENV-PROJECT-DOCS% ^
--package-root=%PATH-PROJECT%\packages ^
--introduction=README.md ^
%PROJECTLIBS%

goto :exit

:: --------------------------------------------
:: SUBROUTINE:ERRORHANDLER
:: --------------------------------------------
:ERRORHANDLER
@echo.
@echo --------------------------------------------
@echo ERROR:%ERRORMSG%
@echo --------------------------------------------
@echo.

:: --------------------------------------------
:: END OF JOB
:: --------------------------------------------
:exit
pause

关于dart - 文档根 : Merge/Append libraries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23165865/

相关文章:

dart - 如何从 flutter 的列表中选择一个项目

android - Flutter-来自Firebase的readData()导致该方法在null上被调用

c - 如何在 Dart 中扩展 Pointer<Int8>?

firebase - 为什么 print(snapshot.hasData) 返回 true?

flutter - flutter -Future <bool>转换为bool

Flutter 包读取自己的 Assets

android - 未找到 Flutter : android. jar 文件的测试驱动器

flutter - 有没有办法让 Flutter Timer.periodic 在进入下一个周期之前等待函数返回加上固定的持续时间?

flutter - 我想知道用户是否已经对我的应用进行了评价?

flutter - 如何将国际化添加到 Flutter 插件