diff --git a/dev/tools/dartdoc.dart b/dev/tools/dartdoc.dart index 25fa48d73a..577d73438e 100644 --- a/dev/tools/dartdoc.dart +++ b/dev/tools/dartdoc.dart @@ -6,6 +6,7 @@ import 'dart:async'; import 'dart:convert'; import 'dart:io'; +import 'package:intl/intl.dart'; import 'package:path/path.dart' as path; const String kDocRoot = 'dev/docs/doc'; @@ -61,11 +62,14 @@ dependencies: if (code != 0) exit(code); + createFooter('dev/docs/lib/footer.html'); + // Generate the documentation. List args = [ 'global', 'run', 'dartdoc', '--header', 'styles.html', '--header', 'analytics.html', + '--footer', 'lib/footer.html', '--exclude', 'temp_doc', '--favicon=favicon.ico', '--use-categories' @@ -90,6 +94,18 @@ dependencies: createIndexAndCleanup(); } +void createFooter(String footerPath) { + ProcessResult gitResult = Process.runSync('git', ['rev-parse', 'HEAD']); + String gitHead = (gitResult.exitCode == 0) ? gitResult.stdout.trim() : 'unknown'; + + String timestamp = new DateFormat('yyyy-MM-dd HH:mm').format(new DateTime.now()); + + new File(footerPath).writeAsStringSync( + '

' + 'Generated on $timestamp - Version $gitHead

' + ); +} + void sanityCheckDocs() { List canaries = [ '$kDocRoot/api/dart-io/File-class.html', diff --git a/dev/tools/pubspec.yaml b/dev/tools/pubspec.yaml index 5214103e09..8d29d2184d 100644 --- a/dev/tools/pubspec.yaml +++ b/dev/tools/pubspec.yaml @@ -5,4 +5,5 @@ dependencies: archive: ^1.0.20 args: ^0.13.4 http: ^0.11.3 + intl: ^0.14.0 path: ^1.4.0