Skip to content

Commit f8a4c9c

Browse files
3.5 - Refresh compilers with small fixes (#105)
* Update compilers to 3.5 * Add signing for task dll. * Add key file for delay signing the task dll. * Adjust task signing target for SDK-style project. * A whole mess of project/target cleanup. * I think this still misses SignFiles for SDK projects. * I think this is the last step in a clean signing pipeline. * Project TFM != target framework attribute * Correct escapting for generating config through powershell/xml.
1 parent d354405 commit f8a4c9c

8 files changed

Lines changed: 54 additions & 36 deletions

File tree

src/DotNetCompilerPlatformTasks/DotNetCompilerPlatformTasks.csproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2+
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory),RoslynCodeProvider.sln))\tools\RoslynCodeProvider.settings.targets" />
23

34
<PropertyGroup>
45
<TargetFramework>netstandard2.0</TargetFramework>
56
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
7+
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
8+
<SignAssembly>true</SignAssembly>
9+
<DelaySign>true</DelaySign>
10+
<AssemblyOriginatorKeyFile>..\35MSSharedLib1024.snk</AssemblyOriginatorKeyFile>
611
</PropertyGroup>
712

813
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

src/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.csproj

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,4 @@
7272
</PropertyGroup>
7373
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
7474
</Target>
75-
<Target Name="AfterBuild">
76-
<ItemGroup>
77-
<FilesToSign Include="$(TargetPath)" Condition="'$(SignAssembly)' == 'true'">
78-
<Authenticode>Microsoft400</Authenticode>
79-
<StrongName>MsSharedLib72</StrongName>
80-
</FilesToSign>
81-
</ItemGroup>
82-
</Target>
8375
</Project>

src/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/tools/install.ps1

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
param($installPath, $toolsPath, $package, $project)
1010

11+
$assemblyVersion = '3.5.0.0'
1112
$roslynSubFolder = 'roslyn'
1213

