@@ -9,7 +9,6 @@ import 'dart:io' show Platform, exitCode, stderr;
99import 'package:analyzer/file_system/file_system.dart' ;
1010import 'package:dartdoc/src/dartdoc_options.dart' ;
1111import 'package:dartdoc/src/failure.dart' ;
12- import 'package:dartdoc/src/generator/empty_generator.dart' ;
1312import 'package:dartdoc/src/generator/generator.dart' ;
1413import 'package:dartdoc/src/generator/html_generator.dart' ;
1514import 'package:dartdoc/src/logging.dart' ;
@@ -27,10 +26,28 @@ const String programName = 'dartdoc';
2726// Update when pubspec version changes by running `pub run build_runner build`
2827const String dartdocVersion = packageVersion;
2928
29+ /// Used for the generateDocs:false option.
30+ ///
31+ /// Writes nothing.
32+ class NoFileWriter implements FileWriter {
33+ @override
34+ void write (String filePath, String content, {Warnable ? element}) {
35+ // Do nothing
36+ }
37+
38+ @override
39+ void writeBytes (String filePath, List <int > content,
40+ {bool allowOverwrite = false }) {
41+ // Do nothing
42+ }
43+
44+ @override
45+ Set <String > get writtenFiles => {};
46+ }
47+
3048class DartdocFileWriter implements FileWriter {
3149 final String _outputDir;
32- @override
33- final ResourceProvider resourceProvider;
50+ final ResourceProvider _resourceProvider;
3451 final Map <String , Warnable ?> _fileElementMap = {};
3552 @override
3653 final Set <String > writtenFiles = {};
@@ -43,7 +60,7 @@ class DartdocFileWriter implements FileWriter {
4360
4461 DartdocFileWriter (
4562 this ._outputDir,
46- this .resourceProvider , {
63+ this ._resourceProvider , {
4764 int maxFileCount = 0 ,
4865 int maxTotalSize = 0 ,
4966 }) : _maxFileCount = maxFileCount,
@@ -115,8 +132,8 @@ class DartdocFileWriter implements FileWriter {
115132 /// Returns the file at [outFile] relative to [_outputDir] , creating the
116133 /// parent directory if necessary.
117134 File _getFile (String outFile) {
118- var file = resourceProvider
119- .getFile (resourceProvider .pathContext.join (_outputDir, outFile));
135+ var file = _resourceProvider
136+ .getFile (_resourceProvider .pathContext.join (_outputDir, outFile));
120137 var parent = file.parent;
121138 if (! parent.exists) {
122139 parent.create ();
@@ -144,19 +161,6 @@ class Dartdoc {
144161 @visibleForTesting
145162 set generator (Generator newGenerator) => _generator = newGenerator;
146163
147- /// Factory method that builds Dartdoc with an empty generator.
148- factory Dartdoc .withEmptyGenerator (
149- DartdocOptionContext config,
150- PackageBuilder packageBuilder,
151- ) {
152- return Dartdoc ._(
153- config,
154- config.resourceProvider.getFolder ('UNUSED' ),
155- initEmptyGenerator (),
156- packageBuilder,
157- );
158- }
159-
160164 /// Builds Dartdoc with a generator determined by [context] .
161165 factory Dartdoc .fromContext (
162166 DartdocGeneratorOptionContext context,
@@ -165,12 +169,14 @@ class Dartdoc {
165169 var resourceProvider = context.resourceProvider;
166170 var outputPath = resourceProvider.pathContext.absolute (context.output);
167171 var outputDir = resourceProvider.getFolder (outputPath)..create ();
168- var writer = DartdocFileWriter (
169- outputPath,
170- resourceProvider,
171- maxFileCount: context.maxFileCount,
172- maxTotalSize: context.maxTotalSize,
173- );
172+ var writer = context.generateDocs
173+ ? DartdocFileWriter (
174+ outputPath,
175+ resourceProvider,
176+ maxFileCount: context.maxFileCount,
177+ maxTotalSize: context.maxTotalSize,
178+ )
179+ : NoFileWriter ();
174180 return Dartdoc ._(
175181 context,
176182 outputDir,
0 commit comments