generateDocs method

Future<DartdocResults> generateDocs()

Generates Dartdoc documentation.

DartdocResults is returned if dartdoc succeeds. DartdocFailure is thrown if dartdoc fails in an expected way, for example if there is an analysis error in the code.

Implementation

Future<DartdocResults> generateDocs() async {
  DartdocResults? dartdocResults;
  try {
    logInfo('Documenting ${config.topLevelPackageMeta}...');

    dartdocResults = await generateDocsBase();
    if (dartdocResults.packageGraph.localPublicLibraries.isEmpty) {
      logWarning('dartdoc could not find any libraries to document');
    }

    final errorCount =
        dartdocResults.packageGraph.packageWarningCounter.errorCount;
    if (errorCount > 0) {
      throw DartdocFailure('encountered $errorCount errors');
    }
    var outDirPath = config.resourceProvider.pathContext
        .absolute(dartdocResults.outDir.path);
    logInfo('Success! Docs generated into $outDirPath');
    return dartdocResults;
  } finally {
    dartdocResults?.packageGraph.dispose();
  }
}