Skip to content

Commit

Permalink
Move Solutions into Template folder
Browse files Browse the repository at this point in the history
So that when users use the package it will create a solutions folder.
Include build and build system in package
Update sobmodule to allow different solutions path
  • Loading branch information
seif committed Jan 8, 2014
1 parent c9d80d0 commit 2ba9c29
Show file tree
Hide file tree
Showing 221 changed files with 12,668 additions and 21 deletions.
33 changes: 16 additions & 17 deletions Build/Build.proj
Original file line number Diff line number Diff line change
Expand Up @@ -10,45 +10,44 @@

<PropertyGroup>
<SolutionName>SharpArchTemplate</SolutionName>
<SolutionsPath>$(MSBuildProjectDirectory)\..\Solutions</SolutionsPath>
<TemplatePath>$(MSBuildProjectDirectory)\..\Template</TemplatePath>
<SolutionsPath>$(TemplatePath)\Solutions</SolutionsPath>
<BuildPath>$(MSBuildProjectDirectory)\..\BuildSystem</BuildPath>
<WebAppPath>$(SolutionsPath)\$(SolutionName).Web.Mvc</WebAppPath>
<SolutionRoot>$(BuildPath)\..\..</SolutionRoot>
</PropertyGroup>

<Import Project="$(BuildPath)\BuildSystem.proj" />

<ItemGroup>
<PackageFiles Include="$(SolutionsPath)\**\*.*"
Exclude="$(SolutionsPath)\**\bin\**;
$(SolutionsPath)\**\Logs\**;
$(SolutionsPath)\**\obj\**;">
<PackageName>$(DropsPath)\$(SemanticVersion)\$(PackageName).Source.v$(SemanticVersion).zip</PackageName>
<WorkingDirectory>$(SolutionsPath)</WorkingDirectory>
<Flatten>False</Flatten>
</PackageFiles>
</ItemGroup>

<ItemGroup>
<TemplifyTokens Include="SharpArchTemplate=__NAME__" />
</ItemGroup>

<ItemGroup>
<PackageFiles Include="$(DropsPath)\$(SemanticVersion)\sharp-architecture-nh-template-v$(SemanticVersion).pkg;
$(BuildPath)\Tools\deploy-templify-package.cmd">
<PackageName>$(DropsPath)\$(SemanticVersion)\SharpArch-$(SemanticVersion)-nh-templify-package.zip</PackageName>
<WorkingDirectory>$(SolutionsRoot)</WorkingDirectory>
<Flatten>True</Flatten>
</PackageFiles>
</ItemGroup>

<PropertyGroup>
<TemplifyPath>$(SolutionsPath)</TemplifyPath>
<TemplifyPackageName>Sharp Architecture Template</TemplifyPackageName>
<TemplifyPath>$(TemplatePath)</TemplifyPath>
<TemplifyPackageName>Sharp Architecture NH Template</TemplifyPackageName>
<TemplifyPackageAuthor>Sharp Architecture Development Team</TemplifyPackageAuthor>
<TemplifyPackageVersion>$(SemanticVersion)</TemplifyPackageVersion>
<TemplifyPackageRepositoryPath>$(DropsPath)\$(GlobalBuildVersionNumber)</TemplifyPackageRepositoryPath>
</PropertyGroup>

<Target Name="Build"
DependsOnTargets="CleanSolution;
BuildSolutions;" />
BuildSolutions;" />

<Target Name="PackageArtefacts"
DependsOnTargets="Build;
Package;
DependsOnTargets="CreateDrops;
Templify;
Package;
BuildSuccess" />

