Commit 832b08e2 authored by csharptest's avatar csharptest Committed by rogerk

Rewrote the PublishRelease.bat file in MSBuild (publish.csproj), updated nuspec files

parent ad7b9d11
......@@ -64,6 +64,10 @@ Targets For Tools
Targets For GenerateSource
*********************************************************************************************** -->
<Target Name="_GenerateProjects">
<Exec Command="$(CsProjectProjector) csproj_templates src\ProtocolBuffersLibrary.sln" WorkingDirectory="$(ProjectDirectory)" />
</Target>
<Target Name="_CleanTempSource">
<MSBuild Projects="$(MSBuildProjectFullPath)" Properties="CleanFolderDirectory=$(SourceTempDirectory);" Targets="_CleanFolder" />
<MakeDir Directories="$(SourceTempDirectory)" />
......@@ -89,8 +93,8 @@ Targets For Package
<Target Name="_GeneratePackage">
<Copy SourceFiles="@(StaticPackageItem)" DestinationFolder="$(BuildOutputPackage)\%(StaticPackageItem.TargetDirectory)\%(StaticPackageItem.RecursiveDir)" />
<Exec Command="&quot;$(ZipExePath)&quot; a -tzip ..\$(PackageName)-binaries.zip * -x!*.pdb -r" WorkingDirectory="$(BuildOutputPackage)" />
<Exec Command="&quot;$(ZipExePath)&quot; a -tzip ..\$(PackageName)-symbols.zip * -r" WorkingDirectory="$(BuildOutputPackage)" />
<Exec Command="&quot;$(ZipExePath)&quot; a -tzip $(BuildTempDirectory)\$(PackageName)-binaries.zip * -x!*.pdb -r" WorkingDirectory="$(BuildOutputPackage)" />
<Exec Command="&quot;$(ZipExePath)&quot; a -tzip $(BuildTempDirectory)\$(PackageName)-symbols.zip * -r" WorkingDirectory="$(BuildOutputPackage)" />
</Target>
<!-- **********************************************************************************************
......
......@@ -43,29 +43,16 @@ Language Guide - http://code.google.com/apis/protocolbuffers/docs/proto.html
</metadata>
<files>
<!-- Release Binaries -->
<file src="..\build_output\v2.0\Release\Google.ProtocolBuffers.???" target="lib\net20" />
<file src="..\build_output\v2.0\Release\Google.ProtocolBuffers.Serialization.???" target="lib\net20" />
<file src="..\build_output\v3.5\Release\Google.ProtocolBuffers.???" target="lib\net35" />
<file src="..\build_output\v3.5\Release\Google.ProtocolBuffers.Serialization.???" target="lib\net35" />
<file src="..\build_output\v4.0\Release\Google.ProtocolBuffers.???" target="lib\net40" />
<file src="..\build_output\v4.0\Release\Google.ProtocolBuffers.Serialization.???" target="lib\net40" />
<!-- Silverlight Binaries -->
<file src="..\build_output\v2.0\Release_Silverlight\Google.ProtocolBuffers.???" target="lib\sl20" />
<file src="..\build_output\v2.0\Release_Silverlight\Google.ProtocolBuffers.Serialization.???" target="lib\sl20" />
<file src="..\build_output\v3.5\Release_Silverlight\Google.ProtocolBuffers.???" target="lib\sl30" />
<file src="..\build_output\v3.5\Release_Silverlight\Google.ProtocolBuffers.Serialization.???" target="lib\sl30" />
<file src="..\build_output\v4.0\Release_Silverlight\Google.ProtocolBuffers.???" target="lib\sl40" />
<file src="..\build_output\v4.0\Release_Silverlight\Google.ProtocolBuffers.Serialization.???" target="lib\sl40" />
<file src="..\build_output\Release\**\Google.ProtocolBuffers.???" target="lib\" />
<file src="..\build_output\Release\**\Google.ProtocolBuffers.Serialization.???" target="lib\" />
<!-- Tools -->
<file src="..\lib\Protoc.exe" target="tools" />
<file src="..\build_output\ProtoGen\*" target="tools" />
<file src="..\build_output\tools\**\*" target="tools\" />
<file src="..\build_output\protos\**\*" target="content\protos\" />
<!-- Content -->
<file src="..\CHANGES.txt" target="content"/>
<file src="..\license.txt" target="content\licenses"/>
<file src="..\lib\protoc-license.txt" target="content\licenses"/>
<file src="..\protos\google\protobuf\descriptor.proto" target="content\protos\google\protobuf" />
<file src="..\protos\google\protobuf\csharp_options.proto" target="content\protos\google\protobuf" />
<file src="..\build_output\CHANGES.txt" target="content"/>
<file src="..\build_output\license.txt" target="content\licenses"/>
<file src="..\build_output\tools\protoc-license.txt" target="content\licenses"/>
<!-- Source -->
<file src="..\src\ProtocolBuffers\**\*.cs" target="src\ProtocolBuffers\"/>
<file src="..\src\ProtocolBuffers.Serialization\**\*.cs" target="src\ProtocolBuffers.Serialization\"/>
</files>
......
......@@ -41,31 +41,19 @@ Language Guide - http://code.google.com/apis/protocolbuffers/docs/proto.html
</references>
</metadata>
<files>
<!-- Release Binaries -->
<file src="..\build_output\v2.0\Release\Google.ProtocolBuffersLite.???" target="lib\net20" />
<file src="..\build_output\v2.0\Release\Google.ProtocolBuffersLite.Serialization.???" target="lib\net20" />
<file src="..\build_output\v3.5\Release\Google.ProtocolBuffersLite.???" target="lib\net35" />
<file src="..\build_output\v3.5\Release\Google.ProtocolBuffersLite.Serialization.???" target="lib\net35" />
<file src="..\build_output\v4.0\Release\Google.ProtocolBuffersLite.???" target="lib\net40" />
<file src="..\build_output\v4.0\Release\Google.ProtocolBuffersLite.Serialization.???" target="lib\net40" />
<!-- Silverlight Binaries -->
<file src="..\build_output\v2.0\Release_Silverlight\Google.ProtocolBuffersLite.???" target="lib\sl20" />
<file src="..\build_output\v2.0\Release_Silverlight\Google.ProtocolBuffersLite.Serialization.???" target="lib\sl20" />
<file src="..\build_output\v3.5\Release_Silverlight\Google.ProtocolBuffersLite.???" target="lib\sl30" />
<file src="..\build_output\v3.5\Release_Silverlight\Google.ProtocolBuffersLite.Serialization.???" target="lib\sl30" />
<file src="..\build_output\v4.0\Release_Silverlight\Google.ProtocolBuffersLite.???" target="lib\sl40" />
<file src="..\build_output\v4.0\Release_Silverlight\Google.ProtocolBuffersLite.Serialization.???" target="lib\sl40" />
<file src="..\build_output\Release\**\Google.ProtocolBuffersLite.???" target="lib\" />
<file src="..\build_output\Release\**\Google.ProtocolBuffersLite.Serialization.???" target="lib\" />
<!-- Tools -->
<file src="..\lib\Protoc.exe" target="tools" />
<file src="..\build_output\ProtoGen\*" target="tools" />
<file src="..\build_output\tools\**\*" target="tools\" />
<file src="..\build_output\protos\**\*" target="content\protos\" />
<!-- Content -->
<file src="..\CHANGES.txt" target="content"/>
<file src="..\license.txt" target="content\licenses"/>
<file src="..\lib\protoc-license.txt" target="content\licenses"/>
<file src="..\protos\google\protobuf\descriptor.proto" target="content\protos\google\protobuf" />
<file src="..\protos\google\protobuf\csharp_options.proto" target="content\protos\google\protobuf" />
<file src="..\build_output\CHANGES.txt" target="content"/>
<file src="..\build_output\license.txt" target="content\licenses"/>
<file src="..\build_output\tools\protoc-license.txt" target="content\licenses"/>
<!-- Source -->
<file src="..\src\ProtocolBuffers\**\*.cs" target="src\ProtocolBuffers\"/>
<file src="..\src\ProtocolBuffers.Serialization\**\*.cs" target="src\ProtocolBuffers.Serialization\"/>
</files>
......
REM @ECHO OFF
@PUSHD %~dp0
@IF "%1" == "version" @GOTO VERSION
@IF "%1" == "build" @GOTO BUILD
@IF "%1" == "fpush" @GOTO FILEPUSH
@IF "%1" == "nupush" @GOTO NUGETPUSH
@IF "%1" == "push" @GOTO PUSH
@GOTO HELP
:VERSION
IF NOT EXIST "..\build_temp\" MD "..\build_temp\"
hg log -l 1 --template "Revision: {rev}" > ..\build_temp\revision.txt
CMD.exe /Q /C "CD .. && lib\StampVersion.exe /major:2 /minor:4 /build:1 /revision:build_temp\revision.txt"
@TYPE ..\src\ProtocolBuffers\Properties\AssemblyInfo.cs | FIND "AssemblyFileVersion"
@ECHO.
@ECHO NEXT: Use the above version number to run "%0 build {Version}"
@ECHO.
@GOTO EXIT
:BUILD
@IF "%2" == "" @GOTO HELP
IF EXIST "C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\sn.exe" SET WIN7SDK_DIR=C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\
IF NOT EXIST "..\release-key" hg clone https://bitbucket.org/rknapp/protobuf-csharp-port-keyfile ..\release-key
MD "%2"
CMD.exe /Q /C "BuildAll.bat /verbosity:minimal "/p:AssemblyOriginatorKeyFile=%~dp0..\release-key\Google.ProtocolBuffers.snk"
COPY /y ..\build_output\release-binaries.zip %2\protobuf-csharp-port-%2-release-binaries.zip
COPY /y ..\build_output\full-binaries.zip %2\protobuf-csharp-port-%2-full-binaries.zip
..\lib\NuGet.exe pack Google.ProtocolBuffers.nuspec -Symbols -Version %2 -NoPackageAnalysis -OutputDirectory %2
..\lib\NuGet.exe pack Google.ProtocolBuffersLite.nuspec -Symbols -Version %2 -NoPackageAnalysis -OutputDirectory %2
hg archive %2\protobuf-csharp-port-%2-source.zip
"%WIN7SDK_DIR%sn.exe" -T ..\build_output\v2.0\Release\Google.ProtocolBuffers.dll
@ECHO.
@ECHO ***********************************************************
@ECHO IMPORTANT: Verify the above key output is: 55f7125234beb589
@ECHO ***********************************************************
@ECHO.
@ECHO NEXT: Verify the output in %~dp0\%2 and then run "%0 push %2"
@ECHO.
@GOTO EXIT
:PUSH
@IF "%2" == "" @GOTO HELP
hg commit -m "version %2"
hg tag %2
hg push
@ECHO.
@ECHO NEXT: Verify the repository state and run "%0 fpush %2 {google-code-user} {google-code-password}"
@ECHO.
@GOTO EXIT
:FILEPUSH
@IF "%2" == "" @GOTO HELP
@IF "%3" == "" @GOTO HELP
@IF "%4" == "" @GOTO HELP
SET GOOGLEUPLOAD=python.exe googlecode_upload.py --project protobuf-csharp-port --user "%3" --password "%4"
%GOOGLEUPLOAD% --labels Type-Source,Featured --summary "Version %2 source" %2\protobuf-csharp-port-%2-source.zip
%GOOGLEUPLOAD% --labels Type-Executable,Featured --summary "Version %2 binaries (all configurations)" %2\protobuf-csharp-port-%2-full-binaries.zip
%GOOGLEUPLOAD% --labels Type-Executable,Featured --summary "Version %2 binaries (release only)" %2\protobuf-csharp-port-%2-release-binaries.zip
@SET GOOGLEUPLOAD=
@ECHO.
@ECHO NEXT: Verify the uploads and run "%0 nupush %2"
@ECHO.
@GOTO EXIT
:NUGETPUSH
..\lib\NuGet.exe push "%2\Google.ProtocolBuffers.%2.nupkg"
..\lib\NuGet.exe push "%2\Google.ProtocolBuffersLite.%2.nupkg"
..\lib\NuGet.exe push "%2\Google.ProtocolBuffers.%2.symbols.nupkg"
..\lib\NuGet.exe push "%2\Google.ProtocolBuffersLite.%2.symbols.nupkg"
@ECHO.
@ECHO NEXT: Verify the nuget packages at http://nuget.org
@ECHO.
@GOTO EXIT
:HELP
@ECHO.
@ECHO Available commands, run in the following order:
@ECHO 1. %0 version
@ECHO 2. %0 build {version from step 1}
@ECHO 3. %0 push {version from step 1}
@ECHO 4. %0 fpush {version from step 1} {google-code-user} {google-code-password}
@ECHO 5. %0 nupush {version from step 1}
@ECHO.
@GOTO EXIT
:EXIT
@POPD
\ No newline at end of file
......@@ -4,9 +4,10 @@
<!-- build targets -->
<Target Name="Clean" DependsOnTargets="_CleanAll" />
<Target Name="BuildTools" DependsOnTargets="_BuildTools" />
<Target Name="GenerateProjects" DependsOnTargets="_GenerateProjects" />
<Target Name="GenerateSource" DependsOnTargets="_GenerateSource;_CopyGeneratedSource" />
<Target Name="RebuildSource" DependsOnTargets="Clean;BuildTools;GenerateSource" />
<Target Name="Build" DependsOnTargets="BuildTools;GenerateSource;_CompileAll" />
<Target Name="Build" DependsOnTargets="GenerateProjects;BuildTools;GenerateSource;_CompileAll" />
<Target Name="Rebuild" DependsOnTargets="Clean;Build" />
<Target Name="GeneratePackage" DependsOnTargets="_PackageAll;_GeneratePackage" />
<Target Name="FullBuild" DependsOnTargets="Rebuild;GeneratePackage" />
......@@ -39,8 +40,10 @@
<ProtocExePath>$(BuildOutputDirectory)\tools\protoc.exe</ProtocExePath>
<ProtogenExePath>$(BuildOutputDirectory)\tools\protogen.exe</ProtogenExePath>
<NUnitExePath>$(LibDirectory)\NUnit\tools\nunit-console.exe</NUnitExePath>
<CsProjectProjector>$(LibDirectory)\CsProjectProjector\CsProjectProjector.exe</CsProjectProjector>
<ZipExePath>$(LibDirectory)\7-Zip 9.20\7za.exe</ZipExePath>
</PropertyGroup>
</PropertyGroup>
<Import Project="Common.targets"/>
......
This diff is collapsed.
No preview for this file type
......@@ -61,11 +61,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{66ED1950
..\build\build.bat = ..\build\build.bat
..\build\build.csproj = ..\build\build.csproj
..\build\BuildAll.bat = ..\build\BuildAll.bat
..\build\GenerateProjects.bat = ..\build\GenerateProjects.bat
..\build\PublishTool.bat = ..\build\PublishTool.bat
..\build\Common.targets = ..\build\Common.targets
..\build\GenerateSource.bat = ..\build\GenerateSource.bat
..\build\Google.ProtocolBuffers.nuspec = ..\build\Google.ProtocolBuffers.nuspec
..\build\Google.ProtocolBuffersLite.nuspec = ..\build\Google.ProtocolBuffersLite.nuspec
..\build\PublishRelease.bat = ..\build\PublishRelease.bat
..\build\publish.csproj = ..\build\publish.csproj
..\build\RunBenchmarks.bat = ..\build\RunBenchmarks.bat
..\build\target.csproj = ..\build\target.csproj
EndProjectSection
......
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