|
69 | 69 | <Target Name="BeforeResGen" |
70 | 70 | Inputs="@(EmbeddedResource->'$(IntermediateOutputPath)%(Filename)%(Extension)')" |
71 | 71 | Outputs="@(EmbeddedResource->'$(IntermediateOutputPath)resources\%(Filename)%(Extension)')" |
72 | | - DependsOnTargets="CopyVsixResources" |
73 | 72 | Condition="'$(Configuration)' != 'Proto' and '$(Language)'=='F#' and '$(DisableCompilerRedirection)' != 'true' "> |
74 | 73 |
|
75 | | - <!-- <SubstituteText EmbeddedResources="@(EmbeddedResource)"> |
| 74 | + <MakeDir Directories="$(IntermediateOutputPath)" Condition="!Exists('$(IntermediateOutputPath)')" /> |
| 75 | + <MakeDir Directories="$(IntermediateOutputPath)resources\" Condition="!Exists('$(IntermediateOutputPath)resources\')" /> |
| 76 | + |
| 77 | + <SubstituteText EmbeddedResources="@(EmbeddedResource)"> |
76 | 78 | <Output TaskParameter="CopiedFiles" ItemName="CopiedFiles" /> |
77 | | - </SubstituteText> --> |
| 79 | + </SubstituteText> |
78 | 80 |
|
79 | 81 | <ItemGroup> |
| 82 | + <IntermediateFiles Include="$(IntermediateOutputPath)\*.resx" /> |
| 83 | + <IntermediateResourcesFiles Include="$(IntermediateOutputPath)resources\*.resx" /> |
| 84 | + </ItemGroup> |
| 85 | + |
| 86 | + <!-- IntermediateFiles Hashes --> |
| 87 | + <GetFileHash Files="@(IntermediateFiles)"> |
| 88 | + <Output |
| 89 | + TaskParameter="Items" |
| 90 | + ItemName="IntermediateFilesHashes" /> |
| 91 | + </GetFileHash> |
| 92 | + |
| 93 | + <Hash ItemsToHash="@(IntermediateFilesHashes->'%(FileHash)')"> |
| 94 | + <Output TaskParameter="HashResult" PropertyName="IntermediateFilesHash" /> |
| 95 | + </Hash> |
| 96 | + |
| 97 | + <!-- CopiedFilesForHash Hashes --> |
| 98 | + <GetFileHash Files="@(IntermediateResourceFilesForHash)"> |
| 99 | + <Output |
| 100 | + TaskParameter="Items" |
| 101 | + ItemName="IntermediateResourceFilesHashes" /> |
| 102 | + </GetFileHash> |
| 103 | + |
| 104 | + <Hash ItemsToHash="@(IntermediateResourceFilesHashes->'%(FileHash)')"> |
| 105 | + <Output TaskParameter="HashResult" PropertyName="IntermediateResourceFilesHash" /> |
| 106 | + </Hash> |
| 107 | + |
| 108 | + <!-- Update EmbeddedResources --> |
| 109 | + <ItemGroup Condition="'$(IntermediateFilesHash)' != '$(IntermediateResourceFilesHash)'"> |
80 | 110 | <EmbeddedResource Remove="@(EmbeddedResource)"/> |
81 | 111 | <!-- <EmbeddedResource Include="@(CopiedFiles)"/> --> |
82 | 112 | </ItemGroup> |
83 | 113 |
|
84 | | - <MakeDir Directories="$(IntermediateOutputPath)" Condition="!Exists('$(IntermediateOutputPath)')" /> |
85 | | - <MakeDir Directories="$(IntermediateOutputPath)resources\" Condition="!Exists('$(IntermediateOutputPath)resources\')" /> |
86 | | - </Target> |
87 | | - |
88 | | - <Target Name="CopyVsixResources"> |
89 | | - <Copy SourceFiles="@(CopyVsixResources)" DestinationFolder="$(IntermediateOutputPath)\resources\Resources" /> |
| 114 | + <Copy SourceFiles="@(CopyVsixResources)" DestinationFolder="$(IntermediateOutputPath)\resources\Resources" Condition="'$(IntermediateFilesHash)' != '$(IntermediateResourceFilesHash)'" /> |
90 | 115 | </Target> |
91 | 116 |
|
92 | 117 | </Project> |
0 commit comments