</Project>
3 changes: 3 additions & 0 deletions Build/Package.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
git clean -Xfd
%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild Build.proj /t:PackageArtefacts /p:IsDesktopBuild=true
pause
2 changes: 1 addition & 1 deletion BuildSystem
Submodule BuildSystem updated 77 files
+1 −1 Targets/CleanSolution.target
+1 −1 Targets/RunMSpecSpecifications.target
+2 −2 Targets/Templify.target
+2 −2 Targets/UpdateAssemblyVersion.target
+ Tools/Machine.Specifications.0.5.2/CommandLine.dll
+0 −504 Tools/Machine.Specifications.0.5.2/CommandLine.xml
+0 −5 Tools/Machine.Specifications.0.5.2/InstallResharperRunner.4.1.bat
+0 −5 Tools/Machine.Specifications.0.5.2/InstallResharperRunner.4.5.bat
+0 −5 Tools/Machine.Specifications.0.5.2/InstallResharperRunner.5.0 - VS2008.bat
+0 −5 Tools/Machine.Specifications.0.5.2/InstallResharperRunner.5.0 - VS2010.bat
+0 −5 Tools/Machine.Specifications.0.5.2/InstallResharperRunner.5.1 - VS2008.bat
+0 −5 Tools/Machine.Specifications.0.5.2/InstallResharperRunner.5.1 - VS2010.bat
+0 −5 Tools/Machine.Specifications.0.5.2/InstallResharperRunner.6.0 - VS2008.bat
+0 −5 Tools/Machine.Specifications.0.5.2/InstallResharperRunner.6.0 - VS2010.bat
+0 −5 Tools/Machine.Specifications.0.5.2/InstallResharperRunner.6.1 - VS2008.bat
+0 −5 Tools/Machine.Specifications.0.5.2/InstallResharperRunner.6.1 - VS2010.bat
+ Tools/Machine.Specifications.0.5.2/Machine.Specifications.GallioAdapter.3.1.dll
+0 −43 Tools/Machine.Specifications.0.5.2/Machine.Specifications.GallioAdapter.plugin
+ Tools/Machine.Specifications.0.5.2/Machine.Specifications.ReSharperRunner.4.1.dll
+ Tools/Machine.Specifications.0.5.2/Machine.Specifications.ReSharperRunner.4.5.dll
+ Tools/Machine.Specifications.0.5.2/Machine.Specifications.ReSharperRunner.5.0.dll
+ Tools/Machine.Specifications.0.5.2/Machine.Specifications.ReSharperRunner.5.1.dll
+ Tools/Machine.Specifications.0.5.2/Machine.Specifications.ReSharperRunner.6.0.dll
+ Tools/Machine.Specifications.0.5.2/Machine.Specifications.ReSharperRunner.6.1.dll
+ Tools/Machine.Specifications.0.5.2/Machine.Specifications.Reporting.dll
+ Tools/Machine.Specifications.0.5.2/Machine.Specifications.SeleniumSupport.dll
+ Tools/Machine.Specifications.0.5.2/Machine.Specifications.dll
+ Tools/Machine.Specifications.0.5.2/Spark.dll
+ Tools/Machine.Specifications.0.5.2/mspec-clr4.exe
+ Tools/Machine.Specifications.0.5.2/mspec-x86-clr4.exe
+ Tools/Machine.Specifications.0.5.2/mspec-x86.exe
+ Tools/Machine.Specifications.0.5.2/mspec.exe
+ Tools/Machine.Specifications/CommandLine.dll
+7 −0 Tools/Machine.Specifications/InstallDotCoverRunner.2.0.bat
+7 −0 Tools/Machine.Specifications/InstallDotCoverRunner.2.1.bat
+7 −0 Tools/Machine.Specifications/InstallDotCoverRunner.2.2.bat
+7 −0 Tools/Machine.Specifications/InstallDotCoverRunner.2.5.bat
+7 −0 Tools/Machine.Specifications/InstallDotCoverRunner.2.6.bat
+10 −0 Tools/Machine.Specifications/InstallResharperRunner.6.1.bat
+10 −0 Tools/Machine.Specifications/InstallResharperRunner.7.0.bat
+10 −0 Tools/Machine.Specifications/InstallResharperRunner.7.1.bat
+10 −0 Tools/Machine.Specifications/InstallResharperRunner.8.0.bat
+10 −0 Tools/Machine.Specifications/InstallResharperRunner.8.1.bat
+0 −0 Tools/Machine.Specifications/InstallTDNetRunner.bat
+0 −0 Tools/Machine.Specifications/InstallTDNetRunnerSilent.bat
+0 −0 Tools/Machine.Specifications/License.txt
+ Tools/Machine.Specifications/Machine.Specifications.Clr4.dll
+ Tools/Machine.Specifications/Machine.Specifications.ReSharperRunner.6.1.dll
+ Tools/Machine.Specifications/Machine.Specifications.ReSharperRunner.7.0.dll
+ Tools/Machine.Specifications/Machine.Specifications.ReSharperRunner.7.1.dll
+ Tools/Machine.Specifications/Machine.Specifications.ReSharperRunner.8.0.dll
+ Tools/Machine.Specifications/Machine.Specifications.ReSharperRunner.8.1.dll
+ Tools/Machine.Specifications/Machine.Specifications.Reporting.Templates.dll
+ Tools/Machine.Specifications/Machine.Specifications.Reporting.dll
+ Tools/Machine.Specifications/Machine.Specifications.SeleniumSupport.dll
+ Tools/Machine.Specifications/Machine.Specifications.Should.dll
+ Tools/Machine.Specifications/Machine.Specifications.TDNetRunner.dll
+ Tools/Machine.Specifications/Machine.Specifications.WatinSupport.dll
+ Tools/Machine.Specifications/Machine.Specifications.WebDriverSupport.dll
+ Tools/Machine.Specifications/Machine.Specifications.dll
+1 −1 Tools/Machine.Specifications/Machine.Specifications.dll.tdnet
+ Tools/Machine.Specifications/Machine.Specifications.dotCoverRunner.2.0.dll
+ Tools/Machine.Specifications/Machine.Specifications.dotCoverRunner.2.1.dll
+ Tools/Machine.Specifications/Machine.Specifications.dotCoverRunner.2.2.dll
+ Tools/Machine.Specifications/Machine.Specifications.dotCoverRunner.2.5.dll
+ Tools/Machine.Specifications/Machine.Specifications.dotCoverRunner.2.6.dll
+ Tools/Machine.Specifications/Spark.dll
+ Tools/Machine.Specifications/TestDriven.Framework.dll
+144 −0 Tools/Machine.Specifications/history.txt
+6 −0 Tools/Machine.Specifications/install.ps1
+ Tools/Machine.Specifications/mspec-clr4.exe
+4 −1 Tools/Machine.Specifications/mspec-clr4.exe.config
+ Tools/Machine.Specifications/mspec-x86-clr4.exe
+4 −1 Tools/Machine.Specifications/mspec-x86-clr4.exe.config
+ Tools/Machine.Specifications/mspec-x86.exe
+ Tools/Machine.Specifications/mspec.exe
+3 −0 Tools/deploy-templify-package.cmd
2 changes: 1 addition & 1 deletion Build/Build.cmd → Template/Build/Build.cmd
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild Build.proj /t:Build /p:IsDesktopBuild=true
%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild Build.proj /t:Build /p:IsDesktopBuild=true
pause
81 changes: 81 additions & 0 deletions Template/Build/Build.proj
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="PackageArtefacts" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SolutionName>SharpArchTemplate</SolutionName>
<PackageName>SharpArchTemplate</PackageName>
<BuildPath>$(MSBuildProjectDirectory)\..\BuildSystem</BuildPath>
</PropertyGroup>

