@@ -89,11 +89,13 @@ printTemplateCache(Map<String, String> templateKeyMap,
89
89
outSink.write (fileHeader (outputLibrary));
90
90
91
91
List <Future > reads = < Future > [];
92
- templateKeyMap.forEach ((uri, templateFile) {
92
+ templateKeyMap.keys.toList ()..sort ()..forEach ((uri) {
93
+ var templateFile = templateKeyMap[uri];
93
94
reads.add (new File (templateFile).readAsString ().then ((fileStr) {
94
95
fileStr = fileStr.replaceAll ('"""' , r'\"\"\"' );
95
96
String resultUri = uri;
96
- urlRewriters.forEach ((regexp, replacement) {
97
+ urlRewriters.keys.toList ()..sort ()..forEach ((regexp) {
98
+ var replacement = urlRewriters[regexp];
97
99
resultUri = resultUri.replaceFirst (regexp, replacement);
98
100
});
99
101
outSink.write (
@@ -139,7 +141,7 @@ class TemplateCollectingVisitor {
139
141
var srcDirUri = new Uri .file (srcPath);
140
142
Source currentSrcDir = sourceCrawler.context.sourceFactory
141
143
.resolveUri2 (null , srcDirUri);
142
- cacheUris.forEach ((uri) => storeUriAsset (uri, currentSrcDir));
144
+ cacheUris.. sort ().. forEach ((uri) => storeUriAsset (uri, currentSrcDir));
143
145
}
144
146
});
145
147
}
@@ -172,7 +174,8 @@ class TemplateCollectingVisitor {
172
174
var paramName = namedArg.name.label.name;
173
175
if (paramName == 'preCacheUrls' ) {
174
176
assertList (namedArg.expression).elements
175
- .forEach ((expression) =>
177
+ ..sort ()
178
+ ..forEach ((expression) =>
176
179
cacheUris.add (assertString (expression).stringValue));
177
180
}
178
181
if (paramName == 'cache' ) {
0 commit comments