mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
Also added disambiguation rule for `.proj` and `.user`. ##### CSCFG https://github.com/search?utf8=%E2%9C%93&q=extension%3Acscfg+NOT+nothack&type=Code (16.7K hits) ##### CSDEF https://github.com/search?utf8=%E2%9C%93&q=extension%3Acsdef+NOT+nothack&type=Code (12.7K hits) ##### CCPROJ https://github.com/search?utf8=%E2%9C%93&q=extension%3Accproj+NOT+nothack&type=Code (5K hits) ##### DEPPROJ https://github.com/search?utf8=%E2%9C%93&q=extension%3Adepproj+NOT+nothack&type=Code (505 hits) ##### NDPROJ https://github.com/search?utf8=%E2%9C%93&q=extension%3Andproj+NOT+nothack&type=Code (194 hits) ##### PROJ https://github.com/search?utf8=%E2%9C%93&q=extension%3Aproj+%28project+OR+Property+OR+Import+OR+xml+OR+xmlns%29&type=Code (35K hits) ##### SHPROJ https://github.com/search?utf8=%E2%9C%93&q=extension%3Ashproj+NOT+nothack&type=Code (13K hits)
86 lines
4.4 KiB
XML
86 lines
4.4 KiB
XML
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
|
|
<UsingTask TaskName="Microsoft.Build.Tasks.XmlPeek" AssemblyName="Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
|
|
<UsingTask TaskName="Microsoft.Build.Tasks.XmlPoke" AssemblyName="Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
|
|
<PropertyGroup>
|
|
<SolutionRoot>$(MSBuildProjectDirectory)\..</SolutionRoot>
|
|
<ProjectRoot>$(SolutionRoot)\Src\Bowerbird.Website</ProjectRoot>
|
|
<ArtifactsDir>$(SolutionRoot)\Release</ArtifactsDir>
|
|
<CurrentBuildDateStamp>$([System.DateTime]::Now.ToString("yyyyMMdd"))</CurrentBuildDateStamp>
|
|
<CurrentBuildTimeStamp>$([System.DateTime]::Now.ToString("hhmm"))</CurrentBuildTimeStamp>
|
|
<CurrentBuildDir>$(ArtifactsDir)\$(CurrentBuildDateStamp)-$(Configuration)</CurrentBuildDir>
|
|
</PropertyGroup>
|
|
<PropertyGroup>
|
|
<VersionMajor>0</VersionMajor>
|
|
<VersionMinor>1</VersionMinor>
|
|
<VersionPatch>0</VersionPatch>
|
|
<VersionPreRelease></VersionPreRelease>
|
|
</PropertyGroup>
|
|
<PropertyGroup>
|
|
<WebConfig>$(CurrentBuildDir)\Web.config</WebConfig>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<PackageFiles Include="$(ProjectRoot)\**\*.*"
|
|
Exclude="$(ProjectRoot)\bin\*.pdb;
|
|
$(ProjectRoot)\bin\*.xml;
|
|
$(ProjectRoot)\Logs\**\*.*;
|
|
$(ProjectRoot)\obj\**\*.*;
|
|
$(ProjectRoot)\test\**\*.*;
|
|
$(ProjectRoot)\media\**\*.*;
|
|
$(ProjectRoot)\**\*.orig;
|
|
$(ProjectRoot)\*.config;
|
|
$(ProjectRoot)\*.xml;
|
|
$(ProjectRoot)\**\*.csproj;
|
|
$(ProjectRoot)\*.csproj.user;">
|
|
</PackageFiles>
|
|
<ConfigFiles Include="$(ProjectRoot)\Web.config" >
|
|
</ConfigFiles>
|
|
</ItemGroup>
|
|
<Target Name="UpdateWebConfig" Condition=" '$(CurrentBuildDateStamp)' != '' ">
|
|
<XmlPoke Namespaces="<Namespace Prefix='msb' Uri='http://schemas.microsoft.com/developer/msbuild/2003'/>"
|
|
XmlInputPath="$(WebConfig)"
|
|
Query="//add[@key='staticContentIncrement']/@value"
|
|
Value="$(CurrentBuildDateStamp)-$(CurrentBuildTimeStamp)" />
|
|
</Target>
|
|
<Target Name="CreateOutputDir">
|
|
<Message Text="Creating Directory $(CurrentBuildDir)" />
|
|
<RemoveDir Directories="$(CurrentBuildDir)" />
|
|
<Delete Files="$(CurrentBuildDir)" />
|
|
<MakeDir Directories="$(CurrentBuildDir)" />
|
|
</Target>
|
|
<Target Name="BuildMediaDirectories">
|
|
<MakeDir Directories="$(CurrentBuildDir)\media" />
|
|
</Target>
|
|
<Target Name="ConfigSettingsMessages">
|
|
<Message Text="Configuration is $(Configuration)" />
|
|
<Message Text="BuildNumber is $(BuildNumber)" />
|
|
<Message Text="ProjectRoot is $(ProjectRoot)" />
|
|
<Message Text="CurrentBuildDir is $(CurrentBuildDir)" />
|
|
</Target>
|
|
<Target Name="BuildSolution">
|
|
<MSBuild Projects="$(SolutionRoot)\Bowerbird.sln" Targets="Build" Properties="Configuration=$(Configuration)" />
|
|
</Target>
|
|
<Target Name="CopyFilesToReleaseDir">
|
|
<Copy SourceFiles="@(PackageFiles)" DestinationFiles="@(PackageFiles->'$(CurrentBuildDir)\%(RecursiveDir)%(Filename)%(Extension)')" />
|
|
<Copy SourceFiles="@(ConfigFiles)" DestinationFiles="$(CurrentBuildDir)\web.config" />
|
|
</Target>
|
|
<Target Name="ZipUpReleaseFiles">
|
|
<ItemGroup>
|
|
<ZipFiles Include="$(CurrentBuildDir)\**\*.*" Exclude="*.zip" />
|
|
</ItemGroup>
|
|
<Zip Files="@(ZipFiles)" WorkingDirectory="$(CurrentBuildDir)\$(Configuration)\" ZipFileName="$(CurrentBuildDateStamp)-$(Configuration).zip" ZipLevel="9" />
|
|
</Target>
|
|
<Target Name="CopyZipToReleaseDir" DependsOnTargets="ZipUpReleaseFiles">
|
|
<Copy SourceFiles="$(MSBuildProjectDirectory)\$(CurrentBuildDateStamp)-$(Configuration).zip" DestinationFiles="$(ArtifactsDir)\$(CurrentBuildDateStamp)-$(Configuration).zip" />
|
|
<Delete Files="$(MSBuildProjectDirectory)\$(CurrentBuildDateStamp)-$(Configuration).zip" />
|
|
</Target>
|
|
<Target Name="Build" DependsOnTargets="CreateOutputDir">
|
|
<CallTarget Targets="BuildMediaDirectories"/>
|
|
<CallTarget Targets="ConfigSettingsMessages"/>
|
|
<CallTarget Targets="BuildSolution"/>
|
|
<CallTarget Targets="CopyFilesToReleaseDir"/>
|
|
<CallTarget Targets="UpdateWebConfig" />
|
|
<CallTarget Targets="CopyZipToReleaseDir"/>
|
|
</Target>
|
|
</Project>
|