Files
Umbraco-CMS/src/umbraco.presentation.targets
T
Sebastiaan Janssen 97639040f0 New way of transforming web.config file that should work in both VS2010 and 2012
Moved transform responsibility to Umbraco.Web.UI (mainly because circular
dependency has been solved already a few months ago)
Managed to clean up build.proj significantly in the process
2012-12-03 15:53:06 -01:00

79 lines
2.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
****************************************************
VARIABLES
*****************************************************
-->
<PropertyGroup Condition="$(BuildingInsideVisualStudio) != true">
<SolutionRootFolder>$(MSBuildStartupDirectory)\..\src\</SolutionRootFolder>
<ConfigEnvironment></ConfigEnvironment>
</PropertyGroup>
<PropertyGroup Condition="$(BuildingInsideVisualStudio) == true">
<SolutionRootFolder>$(SolutionDir)</SolutionRootFolder>
<ConfigEnvironment>$(Computername).</ConfigEnvironment>
</PropertyGroup>
<PropertyGroup>
<ProjDir>$(ProjectDir)</ProjDir>
<ProjOutputDir>$(WebProjectOutputDir)</ProjOutputDir>
<WebConfigSource>$(ProjDir)web.Template.$(ConfigEnvironment)$(Configuration).config</WebConfigSource>
</PropertyGroup>
<PropertyGroup Condition="!Exists('$(WebConfigSource)')">
<WebConfigSource>$(ProjDir)web.Template.$(Configuration).config</WebConfigSource>
</PropertyGroup>
<PropertyGroup Condition="'$(ProjOutputDir)'==''">
<ProjOutputDir>$(ProjDir)</ProjOutputDir>
</PropertyGroup>
<PropertyGroup Condition="!HasTrailingSlash('$(ProjOutputDir)')">
<ProjOutputDir>$(ProjOutputDir)\</ProjOutputDir>
</PropertyGroup>
<ItemGroup>
<ConfigFiles Include="$(ProjDir)**\*.config" Exclude="$(ProjDir)web.config;$(ProjDir)web.*.config" />
<ConfigFiles Include="$(ProjDir)umbraco\config\create\UI.xml" />
</ItemGroup>
<!--
****************************************************
INCLUDES
*****************************************************
-->
<UsingTask
TaskName="TransformXml"
AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll"
/>
<!--
****************************************************
TARGETS
*****************************************************
-->
<Target Name="ResetConfigFiles" Condition="$(ProjDir) != $(ProjOutputDir)" BeforeTargets="Build;Rebuild" Inputs="@(ConfigFiles)" Outputs="%(Identity).Dummy">
<PropertyGroup>
<OriginalFileName>@(ConfigFiles)</OriginalFileName>
<ModifiedFileName>$(OriginalFileName.Replace("%(ConfigFiles.Extension)",".$(Configuration)%(ConfigFiles.Extension)"))</ModifiedFileName>
<OutputFileName>$(OriginalFileName.Replace("$(ProjDir)", "$(ProjOutputDir)"))</OutputFileName>
</PropertyGroup>
<Message Text="$(OriginalFileName)" Importance="high" />
<Message Text="$(OutputFileName)" Importance="high" />
<Copy SourceFiles="$(ModifiedFileName)"
DestinationFiles="$(OutputFileName)"
OverwriteReadOnlyFiles="true"
SkipUnchangedFiles="false"
Condition="Exists('$(ModifiedFileName)')"/>
</Target>
</Project>