Skip to content
This repository has been archived by the owner on Dec 24, 2022. It is now read-only.

Commit

Permalink
Add CI build scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
mythz committed Nov 14, 2014
1 parent c1b5e20 commit 544d9e5
Show file tree
Hide file tree
Showing 5 changed files with 153 additions and 3 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Expand Up @@ -107,4 +107,6 @@ _UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
*.cmd
*.nupkg
*.nupkg

*.txt
4 changes: 2 additions & 2 deletions NuGet/ServiceStack.Stripe/servicestack.stripe.nuspec
Expand Up @@ -3,7 +3,7 @@
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<id>ServiceStack.Stripe</id>
<title>Typed message-based .NET Client Gateway for Stripe's REST API</title>
<version>4.0.33</version>
<version>4.0.0</version>
<authors>Service Stack</authors>
<owners>Service Stack</owners>
<summary>Typed message-based .NET Client Gateway for Stripe's REST API</summary>
Expand All @@ -19,7 +19,7 @@
<language>en-US</language>
<copyright>ServiceStack 2014 and contributors</copyright>
<dependencies>
<dependency id="ServiceStack.Client" version="4.0.33" />
<dependency id="ServiceStack.Client" version="4.0.0" />
</dependencies>
</metadata>
<files>
Expand Down
108 changes: 108 additions & 0 deletions build/build.proj
@@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Default"
xmlns='http://schemas.microsoft.com/developer/msbuild/2003' ToolsVersion="4.0">
<Import Project="$(MSBuildProjectDirectory)/build.tasks" />

<PropertyGroup>
<MajorVersion Condition="$(MajorVersion) == ''">4</MajorVersion>
<MinorVersion Condition="$(MinorVersion) == ''">0</MinorVersion>
<PatchVersion Condition="$(PatchVersion) == ''">$(BUILD_NUMBER)</PatchVersion>
</PropertyGroup>

<PropertyGroup>
<BuildSolutionDir>$(MSBuildProjectDirectory)/..</BuildSolutionDir>
<SrcDir>$(BuildSolutionDir)/src</SrcDir>
<Configuration Condition="$(Configuration) == ''">Release</Configuration>
<NuGetPath>$(BuildSolutionDir)/src/.nuget/nuget.exe</NuGetPath>
<NuGetPackageDir>$(BuildSolutionDir)/NuGet/</NuGetPackageDir>
<Version>$(MajorVersion).$(MinorVersion).$(PatchVersion).0</Version>
<UnstableTag Condition="$(RELEASE) == ''">-unstable</UnstableTag>
<PackageVersion>$(MajorVersion).$(MinorVersion).$(PatchVersion)$(UnstableTag)</PackageVersion>
<EnvVersion>$(MajorVersion).$(MinorVersion)$(PatchVersion)</EnvVersion>
</PropertyGroup>


<ItemGroup>
<NugetPackageFilesToDelete Include="$(NuGetPackageDir)/*.nupkg"/>
</ItemGroup>


<PropertyGroup>
<DoBuildSolutionsDependsOn>
BeforeBuildSolutions;
BuildSolutions
</DoBuildSolutionsDependsOn>
</PropertyGroup>

<Target Name="Default" DependsOnTargets="$(DoBuildSolutionsDependsOn)" />

<Target Name="TeamCityBuild">
<CallTarget Targets="Default" />
</Target>

<Target Name="BeforeBuildSolutions">
<Message Text="*****Before building solution*****" Importance="high"/>
<!--<Copy SourceFiles="Test/ci.app.config" DestinationFiles="Test/app.config" />-->
</Target>

<Target Name="UnitTests" DependsOnTargets="$(DoBuildSolutionsDependsOn)">
<Exec Command="$(BuildSolutionDir)/lib/tests/nunit-console/nunit-console-x86.exe $(BuildSolutionDir)/tests/Stripe.Tests/bin/$(Configuration)/Stripe.Tests.dll"/>
</Target>

<Target Name="BuildSolutions">
<MSBuild Projects="$(BuildSolutionDir)/src/Stripe.sln" Targets="Build"
Properties="Configuration=$(Configuration)" />
</Target>

<Target Name="UpdateVersion">
<!-- Update Version -->
<ItemGroup>
<RegexTransform Include="$(SrcDir)/**/AssemblyInfo.cs">
<Find>\d+\.\d+\.\d+\.\d+</Find>
<ReplaceWith>$(Version)</ReplaceWith>
</RegexTransform>
<RegexTransform Include="$(BuildSolutionDir)/tests/**/*.config">
<Find>key="servicestack:license".*</Find>
<ReplaceWith>key="servicestack:license" value="$([System.IO.File]::ReadAllText($(MSBuildProjectDirectory)/appsettings.license.txt))" /&gt;</ReplaceWith>
</RegexTransform>
<!--Update Min Dependency Version -->
<RegexTransform Include="$(NuGetPackageDir)/**/*.nuspec">
<Find>version="4\.0[^"]*"</Find>
<ReplaceWith>version="$(PackageVersion)"</ReplaceWith>
</RegexTransform>
</ItemGroup>

