Commit 1fd38473 authored by Marc Gravell's avatar Marc Gravell

Strong named deploy (parallel and separate)

parent 3d70d03a
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="Nivot.StrongNaming" version="1.0.4.2" />
<package id="NuGet.CommandLine" version="2.8.0" /> <package id="NuGet.CommandLine" version="2.8.0" />
<package id="Redis-64" version="2.8.4" /> <package id="Redis-64" version="2.8.4" />
</packages> </packages>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<package>
<metadata>
<id>StackExchange.Redis.StrongName</id>
<version>1.0.312</version>
<authors>Stack Exchange inc., marc.gravell</authors>
<owners>Stack Exchange inc., marc.gravell</owners>
<summary>Redis client library</summary>
<description>High performance Redis client, incorporating both synchronous and asynchronous usage; the notional successor to BookSleeve</description>
<tags>Async Redis NoSQL Client Distributed Cache PubSub Messaging</tags>
<language>en-US</language>
<projectUrl>https://github.com/StackExchange/StackExchange.Redis</projectUrl>
<licenseUrl>https://raw.github.com/StackExchange/StackExchange.Redis/master/LICENSE</licenseUrl>
<copyright>Stack Exchange inc. 2014</copyright>
<dependencies>
<group targetFramework="net40">
<dependency id="Microsoft.Bcl" version="1.1.8"/>
<dependency id="Microsoft.Bcl.Async" version="1.0.168"/>
<dependency id="Microsoft.Bcl.Build" version="1.0.14"/>
</group>
<group targetFramework="net45">
</group>
</dependencies>
</metadata>
<files>
<file src="StackExchange.Redis\bin\Release\StackExchange.Redis*.*" target="lib\net45" />
<file src="StackExchange.Redis_Net40\bin\Release\StackExchange.Redis*.*" target="lib\net40" />
</files>
</package>
\ No newline at end of file
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013 # Visual Studio 2013
VisualStudioVersion = 12.0.30324.0 VisualStudioVersion = 12.0.30501.0
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StackExchange.Redis", "StackExchange.Redis\StackExchange.Redis.csproj", "{7CEC07F2-8C03-4C42-B048-738B215824C1}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StackExchange.Redis", "StackExchange.Redis\StackExchange.Redis.csproj", "{7CEC07F2-8C03-4C42-B048-738B215824C1}"
EndProject EndProject
...@@ -39,6 +39,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution ...@@ -39,6 +39,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
monobuild.cmd = monobuild.cmd monobuild.cmd = monobuild.cmd
netbuild.cmd = netbuild.cmd netbuild.cmd = netbuild.cmd
StackExchange.Redis.nuspec = StackExchange.Redis.nuspec StackExchange.Redis.nuspec = StackExchange.Redis.nuspec
StackExchange.Redis.snk = StackExchange.Redis.snk
StackExchange.Redis.StrongName.nuspec = StackExchange.Redis.StrongName.nuspec
StrongName.ps1 = StrongName.ps1
EndProjectSection EndProjectSection
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConnectionWatcher", "ConnectionWatcher\ConnectionWatcher.csproj", "{6756F911-BD09-4226-B597-67871DEB8ED5}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConnectionWatcher", "ConnectionWatcher\ConnectionWatcher.csproj", "{6756F911-BD09-4226-B597-67871DEB8ED5}"
......
$key = Import-StrongNameKeyPair -KeyFile StackExchange.Redis.snk
dir StackExchange.Redis*/bin/Release/StackExchange.Redis.dll | Set-StrongName -KeyPair $key -Verbose -NoBackup -Force
nuget pack StackExchange.Redis.StrongName.nuspec
\ No newline at end of file
Nivot.StrongNaming
==================
* v1.0.4.1 (something fishy is going on with my package build process?)
* v1.0.4 (fix missing mono.cecil)
* v1.0.3.2 (fix package: second attempt; readme.txt auto-open)
* v1.0.3.1 (fix package)
* v1.0.3 [2014/01/26]
* Assembly references without a strongname will be given a strong name using the same
public key token as the primary target assembly.
* v1.0.2 [2013/04/30]
* Added license and project URL.
* Added readme.MD
* v1.0.1 [2013/04/29]
* Updated metadata.
* v1.0.0 [2013/04/29]
* Initial release.
Details
=======
All cmdlets accept pipeline input. The AssemblyFile parameter is aliased to PSPath, so it will
bind to piped files.
* Test-StrongName [-AssemblyFile] <string[]> [<CommonParameters>]
Returns true if an assembly has a strong name.
* Import-StrongNameKeyPair [-KeyFile] <string> [<CommonParameters>]
* Import-StrongNameKeyPair [-KeyFile] <string> -Password <securestring> [<CommonParameters>]
Imports a simple unprotected SNK or a password-protected PFX, returning a StrongNameKeyPair
instance for consumption by Set-StrongName. If your PFX file has a blank password, you must
provide a SecureString of the empty string "". SecureString instances are returned from
the Read-Host cmdlet with the -AsSecureString parameter.
* Set-StrongName [-AssemblyFile] <string[]> -KeyPair <StrongNameKeyPair> [-NoBackup] [-Passthru]
[-Force] [-DelaySign] [-WhatIf] [-Confirm] [<CommonParameters>]
Assigns a strong name identity to an assembly.
The -KeyPair parameter accepts a System.Reflection.StrongNameKeyPair output from the
Import-StrongNameKeyPair cmdlet., which accepts either simple unprotected SNK files or
password-protected PFX files.
The -NoBackup switch directs the cmdlet to skip creating a .bak file alongside the newly
signed assembly.
The -Passthru switch will output a FileInfo representing the newly signed assembly to
the pipeline.
The -DelaySign switch will create a delay-signed assembly from a public key only SNK
(it can also create one if the SNK contains both private and public keys.) This is useful
if you can't get access to the full private key at your company. This will allow you to
compile against previously unsigned nuget packages at least.
The -Force switch will allow you to overwrite an existing strong name on an assembly.
NOTE: You may supply -WhatIf to see what _would_ be done, without actually doing it.
* Get-AssemblyName [-AssemblyFile] <string[]> [<CommonParameters>]
Returns a System.Reflection.AssemblyName instance from any assembly file.
FAQ: How Do I?
==============
# get the default package root folder
PM> $root = join-path (split-path $dte.solution.filename) packages
# load an unprotected snk
PM> $key = Import-StrongNameKeyPair -KeyFile .\folder\key.snk
PM> dir *.dll | Set-StrongName -KeyPair $key -Verbose
# load a password-protected PFX
PM> $key = Import-StrongNameKeyPair -KeyFile .\folder\key.pfx -Password (Read-Host -AsSecureString)
******
# sign some unsigned assemblies
PM> cd (join-path $root unsignedPackage)
PM> dir -rec *.dll | set-strongname -keypair $key -verbose
# (re)sign some assemblies forcefully
PM> dir -rec *.dll | set-strongname -keypair $key -force
# sign only unsigned assemblies
PM> dir -rec *.dll | where { -not (test-strongname $_) } | set-strongname -keypair $key -verbose
\ No newline at end of file
param($installPath, $toolsPath, $package)
import-module (join-path $toolsPath StrongNaming.psd1)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment