Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sxychenjing
engine
提交
503ba7c4
E
engine
项目概览
sxychenjing
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
503ba7c4
编写于
7月 26, 2018
作者:
B
Ben Konyi
提交者:
GitHub
7月 26, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Dart SDK roll for 2018/07/26 (#5876)
上级
2c6fa0d7
变更
5
展开全部
隐藏空白更改
内联
并排
Showing
5 changed file
with
243 addition
and
161 deletion
+243
-161
DEPS
DEPS
+50
-50
tools/licenses/lib/filesystem.dart
tools/licenses/lib/filesystem.dart
+19
-19
tools/licenses/lib/licenses.dart
tools/licenses/lib/licenses.dart
+8
-8
tools/licenses/lib/main.dart
tools/licenses/lib/main.dart
+10
-10
travis/licenses_golden/licenses_third_party
travis/licenses_golden/licenses_third_party
+156
-74
未找到文件。
DEPS
浏览文件 @
503ba7c4
...
...
@@ -31,73 +31,73 @@ vars = {
# Dart is: https://github.com/dart-lang/sdk/blob/master/DEPS.
# You can use //tools/dart/create_updated_flutter_deps.py to produce
# updated revision list of existing dependencies.
'dart_revision': '9
37ee2e8ca4b76499e24cd463f07bfb736bccd74
',
'dart_revision': '9
c69e7e1d29ecf349715ca2ddd437c9d0bbba0d7
',
'dart_args_tag': '1.4.
1
',
'dart_async_tag': '2.0.
7
',
'dart_args_tag': '1.4.
4
',
'dart_async_tag': '2.0.
8
',
'dart_bazel_worker_tag': '0.1.11',
'dart_boolean_selector_tag': '1.0.
3
',
'dart_boolean_selector_tag': '1.0.
4
',
'dart_boringssl_gen_rev': 'fc47eaa1a245d858bae462cd64d4155605b850ea',
'dart_boringssl_rev': '189270cd190267f5bd60cfe8f8ce7a61d07ba6f4',
'dart_charcode_tag': 'v1.1.
1
',
'dart_cli_util_
tag': '0.1.2+
1',
'dart_collection_tag': '1.14.1
0
',
'dart_convert_tag': '2.0.
1
',
'dart_crypto_tag': '2.0.
5
',
'dart_csslib_tag': '0.14.1',
'dart_charcode_tag': 'v1.1.
2
',
'dart_cli_util_
rev': '4ad7ccbe3195fd2583b30f86a86697ef61e80f4
1',
'dart_collection_tag': '1.14.1
1
',
'dart_convert_tag': '2.0.
2
',
'dart_crypto_tag': '2.0.
6
',
'dart_csslib_tag': '0.14.
4+
1',
'dart_dart2js_info_tag': '0.5.6+4',
'dart_dart_style_tag': '1.1.
2
',
'dart_dartdoc_tag': 'v0.20.
1
',
'dart_fixnum_tag': '0.10.
5
',
'dart_glob_tag': '1.1.
5
',
'dart_html_tag': '0.13.3',
'dart_http_multi_server_tag': '2.0.
4
',
'dart_dart_style_tag': '1.1.
3
',
'dart_dartdoc_tag': 'v0.20.
2
',
'dart_fixnum_tag': '0.10.
8
',
'dart_glob_tag': '1.1.
7
',
'dart_html_tag': '0.13.3
+2
',
'dart_http_multi_server_tag': '2.0.
5
',
'dart_http_parser_tag': '3.1.1',
'dart_http_retry_tag': '0.1.1',
'dart_http_tag': '0.11.3+17',
'dart_http_throttle_tag': '1.0.2',
'dart_intl_tag': '0.15.6',
'dart_json_rpc_2_tag': '2.0.
6
',
'dart_linter_tag': '0.1.5
6
',
'dart_logging_tag': '0.11.3+
1
',
'dart_markdown_tag': '2.0.
1
',
'dart_json_rpc_2_tag': '2.0.
9
',
'dart_linter_tag': '0.1.5
8
',
'dart_logging_tag': '0.11.3+
2
',
'dart_markdown_tag': '2.0.
2
',
'dart_matcher_tag': '0.12.3',
'dart_mime_tag': '0.9.6',
'dart_mime_tag': '0.9.6
+2
',
'dart_mockito_tag': 'd39ac507483b9891165e422ec98d9fb480037c8b',
'dart_mustache4dart_tag': 'v2.1.2',
'dart_oauth2_tag': '1.2.1',
'dart_observatory_pub_packages_rev': '
caf0aecfb15077fc7a34d48e9df13606c793fddf
',
'dart_package_config_tag': '1.0.
3
',
'dart_package_resolver_tag': '1.0.
2+1
',
'dart_path_tag': '1.
5.1
',
'dart_plugin_tag': '
0.2.0+2
',
'dart_pool_tag': '1.3.
4
',
'dart_observatory_pub_packages_rev': '
0894122173b0f98eb08863a7712e78407d4477bc
',
'dart_package_config_tag': '1.0.
5
',
'dart_package_resolver_tag': '1.0.
4
',
'dart_path_tag': '1.
6.2
',
'dart_plugin_tag': '
f5b4b0e32d1406d62daccea030ba6457d14b1c47
',
'dart_pool_tag': '1.3.
6
',
'dart_protobuf_tag': '0.9.0',
'dart_pub_rev': '58fe996eab8d54f28f5109c407ff0ab62fbd835d',
'dart_pub_semver_tag': '1.4.
1
',
'dart_quiver_tag': '0.29.0',
'dart_resource_
tag': '2.1.4
',
'dart_pub_semver_tag': '1.4.
2
',
'dart_quiver_tag': '0.29.0
+2
',
'dart_resource_
rev': '2.1.5
',
'dart_root_certificates_rev': '16ef64be64c7dfdff2b9f4b910726e635ccc519e',
'dart_shelf_packages_handler_tag': '1.0.3',
'dart_shelf_static_rev': 'v0.2.7',
'dart_shelf_tag': '0.7.3+2',
'dart_shelf_web_socket_tag': '0.2.2',
'dart_source_map_stack_trace_tag': '1.1.4',
'dart_source_maps_tag': '0.10.6',
'dart_source_span_tag': '1.4.0',
'dart_stack_trace_tag': '1.9.2',
'dart_stream_channel_tag': '1.6.4',
'dart_string_scanner_tag': '1.0.2',
'dart_term_glyph_tag': '1.0.0',
'dart_shelf_packages_handler_tag': '1.0.4',
'dart_shelf_static_rev': 'v0.2.8',
'dart_shelf_tag': '0.7.3+3',
'dart_shelf_web_socket_tag': '0.2.2+3',
'dart_source_map_stack_trace_tag': '1.1.5',
'dart_source_maps_tag': '8af7cc1a1c3a193c1fba5993ce22a546a319c40e',
'dart_source_span_tag': '1.4.1',
'dart_stack_trace_tag': '1.9.3',
'dart_stream_channel_tag': '1.6.8',
'dart_string_scanner_tag': '1.0.3',
'dart_term_glyph_tag': '1.0.1',
'dart_test_reflective_loader_tag': '0.1.4',
'dart_test_tag': '1.0.0',
'dart_tuple_tag': 'v1.0.1',
'dart_typed_data_tag': '1.1.
3
',
'dart_typed_data_tag': '1.1.
6
',
'dart_usage_tag': '3.4.0',
'dart_utf_tag': '0.9.0+4',
'dart_watcher_tag': '0.9.7+8',
'dart_web_socket_channel_tag': '1.0.7',
'dart_yaml_tag': '2.1.14',
'dart_utf_tag': '0.9.0+5',
'dart_watcher_rev': '0.9.7+10',
'dart_web_socket_channel_tag': '1.0.9',
'dart_yaml_tag': '2.1.15',
# Build bot tooling for iOS
'ios_tools_revision': '69b7c1b160e7107a6a98d948363772dc9caea46f',
...
...
@@ -185,7 +185,7 @@ deps = {
Var('dart_git') + '/charcode.git' + '@' + Var('dart_charcode_tag'),
'src/third_party/dart/third_party/pkg/cli_util':
Var('dart_git') + '/cli_util.git' + '@' + Var('dart_cli_util_
tag
'),
Var('dart_git') + '/cli_util.git' + '@' + Var('dart_cli_util_
rev
'),
'src/third_party/dart/third_party/pkg/collection':
Var('dart_git') + '/collection.git' + '@' + Var('dart_collection_tag'),
...
...
@@ -284,7 +284,7 @@ deps = {
Var('chromium_git') + '/external/github.com/google/quiver-dart' + '@' + Var('dart_quiver_tag'),
'src/third_party/dart/third_party/pkg/resource':
Var('dart_git') + '/resource.git' + '@' + Var('dart_resource_
tag
'),
Var('dart_git') + '/resource.git' + '@' + Var('dart_resource_
rev
'),
'src/third_party/dart/third_party/pkg/shelf':
Var('dart_git') + '/shelf.git' + '@' + Var('dart_shelf_tag'),
...
...
@@ -338,7 +338,7 @@ deps = {
Var('dart_git') + '/usage.git' + '@' + Var('dart_usage_tag'),
'src/third_party/dart/third_party/pkg/watcher':
Var('dart_git') + '/watcher.git' + '@' + Var('dart_watcher_
tag
'),
Var('dart_git') + '/watcher.git' + '@' + Var('dart_watcher_
rev
'),
'src/third_party/dart/third_party/pkg/web_socket_channel':
Var('dart_git') + '/web_socket_channel.git' + '@' + Var('dart_web_socket_channel_tag'),
...
...
tools/licenses/lib/filesystem.dart
浏览文件 @
503ba7c4
...
...
@@ -26,7 +26,7 @@ enum FileType {
typedef
Reader
=
List
<
int
>
Function
();
class
BytesOf
extends
Key
{
BytesOf
(
dynamic
value
)
:
super
(
value
);
}
class
UTF8Of
extends
Key
{
UTF
8Of
(
dynamic
value
)
:
super
(
value
);
}
class
utf8Of
extends
Key
{
utf
8Of
(
dynamic
value
)
:
super
(
value
);
}
class
Latin1Of
extends
Key
{
Latin1Of
(
dynamic
value
)
:
super
(
value
);
}
bool
matchesSignature
(
List
<
int
>
bytes
,
List
<
int
>
signature
)
{
...
...
@@ -59,7 +59,7 @@ const String kMultiLicenseFileHeader = 'Notices for files contained in';
bool
isMultiLicenseNotice
(
Reader
reader
)
{
List
<
int
>
bytes
=
reader
();
return
(
ASCII
.
decode
(
bytes
.
take
(
kMultiLicenseFileHeader
.
length
).
toList
(),
allowInvalid:
true
)
==
kMultiLicenseFileHeader
);
return
(
ascii
.
decode
(
bytes
.
take
(
kMultiLicenseFileHeader
.
length
).
toList
(),
allowInvalid:
true
)
==
kMultiLicenseFileHeader
);
}
FileType
identifyFile
(
String
name
,
Reader
reader
)
{
...
...
@@ -114,7 +114,7 @@ FileType identifyFile(String name, Reader reader) {
case
'tzdata'
:
return
FileType
.
binary
;
case
'compressed_atrace_data.txt'
:
return
FileType
.
binary
;
// Source files that don't use UTF-8
case
'Messages_de_DE.properties'
:
// has a few non-
ASCII
characters they forgot to escape (from gnu-libstdc++)
case
'Messages_de_DE.properties'
:
// has a few non-
ascii
characters they forgot to escape (from gnu-libstdc++)
case
'mmx_blendtmp.h'
:
// author name in comment contains latin1 (mesa)
case
'calling_convention.txt'
:
// contains a soft hyphen instead of a real hyphen for some reason (mesa)
// Character encoding data files
...
...
@@ -310,11 +310,11 @@ abstract class TextFile extends File {
}
// mixin
abstract
class
UTF
8TextFile
extends
TextFile
{
abstract
class
utf
8TextFile
extends
TextFile
{
@override
String
readString
()
{
try
{
return
cache
(
new
UTF8Of
(
this
),
()
=>
UTF
8
.
decode
(
readBytes
()));
return
cache
(
new
utf8Of
(
this
),
()
=>
utf
8
.
decode
(
readBytes
()));
}
on
FormatException
{
print
(
fullName
);
rethrow
;
...
...
@@ -330,15 +330,15 @@ abstract class Latin1TextFile extends TextFile {
final
List
<
int
>
bytes
=
readBytes
();
if
(
bytes
.
any
((
int
byte
)
=>
byte
==
0x00
))
throw
'
$fullName
contains a U+0000 NULL and is probably not actually encoded as Win1252'
;
bool
is
UTF
8
=
false
;
bool
is
utf
8
=
false
;
try
{
cache
(
new
UTF8Of
(
this
),
()
=>
UTF
8
.
decode
(
readBytes
()));
is
UTF
8
=
true
;
cache
(
new
utf8Of
(
this
),
()
=>
utf
8
.
decode
(
readBytes
()));
is
utf
8
=
true
;
}
on
FormatException
{
}
if
(
is
UTF
8
)
if
(
is
utf
8
)
throw
'
$fullName
contains valid UTF-8 and is probably not actually encoded as Win1252'
;
return
LATIN
1
.
decode
(
bytes
);
return
latin
1
.
decode
(
bytes
);
});
}
}
...
...
@@ -460,7 +460,7 @@ class FileSystemDirectory extends IoNode implements Directory {
case
FileType
.
tar
:
yield
new
FileSystemTarFile
(
fileEntity
);
break
;
case
FileType
.
gz
:
yield
new
FileSystemGZipFile
(
fileEntity
);
break
;
case
FileType
.
bzip2
:
yield
new
FileSystemBZip2File
(
fileEntity
);
break
;
case
FileType
.
text
:
yield
new
FileSystem
UTF
8TextFile
(
fileEntity
);
break
;
case
FileType
.
text
:
yield
new
FileSystem
utf
8TextFile
(
fileEntity
);
break
;
case
FileType
.
latin1Text
:
yield
new
FileSystemLatin1TextFile
(
fileEntity
);
break
;
case
FileType
.
metadata
:
break
;
// ignore this file
}
...
...
@@ -499,8 +499,8 @@ class FileSystemFile extends IoNode implements File {
}
}
class
FileSystem
UTF8TextFile
extends
FileSystemFile
with
UTF
8TextFile
{
FileSystem
UTF
8TextFile
(
io
.
File
file
)
:
super
(
file
);
class
FileSystem
utf8TextFile
extends
FileSystemFile
with
utf
8TextFile
{
FileSystem
utf
8TextFile
(
io
.
File
file
)
:
super
(
file
);
}
class
FileSystemLatin1TextFile
extends
FileSystemFile
with
Latin1TextFile
{
...
...
@@ -554,7 +554,7 @@ class ArchiveDirectory extends IoNode implements Directory {
case
FileType
.
tar
:
_files
.
add
(
new
ArchiveTarFile
(
entryFullName
,
entry
));
break
;
case
FileType
.
gz
:
_files
.
add
(
new
ArchiveGZipFile
(
entryFullName
,
entry
));
break
;
case
FileType
.
bzip2
:
_files
.
add
(
new
ArchiveBZip2File
(
entryFullName
,
entry
));
break
;
case
FileType
.
text
:
_files
.
add
(
new
Archive
UTF
8TextFile
(
entryFullName
,
entry
));
break
;
case
FileType
.
text
:
_files
.
add
(
new
Archive
utf
8TextFile
(
entryFullName
,
entry
));
break
;
case
FileType
.
latin1Text
:
_files
.
add
(
new
ArchiveLatin1TextFile
(
entryFullName
,
entry
));
break
;
case
FileType
.
metadata
:
break
;
// ignore this file
}
...
...
@@ -595,8 +595,8 @@ class ArchiveFile extends IoNode implements File {
}
}
class
Archive
UTF8TextFile
extends
ArchiveFile
with
UTF
8TextFile
{
Archive
UTF
8TextFile
(
String
fullName
,
a
.
ArchiveFile
file
)
:
super
(
fullName
,
file
);
class
Archive
utf8TextFile
extends
ArchiveFile
with
utf
8TextFile
{
Archive
utf
8TextFile
(
String
fullName
,
a
.
ArchiveFile
file
)
:
super
(
fullName
,
file
);
}
class
ArchiveLatin1TextFile
extends
ArchiveFile
with
Latin1TextFile
{
...
...
@@ -634,7 +634,7 @@ class InMemoryFile extends IoNode implements File {
case
FileType
.
tar
:
return
new
InMemoryTarFile
(
fullName
,
bytes
);
break
;
case
FileType
.
gz
:
return
new
InMemoryGZipFile
(
fullName
,
bytes
);
break
;
case
FileType
.
bzip2
:
return
new
InMemoryBZip2File
(
fullName
,
bytes
);
break
;
case
FileType
.
text
:
return
new
InMemory
UTF
8TextFile
(
fullName
,
bytes
);
break
;
case
FileType
.
text
:
return
new
InMemory
utf
8TextFile
(
fullName
,
bytes
);
break
;
case
FileType
.
latin1Text
:
return
new
InMemoryLatin1TextFile
(
fullName
,
bytes
);
break
;
case
FileType
.
metadata
:
break
;
// ignore this file
}
...
...
@@ -654,8 +654,8 @@ class InMemoryFile extends IoNode implements File {
List
<
int
>
readBytes
()
=>
_bytes
;
}
class
InMemory
UTF8TextFile
extends
InMemoryFile
with
UTF
8TextFile
{
InMemory
UTF
8TextFile
(
String
fullName
,
List
<
int
>
file
)
:
super
(
fullName
,
file
);
class
InMemory
utf8TextFile
extends
InMemoryFile
with
utf
8TextFile
{
InMemory
utf
8TextFile
(
String
fullName
,
List
<
int
>
file
)
:
super
(
fullName
,
file
);
}
class
InMemoryLatin1TextFile
extends
InMemoryFile
with
Latin1TextFile
{
...
...
tools/licenses/lib/licenses.dart
浏览文件 @
503ba7c4
...
...
@@ -322,25 +322,25 @@ abstract class License implements Comparable<License> {
throw
'incomplete license detected:
\n
---
\n
$body
\n
---'
;
// if (type == LicenseType.unknown)
// print('need detector for:\n----\n$body\n----');
bool
is
UTF
8
=
true
;
bool
is
utf
8
=
true
;
List
<
int
>
latin1Encoded
;
try
{
latin1Encoded
=
LATIN
1
.
encode
(
body
);
is
UTF
8
=
false
;
latin1Encoded
=
latin
1
.
encode
(
body
);
is
utf
8
=
false
;
}
on
ArgumentError
{
}
if
(!
is
UTF
8
)
{
if
(!
is
utf
8
)
{
bool
isAscii
=
false
;
try
{
ASCII
.
decode
(
latin1Encoded
);
ascii
.
decode
(
latin1Encoded
);
isAscii
=
true
;
}
on
FormatException
{
}
if
(
isAscii
)
return
;
try
{
UTF
8
.
decode
(
latin1Encoded
);
is
UTF
8
=
true
;
utf
8
.
decode
(
latin1Encoded
);
is
utf
8
=
true
;
}
on
FormatException
{
}
if
(
is
UTF
8
)
if
(
is
utf
8
)
throw
'tried to create a License object with text that appears to have been misdecoded as Latin1 instead of as UTF-8:
\n
$body
'
;
}
}
...
...
tools/licenses/lib/main.dart
浏览文件 @
503ba7c4
...
...
@@ -92,7 +92,7 @@ class RepositorySourceFile extends RepositoryLicensedFile {
try
{
contents
=
io
.
readString
();
}
on
FormatException
{
print
(
'non-
UTF
8 data in
$io
'
);
print
(
'non-
utf
8 data in
$io
'
);
system
.
exit
(
2
);
}
_licenses
=
determineLicensesFor
(
contents
,
name
,
parent
,
origin:
'
$this
'
);
...
...
@@ -736,33 +736,33 @@ class RepositoryMultiLicenseNoticesForFilesFile extends RepositoryLicenseFile {
// "Notices for files contained in the"
// ...then have a second line which is 60 "=" characters
final
List
<
List
<
int
>>
contents
=
splitIntList
(
io
.
readBytes
(),
0x0A
).
toList
();
if
(!
ASCII
.
decode
(
contents
[
0
]).
startsWith
(
'Notices for files contained in'
)
||
ASCII
.
decode
(
contents
[
1
])
!=
'============================================================
\n
'
)
if
(!
ascii
.
decode
(
contents
[
0
]).
startsWith
(
'Notices for files contained in'
)
||
ascii
.
decode
(
contents
[
1
])
!=
'============================================================
\n
'
)
throw
'unrecognised syntax:
${io.fullName}
'
;
int
index
=
2
;
while
(
index
<
contents
.
length
)
{
if
(
ASCII
.
decode
(
contents
[
index
])
!=
'Notices for file(s):
\n
'
)
if
(
ascii
.
decode
(
contents
[
index
])
!=
'Notices for file(s):
\n
'
)
throw
'unrecognised syntax on line
${index + 1}
:
${io.fullName}
'
;
index
+=
1
;
final
List
<
String
>
names
=
<
String
>[];
do
{
names
.
add
(
ASCII
.
decode
(
contents
[
index
]));
names
.
add
(
ascii
.
decode
(
contents
[
index
]));
index
+=
1
;
}
while
(
ASCII
.
decode
(
contents
[
index
])
!=
'------------------------------------------------------------
\n
'
);
}
while
(
ascii
.
decode
(
contents
[
index
])
!=
'------------------------------------------------------------
\n
'
);
index
+=
1
;
final
List
<
List
<
int
>>
body
=
<
List
<
int
>>[];
do
{
body
.
add
(
contents
[
index
]);
index
+=
1
;
}
while
(
index
<
contents
.
length
&&
ASCII
.
decode
(
contents
[
index
],
allowInvalid:
true
)
!=
'============================================================
\n
'
);
ascii
.
decode
(
contents
[
index
],
allowInvalid:
true
)
!=
'============================================================
\n
'
);
index
+=
1
;
final
List
<
int
>
bodyBytes
=
body
.
expand
((
List
<
int
>
line
)
=>
line
).
toList
();
String
bodyText
;
try
{
bodyText
=
UTF
8
.
decode
(
bodyBytes
);
bodyText
=
utf
8
.
decode
(
bodyBytes
);
}
on
FormatException
{
bodyText
=
LATIN
1
.
decode
(
bodyBytes
);
bodyText
=
latin
1
.
decode
(
bodyBytes
);
}
License
license
=
new
License
.
unique
(
bodyText
,
LicenseType
.
unknown
,
origin:
io
.
fullName
);
for
(
String
name
in
names
)
{
...
...
@@ -2545,7 +2545,7 @@ Future<Null> main(List<String> arguments) async {
system
.
File
goldenFile
=
new
system
.
File
(
path
.
join
(
argResults
[
'golden'
],
'licenses_
${component.io.name}
'
));
String
goldenSignature
=
await
goldenFile
.
openRead
()
.
transform
(
UTF
8
.
decoder
).
transform
(
new
LineSplitter
()).
first
;
.
transform
(
utf
8
.
decoder
).
transform
(
new
LineSplitter
()).
first
;
Match
goldenMatch
=
signaturePattern
.
matchAsPrefix
(
goldenSignature
);
if
(
goldenMatch
!=
null
&&
goldenMatch
.
group
(
1
)
==
signature
)
{
system
.
stderr
.
writeln
(
' Skipping this component - no change in signature'
);
...
...
travis/licenses_golden/licenses_third_party
浏览文件 @
503ba7c4
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录