Skip to content

Commit 2760d25

Browse files
authored
Deprecate the 'include-externals' option. (#3694)
I cannot see that this is used anywhere. We also have no tests for it. The documentation is minimal. It was added 8 years ago! How time flies! I suspect this was put in place for Flutter, and Flutter switched to using the newer `--auto-include-dependencies` option.
1 parent c1c0854 commit 2760d25

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

Diff for: lib/src/dartdoc.dart

+8
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,14 @@ class Dartdoc {
188188
runtimeStats.startPerfTask('buildPackageGraph');
189189
var packageGraph = await packageBuilder.buildPackageGraph();
190190
runtimeStats.endPerfTask();
191+
if (packageBuilder.includeExternalsWasSpecified) {
192+
packageGraph.defaultPackage.warn(
193+
PackageWarning.deprecated,
194+
message:
195+
"The '--include-externals' option is deprecated, and will soon be "
196+
'removed.',
197+
);
198+
}
191199
var libs = packageGraph.libraryCount;
192200
logInfo("Initialized dartdoc with $libs librar${libs == 1 ? 'y' : 'ies'}");
193201

Diff for: lib/src/model/package_builder.dart

+17-2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ abstract class PackageBuilder {
3939
Future<PackageGraph> buildPackageGraph();
4040

4141
Future<void> dispose();
42+
43+
/// The `include-external` option is deprecated, so we track whether it was
44+
/// used, to report it.
45+
bool get includeExternalsWasSpecified;
4246
}
4347

4448
/// A package builder that understands pub package format.
@@ -283,7 +287,11 @@ class PubPackageBuilder implements PackageBuilder {
283287
}
284288
files.addAll(newFiles);
285289
if (!addingSpecials) {
286-
files.addAll(_includedExternalsFrom(newFiles));
290+
var externals = _includedExternalsFrom(newFiles);
291+
if (externals.isNotEmpty) {
292+
includeExternalsWasSpecified = true;
293+
}
294+
files.addAll(externals);
287295
}
288296

289297
var packages = _packageMetasForFiles(files.difference(_knownParts));
@@ -437,14 +445,21 @@ class PubPackageBuilder implements PackageBuilder {
437445
includeDependencies: _config.autoIncludeDependencies,
438446
filterExcludes: true,
439447
).toList();
440-
files = [...files, ..._includedExternalsFrom(files)];
448+
var externals = _includedExternalsFrom(files);
449+
if (externals.isNotEmpty) {
450+
includeExternalsWasSpecified = true;
451+
}
452+
files = [...files, ...externals];
441453
return {
442454
...files
443455
.map((s) => _pathContext.absolute(_resourceProvider.getFile(s).path)),
444456
..._embedderSdkFiles,
445457
};
446458
}
447459

460+
@override
461+
bool includeExternalsWasSpecified = false;
462+
448463
Iterable<String> get _embedderSdkFiles => [
449464
for (var dartUri in _embedderSdkUris)
450465
_pathContext.absolute(_resourceProvider

0 commit comments

Comments
 (0)