From 2bff9cc8083b3d87b67afefb68c7b20bd2cdb3b3 Mon Sep 17 00:00:00 2001 From: Sarah Zakarias Date: Wed, 27 Aug 2025 09:28:27 +0000 Subject: [PATCH] wip --- lib/src/generator/generator.dart | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/src/generator/generator.dart b/lib/src/generator/generator.dart index 8e81fd6731..c561d4b97a 100644 --- a/lib/src/generator/generator.dart +++ b/lib/src/generator/generator.dart @@ -37,13 +37,21 @@ abstract class FileWriter { } /// A generator generates documentation for a given package. -/// -/// Generators can generate documentation in different formats: HTML, JSON, etc. -class Generator { +abstract class Generator { + Future generate(PackageGraph? packageGraph); + Set get writtenFiles; +} + +/// A [DartdocModelGenerator] generates documentation for a given package +/// analyzed in the dartdoc model. +class DartdocModelGenerator implements Generator { + /// Depending on the given [GeneratorBackend] it can generate documentation + /// in different formats: HTML, JSON, etc. final GeneratorBackend _generatorBackend; - Generator(this._generatorBackend); + DartdocModelGenerator(this._generatorBackend); + @override Future generate(PackageGraph? packageGraph) async { await _generatorBackend.generateAdditionalFiles(); @@ -60,6 +68,7 @@ class Generator { _generatorBackend.generateSearchIndex(indexElements); } + @override Set get writtenFiles => _generatorBackend.writer.writtenFiles; /// Traverses the [packageGraph] and generates documentation for all contained @@ -318,5 +327,5 @@ Generator initHtmlGenerator( var options = DartdocGeneratorBackendOptions.fromContext(context); var generatorBackend = HtmlGeneratorBackend( options, templates, writer, context.resourceProvider); - return Generator(generatorBackend); + return DartdocModelGenerator(generatorBackend); }