<PropertyGroup>
<SolutionsPath>$(MSBuildProjectDirectory)\..\Solutions</SolutionsPath>
<WebAppPath>$(SolutionsPath)\$(SolutionName).Web.Mvc</WebAppPath>
<SolutionRoot>$(BuildPath)\..\..</SolutionRoot>
<DropsPath>\..\Drops\</DropsPath>
</PropertyGroup>

<PropertyGroup>
<RunMSpecTests>True</RunMSpecTests>
<MSpecRunner>mspec-clr4.exe</MSpecRunner>
<MSpecSpecificationAssemblies>"$(MSBuildProjectDirectory)\..\Solutions\MSpecTests.SharpArchTemplate\Bin\Release\MSpecTests.SharpArchTemplate.dll"</MSpecSpecificationAssemblies>
</PropertyGroup>

<ItemGroup>
<AssembliesToTestWithNUnit Include="$(SolutionsPath)\SharpArchTemplate.Tests\bin\Release\SharpArchTemplate.Tests.dll;" />
</ItemGroup>

<ItemGroup>
<PackageFiles Include="$(WebAppPath)\**\*.*"
Exclude="$(WebAppPath)\**\*.cs;
$(WebAppPath)\**\*.csproj;
$(WebAppPath)\**\*.user;
$(WebAppPath)\**\*.vspscc;
$(WebAppPath)\**\bin\*.pdb;
$(WebAppPath)\**\*.xml;
$(WebAppPath)\**\Code\**;
$(WebAppPath)\**\Initialisers\**;
$(WebAppPath)\**\obj\**;
$(WebAppPath)\**\Properties\**;
$(WebAppPath)\**\Registrars\**;
$(WebAppPath)\**\ResourceFiles\**;">

<PackageName>$(DropsPath)\$(SemanticVersion)\$(PackageName).v$(SemanticVersion).zip</PackageName>
<WorkingDirectory>$(WebAppPath)</WorkingDirectory>
<Flatten>False</Flatten>
</PackageFiles>

