dart - 使用 dartdoc 生成文档时“生成失败”
问题描述
我正在尝试为我正在处理的 Flutter 项目生成文档。我dartdoc
在我的项目的文件夹中使用。
它是dartdoc
与 Chocolatey 一起安装的 Dart SDK 的(所以它不是 Flutter 的),我保存在我的系统 PATH 中。
dart --version
给Dart VM version: 2.0.0-dev.53.0 (Thu May 3 12:35:47 2018 +0200) on "windows_x64"
.
我使用 Flutter 的 Dart's 得到完全相同的错误dartdoc
,因此path_to_flutter\flutter\bin\cache\dart-sdk\bin\dartdoc.bat'
在我的项目目录中运行。
我flutter --version
的是:
Flutter 0.3.2 • channel beta • https://github.com/flutter/flutter.git
Framework • revision 44b7e7d3f4 (3 weeks ago) • 2018-04-20 01:02:44 -0700
Engine • revision 09d05a3891
Tools • Dart 2.0.0-dev.48.0.flutter-fe606f890b
dartdoc
在这两种情况下,在解析所有项目文件之后的输出是:
Generating documentation for 'pindery' into C:\Users\Edoardo Debenedetti\Documents\Tongji\Software Engineering\Progetto\pindery\doc\api\
parsing lib\catalogue\catalogue.dart...
parsing lib\catalogue\catalogue_element.dart...
[...]
Initialized dartdoc with 775 libraries in 61.7 seconds
documenting pindery
Generation failed: Bad state: Could not find "packageGraph.version" in given context
package:mustache4dart/mustache_context.dart 88 _MustacheContext._getInThisOrParent
package:mustache4dart/mustache_context.dart 78 _MustacheContext.field
package:mustache4dart/src/tokens.dart 169 _ExpressionToken.apply
package:mustache4dart/src/tokens.dart 247 _EscapeHtmlToken.apply
package:mustache4dart/src/tokens.dart 40 Token.call
package:mustache4dart/src/tmpl.dart 101 _Template._write
package:mustache4dart/src/tmpl.dart 76 _Template.call
package:mustache4dart/src/mustache.dart 11 render
package:mustache4dart/src/tokens.dart 211 _PartialToken.apply
package:mustache4dart/src/tokens.dart 40 Token.call
package:mustache4dart/src/tmpl.dart 101 _Template._write
package:mustache4dart/src/tmpl.dart 76 _Template.call
package:dartdoc/src/html/html_generator_instance.dart 287 HtmlGeneratorInstance._build
package:dartdoc/src/html/html_generator_instance.dart 171 HtmlGeneratorInstance.generatePackage
package:dartdoc/src/html/html_generator_instance.dart 90 HtmlGeneratorInstance._generateDocs
package:dartdoc/src/html/html_generator_instance.dart 36 HtmlGeneratorInstance.generate
===== asynchronous gap ===========================
dart:async _Completer.completeError
package:dartdoc/src/html/html_generator_instance.dart HtmlGeneratorInstance.generate
===== asynchronous gap ===========================
dart:async new Future.microtask
package:dartdoc/src/html/html_generator_instance.dart 34 HtmlGeneratorInstance.generate
package:dartdoc/src/html/html_generator.dart 107 HtmlGenerator.generate
===== asynchronous gap ===========================
dart:async new Future.microtask
package:dartdoc/src/html/html_generator.dart 73 HtmlGenerator.generate
package:dartdoc/dartdoc.dart 144 Dartdoc.generateDocs
===== asynchronous gap ===========================
dart:async _asyncThenWrapperHelper
package:dartdoc/dartdoc.dart 129 Dartdoc.generateDocs
E:\b\build\slave\dart-sdk-windows-dev\build\sdk\third_party\pkg\dartdoc\bin\dartdoc.dart 77 main.<fn>.<fn>
===== asynchronous gap ===========================
dart:async new Future.microtask
E:\b\build\slave\dart-sdk-windows-dev\build\sdk\third_party\pkg\dartdoc\bin\dartdoc.dart 76 main.<fn>.<fn>
dart:async runZoned
E:\b\build\slave\dart-sdk-windows-dev\build\sdk\third_party\pkg\dartdoc\bin\dartdoc.dart 76 main.<fn>
===== asynchronous gap ===========================
dart:async new Future.microtask
E:\b\build\slave\dart-sdk-windows-dev\build\sdk\third_party\pkg\dartdoc\bin\dartdoc.dart 75 main.<fn>
package:stack_trace Chain.capture
E:\b\build\slave\dart-sdk-windows-dev\build\sdk\third_party\pkg\dartdoc\bin\dartdoc.dart 75 main
是我项目的问题吗?我该如何解决?
非常感谢。
解决方案
Actually it is a bug, whose workaround is putting a version in the project's pubspec.yaml
file.
E.g.
name: pindery
description: An amazing party app
version: 0.0.1-alpha0
[...]
In this way the documentation is succesfully generated.
You can see the issue on dartdoc
's GitHub issues tracking page.
推荐阅读
- java - 如何在没有在 linux 中安装 jdk 的情况下运行 JarSigner?
- python - Azure ML 包启动的 Tensorboard 无法正常工作
- javascript - 节点(Express)不启动
- powerbi - 在 Power BI 中创建日历表,其中第一个日期是 4 年前财政年度的开始
- android - 安装失败,原因是:'null' - Android Studio 3.5
- angular - Google 登录不适用于 Angular SSR Build
- windows - 用于从标准输入读取的 Win32 缓冲区大小
- groovy - 无法使用管道脚本在 jenkins 中发布 spotbug
- asp.net - 如何在两台不同物理分离的机器上配置 Web 服务器(IIS)和 App Server(.Net)
- php - 删除 jQuery 完整日历事件的验证问题