I am playing around with the TDS task GetFilesToTransform. I want to try and transform files based on an environment variable that is not the current build configuration.
The default task definition in C:\Program Files (x86)\MSBuild\HedgehogDevelopment\SitecoreProject\v9.0\HedgehogDevelopment.SitecoreProject.targets is this:
<GetFilesToTransform
FileExtension="config"
SolutionConfig="$(CurrentSolutionConfigurationContents)"
Configuration="$(Configuration)"
SourceWebProject="$(SourceWebProject)"
WebProjectRoot="$(MSBuildProjectDirectory)\$(SourceWebPhysicalPath)"
WebProject="$(SourceWebVirtualPath)"
Condition="'$(ConfigTransformAvailable)' == 'true'">
<Output TaskParameter="TransformFilesToRemove" ItemName="TransformFilesToRemove"/>
<Output TaskParameter="Transforms" ItemName="Transforms"/>
</GetFilesToTransform>
I assumed that the Configuration property would allow me to pass in a different variable and pickup config transforms. I have duplicated this entry and created my own build task that looks like this:
<GetFilesToTransform
FileExtension="config"
SolutionConfig="$(CurrentSolutionConfigurationContents)"
Configuration="Local"
SourceWebProject="$(SourceWebProject)"
WebProjectRoot="$(MSBuildProjectDirectory)\$(SourceWebPhysicalPath)"
WebProject="$(SourceWebVirtualPath)"
Condition="'$(ConfigTransformAvailable)' == 'true'">
<Output TaskParameter="TransformFilesToRemove" ItemName="TransformFilesToRemove"/>
<Output TaskParameter="Transforms" ItemName="Transforms"/>
</GetFilesToTransform>
I am using Local as the configuration. However this is task still transforming using the build configuration value of DEBUG instead of Local. Any suggestions why this happening?
This is the build log:
11> Task "GetFilesToTransform"
11> Task Parameter:FileExtension=config
11> Task Parameter:SolutionConfig=<SolutionConfiguration>
11><ProjectConfiguration Project="{135a1e1b-e091-439b-97d1-6f871280e339}" AbsolutePath="F:\TDS.Master.scproj">Debug|AnyCPU</ProjectConfiguration>
11><ProjectConfiguration Project="{b4239999-0ae1-438a-842b-094a33a8a2d1}" AbsolutePath="F:\Host.csproj">Debug|AnyCPU</ProjectConfiguration>
11> Task Parameter:Configuration=Local
11> Task Parameter:SourceWebProject={b4239999-0ae1-438a-842b-094a33a8a2d1}|EC.SWP.Common.Host\EC.SWP.Common.Host.csproj
11> Task Parameter:WebProjectRoot=F:\Host
11> Task Parameter:WebProject=/Host.csproj
11> Transforms=
11> App_Config\Include\_Common\Sites.config
11> TransformFile=App_Config\Include\_Common\Sites.Debug.config
11> web.config
11> TransformFile=web.Debug.config