Skip to content

Commit

Permalink
Merge pull request #82 from nayato/build-signed
Browse files Browse the repository at this point in the history
Better signed build automation
  • Loading branch information
nayato committed Apr 10, 2016
2 parents 3cfcafd + 13863df commit e9d3fce
Show file tree
Hide file tree
Showing 8 changed files with 111 additions and 10 deletions.
27 changes: 26 additions & 1 deletion DotNetty.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetty.Common", "src\DotNetty.Common\DotNetty.Common.csproj", "{DE58FE41-5E99-44E5-86BC-FC9ED8761DAF}"
EndProject
Expand Down Expand Up @@ -59,72 +59,97 @@ Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
Signed|Any CPU = Signed|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DE58FE41-5E99-44E5-86BC-FC9ED8761DAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DE58FE41-5E99-44E5-86BC-FC9ED8761DAF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DE58FE41-5E99-44E5-86BC-FC9ED8761DAF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DE58FE41-5E99-44E5-86BC-FC9ED8761DAF}.Release|Any CPU.Build.0 = Release|Any CPU
{DE58FE41-5E99-44E5-86BC-FC9ED8761DAF}.Signed|Any CPU.ActiveCfg = Signed|Any CPU
{DE58FE41-5E99-44E5-86BC-FC9ED8761DAF}.Signed|Any CPU.Build.0 = Signed|Any CPU
{5DE3C557-48BF-4CDB-9F47-474D343DD841}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5DE3C557-48BF-4CDB-9F47-474D343DD841}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5DE3C557-48BF-4CDB-9F47-474D343DD841}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5DE3C557-48BF-4CDB-9F47-474D343DD841}.Release|Any CPU.Build.0 = Release|Any CPU
{5DE3C557-48BF-4CDB-9F47-474D343DD841}.Signed|Any CPU.ActiveCfg = Release|Any CPU
{5DE3C557-48BF-4CDB-9F47-474D343DD841}.Signed|Any CPU.Build.0 = Release|Any CPU
{8218C9EE-0A4A-432F-A12A-B54202F97B05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8218C9EE-0A4A-432F-A12A-B54202F97B05}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8218C9EE-0A4A-432F-A12A-B54202F97B05}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8218C9EE-0A4A-432F-A12A-B54202F97B05}.Release|Any CPU.Build.0 = Release|Any CPU
{8218C9EE-0A4A-432F-A12A-B54202F97B05}.Signed|Any CPU.ActiveCfg = Signed|Any CPU
{8218C9EE-0A4A-432F-A12A-B54202F97B05}.Signed|Any CPU.Build.0 = Signed|Any CPU
{2ABD244E-EF8F-460D-9C30-39116499E6E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2ABD244E-EF8F-460D-9C30-39116499E6E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2ABD244E-EF8F-460D-9C30-39116499E6E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2ABD244E-EF8F-460D-9C30-39116499E6E4}.Release|Any CPU.Build.0 = Release|Any CPU
{2ABD244E-EF8F-460D-9C30-39116499E6E4}.Signed|Any CPU.ActiveCfg = Release|Any CPU
{2ABD244E-EF8F-460D-9C30-39116499E6E4}.Signed|Any CPU.Build.0 = Release|Any CPU
{58FFEA83-C956-49F9-9435-18332AD0E0D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{58FFEA83-C956-49F9-9435-18332AD0E0D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{58FFEA83-C956-49F9-9435-18332AD0E0D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{58FFEA83-C956-49F9-9435-18332AD0E0D1}.Release|Any CPU.Build.0 = Release|Any CPU
{58FFEA83-C956-49F9-9435-18332AD0E0D1}.Signed|Any CPU.ActiveCfg = Signed|Any CPU
{58FFEA83-C956-49F9-9435-18332AD0E0D1}.Signed|Any CPU.Build.0 = Signed|Any CPU
{B509D8B8-BD4A-46B1-916B-685DE387D01B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B509D8B8-BD4A-46B1-916B-685DE387D01B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B509D8B8-BD4A-46B1-916B-685DE387D01B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B509D8B8-BD4A-46B1-916B-685DE387D01B}.Release|Any CPU.Build.0 = Release|Any CPU
{B509D8B8-BD4A-46B1-916B-685DE387D01B}.Signed|Any CPU.ActiveCfg = Release|Any CPU
{09628314-F44E-445E-9F0D-CBE33B736AC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{09628314-F44E-445E-9F0D-CBE33B736AC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{09628314-F44E-445E-9F0D-CBE33B736AC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{09628314-F44E-445E-9F0D-CBE33B736AC3}.Release|Any CPU.Build.0 = Release|Any CPU
{09628314-F44E-445E-9F0D-CBE33B736AC3}.Signed|Any CPU.ActiveCfg = Release|Any CPU
{09628314-F44E-445E-9F0D-CBE33B736AC3}.Signed|Any CPU.Build.0 = Release|Any CPU
{6E76FCAF-C7C8-4F45-8C95-0FD42F2AC83B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6E76FCAF-C7C8-4F45-8C95-0FD42F2AC83B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6E76FCAF-C7C8-4F45-8C95-0FD42F2AC83B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6E76FCAF-C7C8-4F45-8C95-0FD42F2AC83B}.Release|Any CPU.Build.0 = Release|Any CPU
{6E76FCAF-C7C8-4F45-8C95-0FD42F2AC83B}.Signed|Any CPU.ActiveCfg = Release|Any CPU
{6E76FCAF-C7C8-4F45-8C95-0FD42F2AC83B}.Signed|Any CPU.Build.0 = Release|Any CPU
{94E10283-E26E-441A-A2A7-D9671A6E9818}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{94E10283-E26E-441A-A2A7-D9671A6E9818}.Debug|Any CPU.Build.0 = Debug|Any CPU
{94E10283-E26E-441A-A2A7-D9671A6E9818}.Release|Any CPU.ActiveCfg = Release|Any CPU
{94E10283-E26E-441A-A2A7-D9671A6E9818}.Release|Any CPU.Build.0 = Release|Any CPU
{94E10283-E26E-441A-A2A7-D9671A6E9818}.Signed|Any CPU.ActiveCfg = Release|Any CPU
{F9566A9E-FABB-4A57-BF20-C1842AB87012}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F9566A9E-FABB-4A57-BF20-C1842AB87012}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F9566A9E-FABB-4A57-BF20-C1842AB87012}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F9566A9E-FABB-4A57-BF20-C1842AB87012}.Release|Any CPU.Build.0 = Release|Any CPU
{F9566A9E-FABB-4A57-BF20-C1842AB87012}.Signed|Any CPU.ActiveCfg = Release|Any CPU
{F6019665-4C5E-4769-911A-FA1E83549BF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F6019665-4C5E-4769-911A-FA1E83549BF5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F6019665-4C5E-4769-911A-FA1E83549BF5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F6019665-4C5E-4769-911A-FA1E83549BF5}.Release|Any CPU.Build.0 = Release|Any CPU
{F6019665-4C5E-4769-911A-FA1E83549BF5}.Signed|Any CPU.ActiveCfg = Release|Any CPU
{1BC30CEA-312E-41ED-A338-75FBC01C8C91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1BC30CEA-312E-41ED-A338-75FBC01C8C91}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1BC30CEA-312E-41ED-A338-75FBC01C8C91}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1BC30CEA-312E-41ED-A338-75FBC01C8C91}.Release|Any CPU.Build.0 = Release|Any CPU
{1BC30CEA-312E-41ED-A338-75FBC01C8C91}.Signed|Any CPU.ActiveCfg = Release|Any CPU
{C24AB93F-41E9-4291-BA8F-E9D3CF6C2EBC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C24AB93F-41E9-4291-BA8F-E9D3CF6C2EBC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C24AB93F-41E9-4291-BA8F-E9D3CF6C2EBC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C24AB93F-41E9-4291-BA8F-E9D3CF6C2EBC}.Release|Any CPU.Build.0 = Release|Any CPU
{C24AB93F-41E9-4291-BA8F-E9D3CF6C2EBC}.Signed|Any CPU.ActiveCfg = Release|Any CPU
{BA163586-F875-4488-9188-53A4A14DFD34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BA163586-F875-4488-9188-53A4A14DFD34}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BA163586-F875-4488-9188-53A4A14DFD34}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BA163586-F875-4488-9188-53A4A14DFD34}.Release|Any CPU.Build.0 = Release|Any CPU
{BA163586-F875-4488-9188-53A4A14DFD34}.Signed|Any CPU.ActiveCfg = Release|Any CPU
{D0D45DCD-EF82-43FA-8B95-D85D50378806}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D0D45DCD-EF82-43FA-8B95-D85D50378806}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D0D45DCD-EF82-43FA-8B95-D85D50378806}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D0D45DCD-EF82-43FA-8B95-D85D50378806}.Release|Any CPU.Build.0 = Release|Any CPU
{D0D45DCD-EF82-43FA-8B95-D85D50378806}.Signed|Any CPU.ActiveCfg = Release|Any CPU
{EDF30087-8B53-4432-84B8-D21BD9F49E95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EDF30087-8B53-4432-84B8-D21BD9F49E95}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EDF30087-8B53-4432-84B8-D21BD9F49E95}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EDF30087-8B53-4432-84B8-D21BD9F49E95}.Release|Any CPU.Build.0 = Release|Any CPU
{EDF30087-8B53-4432-84B8-D21BD9F49E95}.Signed|Any CPU.ActiveCfg = Release|Any CPU
{EDF30087-8B53-4432-84B8-D21BD9F49E95}.Signed|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
51 changes: 45 additions & 6 deletions build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,15 @@ open System.IO
open Fake
open Fake.FileUtils
open Fake.TaskRunnerHelper
open Fake.StrongNamingHelper