<PackageFiles Include="$(SpecificationReportPath)\**\*.*">
<PackageName>$(DropsPath)\$(SemanticVersion)\$(PackageName).Specifications.v$(SemanticVersion).zip</PackageName>
<WorkingDirectory>$(SpecificationReportPath)</WorkingDirectory>
<Flatten>False</Flatten>
</PackageFiles>
</ItemGroup>


<Import Project="$(BuildPath)\BuildSystem.proj" />

<PropertyGroup>
<AssemblyVersionFile>$(SolutionsPath)\Common\AssemblyVersion.cs</AssemblyVersionFile>
</PropertyGroup>


<Target Name="Build"
DependsOnTargets="CleanSolution;
UpdateAssemblyVersion;
BuildSolutions;" />

<Target Name="RunTests"
DependsOnTargets="Build;
RunNUnitTests;" />

<Target Name="RunSpecs"
DependsOnTargets="Build;
RunMSpecSpecifications;" />


<Target Name="PackageArtefacts"
DependsOnTargets="Build;
RunTests;
RunSpecs;
Package;
BuildSuccess" />
</Project>
File renamed without changes.
2 changes: 2 additions & 0 deletions Template/Build/BuildAndTest.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild Build.proj /t:RunSpecs /t:RunTests /p:IsDesktopBuild=true
pause
11 changes: 11 additions & 0 deletions Template/BuildSystem/BuildSystem.proj
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<PropertyGroup>
<BuildPath Condition="'$(BuildPath)'==''">$(MSBuildProjectDirectory)</BuildPath>
<PropertiesPath>$(BuildPath)\Properties</PropertiesPath>
</PropertyGroup>

<Import Project="$(PropertiesPath)\Global.Imports" />

</Project>
75 changes: 75 additions & 0 deletions Template/BuildSystem/Properties/Build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="All">

<!-- Core Path Variables -->
<PropertyGroup>
<SolutionsPath Condition="'$(SolutionsPath)'==''">$(MSBuildProjectDirectory)\..\Solutions</SolutionsPath>
<SolutionRoot Condition="'$(SolutionRoot)'==''">$(BuildPath)\..</SolutionRoot>
<ApplicationsPath Condition="'$(ApplicationsPath)'==''">$(SolutionsPath)</ApplicationsPath>
<TasksPath Condition="'$(TasksPath)'==''">$(BuildPath)\Tasks</TasksPath>
<ToolsPath Condition="'$(ToolsPath)'==''">$(BuildPath)\Tools</ToolsPath>
<TargetsPath Condition="'$(TargetsPath)'==''">$(BuildPath)\Targets</TargetsPath>
</PropertyGroup>

<!-- Core Build Properties -->
<PropertyGroup>
<IsDesktopBuild>true</IsDesktopBuild>
<AssemblyVersionFile>$(BuildPath)\..\Common\AssemblyVersion.cs</AssemblyVersionFile>
<DropsPath>$(BuildPath)\..\Drops</DropsPath>
<NugetTemplates>$(BuildPath)\..\NugetTemplates</NugetTemplates>
<NugetWorkspace>$(BuildPath)\..\NugetWorkspace</NugetWorkspace>
<SpecificationReportPath>$(DropsPath)\SpecificationReports</SpecificationReportPath>
<NUnitResultsPath>$(DropsPath)\TestResults</NUnitResultsPath>
<ForcedMSBuildProperties>Configuration=Release;Platform=Any CPU</ForcedMSBuildProperties>
<InstallerNameWithoutExtension>$(SolutionName).Setup</InstallerNameWithoutExtension>
<ReferencedAssembliesPath>$(BuildPath)\..\ReferencedAssemblies</ReferencedAssembliesPath>
<PackageName>$(SolutionName)</PackageName>
<VersioningPath>$(BuildPath)\Versioning</VersioningPath>
<VersionXmlFile>$(VersioningPath)\VersionNumber.exe.config</VersionXmlFile>
</PropertyGroup>

<!-- Versioning properties -->
<Choose>
<When Condition="'$(BUILD_NUMBER)' != ''">
<PropertyGroup>
<VersionBuild>$(BUILD_NUMBER)</VersionBuild>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<VersionBuild>0</VersionBuild>
</PropertyGroup>
</Otherwise>
</Choose>

<PropertyGroup>
<VersionMajor Condition="'$(VersionMajor)'==''">1</VersionMajor>
<VersionMinor Condition="'$(VersionMinor)'==''">0</VersionMinor>
<VersionPatch Condition="'$(VersionPatch)'==''">0</VersionPatch>
<VersionPreRelease Condition="'$(VersionPreRelease)'==''"></VersionPreRelease>
</PropertyGroup>

