Skip to content

Commit 31936cf

Browse files
author
John Messerly
committed
Merge pull request #83 from dart-lang/sdk
reorganize SDK inputs
2 parents 77e62cc + 807d3b3 commit 31936cf

File tree

144 files changed

+31
-14
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

144 files changed

+31
-14
lines changed

pkg/dev_compiler/tool/patch_sdk.dart

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,59 +12,76 @@ import 'dart:io';
1212
import 'package:analyzer/analyzer.dart';
1313
import 'package:path/path.dart' as path;
1414

15-
import 'input_sdk_src/lib/_internal/libraries.dart' as sdk;
15+
import 'input_sdk/lib/_internal/libraries.dart' as sdk;
1616

1717
void main(List<String> argv) {
1818
var toolDir = path.relative(path.dirname(Platform.script.path));
19-
var sdkIn = path.join(toolDir, 'input_sdk_src', 'lib');
20-
var patchIn = path.join(toolDir, 'input_sdk_patch');
19+
var sdkLibIn = path.join(toolDir, 'input_sdk', 'lib');
20+
var patchIn = path.join(toolDir, 'input_sdk', 'patch');
21+
var privateIn = path.join(toolDir, 'input_sdk', 'private');
2122
var sdkOut =
2223
path.normalize(path.join(toolDir, '..', 'test', 'generated_sdk', 'lib'));
24+
var privateLibOut =
25+
path.normalize(path.join(sdkOut, '_internal', 'compiler', 'js_lib'));
26+
27+
var INTERNAL_PATH = '_internal/compiler/js_lib/';
2328

2429
if (argv.isNotEmpty) {
2530
print('Usage: ${path.relative(Platform.script.path)}\n');
26-
print('input SDK directory: $sdkIn');
31+
print('input SDK directory: $sdkLibIn');
32+
// We can freely make changes to these two.
33+
print('input private libs directory: $privateIn');
2734
print('input patch directory: $patchIn');
2835
print('output SDK directory: $sdkOut');
2936
exit(1);
3037
}
3138

3239
// Copy libraries.dart and version
3340
_writeSync(path.join(sdkOut, '_internal', 'libraries.dart'),
34-
new File(path.join(sdkIn, '_internal', 'libraries.dart'))
41+
new File(path.join(sdkLibIn, '_internal', 'libraries.dart'))
3542
.readAsStringSync());
3643
_writeSync(path.join(sdkOut, '..', 'version'),
37-
new File(path.join(sdkIn, '..', 'version')).readAsStringSync());
44+
new File(path.join(sdkLibIn, '..', 'version')).readAsStringSync());
3845

3946
// Enumerate core libraries and apply patches
4047
for (var library in sdk.LIBRARIES.values) {
4148
if (library.platforms & sdk.DART2JS_PLATFORM == 0) continue;
4249

43-
var libraryPath = path.join(sdkIn, library.path);
50+
var libraryOut = path.join(sdkLibIn, library.path);
51+
var libraryIn;
52+
if (library.path.contains(INTERNAL_PATH)) {
53+
libraryIn =
54+
path.join(privateIn, library.path.replaceAll(INTERNAL_PATH, ''));
55+
} else {
56+
libraryIn = libraryOut;
57+
}
4458

45-
var libraryFile = new File(libraryPath);
59+
var libraryFile = new File(libraryIn);
4660
if (libraryFile.existsSync()) {
4761
var contents = <String>[];
4862
var paths = <String>[];
4963
var libraryContents = libraryFile.readAsStringSync();
50-
paths.add(libraryPath);
64+
paths.add(libraryOut);
5165
contents.add(libraryContents);
5266
for (var part in parseDirectives(libraryContents).directives) {
5367
if (part is PartDirective) {
54-
paths.add(path.join(path.dirname(libraryPath), part.uri.stringValue));
55-
contents.add(new File(paths.last).readAsStringSync());
68+
var partPath = part.uri.stringValue;
69+
paths.add(path.join(path.dirname(libraryOut), partPath));
70+
contents.add(new File(path.join(path.dirname(libraryIn), partPath))
71+
.readAsStringSync());
5672
}
5773
}
5874

5975
if (library.dart2jsPatchPath != null) {
60-
var patchPath = path.join(patchIn, library.dart2jsPatchPath.replaceAll(
61-
'_internal/compiler/js_lib/', ''));
76+
var patchPath = path.join(
77+
patchIn, library.dart2jsPatchPath.replaceAll(INTERNAL_PATH, ''));
6278
var patchContents = new File(patchPath).readAsStringSync();
6379

6480
contents = _patchLibrary(contents, patchContents);
6581
}
6682
for (var i = 0; i < paths.length; i++) {
67-
var outPath = path.join(sdkOut, path.relative(paths[i], from: sdkIn));
83+
var outPath =
84+
path.join(sdkOut, path.relative(paths[i], from: sdkLibIn));
6885
_writeSync(outPath, contents[i]);
6986
}
7087
}

0 commit comments

Comments
 (0)