1314
if ($project -eq $null) {
@@ -17,7 +18,6 @@ if ($project -eq $null) {
1718
$libDirectory = Join-Path $installPath 'lib\net45'
1819
$projectRoot = $project.Properties.Item('FullPath').Value
1920
$projectTargetFramework = $project.Properties.Item('TargetFrameworkMoniker').Value
20-
$shouldUseRoslyn45 = $projectTargetFramework -match '4.5'
2121
$binDirectory = Join-Path $projectRoot 'bin'
2222

2323
#
@@ -32,13 +32,13 @@ $compilerPackageDirectory = Join-Path $packageDirectory $compilerPackageFolderNa
3232
$compilerPackageToolsDirectory = Join-Path $compilerPackageDirectory 'tools\roslyn472'
3333
$csLanguageVersion = 'default'
3434
$vbLanguageVersion = 'default'
35-
if ($projectTargetFramework -match '^4\.5')
35+
if ($projectTargetFramework -match 'v4\.5')
3636
{
3737
$compilerPackageToolsDirectory = Join-Path $compilerPackageDirectory 'tools\roslyn45'
3838
$csLanguageVersion = '6'
3939
$vbLanguageVersion = '14'
4040
}
41-
elseif (($projectTargetFramework -match '^4\.6') -or ($projectTargetFramework -match '^4\.7$') -or ($projectTargetFramework -match '^4\.7\.[01]'))
41+
elseif (($projectTargetFramework -match 'v4\.6') -or ($projectTargetFramework -match 'v4\.7[^\.]') -or ($projectTargetFramework -match 'v4\.7\.[01]'))
4242
{
4343
$compilerPackageToolsDirectory = Join-Path $compilerPackageDirectory 'tools\roslyn46'
4444
$csLanguageVersion = 'default'
@@ -53,25 +53,23 @@ elseif (($projectTargetFramework -match '^4\.6') -or ($projectTargetFramework -m
5353
$csCodeDomProvider = [CodeDomProviderDescription]@{
5454
TypeName="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider";
5555
Assembly="Microsoft.CodeDom.Providers.DotNetCompilerPlatform";
56-
Version="3.4.0.0";
56+
Version=$assemblyVersion;
5757
FileExtension=".cs";
5858
Parameters=@(
5959
[CompilerParameterDescription]@{ Name="language"; DefaultValue="c#;cs;csharp"; IsRequired=$true; IsProviderOption=$false },
6060
[CompilerParameterDescription]@{ Name="warningLevel"; DefaultValue="4"; IsRequired=$true; IsProviderOption=$false },
61-
[CompilerParameterDescription]@{ Name="goofyParam"; DefaultValue="foobaz"; IsRequired=$true; IsProviderOption=$true },
62-
[CompilerParameterDescription]@{ Name="verySeriousParam"; DefaultValue="synergy"; IsRequired=$true; IsProviderOption=$true },
6361
[CompilerParameterDescription]@{ Name="compilerOptions"; DefaultValue="/langversion:" + $csLanguageVersion + " /nowarn:1659;1699;1701;612;618"; IsRequired=$false; IsProviderOption=$false });
6462
}
6563
InstallCodeDomProvider $csCodeDomProvider
6664
$vbCodeDomProvider = [CodeDomProviderDescription]@{
6765
TypeName="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider";
6866
Assembly="Microsoft.CodeDom.Providers.DotNetCompilerPlatform";
69-
Version="3.4.0.0";
67+
Version=$assemblyVersion;
7068
FileExtension=".vb";
7169
Parameters=@(
7270
[CompilerParameterDescription]@{ Name="language"; DefaultValue="vb;vbs;visualbasic;vbscript"; IsRequired=$true; IsProviderOption=$false },
7371
[CompilerParameterDescription]@{ Name="warningLevel"; DefaultValue="4"; IsRequired=$true; IsProviderOption=$false },
74-
[CompilerParameterDescription]@{ Name="compilerOptions"; DefaultValue="/langversion:" + $vbLanguageVersion + " /nowarn:41008,40000,40008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"; IsRequired=$false; IsProviderOption=$false });
72+
[CompilerParameterDescription]@{ Name="compilerOptions"; DefaultValue="/langversion:" + $vbLanguageVersion + " /nowarn:41008,40000,40008 /define:_MYTYPE=\""Web\"" /optionInfer+"; IsRequired=$false; IsProviderOption=$false });
7573
}
7674
InstallCodeDomProvider $vbCodeDomProvider
7775

src/Packages/Packages.csproj

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -34,22 +34,8 @@
3434
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\tools\Roslyn472\Microsoft.CSharp.Core.targets" />
3535
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\tools\Roslyn472\Microsoft.Managed.Core.targets" />
3636
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\tools\Roslyn472\Microsoft.VisualBasic.Core.targets" />
37-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\app.config.install.xdt" />
38-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\app.config.uninstall.xdt" />
39-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\net45\app.config.install.xdt" />
40-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\net45\app.config.uninstall.xdt" />
41-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\net45\web.config.install.xdt" />
42-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\net45\web.config.uninstall.xdt" />
43-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\net46\app.config.install.xdt" />
44-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\net46\app.config.uninstall.xdt" />
45-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\net46\web.config.install.xdt" />
46-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\net46\web.config.uninstall.xdt" />
47-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\net472\app.config.install.xdt" />
48-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\net472\app.config.uninstall.xdt" />
49-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\net472\web.config.install.xdt" />
50-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\net472\web.config.uninstall.xdt" />
51-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\web.config.install.xdt" />
52-
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\web.config.uninstall.xdt" />
37+
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\config.install.xdt" />
38+
<None Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform\content\config.uninstall.xdt" />
5339
<None Include="**\*.ps1" />
5440
</ItemGroup>
5541
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

tools/.verif.whitelist

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*\lib\*\*.xml,ignore xmldoc files

tools/RoslynCodeProvider.settings.targets

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@
1010
<!-- Configurable properties-->
1111

1212
<PropertyGroup>
13-
<BuildQuality Condition="'$(BuildQuality)' == ''">preview</BuildQuality>
13+
<BuildQuality Condition="'$(BuildQuality)' == ''">preview1</BuildQuality>
1414
<VersionStartYear>2020</VersionStartYear>
1515
<VersionMajor>3</VersionMajor>
16-
<VersionMinor>4</VersionMinor>
16+
<VersionMinor>5</VersionMinor>
1717
<VersionRelease>0</VersionRelease>
1818
</PropertyGroup>
1919

2020
<PropertyGroup Label="NuGet package dependencies">
2121
<MSNetCompilers45NuGetPackageVersion>1.3.2</MSNetCompilers45NuGetPackageVersion>
2222
<MSNetCompilers46NuGetPackageVersion>2.10.0</MSNetCompilers46NuGetPackageVersion>
23-
<MSNetCompilers472NuGetPackageVersion>3.4.0</MSNetCompilers472NuGetPackageVersion>
23+
<MSNetCompilers472NuGetPackageVersion>3.5.0</MSNetCompilers472NuGetPackageVersion>
2424
</PropertyGroup>
2525

2626
<Target Name="SuperClean" AfterTargets="Clean" Condition="'$(MSBuildProjectExtension)' != '.nuproj'">

tools/RoslynCodeProvider.targets

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88

99
<Import Project="$(MSBuildThisFileDirectory)version.targets"/>
1010
<Import Project="$(MSBuildThisFileDirectory)RoslynCodeProvider.Extensions.targets"/>
11+
<Import Project="$(MSBuildThisFileDirectory)signing.targets"/>
1112

12-
<!-- Post-targets computed properties. -->
13+
<!-- Post-targets computed properties. -->
1314

1415
<PropertyGroup>
1516
<SatelliteContractVersion Condition="'$(SatelliteContractVersion)' == ''">$(AssemblyVersion)</SatelliteContractVersion>

tools/signing.targets

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
3+
<!-- Setup signing for built assemblies. -->
4+
<Target Name="GetAssemblyFilesToSign" BeforeTargets="SignFiles" Condition="'$(MSBuildProjectExtension)' != '.nuproj' And '$(MSBuildProjectName)' != 'Microsoft.CodeDom.Providers.DotNetCompilerPlatformTest' And '$(SignAssembly)' == 'true'">
5+
<ItemGroup>
6+
<FilesToSign Include="$(TargetPath)">
7+
<Authenticode>Microsoft400</Authenticode>
8+
<StrongName>MsSharedLib72</StrongName>
9+
</FilesToSign>
10+
</ItemGroup>
11+
</Target>
12+
13+
<!-- Set up signing for nuget packages. -->
14+
<Target Name="SignPowerShellScript" BeforeTargets="GetNuGetContentFromProject" Condition="'$(MSBuildProjectExtension)' == '.nuproj' And '$(SignAssembly)' == 'true'">
15+
<ItemGroup>
16+
<ScriptFilesToSign Include="tools\*.ps1">
17+
<Authenticode>Microsoft400</Authenticode>
18+
</ScriptFilesToSign>
19+
</ItemGroup>
20+
<SignFiles Files="@(ScriptFilesToSign)" Type="$(SignType)" BinariesDirectory="$(NuGetScriptDirectory)\$(NuGetProcessedScriptSubDirectory)"
21+
IntermediatesDirectory="$(NuGetScriptDirectory)" ESRPSigning="$(ESRPSigning)" UseBearerToken="$(UseBearerToken)" Condition="'@(ScriptFilesToSign->Count())' &gt; 0" />
22+
</Target>
23+
24+
<Target Name="GetPackageFilesToSign" BeforeTargets="SignFiles" Condition="'$(MSBuildProjectExtension)' == '.nuproj' And '$(SignAssembly)' == 'true'">
25+
<PropertyGroup>
26+
<OutDir>$(PackageOutputDir)</OutDir>
27+
</PropertyGroup>
28+
<ItemGroup>
29+
<FilesToSign Include="$(NuGetPackTargetFile)">
30+
<Authenticode>NuGet</Authenticode>
31+
</FilesToSign>
32+
</ItemGroup>
33+
</Target>
34+
35+
</Project>

0 commit comments

Comments
 (0)