<Choose>
<When Condition="'$(VersionPreRelease)' != ''">
<PropertyGroup>
<SemanticVersion>$(VersionMajor).$(VersionMinor).$(VersionPatch)-$(VersionPreRelease)-$(VersionBuild)</SemanticVersion>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<SemanticVersion>$(VersionMajor).$(VersionMinor).$(VersionPatch)</SemanticVersion>
</PropertyGroup>
</Otherwise>
</Choose>



<ItemGroup>
<SolutionsToBuild Include="$(SolutionsPath)\$(SolutionName).sln;"/>
<ProjectBuildArtefactFolders Include="$(ApplicationsPath)\$(SolutionName)\bin;
$(ApplicationsPath)\$(SolutionName)\obj;
$(DeploymentProjectPath)\bin;
$(DeploymentProjectPath)\obj;
$(SpecificationReportPath)" />
</ItemGroup>

</Project>
19 changes: 19 additions & 0 deletions Template/BuildSystem/Properties/CPUArchitecture.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?>

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="All">

<Choose>
<When Condition=" ('$(PROCESSOR_ARCHITECTURE)'=='x86') AND ('$(PROCESSOR_ARCHITEW6432)'=='') ">
</When>
<When Condition=" ('$(PROCESSOR_ARCHITECTURE)'=='AMD64') AND ('$(PROCESSOR_ARCHITEW6432)'=='') ">
</When>
<!-- Running in SysWow64 -->
<Otherwise>
<PropertyGroup>
<ProgramFilesSuffix> (x86)</ProgramFilesSuffix>
<RegistryWowHive>Wow6432Node\</RegistryWowHive>
</PropertyGroup>
</Otherwise>
</Choose>

</Project>
17 changes: 17 additions & 0 deletions Template/BuildSystem/Properties/Common.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="All">

<PropertyGroup>
<AtSign>%40</AtSign>
<PercentSign>%25</PercentSign>
<DoubleQuote>%22</DoubleQuote>
<SingleQuote>%27</SingleQuote>
<CarriageReturn>%0D</CarriageReturn>
<LineFeed>%0A</LineFeed>
<Tab>%09</Tab>
<HardNewLine>%0A%0D%0C%08</HardNewLine>
<SoftNewLine>%0A%20%08</SoftNewLine>
</PropertyGroup>

</Project>
29 changes: 29 additions & 0 deletions Template/BuildSystem/Properties/Global.Imports
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8" ?>

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="All">

<!-- Import Project Properties -->
<Import Project="$(PropertiesPath)\Build.properties" />
<Import Project="$(PropertiesPath)\Common.properties" />
<Import Project="$(PropertiesPath)\CPUArchitecture.properties" />

<!-- Import Custom MSBuild Tasks -->
<Import Project="$(TasksPath)\Microsoft.Sdc.Common.tasks" />
<Import Project="$(TasksPath)\MSBuild.Community.tasks" />
<Import Project="$(TasksPath)\MSBuild.Extended.tasks" />
<Import Project="$(TasksPath)\Endjin.Templify.MSBuild.tasks" />

<!-- Import Custom Project Targets -->
<Import Project="$(TargetsPath)\BuildSolutions.target" />
<Import Project="$(TargetsPath)\BuildSuccess.target" />
<Import Project="$(TargetsPath)\CleanSolution.target" />
<Import Project="$(TargetsPath)\CreateDrops.target" />
<Import Project="$(TargetsPath)\Merge.target" />
<Import Project="$(TargetsPath)\Package.target" />
<Import Project="$(TargetsPath)\Templify.target" />
<Import Project="$(TargetsPath)\RunMSpecSpecifications.target" />
<Import Project="$(TargetsPath)\RunNUnitTests.target" />
<Import Project="$(TargetsPath)\UpdateAssemblyVersion.target" />
<Import Project="$(TargetsPath)\Nuget.target" />

</Project>
9 changes: 9 additions & 0 deletions Template/BuildSystem/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
------------------------------
-- Sharp Architecture Build --
------------------------------

Common build system for the Sharp Architecture project.

SA repositories reference the build project as a Git submodule. Custom scripts are written that reference and invoke the main builld system, hooking into the extensibility points to build and package the correct project/files.

For an example on how to use this build, please refer to the readme in SampleBuild directory.
Loading

0 comments on commit 2ba9c29

Please sign in to comment.