Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(741)

Unified Diff: mojo/public/dart/mojom/lib/src/utils.dart

Issue 1441033002: Move mojo and mojom from mojo/public/dart to mojo/dart/packages (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/public/dart/mojom/lib/src/mojom_finder.dart ('k') | mojo/public/dart/mojom/pubspec.yaml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/public/dart/mojom/lib/src/utils.dart
diff --git a/mojo/public/dart/mojom/lib/src/utils.dart b/mojo/public/dart/mojom/lib/src/utils.dart
deleted file mode 100644
index 75f34ff89290dbde1185956be77df2fff9fb0b0e..0000000000000000000000000000000000000000
--- a/mojo/public/dart/mojom/lib/src/utils.dart
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-library mojom.utils;
-
-import 'dart:async';
-import 'dart:convert';
-import 'dart:io';
-
-import 'package:crypto/crypto.dart' as crypto;
-import 'package:logging/logging.dart' as logging;
-import 'package:path/path.dart' as path;
-
-bool isMojomDart(String path) => path.endsWith('.mojom.dart');
-bool isMojom(String path) => path.endsWith('.mojom');
-bool isDotMojoms(String path) => path.endsWith(".mojoms");
-
-String makeAbsolute(String p) =>
- path.isAbsolute(p) ? path.normalize(p) : path.normalize(path.absolute(p));
-
-String makeRelative(String p) => path.isAbsolute(p)
- ? path.normalize(path.relative(p, from: Directory.current.path))
- : path.normalize(p);
-
-logging.Logger log;
-
-/// An Error for problems on the command line.
-class CommandLineError {
- final _msg;
- CommandLineError(this._msg);
- toString() => "Command Line Error: $_msg";
-}
-
-/// An Error for failures of the bindings generation script.
-class GenerationError {
- final _msg;
- GenerationError(this._msg);
- toString() => "Generation Error: $_msg";
-}
-
-/// An Error for failing to fetch a .mojom file.
-class FetchError {
- final _msg;
- FetchError(this._msg);
- toString() => "Fetch Error: $_msg";
-}
-
-Future<String> _downloadUrl(HttpClient httpClient, Uri uri) async {
- try {
- var request = await httpClient.getUrl(uri);
- var response = await request.close();
- if (response.statusCode >= 400) {
- var msg = "Failed to download $uri\nCode ${response.statusCode}";
- if (response.reasonPhrase != null) {
- msg = "$msg: ${response.reasonPhrase}";
- }
- throw new FetchError(msg);
- }
- var fileString = new StringBuffer();
- await for (String contents in response.transform(UTF8.decoder)) {
- fileString.write(contents);
- }
- return fileString.toString();
- } catch (e) {
- throw new FetchError("$e");
- }
-}
-
-/// Fetch file at [uri] using [httpClient] if needed. Throw a [FetchError] if
-/// the file is not successfully fetched.
-Future<String> fetchUri(HttpClient httpClient, Uri uri) async {
- if (uri.scheme.startsWith('http')) {
- return _downloadUrl(httpClient, uri);
- }
- try {
- File f = new File.fromUri(uri);
- return await f.readAsString();
- } catch (e) {
- throw new FetchError("$e");
- }
-}
-
-markFileReadOnly(String file) async {
- if (!Platform.isLinux && !Platform.isMacOS) {
- String os = Platform.operatingSystem;
- throw 'Setting file $file read-only is not supported on $os.';
- }
- var process = await Process.run('chmod', ['a-w', file]);
- if (process.exitCode != 0) {
- print('Setting file $file read-only failed: ${process.stderr}');
- }
-}
-
-Future<DateTime> getModificationTime(File f) async {
- var stat = await f.stat();
- return stat.modified;
-}
-
-Future<List<int>> fileSHA1(File f) async {
- var sha1 = new crypto.SHA1();
- await for (var bytes in f.openRead()) {
- sha1.add(bytes);
- }
- return sha1.close();
-}
-
-Future<bool> equalSHA1(File file1, File file2) async {
- List<int> file1sha1 = await fileSHA1(file1);
- List<int> file2sha1 = await fileSHA1(file2);
- if (file1sha1.length != file2sha1.length) return false;
- for (int i = 0; i < file1sha1.length; i++) {
- if (file1sha1[i] != file2sha1[i]) return false;
- }
- return true;
-}
-
-/// If the files are the same, returns 0.
-/// Otherwise, returns a negative number if f1 less recently modified than f2,
-/// or a positive number if f1 is more recently modified than f2.
-Future<int> compareFiles(File f1, File f2) async {
- FileStat f1stat = await f1.stat();
- FileStat f2stat = await f2.stat();
- if ((f1stat.size != f2stat.size) || !await equalSHA1(f1, f2)) {
- return (f1stat.modified.isBefore(f2stat.modified)) ? -1 : 1;
- }
- return 0;
-}
-
-/// Is any element of [haystack] a prefix of [needle]?
-bool containsPrefix(String needle, List<String> haystack) {
- if (haystack == null) return false;
- var match =
- haystack.firstWhere((p) => needle.startsWith(p), orElse: () => null);
- return match != null;
-}
« no previous file with comments | « mojo/public/dart/mojom/lib/src/mojom_finder.dart ('k') | mojo/public/dart/mojom/pubspec.yaml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698