Skip to content

Commit 0613780

Browse files
JinhuafeiHongGit
authored andcommitted
Update build script for internal signing (#47)
* add icon link in nupkg * update build to support signing * support ps1 signing
1 parent 753c32a commit 0613780

6 files changed

Lines changed: 43 additions & 10 deletions

File tree

RoslynCodeProvider.msbuild

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2-
<Import Project="tools\RoslynCodeProvider.settings.targets"/>
3-
42
<UsingTask AssemblyFile="..\Build\tools\Microsoft.Web.MsBuildTasks2.dll" TaskName="Microsoft.Web.MsBuildTasks.PoliCheck"/>
53

64
<ItemGroup>

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,12 @@
7878
</PropertyGroup>
7979
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
8080
</Target>
81-
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
82-
Other similar extension points exist, see Microsoft.Common.targets.
83-
<Target Name="BeforeBuild">
84-
</Target>
85-
8681
<Target Name="AfterBuild">
82+
<ItemGroup>
83+
<FilesToSign Include="$(TargetPath)" Condition="'$(SignAssembly)' == 'true'">
84+
<Authenticode>Microsoft</Authenticode>
85+
<StrongName>StrongName</StrongName>
86+
</FilesToSign>
87+
</ItemGroup>
8788
</Target>
88-
-->
8989
</Project>

src/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.nuproj

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,11 @@
3838
<NuGetContent Include="build\net46\*">
3939
<Destination>build\net46</Destination>
4040
</NuGetContent>
41-
<NuGetContent Include="tools\*.ps1">
41+
<NuGetContent Include="tools\*.ps1" Condition="'$(SignAssembly)' != 'true'">
4242
<Destination>tools\net45</Destination>
43+
</NuGetContent>
44+
<NuGetContent Include="tools\signed\*.ps1" Condition="'$(SignAssembly)' == 'true'">
45+
<Destination>tools\net45</Destination>
4346
</NuGetContent>
4447
<NuGetContent Include="tools\$(LocalRoslynFolderName)\*">
4548
<Destination>tools\$(LocalRoslynFolderName)</Destination>
@@ -49,4 +52,27 @@
4952
</NuGetContent>
5053
</ItemGroup>
5154
<Import Project="$(RepositoryRoot)Tools\NuGetProj.targets"/>
55+
<Target Name="SignPowerShellScript" Condition=" '$(SignAssembly)' == 'true' " AfterTargets="BeforeBuild">
56+
<ItemGroup>
57+
<OriginalScriptFiles Include="$(MSBuildThisFileDirectory)\tools\*.ps1" />
58+
</ItemGroup>
59+
<Copy SourceFiles="@(OriginalScriptFiles)" DestinationFolder="$(MSBuildThisFileDirectory)\tools\signed" SkipUnchangedFiles="true" />
60+
<ItemGroup>
61+
<ScriptFilesToSign Include="$(MSBuildThisFileDirectory)\tools\signed\*.ps1">
62+
<Authenticode>Microsoft400</Authenticode>
63+
</ScriptFilesToSign>
64+
</ItemGroup>
65+
<SignFiles Files="@(ScriptFilesToSign)" Type="$(SignType)" BinariesDirectory="$(MSBuildThisFileDirectory)\tools\signed"
66+
IntermediatesDirectory="$(MSBuildThisFileDirectory)\tools" ESRPSigning="$(ESRPSigning)" UseBearerToken="$(UseBearerToken)" />
67+
</Target>
68+
<Target Name="AfterBuild">
69+
<PropertyGroup>
70+
<OutDir>$(PackageOutputDir)</OutDir>
71+
</PropertyGroup>
72+
<ItemGroup>
73+
<FilesToSign Include="$(NuGetPackTargetFile)" Condition="'$(SignAssembly)' == 'true'">
74+
<Authenticode>NuGet</Authenticode>
75+
</FilesToSign>
76+
</ItemGroup>
77+
</Target>
5278
</Project>

src/Packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.nuspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<summary>Replacement CodeDOM providers that use the new .NET Compiler Platform ("Roslyn") compiler as a service APIs.</summary>
1515
<language>en-US</language>
1616
<projectUrl>http://www.asp.net/</projectUrl>
17+
<iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
1718
<licenseUrl>http://www.microsoft.com/web/webpi/eula/net_library_eula_ENU.htm</licenseUrl>
1819
<requireLicenseAcceptance>true</requireLicenseAcceptance>
1920
<tags>Roslyn CodeDOM Compiler CSharp VB.Net ASP.NET</tags>

tools/NuGetProj.targets

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,10 +304,11 @@ GetNuGetProjectOutputs: Reads build-generated files from outputs file.
304304
<Target Name="GetNuGetProjectOutputs">
305305
<PropertyGroup>
306306
<NuGetPackTargetFile>$(PackageOutputDir)\$(NuGetPackageId).$(NuGetPackageVersion).nupkg</NuGetPackTargetFile>
307-
<NuGetPackTargetFile Condition="'$(NuGetPackSymbols)' == 'true'">$(PackageOutputDir)\$(NuGetPackageId).$(NuGetPackageVersion).symbols.nupkg</NuGetPackTargetFile>
307+
<NuGetSymbolPackTargetFile Condition="'$(NuGetPackSymbols)' == 'true'">$(PackageOutputDir)\$(NuGetPackageId).$(NuGetPackageVersion).symbols.nupkg</NuGetSymbolPackTargetFile>
308308
</PropertyGroup>
309309
<ItemGroup>
310310
<NuGetProjectOutput Include="$(NuGetPackTargetFile)" />
311+
<NuGetProjectOutput Include="$(NuGetSymbolPackTargetFile)" Condition="'$(NuGetSymbolPackTargetFile)' != ''" />
311312
<NuGetProjectOutput Include="$(NuGetProjectOutputsFile)" />
312313
</ItemGroup>
313314
</Target>

tools/RoslynCodeProvider.settings.targets

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
<Project DefaultTargets="UnitTest" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<PropertyGroup Label="Project properties">
3+
<RepositoryRoot>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'RoslynCodeProvider.sln'))\</RepositoryRoot>
4+
</PropertyGroup>
5+
<Import Project="$(RepositoryRoot)\packages\microbuild.core.0.3.0\build\MicroBuild.Core.props"
6+
Condition="Exists('$(RepositoryRoot)\packages\microbuild.core.0.3.0\build\MicroBuild.Core.props')" />
7+
<Import Project="$(RepositoryRoot)\packages\microbuild.core.0.3.0\build\MicroBuild.Core.targets"
8+
Condition="Exists('$(RepositoryRoot)\packages\microbuild.core.0.3.0\build\MicroBuild.Core.targets')" />
29

310
<!-- Configurable properties-->
411

0 commit comments

Comments
 (0)