Skip to content

Commit

Permalink
Avoid duplicate Strings.resx import & code-cleanup (#68220)
Browse files Browse the repository at this point in the history
* Avoid duplicate Strings.resx import & code-cleanup

Fixes #68218

Makes assemblies with String.resx resources smaller by avoiding the duplicate resources.
  • Loading branch information
ViktorHofer authored Apr 20, 2022
1 parent 7ab6c18 commit 30a5b1f
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 20 deletions.
33 changes: 14 additions & 19 deletions eng/resources.targets
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
<Project>
<PropertyGroup>
<ResourcesSourceFileExtension Condition="'$(MSBuildProjectExtension)' == '.csproj'">.cs</ResourcesSourceFileExtension>
<ResourcesSourceFileExtension Condition="'$(MSBuildProjectExtension)' == '.vbproj'">.vb</ResourcesSourceFileExtension>

<StringResourcesPath Condition="'$(StringResourcesPath)' == '' and Exists('$(MSBuildProjectDirectory)/Resources/Strings.resx')">$(MSBuildProjectDirectory)/Resources/Strings.resx</StringResourcesPath>
<StringResourcesPath Condition="'$(StringResourcesPath)' == '' and Exists('$(MSBuildProjectDirectory)\Resources\Strings.resx')">$(MSBuildProjectDirectory)\Resources\Strings.resx</StringResourcesPath>
<StringResourcesNamespace Condition="'$(StringResourcesNamespace)' == ''">System</StringResourcesNamespace>
<StringResourcesClassName Condition="'$(StringResourcesClassName)' == ''">SR</StringResourcesClassName>
<StringResourcesName Condition="'$(StringResourcesName)' == ''">FxResources.$(AssemblyName).$(StringResourcesClassName)</StringResourcesName>
Expand All @@ -15,20 +12,18 @@
</PropertyGroup>

<!-- Include files under StringResourcesPath by convention unless OmitResources is set. -->
<ItemGroup Condition="'$(StringResourcesPath)' != '' and '$(OmitResources)' != 'true'">
<EmbeddedResource Include="$(StringResourcesPath)">
<Visible>true</Visible>
<ManifestResourceName>$(StringResourcesName)</ManifestResourceName>
<GenerateSource>true</GenerateSource>
<ClassName>$(StringResourcesNamespace).$(StringResourcesClassName)</ClassName>
</EmbeddedResource>
</ItemGroup>

<!-- Include common SR helper when resources are included unless SkipCommonResourcesIncludes is set. -->
<ItemGroup Condition="Exists('$(StringResourcesPath)') and '$(OmitResources)' != 'true' and '$(SkipCommonResourcesIncludes)' == ''">
<Compile Include="$(CommonPath)/System/SR$(ResourcesSourceFileExtension)">
<Visible>true</Visible>
<Link>Resources/Common/SR$(ResourcesSourceFileExtension)</Link>
</Compile>
<ItemGroup Condition="'$(StringResourcesPath)' != '' and '$(OmitResources)' != 'true'">
<!-- Delete the embedded resource item pointing to StringResourcesPath in case the
EnableDefaultEmbeddedResourceItems glob didn't include it and include it again. -->
<EmbeddedResource Remove="$(StringResourcesPath)" Condition="'$(EnableDefaultEmbeddedResourceItems)' == 'true'" />
<EmbeddedResource Include="$(StringResourcesPath)"
Visible="true"
ManifestResourceName="$(StringResourcesName)"
GenerateSource="true"
ClassName="$(StringResourcesNamespace).$(StringResourcesClassName)" />
<!-- Include common SR helper when resources are included. -->
<Compile Include="$(CommonPath)/System/SR$(DefaultLanguageSourceExtension)"
Visible="true"
Link="Resources/Common/SR$(DefaultLanguageSourceExtension)" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
<DefineConstants>MONO;NETCOREAPP;SYSTEM_PRIVATE_CORELIB</DefineConstants>
<DisableImplicitConfigurationDefines>true</DisableImplicitConfigurationDefines>

<SkipCommonResourcesIncludes>true</SkipCommonResourcesIncludes>
<DocumentationFile>$(OutputPath)$(MSBuildProjectName).xml</DocumentationFile>
<SlnGenSolutionFolder>src</SlnGenSolutionFolder>
</PropertyGroup>
Expand Down

0 comments on commit 30a5b1f

Please sign in to comment.