| Index: tools/html_json_doc/bin/html_json_doc.dart
|
| diff --git a/tools/html_json_doc/bin/html_json_doc.dart b/tools/html_json_doc/bin/html_json_doc.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7c5b72602592687e244066a5850e0f370870a1cc
|
| --- /dev/null
|
| +++ b/tools/html_json_doc/bin/html_json_doc.dart
|
| @@ -0,0 +1,69 @@
|
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +/**
|
| + * TODO(amouravski): Document stuff here.
|
| + */
|
| +
|
| +import 'dart:io';
|
| +
|
| +import '../lib/html_to_json.dart' as html_to_json;
|
| +import '../lib/json_to_html.dart' as json_to_html;
|
| +import '../../../pkg/args/lib/args.dart';
|
| +
|
| +// Need this because ArgParser.getUsage doesn't show command invocation.
|
| +const USAGE = 'Usage htmlJsonDoc [options] --mode=<mode> <HTML.dart directory> '
|
| + '<json path>\n[options] include:';
|
| +final argParser = new ArgParser();
|
| +
|
| +main() {
|
| + final args = new Options().arguments;
|
| +
|
| + if (args.isEmpty) {
|
| + printUsage('No arguments provided.');
|
| + return;
|
| + }
|
| +
|
| + var mode;
|
| + argParser.addOption('mode', abbr: 'm',
|
| + help: '(Required) Convert from HTML docs to JSON or vice versa.',
|
| + allowed: ['html-to-json', 'json-to-html'], allowedHelp: {
|
| + 'html-to-json': 'Processes all HTML .dart files at given\n'
|
| + 'location and outputs JSON.',
|
| + 'json-to-html': 'Takes JSON file at location and inserts docs into\n'
|
| + 'HTML .dart files.'},
|
| + callback: (m) => mode = m
|
| + );
|
| +
|
| + final argResults = argParser.parse(args);
|
| +
|
| + if (mode == null) {
|
| + printUsage('Mode is a required option.');
|
| + return;
|
| + } else if (argResults.rest.length < 2) {
|
| + printUsage('Insufficient arguments.');
|
| + return;
|
| + }
|
| +
|
| + var htmlPath = new Path.fromNative(argResults.rest[0]);
|
| + var jsonPath = new Path.fromNative(argResults.rest[1]);
|
| +
|
| + var convertFuture;
|
| + if (mode == 'html-to-json') {
|
| + convertFuture = html_to_json.convert(htmlPath, jsonPath);
|
| + } else {
|
| + convertFuture = json_to_html.convert(htmlPath, jsonPath);
|
| + }
|
| +
|
| + convertFuture.then((anyErrors) {
|
| + print('Completed ${anyErrors ? "with" : "without"} errors.');
|
| + });
|
| +}
|
| +
|
| +/// Prints the usage of the tool. [message] is printed if provided.
|
| +void printUsage([String message]) {
|
| + print(message);
|
| + print(USAGE);
|
| + print(argParser.getUsage());
|
| +}
|
|
|