Files
2025-09-29 00:52:08 +02:00

160 lines
7.1 KiB
XML
Executable File

<Project DefaultTargets="SyncBuildDeploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- PropertyGroup -->
<PropertyGroup>
<!-- Default logDirectory value -->
<logDirectory Condition="'$(logDirectory)'==''">$(assetRootDir)\rageLogs</logDirectory>
<!-- Controls the status of the MS Build project -->
<buildSuccess>true</buildSuccess>
</PropertyGroup>
<!-- Import -->
<Import Project="$(importProjectFile)"/>
<!-- AllSolutions -->
<Target Name="AllSolutions">
<CreateItem Include="@(Solution)">
<Output TaskParameter="Include" ItemName="NewSolution" />
</CreateItem>
<CreateItem Include="@(CSharpSolution)">
<Output TaskParameter="Include" ItemName="NewCSharpSolution" />
</CreateItem>
<CreateItem Include="@(ShaderSolution)">
<Output TaskParameter="Include" ItemName="NewShaderSolution" />
</CreateItem>
</Target>
<!-- CleanDebugFiles -->
<UsingTask TaskName="RageBuildTasks.CleanDebugFiles" AssemblyFile="$(rageTasksDLL)" />
<Target Name="CleanDebugFiles">
<CleanDebugFiles Folder="$(RS_TOOLSBIN)" LogDirectory="$(logDirectory)"/>
</Target>
<!-- BuildSolution -->
<UsingTask TaskName="RageBuildTasks.BuildSolution" AssemblyFile="$(rageTasksDLL)" />
<UsingTask TaskName="RageBuildTasks.CreateChangelist" AssemblyFile="$(rageTasksDLL)" />
<UsingTask TaskName="RageBuildTasks.RevertChangelist" AssemblyFile="$(rageTasksDLL)" />
<UsingTask TaskName="RageBuildTasks.GeneralInfo" AssemblyFile="$(rageTasksDLL)" />
<Target Name="BuildSolution" DependsOnTargets="AllSolutions">
<GeneralInfo Port="$(perforcePort)" Client="$(perforceClient)" User="$(perforceUser)"/>
<CreateChangelist Description="Cruise Control Build"/>
<!-- Compile the tools -->
<BuildSolution Condition="'%(NewSolution.Identity)'!='' AND '%(NewSolution.config)'!=''"
Solution="$(rageDir)\%(NewSolution.Identity)"
Project="%(NewSolution.project)"
Configuration="%(NewSolution.config)"
CompileWithDevenv="%(NewSolution.compileWithDevenv)"
Disabled="%(NewSolution.Disabled)"
NoVSI="%(NewSolution.compileWithoutVSI)"
CheckOutFiles="%(NewSolution.checkOutFile)">
<Output TaskParameter="BuildSuccess" PropertyName="buildSuccess"/>
</BuildSolution>
<BuildSolution Condition="'%(NewCSharpSolution.Identity)'!='' AND '%(NewCSharpSolution.config)'!=''"
Solution="$(rageDir)\%(NewCSharpSolution.Identity)"
Project="%(NewCSharpSolution.project)"
Configuration="%(NewCSharpSolution.config)"
CompileWithDevenv="true"
Disabled="%(NewCSharpSolution.Disabled)"
NoVSI="%(NewCSharpSolution.compileWithoutVSI)"
CheckOutFiles="%(NewCSharpSolution.checkOutFile)">
<Output TaskParameter="BuildSuccess" PropertyName="buildSuccess"/>
</BuildSolution>
<RevertChangelist/>
</Target>
<!-- CleanSolution -->
<UsingTask TaskName="RageBuildTasks.BuildSolution" AssemblyFile="$(rageTasksDLL)" />
<Target Name="CleanSolution" DependsOnTargets="AllSolutions">
<GeneralInfo Port="$(perforcePort)" Client="$(perforceClient)" User="$(perforceUser)"/>
<CreateChangelist Description="Cruise Control Build"/>
<!-- Clean the shaders -->
<BuildSolution Condition="'%(NewShaderSolution.config)'!='' AND '%(NewShaderSolution.copyOnly)'!='true'"
Solution="$(rageDir)\%(NewShaderSolution.Identity)"
Project="%(NewShaderSolution.project)"
Configuration="%(NewShaderSolution.config)"
CompileWithDevenv="%(NewShaderSolution.compileWithDevenv)"
Disabled="%(NewShaderSolution.Disabled)"
NoVSI="%(NewShaderSolution.compileWithoutVSI)"
Clean="true"
CheckOutFiles="%(NewShaderSolution.checkOutFile)"/>
<!-- Clean the tools -->
<BuildSolution Condition="'%(NewSolution.config)'!='' AND '%(NewSolution.copyOnly)'!='true'"
Solution="$(rageDir)\%(NewSolution.Identity)"
Project="%(NewSolution.project)"
Configuration="%(NewSolution.config)"
CompileWithDevenv="%(NewSolution.compileWithDevenv)"
Disabled="%(NewSolution.Disabled)"
NoVSI="%(NewSolution.compileWithoutVSI)"
Clean="true"
CheckOutFiles="%(NewSolution.checkOutFile)"/>
<!-- Clean the C# tools -->
<BuildSolution Condition="'%(NewCSharpSolution.Identity)'!='' AND '%(NewCSharpSolution.config)'!=''"
Solution="$(rageDir)\%(NewCSharpSolution.Identity)"
Project="%(NewCSharpSolution.project)"
Configuration="%(NewCSharpSolution.config)"
CompileWithDevenv="true"
Disabled="%(NewCSharpSolution.Disabled)"
NoVSI="%(NewCSharpSolution.compileWithoutVSI)"
Clean="true"
CheckOutFiles="%(NewCSharpSolution.checkOutFile)"/>
<RevertChangelist/>
</Target>
<!-- BuildShaders -->
<UsingTask TaskName="RageBuildTasks.BuildSolution" AssemblyFile="$(rageTasksDLL)" />
<UsingTask TaskName="RageBuildTasks.CopySolutionBinaries" AssemblyFile="$(rageTasksDLL)" />
<Target Name="BuildShaders" DependsOnTargets="AllSolutions">
<!-- Make sure the template folder exists -->
<MakeDir Directories="$(assetRootDir)\rage\assets\tune\shaders\templates"/>
<!-- Recompile the shaders -->
<BuildSolution Condition="'%(NewShaderSolution.config)'!='' AND '%(NewShaderSolution.copyOnly)'!='true'"
Solution="$(rageDir)\%(NewShaderSolution.Identity)"
Project="%(NewShaderSolution.project)"
Configuration="%(NewShaderSolution.config)"
CompileWithDevenv="%(NewShaderSolution.compileWithDevenv)"
Disabled="%(NewShaderSolution.Disabled)"
NoVSI="%(NewShaderSolution.compileWithoutVSI)"
CheckOutFiles="%(NewShaderSolution.checkOutFile)">
<Output TaskParameter="BuildSuccess" PropertyName="buildSuccess"/>
</BuildSolution>
</Target>
<!-- Return Validation Task -->
<UsingTask TaskName="RageBuildTasks.ReturnTask" AssemblyFile="$(rageTasksDLL)" />
<Target Name="CheckResult">
<Error
Code="-1"
Text="This build has failed!"
Condition="'$(buildSuccess)' == 'false'"/>
</Target>
<!-- BuildAndDeploy -->
<Target Name="SyncBuildDeploy" DependsOnTargets="BuildShaders;Build"/>
<!-- RebuildAndDeploy -->
<Target Name="SyncRebuildDeploy" DependsOnTargets="BuildShaders;Rebuild"/>
<!-- SyncBuild -->
<Target Name="SyncBuild" DependsOnTargets="BuildShaders;Build"/>
<!-- Build -->
<Target Name="Build" DependsOnTargets="BuildSolution;CheckResult"/>
<!-- Rebuild -->
<Target Name="Rebuild" DependsOnTargets="CleanSolution;BuildSolution;CheckResult"/>
<!-- Clean -->
<Target Name="Clean" DependsOnTargets="CleanSolution;CheckResult"/>
</Project>