<RegexTransform Items="@(RegexTransform)" />
</Target>

<Target Name="NuGetPack">
<CallTarget Targets="UpdateVersion" />

<Delete Files="@(NugetPackageFilesToDelete)" />

<ItemGroup>
<StripeFiles Include="$(SrcDir)/Stripe/bin/$(Configuration)/Stripe.*"></StripeFiles>
<StripePclFiles Include="$(SrcDir)/Stripe.Pcl/bin/$(Configuration)/Stripe.*"></StripePclFiles>
</ItemGroup>

<!-- PCL -->
<MSBuild Projects="$(BuildSolutionDir)/src/Stripe.Pcl/Stripe.Pcl.csproj"
Targets="Build"
Properties="Version=$(PackageVersion);Configuration=$(Configuration);DefineConstants=PCL" />

<MakeDir Directories="$(NuGetPackageDir)/ServiceStack.Stripe/lib/portable-net45+win8+monotouch+monoandroid" Condition="!Exists('$(NuGetPackageDir)/ServiceStack.Stripe/lib/portable-net45+win8+monotouch+monoandroid')" />
<Copy SourceFiles="%(StripePclFiles.Identity)" DestinationFolder="$(NuGetPackageDir)/ServiceStack.Stripe/lib/portable-net45+win8+monotouch+monoandroid" />

<!-- .NET 4.0 -->
<MSBuild Projects="$(BuildSolutionDir)/src/Stripe/Stripe.csproj"
Targets="Build"
Properties="Version=$(PackageVersion);Configuration=$(Configuration)" />

<MakeDir Directories="$(NuGetPackageDir)/ServiceStack.Stripe/lib/net40" Condition="!Exists('$(NuGetPackageDir)/ServiceStack.Stripe/lib/net40')" />
<Copy SourceFiles="%(StripeFiles.Identity)" DestinationFolder="$(NuGetPackageDir)/ServiceStack.Stripe/lib/net40" />

<Exec Command="&quot;$(NuGetPath)&quot; pack &quot;$(NuGetPackageDir)/ServiceStack.Stripe/servicestack.stripe.nuspec&quot; -OutputDirectory &quot;$(NuGetPackageDir)&quot; -Version $(PackageVersion) -Symbols"
LogStandardErrorAsError="true" />

</Target>
</Project>
34 changes: 34 additions & 0 deletions build/build.tasks
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Go" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="RegexTransform" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<Items ParameterType="Microsoft.Build.Framework.ITaskItem[]" />
</ParameterGroup>
<Task>
<Using Namespace="System.IO" />
<Using Namespace="System.Text.RegularExpressions" />
<Using Namespace="Microsoft.Build.Framework" />
<Code Type="Fragment" Language="cs">
<![CDATA[
foreach(ITaskItem item in Items) {
string fileName = item.GetMetadata("FullPath");
string find = item.GetMetadata("Find");
string replaceWith = item.GetMetadata("ReplaceWith");
if(!File.Exists(fileName)) {
Log.LogError(null, null, null, null, 0, 0, 0, 0, String.Format("Could not find version file: {0}", fileName), new object[0]);
}
string content = File.ReadAllText(fileName);
File.WriteAllText(
fileName,
Regex.Replace(
content,
find,
replaceWith
)
);
}
]]></Code>
</Task>
</UsingTask>
</Project>
6 changes: 6 additions & 0 deletions tests/Stripe.Tests/App.config
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="servicestack:license" value="1001-e1JlZjoxMDAxLE5hbWU6VGVzdCBCdXNpbmVzcyxUeXBlOkJ1c2luZXNzLEhhc2g6UHVNTVRPclhvT2ZIbjQ5MG5LZE1mUTd5RUMzQnBucTFEbTE3TDczVEF4QUNMT1FhNXJMOWkzVjFGL2ZkVTE3Q2pDNENqTkQyUktRWmhvUVBhYTBiekJGUUZ3ZE5aZHFDYm9hL3lydGlwUHI5K1JsaTBYbzNsUC85cjVJNHE5QVhldDN6QkE4aTlvdldrdTgyTk1relY2eis2dFFqTThYN2lmc0JveHgycFdjPSxFeHBpcnk6MjAxMy0wMS0wMX0=" />
</appSettings>
</configuration>

0 comments on commit 544d9e5

Please sign in to comment.