Skip to content

Commit c82e54d

Browse files
authored
Fix single-file static web assets tests (#34186)
Fixes test bugs in two tests. These tests were calling `Execute($"/p:PublishSingleFile=true /p:RuntimeIdentifier={RuntimeInformation.RuntimeIdentifier}")`, which was setting the value of `PublishSingleFile` to `true /p:RuntimeIdentifier=<RID>`. The two MSBuild properties should have been passed as separate arguments to `Execute`. This was resulting in the tests not actually publishing single-file, and not setting the RID. Fixing this required updating the tests to expect RID-specific static web assets. The expected manifests were then updated by running the `update-test-baselines.ps1` script.
1 parent 8fe4a59 commit c82e54d

10 files changed

+61
-65
lines changed

src/Tests/Microsoft.NET.Sdk.Razor.Tests/AspNetSdkBaselineTest.cs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Licensed to the .NET Foundation under one or more agreements.
1+
// Licensed to the .NET Foundation under one or more agreements.
22
// The .NET Foundation licenses this file to you under the MIT license.
33

44
using System;
@@ -172,7 +172,7 @@ protected void AssertPublishAssets(
172172
string wwwRootFolder = Path.Combine(publishFolder, "wwwroot");
173173
var wwwRootFiles = Directory.Exists(wwwRootFolder) ?
174174
Directory.GetFiles(wwwRootFolder, "*", fileEnumerationOptions)
175-
.Select(f => _baselineFactory.TemplatizeFilePath(f, null, null, intermediateOutputPath, publishFolder)) :
175+
.Select(f => _baselineFactory.TemplatizeFilePath(f, null, null, intermediateOutputPath, publishFolder, null)) :
176176
Array.Empty<string>();
177177

178178
// Computed publish assets must exist on disk (we do this check to quickly identify when something is not being
@@ -234,6 +234,7 @@ internal void AssertManifest(
234234
StaticWebAssetsManifest manifest,
235235
StaticWebAssetsManifest expected,
236236
string suffix = "",
237+
string runtimeIdentifier = null,
237238
[CallerMemberName] string name = "")
238239
{
239240
if (!_generateBaselines)
@@ -244,15 +245,13 @@ internal void AssertManifest(
244245
manifest,
245246
ProjectDirectory.Path,
246247
TestContext.Current.NuGetCachePath,
247-
RuntimeVersion,
248-
DefaultTfm,
249-
DefaultPackageVersion);
248+
runtimeIdentifier);
250249

251250
_comparer.AssertManifest(expected, manifest);
252251
}
253252
else
254253
{
255-
var template = Templatize(manifest, ProjectDirectory.Path, TestContext.Current.NuGetCachePath);
254+
var template = Templatize(manifest, ProjectDirectory.Path, TestContext.Current.NuGetCachePath, runtimeIdentifier);
256255
if (!Directory.Exists(Path.Combine(BaselinesFolder)))
257256
{
258257
Directory.CreateDirectory(Path.Combine(BaselinesFolder));
@@ -275,9 +274,9 @@ private string GetExpectedFilesPath(string suffix, string name, string manifestT
275274
private Stream GetExpectedFilesEmbeddedResource(string suffix, string name, string manifestType)
276275
=> TestAssembly.GetManifestResourceStream(string.Join('.', EmbeddedResourcePrefix, $"{name}{(!string.IsNullOrEmpty(suffix) ? $"_{suffix}" : "")}.{manifestType}.files.json"));
277276

278-
private string Templatize(StaticWebAssetsManifest manifest, string projectRoot, string restorePath)
277+
private string Templatize(StaticWebAssetsManifest manifest, string projectRoot, string restorePath, string runtimeIdentifier)
279278
{
280-
_baselineFactory.ToTemplate(manifest, projectRoot, restorePath, RuntimeVersion, DefaultTfm, DefaultPackageVersion);
279+
_baselineFactory.ToTemplate(manifest, projectRoot, restorePath, runtimeIdentifier);
281280
return JsonSerializer.Serialize(manifest, BaselineSerializationOptions);
282281
}
283282
}

src/Tests/Microsoft.NET.Sdk.Razor.Tests/StaticWebAssetsBaselineComparer.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,12 @@ public class StaticWebAssetsBaselineComparer
1414
{
1515
private static readonly string BaselineGenerationInstructions =
1616
@"If the difference in baselines is expected, please re-generate the baselines.
17-
Note, baseline generation must be done on a Windows device.
1817
Start by ensuring you're dogfooding the SDK from the current branch (dotnet --version should be '*.0.0-dev').
1918
If you're not on the dogfood sdk, from the root of the repository run:
2019
1. dotnet clean
21-
2. .\restore.cmd
22-
3. .\build.cmd
23-
4. .\eng\dogfood.cmd
20+
2. .\restore.cmd or ./restore.sh
21+
3. .\build.cmd ./build.sh
22+
4. .\eng\dogfood.cmd or . ./eng/dogfood.sh
2423
2524
Then, using the dogfood SDK run the .\src\RazorSdk\update-test-baselines.ps1 script.";
2625

src/Tests/Microsoft.NET.Sdk.Razor.Tests/StaticWebAssetsBaselineFactory.cs

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Licensed to the .NET Foundation under one or more agreements.
1+
// Licensed to the .NET Foundation under one or more agreements.
22
// The .NET Foundation licenses this file to you under the MIT license.
33

44
using System;
@@ -37,15 +37,13 @@ public void ToTemplate(
3737
StaticWebAssetsManifest manifest,
3838
string projectRoot,
3939
string restorePath,
40-
string runtimeVersion,
41-
string defaultTfm,
42-
string defaultPackageVersion)
40+
string runtimeIdentifier)
4341
{
4442
manifest.Hash = "__hash__";
4543
var assetsByIdentity = manifest.Assets.ToDictionary(a => a.Identity);
4644
foreach (var asset in manifest.Assets)
4745
{
48-
TemplatizeAsset(projectRoot, restorePath, asset);
46+
TemplatizeAsset(projectRoot, restorePath, runtimeIdentifier, asset);
4947
if (asset.AssetTraitName == "Content-Encoding")
5048
{
5149
var relativePath = asset.RelativePath.Replace('/', Path.DirectorySeparatorChar);
@@ -89,42 +87,47 @@ public void ToTemplate(
8987
Array.Sort(manifest.ReferencedProjectsConfiguration, (l, r) => StringComparer.Ordinal.Compare(l.Identity, r.Identity));
9088
}
9189

92-
private void TemplatizeAsset(string projectRoot, string restorePath, StaticWebAsset asset)
90+
private void TemplatizeAsset(string projectRoot, string restorePath, string runtimeIdentifier, StaticWebAsset asset)
9391
{
9492
asset.Identity = TemplatizeFilePath(
9593
asset.Identity,
9694
restorePath,
9795
projectRoot,
9896
null,
99-
null);
97+
null,
98+
runtimeIdentifier);
10099

101100
asset.RelativePath = TemplatizeFilePath(
102101
asset.RelativePath,
103102
null,
104103
null,
105104
null,
105+
null,
106106
null).Replace('\\', '/');
107107

108108
asset.ContentRoot = TemplatizeFilePath(
109109
asset.ContentRoot,
110110
restorePath,
111111
projectRoot,
112112
null,
113-
null);
113+
null,
114+
runtimeIdentifier);
114115

115116
asset.RelatedAsset = TemplatizeFilePath(
116117
asset.RelatedAsset,
117118
restorePath,
118119
projectRoot,
119120
null,
121+
null,
120122
null);
121123

122124
asset.OriginalItemSpec = TemplatizeFilePath(
123125
asset.OriginalItemSpec,
124126
restorePath,
125127
projectRoot,
126128
null,
127-
null);
129+
null,
130+
runtimeIdentifier);
128131
}
129132

130133
internal IEnumerable<string> TemplatizeExpectedFiles(
@@ -141,7 +144,8 @@ internal IEnumerable<string> TemplatizeExpectedFiles(
141144
restorePath,
142145
projectPath,
143146
intermediateOutputPath,
144-
buildOrPublishFolder);
147+
buildOrPublishFolder,
148+
null);
145149

146150
yield return updated;
147151
}
@@ -152,7 +156,8 @@ public string TemplatizeFilePath(
152156
string restorePath,
153157
string projectPath,
154158
string intermediateOutputPath,
155-
string buildOrPublishFolder)
159+
string buildOrPublishFolder,
160+
string runtimeIdentifier)
156161
{
157162
var updated = file switch
158163
{
@@ -164,7 +169,7 @@ var processed when file.StartsWith("$") => processed,
164169
var fromPackage when restorePath is not null && file.StartsWith(restorePath) =>
165170
TemplatizeNugetPath(restorePath, fromPackage),
166171
var fromProject when projectPath is not null && file.StartsWith(projectPath) =>
167-
TemplatizeProjectPath(projectPath, fromProject),
172+
TemplatizeProjectPath(projectPath, fromProject, runtimeIdentifier),
168173
_ =>
169174
ReplaceSegments(file, (i, segments) => i switch
170175
{
@@ -206,7 +211,7 @@ private string TemplatizeIntermediatePath(string intermediatePath, string file)
206211
return file;
207212
}
208213

209-
private string TemplatizeProjectPath(string projectPath, string file)
214+
private string TemplatizeProjectPath(string projectPath, string file, string runtimeIdentifier)
210215
{
211216
file = file.Replace(projectPath, "${ProjectPath}")
212217
.Replace('\\', '/');
@@ -215,6 +220,8 @@ private string TemplatizeProjectPath(string projectPath, string file)
215220
{
216221
3 when segments[1] is "obj" or "bin" => "${Tfm}",
217222
4 when segments[2] is "obj" or "bin" => "${Tfm}",
223+
4 when segments[1] is "obj" or "bin" && segments[4] == runtimeIdentifier => "${Rid}",
224+
5 when segments[2] is "obj" or "bin" && segments[5] == runtimeIdentifier => "${Rid}",
218225
_ when i == segments.Length - 1 => RemovePossibleHash(segments[i]),
219226
_ => segments[i]
220227
});

src/Tests/Microsoft.NET.Sdk.Razor.Tests/StaticWebAssetsBaselines/PublishProjectWithReferences_PublishSingleFile_GeneratesPublishJsonManifestAndCopiesPublishAssets.Build.staticwebassets.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,10 @@
8585
"OriginalItemSpec": "wwwroot\\js\\project-direct-dep.js"
8686
},
8787
{
88-
"Identity": "${ProjectPath}\\AppWithPackageAndP2PReference\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\AppWithPackageAndP2PReference.styles.css",
88+
"Identity": "${ProjectPath}\\AppWithPackageAndP2PReference\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\bundle\\AppWithPackageAndP2PReference.styles.css",
8989
"SourceId": "AppWithPackageAndP2PReference",
9090
"SourceType": "Computed",
91-
"ContentRoot": "${ProjectPath}\\AppWithPackageAndP2PReference\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\",
91+
"ContentRoot": "${ProjectPath}\\AppWithPackageAndP2PReference\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\bundle\\",
9292
"BasePath": "_content/AppWithPackageAndP2PReference",
9393
"RelativePath": "AppWithPackageAndP2PReference.styles.css",
9494
"AssetKind": "All",
@@ -101,7 +101,7 @@
101101
"AssetTraitValue": "ApplicationBundle",
102102
"CopyToOutputDirectory": "Never",
103103
"CopyToPublishDirectory": "PreserveNewest",
104-
"OriginalItemSpec": "${ProjectPath}\\AppWithPackageAndP2PReference\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\AppWithPackageAndP2PReference.styles.css"
104+
"OriginalItemSpec": "${ProjectPath}\\AppWithPackageAndP2PReference\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\bundle\\AppWithPackageAndP2PReference.styles.css"
105105
},
106106
{
107107
"Identity": "${ProjectPath}\\ClassLibrary\\obj\\Debug\\${Tfm}\\scopedcss\\projectbundle\\ClassLibrary.bundle.scp.css",

src/Tests/Microsoft.NET.Sdk.Razor.Tests/StaticWebAssetsBaselines/PublishProjectWithReferences_PublishSingleFile_GeneratesPublishJsonManifestAndCopiesPublishAssets.Publish.files.json

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,5 @@
11
[
2-
"${OutputPath}\\wwwroot\\AppWithPackageAndP2PReference.styles.css",
3-
"${OutputPath}\\wwwroot\\_content\\AnotherClassLib\\css\\site.css",
4-
"${OutputPath}\\wwwroot\\_content\\AnotherClassLib\\js\\project-direct-dep.js",
5-
"${OutputPath}\\wwwroot\\_content\\ClassLibrary\\ClassLibrary.bundle.scp.css",
6-
"${OutputPath}\\wwwroot\\_content\\ClassLibrary\\js\\project-transitive-dep.js",
7-
"${OutputPath}\\wwwroot\\_content\\ClassLibrary\\js\\project-transitive-dep.v4.js",
8-
"${OutputPath}\\wwwroot\\_content\\PackageLibraryDirectDependency\\PackageLibraryDirectDependency.bundle.scp.css",
9-
"${OutputPath}\\wwwroot\\_content\\PackageLibraryDirectDependency\\css\\site.css",
10-
"${OutputPath}\\wwwroot\\_content\\PackageLibraryDirectDependency\\js\\pkg-direct-dep.js",
11-
"${OutputPath}\\wwwroot\\_content\\PackageLibraryTransitiveDependency\\js\\pkg-transitive-dep.js",
12-
"${ProjectPath}\\AppWithPackageAndP2PReference\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\AppWithPackageAndP2PReference.styles.css",
2+
"${ProjectPath}\\AppWithPackageAndP2PReference\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\bundle\\AppWithPackageAndP2PReference.styles.css",
133
"${OutputPath}\\wwwroot\\AppWithPackageAndP2PReference.styles.css",
144
"${OutputPath}\\wwwroot\\_content\\AnotherClassLib\\css\\site.css",
155
"${OutputPath}\\wwwroot\\_content\\AnotherClassLib\\js\\project-direct-dep.js",

src/Tests/Microsoft.NET.Sdk.Razor.Tests/StaticWebAssetsBaselines/PublishProjectWithReferences_PublishSingleFile_GeneratesPublishJsonManifestAndCopiesPublishAssets.Publish.staticwebassets.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,10 @@
8585
"OriginalItemSpec": "wwwroot\\js\\project-direct-dep.js"
8686
},
8787
{
88-
"Identity": "${ProjectPath}\\AppWithPackageAndP2PReference\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\AppWithPackageAndP2PReference.styles.css",
88+
"Identity": "${ProjectPath}\\AppWithPackageAndP2PReference\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\bundle\\AppWithPackageAndP2PReference.styles.css",
8989
"SourceId": "AppWithPackageAndP2PReference",
9090
"SourceType": "Computed",
91-
"ContentRoot": "${ProjectPath}\\AppWithPackageAndP2PReference\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\",
91+
"ContentRoot": "${ProjectPath}\\AppWithPackageAndP2PReference\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\bundle\\",
9292
"BasePath": "_content/AppWithPackageAndP2PReference",
9393
"RelativePath": "AppWithPackageAndP2PReference.styles.css",
9494
"AssetKind": "All",
@@ -101,7 +101,7 @@
101101
"AssetTraitValue": "ApplicationBundle",
102102
"CopyToOutputDirectory": "Never",
103103
"CopyToPublishDirectory": "PreserveNewest",
104-
"OriginalItemSpec": "${ProjectPath}\\AppWithPackageAndP2PReference\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\AppWithPackageAndP2PReference.styles.css"
104+
"OriginalItemSpec": "${ProjectPath}\\AppWithPackageAndP2PReference\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\bundle\\AppWithPackageAndP2PReference.styles.css"
105105
},
106106
{
107107
"Identity": "${ProjectPath}\\ClassLibrary\\obj\\Debug\\${Tfm}\\scopedcss\\projectbundle\\ClassLibrary.bundle.scp.css",

src/Tests/Microsoft.NET.Sdk.Razor.Tests/StaticWebAssetsBaselines/Publish_PublishSingleFile_GeneratesPublishJsonManifestAndCopiesPublishAssets.Build.staticwebassets.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
"DiscoveryPatterns": [],
1010
"Assets": [
1111
{
12-
"Identity": "${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\ComponentApp.styles.css",
12+
"Identity": "${ProjectPath}\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\bundle\\ComponentApp.styles.css",
1313
"SourceId": "ComponentApp",
1414
"SourceType": "Computed",
15-
"ContentRoot": "${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\",
15+
"ContentRoot": "${ProjectPath}\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\bundle\\",
1616
"BasePath": "_content/ComponentApp",
1717
"RelativePath": "ComponentApp.styles.css",
1818
"AssetKind": "All",
@@ -25,13 +25,13 @@
2525
"AssetTraitValue": "ApplicationBundle",
2626
"CopyToOutputDirectory": "Never",
2727
"CopyToPublishDirectory": "PreserveNewest",
28-
"OriginalItemSpec": "${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\ComponentApp.styles.css"
28+
"OriginalItemSpec": "${ProjectPath}\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\bundle\\ComponentApp.styles.css"
2929
},
3030
{
31-
"Identity": "${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\projectbundle\\ComponentApp.bundle.scp.css",
31+
"Identity": "${ProjectPath}\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\projectbundle\\ComponentApp.bundle.scp.css",
3232
"SourceId": "ComponentApp",
3333
"SourceType": "Computed",
34-
"ContentRoot": "${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\projectbundle\\",
34+
"ContentRoot": "${ProjectPath}\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\projectbundle\\",
3535
"BasePath": "_content/ComponentApp",
3636
"RelativePath": "ComponentApp.bundle.scp.css",
3737
"AssetKind": "All",
@@ -44,7 +44,7 @@
4444
"AssetTraitValue": "ProjectBundle",
4545
"CopyToOutputDirectory": "Never",
4646
"CopyToPublishDirectory": "PreserveNewest",
47-
"OriginalItemSpec": "${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\projectbundle\\ComponentApp.bundle.scp.css"
47+
"OriginalItemSpec": "${ProjectPath}\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\projectbundle\\ComponentApp.bundle.scp.css"
4848
}
4949
]
5050
}
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
[
2-
"${OutputPath}\\wwwroot\\ComponentApp.styles.css",
3-
"${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\ComponentApp.styles.css",
4-
"${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\projectbundle\\ComponentApp.bundle.scp.css",
2+
"${ProjectPath}\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\bundle\\ComponentApp.styles.css",
3+
"${ProjectPath}\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\projectbundle\\ComponentApp.bundle.scp.css",
54
"${OutputPath}\\wwwroot\\ComponentApp.styles.css"
65
]

src/Tests/Microsoft.NET.Sdk.Razor.Tests/StaticWebAssetsBaselines/Publish_PublishSingleFile_GeneratesPublishJsonManifestAndCopiesPublishAssets.Publish.staticwebassets.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
"DiscoveryPatterns": [],
1010
"Assets": [
1111
{
12-
"Identity": "${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\ComponentApp.styles.css",
12+
"Identity": "${ProjectPath}\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\bundle\\ComponentApp.styles.css",
1313
"SourceId": "ComponentApp",
1414
"SourceType": "Computed",
15-
"ContentRoot": "${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\",
15+
"ContentRoot": "${ProjectPath}\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\bundle\\",
1616
"BasePath": "_content/ComponentApp",
1717
"RelativePath": "ComponentApp.styles.css",
1818
"AssetKind": "All",
@@ -25,13 +25,13 @@
2525
"AssetTraitValue": "ApplicationBundle",
2626
"CopyToOutputDirectory": "Never",
2727
"CopyToPublishDirectory": "PreserveNewest",
28-
"OriginalItemSpec": "${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\ComponentApp.styles.css"
28+
"OriginalItemSpec": "${ProjectPath}\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\bundle\\ComponentApp.styles.css"
2929
},
3030
{
31-
"Identity": "${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\projectbundle\\ComponentApp.bundle.scp.css",
31+
"Identity": "${ProjectPath}\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\projectbundle\\ComponentApp.bundle.scp.css",
3232
"SourceId": "ComponentApp",
3333
"SourceType": "Computed",
34-
"ContentRoot": "${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\projectbundle\\",
34+
"ContentRoot": "${ProjectPath}\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\projectbundle\\",
3535
"BasePath": "_content/ComponentApp",
3636
"RelativePath": "ComponentApp.bundle.scp.css",
3737
"AssetKind": "All",
@@ -44,7 +44,7 @@
4444
"AssetTraitValue": "ProjectBundle",
4545
"CopyToOutputDirectory": "Never",
4646
"CopyToPublishDirectory": "PreserveNewest",
47-
"OriginalItemSpec": "${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\projectbundle\\ComponentApp.bundle.scp.css"
47+
"OriginalItemSpec": "${ProjectPath}\\obj\\Debug\\${Tfm}\\${Rid}\\scopedcss\\projectbundle\\ComponentApp.bundle.scp.css"
4848
}
4949
]
5050
}

0 commit comments

Comments
 (0)