//--------------------------------------------------------------------------------
// Information about the project for Nuget and Assembly info files
//-------------------------------------------------------------------------------

let product = "DotNetty"
let authors = [ "Microsoft Azure" ]
let copyright = "Copyright © 2015"
let copyright = "Copyright © 2016"
let company = "DotNetty"
let description = "High performance, reactive TCP / UDP socket middleware for .NET"
let tags = ["socket";"sockets";"UDP";"TCP";"Netty";"DotNetty"]
Expand Down Expand Up @@ -70,7 +71,7 @@ open AssemblyInfoFile
Target "AssemblyInfo" (fun _ ->
let version = release.AssemblyVersion

let signKey = getBuildParamOrDefault "signkey" ""
let signKey = getBuildParamOrDefault "signKey" ""
let delaySign =
match signKey with
| s as string when s.Length > 0 -> Some(true)
Expand All @@ -94,6 +95,15 @@ Target "Build" (fun _ ->
|> ignore
)

//--------------------------------------------------------------------------------
// Build the solution

Target "BuildSignedConfig" (fun _ ->
!!"DotNetty.sln"
|> MSBuild "" "Rebuild" ["Configuration", "Signed"]
|> ignore
)

//--------------------------------------------------------------------------------
// Copy the build output to bin directory
//--------------------------------------------------------------------------------
Expand All @@ -113,8 +123,28 @@ Target "CopyOutput" (fun _ ->
|> List.iter copyOutput
)

//--------------------------------------------------------------------------------
// Copy the build output to bin directory
//--------------------------------------------------------------------------------

Target "ResignAssemblies" (fun _ ->
let reSignKey = getBuildParamOrDefault "reSignKey" ""
let copyOutput project =
let src = "src" @@ project @@ "bin" @@ "Release" @@ project + ".dll"
StrongName (fun x -> x) ("-Ra " + src + " " + reSignKey)
[ "DotNetty.Buffers"
"DotNetty.Common"
"DotNetty.Transport"
"DotNetty.Codecs"
"DotNetty.Handlers"
"DotNetty.Codecs.Mqtt"
]
|> List.iter copyOutput
)

Target "BuildRelease" DoNothing
Target "BuildReleaseMono" DoNothing
Target "BuildSigned" DoNothing

//--------------------------------------------------------------------------------
// Tests targets
Expand Down Expand Up @@ -145,9 +175,10 @@ module Nuget =
let getDependencies project =
match project with
| "DotNetty.Common" -> []
| "DotNetty.Transport" -> ["DotNetty.Buffers", release.NugetVersion]
| "DotNetty.Codecs" -> ["DotNetty.Transport", release.NugetVersion]
| codecs when (codecs.StartsWith("DotNetty.Codecs.")) -> ["DotNetty.Codecs", release.NugetVersion]
| "DotNetty.Transport" -> ["DotNetty.Common", release.NugetVersion] @ ["DotNetty.Buffers", release.NugetVersion]
| "DotNetty.Codecs" -> ["DotNetty.Common", release.NugetVersion] @ ["DotNetty.Buffers", release.NugetVersion] @ ["DotNetty.Transport", release.NugetVersion]
| "DotNetty.Handlers" -> ["DotNetty.Common", release.NugetVersion] @ ["DotNetty.Buffers", release.NugetVersion] @ ["DotNetty.Transport", release.NugetVersion] @ ["DotNetty.Codecs", release.NugetVersion]
| codecs when (codecs.StartsWith("DotNetty.Codecs.")) -> ["DotNetty.Common", release.NugetVersion] @ ["DotNetty.Buffers", release.NugetVersion] @ ["DotNetty.Transport", release.NugetVersion] @ ["DotNetty.Codecs", release.NugetVersion]
| _ -> ["DotNetty.Common", release.NugetVersion]

// used to add -pre suffix to pre-release packages
Expand Down Expand Up @@ -288,6 +319,10 @@ Target "CreateNuget" <| fun _ ->
Target "PublishNuget" <| fun _ ->
publishNugetPackages()

Target "NugetSigned" <| fun _ ->
createNugetPackages()
publishNugetPackages()

//--------------------------------------------------------------------------------
// Help
//--------------------------------------------------------------------------------
Expand Down Expand Up @@ -359,11 +394,15 @@ Target "All" DoNothing
// build dependencies
"Clean" ==> "AssemblyInfo" ==> "RestorePackages" ==> "Build" ==> "CopyOutput" ==> "BuildRelease"

// build dependencies
"Clean" ==> "AssemblyInfo" ==> "RestorePackages" ==> "BuildSignedConfig" ==> "ResignAssemblies" ==> "BuildSigned"

// tests dependencies
"CleanTests" ==> "RunTests"
"CleanNuget" ==> "BuildRelease" ==> "Nuget"

// nuget dependencies
"CleanNuget" ==> "BuildRelease" ==> "Nuget"
"CleanNuget" ==> "BuildSigned" ==> "NugetSigned"

"BuildRelease" ==> "All"
"RunTests" ==> "All"
Expand Down
9 changes: 9 additions & 0 deletions src/DotNetty.Codecs.Mqtt/DotNetty.Codecs.Mqtt.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,15 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Signed|AnyCPU'">
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;NOTEST</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
Expand Down
6 changes: 5 additions & 1 deletion src/DotNetty.Codecs.Mqtt/Properties/Friends.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,8 @@

using System.Runtime.CompilerServices;

[assembly: InternalsVisibleTo("DotNetty.Codecs.Mqtt.Tests")]
#if !NOTEST

[assembly: InternalsVisibleTo("DotNetty.Codecs.Mqtt.Tests")]

#endif
9 changes: 9 additions & 0 deletions src/DotNetty.Common/DotNetty.Common.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,15 @@
<CodeContractsReferenceAssembly>%28none%29</CodeContractsReferenceAssembly>
<CodeContractsAnalysisWarningLevel>0</CodeContractsAnalysisWarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Signed|AnyCPU'">
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;NOTEST</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
Expand Down
5 changes: 4 additions & 1 deletion src/DotNetty.Common/Properties/Friends.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,8 @@

using System.Runtime.CompilerServices;

[assembly:InternalsVisibleTo("DotNetty.Common.Tests")]
#if !NOTEST

[assembly: InternalsVisibleTo("DotNetty.Common.Tests")]

#endif
9 changes: 9 additions & 0 deletions src/DotNetty.Transport/DotNetty.Transport.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,15 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Signed|AnyCPU'">
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;NOTEST</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
Expand Down
5 changes: 4 additions & 1 deletion src/DotNetty.Transport/Properties/Friends.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,8 @@

using System.Runtime.CompilerServices;

[assembly:InternalsVisibleTo("DotNetty.Transport.Tests")]
#if !NOTEST

[assembly: InternalsVisibleTo("DotNetty.Transport.Tests")]

#endif

0 comments on commit e9d3fce

Please sign in to comment.