Roll back 16364004 and 16206027.
Review URL: https://codereview.chromium.org//16387004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23625 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/sdk/bin/dartdoc b/sdk/bin/dartdoc
index f95cb16..3f22367 100755
--- a/sdk/bin/dartdoc
+++ b/sdk/bin/dartdoc
@@ -18,17 +18,9 @@
fi
unset SNAPSHOT
-
-SNAPSHOT="$BIN_DIR/snapshots/utils_wrapper.dart.snapshot"
-
-if test -f $SNAPSHOT; then
+if test -f "$BIN_DIR/../lib/_internal/dartdoc/bin/dartdoc.dart.snapshot"; then
# TODO(ahe): Remove the following line when we are relatively sure it works.
- echo Using snapshot $SNAPSHOT 1>&2
- exec "$BIN_DIR"/dart --heap_growth_rate=32 \
- "--package-root=$BIN_DIR/../packages/" $SNAPSHOT dartdoc $COLORS \
- "--package-root=$BIN_DIR/../packages/" "--library-root=$BIN_DIR/.." "$@"
-else
- exec "$BIN_DIR"/dart --heap_growth_rate=32 \
- "--package-root=$BIN_DIR/../packages/" \
- "$BIN_DIR/../lib/_internal/dartdoc/bin/dartdoc.dart" $COLORS "$@"
+ echo Using snapshot "$BIN_DIR/../lib/_internal/dartdoc/bin/dartdoc.dart.snapshot" 1>&2
+ SNAPSHOT="--use-script-snapshot=$BIN_DIR/../lib/_internal/dartdoc/bin/dartdoc.dart.snapshot"
fi
+exec "$BIN_DIR"/dart --heap_growth_rate=32 "--package-root=$BIN_DIR/../packages/" $SNAPSHOT "$BIN_DIR/../lib/_internal/dartdoc/bin/dartdoc.dart" "--package-root=$BIN_DIR/../packages/" $COLORS "$@"
diff --git a/sdk/lib/_internal/dartdoc/bin/dartdoc.dart b/sdk/lib/_internal/dartdoc/bin/dartdoc.dart
index dd81d07..d9fe3d9 100644
--- a/sdk/lib/_internal/dartdoc/bin/dartdoc.dart
+++ b/sdk/lib/_internal/dartdoc/bin/dartdoc.dart
@@ -29,18 +29,10 @@
* Run this from the `lib/_internal/dartdoc` directory.
*/
main() {
- mainWithOptions(new Options());
-}
-
-/**
- * We use this to include dartdoc in a single snapshot with dart2js.
- * (They share 90% of the code)
- */
-mainWithOptions(Options options) {
// Need this because ArgParser.getUsage doesn't show command invocation.
final USAGE = 'Usage dartdoc [options] <entrypoint(s)>\n[options] include:';
- final args = options.arguments;
+ final args = new Options().arguments;
final dartdoc = new Dartdoc();
@@ -248,8 +240,8 @@
// TODO(amouravski): move compileScript out and pre-generate the client
// scripts. This takes a long time and the js hardly ever changes.
.then((_) => compileScript(dartdoc.mode, dartdoc.outputDir, libPath))
- .then((_) => copyDirectory(libPath.append('lib/_internal/dartdoc/static'),
- dartdoc.outputDir))
+ .then((_) => copyDirectory(scriptDir.append('../static'),
+ dartdoc.outputDir))
.then((_) {
print(dartdoc.status);
if (dartdoc.totals == 0) {
diff --git a/sdk/lib/_internal/dartdoc/lib/dartdoc.dart b/sdk/lib/_internal/dartdoc/lib/dartdoc.dart
index 17b84ba..dfc0f45 100644
--- a/sdk/lib/_internal/dartdoc/lib/dartdoc.dart
+++ b/sdk/lib/_internal/dartdoc/lib/dartdoc.dart
@@ -319,12 +319,6 @@
/** The file currently being written to. */
StringBuffer _file;
- /**
- * The temporary directory used for this instance of Dartdoc.
- * Call [cleanup] to delete it.
- */
- Directory _tempDir;
-
int _totalLibraries = 0;
int _totalTypes = 0;
int _totalMembers = 0;
@@ -789,49 +783,32 @@
endFile();
}
- /// Whether dartdoc is running from within the Dart SDK or the
- /// Dart source repository.
- bool get runningFromSdk =>
- pathos.extension(new Options().script) == '.snapshot';
-
- /// Gets the path to the root directory of the SDK.
- String get rootDirectory =>
- pathos.dirname(pathos.dirname(new Options().executable));
-
- /// Gets the path to the dartdoc directory normalized for running in different
- /// places.
- String get normalizedDartdocPath => runningFromSdk ?
- pathos.join(rootDirectory, 'lib', '_internal', 'dartdoc') :
- dartdocPath.toString();
-
- /// The path to the temporary directory in the SDK.
- // TODO(amouravski): Remove this and use a REAL temporary directory.
- String get tempPath => pathos.join(normalizedDartdocPath, 'tmp');
-
void docNavigationDart() {
- _tempDir = new Directory(tempPath);
- if (!_tempDir.existsSync()) {
+ final dir = new Directory.fromPath(tmpPath);
+ if (!dir.existsSync()) {
// TODO(3914): Hack to avoid 'file already exists' exception
// thrown due to invalid result from dir.existsSync() (probably due to
// race conditions).
try {
- _tempDir.createSync();
+ dir.createSync();
} on DirectoryIOException catch (e) {
// Ignore.
}
}
String jsonString = json.stringify(createNavigationInfo());
String dartString = jsonString.replaceAll(r"$", r"\$");
-
- var navPath = pathos.join(tempPath, 'nav.dart');
- writeString(new File(navPath),
+ final filePath = tmpPath.append('nav.dart');
+ writeString(new File.fromPath(filePath),
'''part of client;
- get json => $dartString;''');
+ get json => $dartString;''');
}
+ Path get tmpPath => dartdocPath.append('tmp');
+
void cleanup() {
- if (_tempDir.existsSync()) {
- _tempDir.deleteSync(recursive: true);
+ final dir = new Directory.fromPath(tmpPath);
+ if (dir.existsSync()) {
+ dir.deleteSync(recursive: true);
}
}
diff --git a/utils/compiler/compiler.gyp b/utils/compiler/compiler.gyp
index 8c95316..1755ce2 100644
--- a/utils/compiler/compiler.gyp
+++ b/utils/compiler/compiler.gyp
@@ -19,8 +19,7 @@
'inputs': [
'<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)dart<(EXECUTABLE_SUFFIX)',
'../../sdk/lib/_internal/libraries.dart',
- '<!@(["python", "../../tools/list_files.py", "\\.dart$", "../../sdk/lib/_internal/compiler", "../../runtime/lib", "../../sdk/lib/_internal/dartdoc"])',
- 'create_snapshot.dart',
+ '<!@(["python", "../../tools/list_files.py", "\\.dart$", "../../sdk/lib/_internal/compiler", "../../runtime/lib"])',
],
'outputs': [
'<(SHARED_INTERMEDIATE_DIR)/utils_wrapper.dart.snapshot',
@@ -30,8 +29,6 @@
'create_snapshot.dart',
'--output_dir=<(SHARED_INTERMEDIATE_DIR)',
'--dart2js_main=sdk/lib/_internal/compiler/implementation/dart2js.dart',
- '--dartdoc_main=sdk/lib/_internal/dartdoc/bin/dartdoc.dart',
- '--package_root=<(PRODUCT_DIR)/packages/',
],
},
],
diff --git a/utils/compiler/create_snapshot.dart b/utils/compiler/create_snapshot.dart
index d3a460e..c5a8af4 100644
--- a/utils/compiler/create_snapshot.dart
+++ b/utils/compiler/create_snapshot.dart
@@ -22,13 +22,11 @@
Future<String> getSnapshotGenerationFile(var options, var args, var rootPath) {
var dart2js = rootPath.append(args["dart2js_main"]);
- var dartdoc = rootPath.append(args["dartdoc_main"]);
return getVersion(options, rootPath).then((version) {
var snapshotGenerationText =
"""
import '${dart2js}' as dart2jsMain;
-import '${dartdoc}' as dartdocMain;
import 'dart:io';
void main() {
@@ -38,8 +36,6 @@
if (tool == "dart2js") {
dart2jsMain.BUILD_ID = "$version";
dart2jsMain.mainWithErrorHandler(options);
- } else if (tool == "dartdoc") {
- dartdocMain.mainWithOptions(options);
}
}
@@ -55,10 +51,9 @@
writer.close();
}
-Future createSnapshot(var options, var dart_file, var packageRoot) {
+Future createSnapshot(var options, var dart_file) {
return Process.run(options.executable,
- ["--package-root=$packageRoot",
- "--generate-script-snapshot=$dart_file.snapshot",
+ ["--generate-script-snapshot=$dart_file.snapshot",
dart_file])
.then((result) {
if (result.exitCode != 0) {
@@ -74,8 +69,7 @@
*/
void main() {
Options options = new Options();
- var validArguments = ["--output_dir", "--dart2js_main", "--dartdoc_main",
- "--package_root"];
+ var validArguments = ["--output_dir", "--dart2js_main"];
var args = {};
for (var argument in options.arguments) {
var argumentSplit = argument.split("=");
@@ -86,9 +80,7 @@
args[argumentSplit[0].substring(2)] = argumentSplit[1];
}
if (!args.containsKey("dart2js_main")) throw "Please specify dart2js_main";
- if (!args.containsKey("dartdoc_main")) throw "Please specify dartdoc_main";
if (!args.containsKey("output_dir")) throw "Please specify output_dir";
- if (!args.containsKey("package_root")) throw "Please specify package_root";
var scriptFile = new File(new File(options.script).fullPathSync());
var path = new Path(scriptFile.directory.path);
@@ -96,6 +88,6 @@
getSnapshotGenerationFile(options, args, rootPath).then((result) {
var wrapper = "${args['output_dir']}/utils_wrapper.dart";
writeSnapshotFile(wrapper, result);
- createSnapshot(options, wrapper, args["package_root"]);
+ createSnapshot(options, wrapper);
});
}