mirror of
				https://github.com/OrchardCMS/Orchard.git
				synced 2025-10-26 20:16:15 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			458 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			458 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="utf-8"?>
 | |
| <!--
 | |
| ***********************************************************************************************
 | |
| SlowCheetah.Transforms.targets
 | |
| 
 | |
| WARNING:  DO NOT MODIFY this file, this file is added to your project automatically
 | |
|           through the SlowCheetah NuGet package. If you modify this file it may
 | |
|           get out of sync when you update the package at a later date.
 | |
| 
 | |
| This file defines the steps in order to transform XML files.
 | |
| 
 | |
| Copyright (C) Sayed Ibrahim Hashimi, Chuck England 2011-2013. All rights reserved.
 | |
| ***********************************************************************************************
 | |
| -->
 | |
| <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | |
| 
 | |
|   <PropertyGroup>
 | |
|     <sc-MSBuildLibPathLocal Condition=" '$(sc-MSBuildLibPathLocal)'=='' ">$(LocalAppData)\Microsoft\MSBuild\SlowCheetah\v2.5.11\</sc-MSBuildLibPathLocal>
 | |
| 
 | |
|     <!-- this property should be defined in the .csproj to point to the packages path -->
 | |
|     <SlowCheetahToolsPath Condition=" '$(SlowCheetahToolsPath)'=='' ">$(MSBuildThisFileDirectory)</SlowCheetahToolsPath>
 | |
| 
 | |
|     <!-- if building in VS then we should try and use from app data if the files are there -->
 | |
|     <SlowCheetahTaskPath Condition=" '$(SlowCheetahTaskPath)'=='' and '$(BuildingInsideVisualStudio)'=='true' and Exists('$(sc-MSBuildLibPathLocal)SlowCheetah.Xdt.dll')">$(sc-MSBuildLibPathLocal)</SlowCheetahTaskPath>
 | |
| 
 | |
|     <!-- this typically points to the packages folder -->
 | |
|     <SlowCheetahTaskPath Condition=" '$(SlowCheetahTaskPath)'==''">$(SlowCheetahToolsPath)</SlowCheetahTaskPath>
 | |
|   </PropertyGroup>
 | |
|   <ItemGroup>
 | |
|     <LocalAppDataFiles Include="$(sc-MSBuildLibPathLocal)**\*" />
 | |
|   </ItemGroup>
 | |
| 
 | |
|   <Target Name="CopyAssembliesToLocalPath"
 | |
|           Condition=" '$(sc-MSBuildLibPathLocal)'!='' and ( !Exists('$(sc-MSBuildLibPathLocal)') or '@(LocalAppDataFiles)'=='' )">
 | |
|     <ItemGroup>
 | |
|       <_FilesToCopy Remove="@(_FilesToCopy)"/>
 | |
|       <_FilesToCopy Include="$(SlowCheetahToolsPath)Microsoft.Web.XmlTransform.dll"/>
 | |
|       <_FilesToCopy Include="$(SlowCheetahToolsPath)SlowCheetah.NuGet.template.proj"/>
 | |
|       <_FilesToCopy Include="$(SlowCheetahToolsPath)SlowCheetah.Transforms.targets"/>
 | |
|       <_FilesToCopy Include="$(SlowCheetahToolsPath)SlowCheetah.Xdt.dll"/>
 | |
|     </ItemGroup>
 | |
| 
 | |
|     <MakeDir Directories="$(sc-MSBuildLibPathLocal)" ContinueOnError="true"/>
 | |
|     <Message Text="Copying SlowCheetah build files to [$(sc-MSBuildLibPathLocal)] if needed" />
 | |
|     <Message Text="SlowCheetahToolsPath: $(SlowCheetahToolsPath)" Importance="low" />
 | |
|     <Message Text="************ %40(_FilesToCopy): [@(_FilesToCopy)]" Importance="low"/>
 | |
| 
 | |
|     <!-- If the copy does not succeed then we need to revert back to the packages folder -->
 | |
|     <Copy SourceFiles="@(_FilesToCopy)"
 | |
|           DestinationFiles="@(_FilesToCopy->'$(sc-MSBuildLibPathLocal)%(RecursiveDir)%(Filename)%(Extension)')"
 | |
|           SkipUnchangedFiles="true" ContinueOnError="true"
 | |
|           Condition="Exists('%(_FilesToCopy.FullPath)')" />
 | |
| 
 | |
|     <PropertyGroup>
 | |
|       <sc-MSBuildLibPathLocal Condition=" !Exists('$(sc-MSBuildLibPathLocal)Microsoft.Web.XmlTransform.dll') ">$(SlowCheetahToolsPath)</sc-MSBuildLibPathLocal>
 | |
|     </PropertyGroup>
 | |
|     <Message Text="SlowCheetah tools path: sc-MSBuildLibPathLocal: [$(sc-MSBuildLibPathLocal)]" />
 | |
|   </Target>
 | |
| 
 | |
|   <UsingTask TaskName="TransformXml"
 | |
|              AssemblyFile="$([MSBUILD]::Unescape($(SlowCheetahTaskPath)SlowCheetah.Xdt.dll))"/>
 | |
|   <ItemDefinitionGroup>
 | |
|     <!-- Set the default value to false here -->
 | |
|     <None>
 | |
|       <TransformOnBuild>false</TransformOnBuild>
 | |
|       <Link></Link>
 | |
|     </None>
 | |
|     <Content>
 | |
|       <TransformOnBuild>false</TransformOnBuild>
 | |
|       <Link></Link>
 | |
|     </Content>
 | |
|     <Resource>
 | |
|       <TransformOnBuild>false</TransformOnBuild>
 | |
|       <Link></Link>
 | |
|     </Resource>
 | |
|     <EmbeddedResource>
 | |
|       <TransformOnBuild>false</TransformOnBuild>
 | |
|       <Link></Link>
 | |
|     </EmbeddedResource>
 | |
| 
 | |
|     <_FilesToTransform>
 | |
|       <IsAppConfig>false</IsAppConfig>
 | |
|     </_FilesToTransform>
 | |
|   </ItemDefinitionGroup>
 | |
| 
 | |
|   <PropertyGroup>
 | |
|     <WapProjectTypeGuid>349c5851-65df-11da-9384-00065b846f21</WapProjectTypeGuid>
 | |
|     <_IsWap Condition=" '$(WapProjectTypeGuid)' != '' and '$(ProjectTypeGuids)' != '' ">$(ProjectTypeGuids.Contains($(WapProjectTypeGuid)))</_IsWap>
 | |
|     <_IsWap Condition=" '$(_IsWap)' == '' ">false</_IsWap>
 | |
|     <IsWap Condition=" '$(IsWap)' == ''">$(_IsWap)</IsWap>
 | |
| 
 | |
|     <ScAllowCopyReferencedConfig Condition=" '$(ScAllowCopyReferencedConfig)'=='' ">true</ScAllowCopyReferencedConfig>
 | |
|     <AllowedReferenceRelatedFileExtensions Condition=" '$(ScAllowCopyReferencedConfig)'=='true' ">
 | |
|       $(AllowedReferenceRelatedFileExtensions);
 | |
|       .dll.config
 | |
|     </AllowedReferenceRelatedFileExtensions>
 | |
| 
 | |
|     <SlowCheetahImport>$(MSBuildThisFileFullPath)</SlowCheetahImport>
 | |
|     <BuildDependsOn>
 | |
|       CopyAssembliesToLocalPath;
 | |
|       $(BuildDependsOn);
 | |
|     </BuildDependsOn>
 | |
|     <BuildDependsOn Condition=" '$(IsWap)'!='true' ">
 | |
|       $(BuildDependsOn);
 | |
|       TransformAllFiles;
 | |
|       ScReplaceAppConfigItem;
 | |
|     </BuildDependsOn>
 | |
|     <!--<TransformAllFilesDependsOn>
 | |
|       _CopyAppConfigFile;
 | |
|       DiscoverFilesToTransform;
 | |
|     </TransformAllFilesDependsOn>-->
 | |
|     <TransformAllFilesDependsOn>
 | |
|       CopyAssembliesToLocalPath;
 | |
|       DiscoverFilesToTransform;
 | |
|     </TransformAllFilesDependsOn>
 | |
|   </PropertyGroup>
 | |
| 
 | |
|   <PropertyGroup>
 | |
|     <__SC_IntermediateAppConfig>$(IntermediateOutputPath)$(MSBuildProjectFile)-sc.App.config</__SC_IntermediateAppConfig>
 | |
|   </PropertyGroup>
 | |
| 
 | |
|   <Target Name="TransformAllFiles"
 | |
|           DependsOnTargets="$(TransformAllFilesDependsOn)" BeforeTargets="_CopyAppConfigFile">
 | |
|     <!-- Now we have the item list _FilesToTransformNotAppConfig and _AppConfigToTransform item lists -->
 | |
|     <!-- Transform the app.config file -->
 | |
|     <ItemGroup>
 | |
|       <_AppConfigTarget Include="@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')" />
 | |
|     </ItemGroup>
 | |
| 
 | |
|     <PropertyGroup>
 | |
|       <_AppConfigDest>@(_AppConfigTarget->'%(FullPath)')</_AppConfigDest>
 | |
|     </PropertyGroup>
 | |
| 
 | |
|     <ItemGroup>
 | |
|       <_TmpLinkFiles Remove="@(_TmpLinkFiles)" />
 | |
|       <_TmpLinkFiles Include="@(_FilesToTransformNotAppConfig->'%(Link)')" />
 | |
|     </ItemGroup>
 | |
| 
 | |
|     <!-- This will handle non Link files and the second one for link files -->
 | |
|     <MakeDir Directories="@(_FilesToTransformNotAppConfig->'$(OutDir)%(RelativeDir)')"
 | |
|              Condition="Exists('%(RelativeDir)%(Filename).$(Configuration)%(Extension)')
 | |
|              and '%(Link)'=='' " />
 | |
| 
 | |
|     <MakeDir Directories="@(_TmpLinkFiles->'$(OutDir)%(RelativeDir)')"
 | |
|                  Condition=" '%(Link)'!='' " />
 | |
| 
 | |
|     <PropertyGroup>
 | |
|       <_Sc_HasAppConfigTransform>false</_Sc_HasAppConfigTransform>
 | |
|       <_Sc_HasAppConfigConfigurationTransform Condition=" Exists( '@(_AppConfigToTransform->'%(RelativeDir)%(Filename).$(Configuration)%(Extension)')' ) ">true</_Sc_HasAppConfigConfigurationTransform>
 | |
|       <_Sc_HasAppConfigPublishProfileTransform Condition=" Exists( '@(_AppConfigToTransform->'%(RelativeDir)%(Filename).$(PublishProfile)%(Extension)')' ) ">true</_Sc_HasAppConfigPublishProfileTransform>
 | |
|       <_Sc_HasAppConfigPublishProfileTransform Condition=" '$(Configuration)'=='$(PublishProfile)' ">false</_Sc_HasAppConfigPublishProfileTransform>
 | |
|       <_Sc_HasAppConfigTransform Condition=" '$(_Sc_HasAppConfigConfigurationTransform)'=='true' ">true</_Sc_HasAppConfigTransform>
 | |
|       <_Sc_HasAppConfigTransform Condition=" '$(_Sc_HasAppConfigPublishProfileTransform)'=='true' ">true</_Sc_HasAppConfigTransform>
 | |
|     </PropertyGroup>
 | |
|     <Message Text="Tasks path: $(SlowCheetahTaskPath)" Importance="low"/>
 | |
| 
 | |
|     <!-- we may transform the file multiple times so copy it to dest and then use that as source for all transforms -->
 | |
|     <Copy SourceFiles="$(AppConfig)" DestinationFiles="$(__SC_IntermediateAppConfig)"/>
 | |
| 
 | |
|     <SlowCheetah.Xdt.TransformXml Source="$(__SC_IntermediateAppConfig)"
 | |
|                   Transform="@(_AppConfigToTransform->'%(RelativeDir)%(Filename).$(Configuration)%(Extension)')"
 | |
|                   Destination="$(__SC_IntermediateAppConfig)"
 | |
|                   Condition=" '$(_Sc_HasAppConfigConfigurationTransform)'=='true' " />
 | |
| 
 | |
|     <SlowCheetah.Xdt.TransformXml Source="$(__SC_IntermediateAppConfig)"
 | |
|                   Transform="@(_AppConfigToTransform->'%(RelativeDir)%(Filename).$(PublishProfile)%(Extension)')"
 | |
|                   Destination="$(__SC_IntermediateAppConfig)"
 | |
|                   Condition=" '$(_Sc_HasAppConfigPublishProfileTransform)'=='true' " />
 | |
| 
 | |
|     <PropertyGroup Condition=" '$(_Sc_HasAppConfigTransform)'=='true' " >
 | |
|       <AppConfig>$(__SC_IntermediateAppConfig)</AppConfig>
 | |
|     </PropertyGroup>
 | |
|     <ItemGroup Condition=" '$(_Sc_HasAppConfigTransform)'=='true' " >
 | |
|       <AppConfigWithTargetPath Remove="@(AppConfigWithTargetPath)" />
 | |
|       <AppConfigWithTargetPath Include="$(AppConfig)">
 | |
|         <TargetPath>$(TargetFileName).config</TargetPath>
 | |
|       </AppConfigWithTargetPath>
 | |
|     </ItemGroup>
 | |
| 
 | |
|     <!-- 
 | |
|     For link files this will write the transformed file into the 
 | |
|     incorrect location so let's handle those seperately in the transformation underneath this one
 | |
|     -->
 | |
|     <SlowCheetah.Xdt.TransformXml Source="@(_FilesToTransformNotAppConfig->'%(FullPath)')"
 | |
|                   Transform="%(RelativeDir)%(Filename).$(Configuration)%(Extension)"
 | |
|                   Destination="@(_FilesToTransformNotAppConfig->'$(OutDir)%(RelativeDir)%(Filename)%(Extension)')"
 | |
|                   Condition=" Exists('%(RelativeDir)%(Filename).$(Configuration)%(Extension)')
 | |
|                               and '%(Link)'=='' " />
 | |
| 
 | |
|     <!-- Transform the Link files -->
 | |
|     <SlowCheetah.Xdt.TransformXml Source="@(_FilesToTransformNotAppConfig->'%(FullPath)')"
 | |
|                   Transform="%(RelativeDir)%(Filename).$(Configuration)%(Extension)"
 | |
|                   Destination="@(_FilesToTransformNotAppConfig->'$(OutDir)%(Link)')"
 | |
|                   Condition="Exists('%(RelativeDir)%(Filename).$(Configuration)%(Extension)')
 | |
|                               and '%(Link)'!='' " />
 | |
|   </Target>
 | |
| 
 | |
|   <Target Name="DiscoverFilesToTransform">
 | |
|     <!-- 
 | |
|     This will look through items list: None & Content for those
 | |
|     with Metadata <TransformOnBuild>True</TransformOnBuild>.
 | |
|     
 | |
|     -->
 | |
|     <ItemGroup>
 | |
|       <_FilesToTransform Include="@(None);@(Content);@(Resource);@(EmbeddedResource)"
 | |
|                          Condition=" '%(TransformOnBuild)' == 'true' ">
 | |
|         <Link>%(Link)</Link>
 | |
|         <!-- Required to remove the item if necessary later -->
 | |
|         <OriginalItemSpec>%(Identity)</OriginalItemSpec>
 | |
|       </_FilesToTransform>
 | |
|     </ItemGroup>
 | |
| 
 | |
|     <PropertyGroup>
 | |
|       <_AppConfigFullPath>@(AppConfigWithTargetPath->'%(RootDir)%(Directory)%(Filename)%(Extension)')</_AppConfigFullPath>
 | |
|     </PropertyGroup>
 | |
| 
 | |
|     <!-- Now look to see if any of these are the app.config file -->
 | |
|     <ItemGroup>
 | |
|       <_FilesToTransform Condition=" '%(Filename)%(Extension)'=='app.config' ">
 | |
|         <IsAppConfig>true</IsAppConfig>
 | |
|         <!-- Required to remove the item if necessary later -->
 | |
|         <OriginalItemSpec>%(Identity)</OriginalItemSpec>
 | |
|       </_FilesToTransform>
 | |
|     </ItemGroup>
 | |
| 
 | |
|     <ItemGroup>
 | |
|       <_FilesToTransformNotAppConfig Include="@(_FilesToTransform)"
 | |
|                                      Condition=" '%(IsAppConfig)'!='true'">
 | |
|         <!-- Required to remove the item if necessary later -->
 | |
|         <OriginalItemSpec>%(Identity)</OriginalItemSpec>
 | |
|         <Link>%(_FilesToTransform.Link)</Link>
 | |
|       </_FilesToTransformNotAppConfig>
 | |
| 
 | |
|       <_AppConfigToTransform  Include="@(_FilesToTransform)"
 | |
|                               Condition=" '%(IsAppConfig)'=='true'"/>
 | |
|     </ItemGroup>
 | |
|   </Target>
 | |
| 
 | |
| 
 | |
|   <!-- ***********************************************************
 | |
|   WAP related items below
 | |
|   ****************************************************************-->
 | |
|   <ItemGroup>
 | |
|     <!-- This will exclude packageRestore.proj from the web publish process -->
 | |
|     <ExcludeFromPackageFiles Include="packageRestore.proj">
 | |
|       <FromTarget>Project</FromTarget>
 | |
|     </ExcludeFromPackageFiles>
 | |
|   </ItemGroup>
 | |
| 
 | |
|   <PropertyGroup Condition=" '$(IsWap)' == 'true' ">
 | |
|     <OnAfterPipelinePreDeployCopyAllFilesToOneFolder>
 | |
|       $(OnAfterPipelinePreDeployCopyAllFilesToOneFolder);
 | |
|       CopyTransformFilesWap;
 | |
|     </OnAfterPipelinePreDeployCopyAllFilesToOneFolder>
 | |
|     <CopyAllFilesToSingleFolderForMsdeploy>
 | |
|       $(CopyAllFilesToSingleFolderForMsdeploy);
 | |
|       CopyTransformFilesWap;
 | |
|     </CopyAllFilesToSingleFolderForMsdeploy>
 | |
| 
 | |
|     <CopyTransformFilesWapDependsOn>
 | |
|       CoreCopyTransformFilesWap;
 | |
|       CopyTransformFileWapPublishProfile;
 | |
|     </CopyTransformFilesWapDependsOn>
 | |
| 
 | |
|     <CoreCopyTransformFilesWapDependsOn>
 | |
|       DiscoverFilesToTransform;
 | |
|     </CoreCopyTransformFilesWapDependsOn>
 | |
| 
 | |
|     <!-- For VS2012 -->
 | |
|     <PipelineCopyAllFilesToOneFolderForMsdeployDependsOn>
 | |
|       $(PipelineCopyAllFilesToOneFolderForMsdeployDependsOn);
 | |
|       CopyTransformFilesWap
 | |
|     </PipelineCopyAllFilesToOneFolderForMsdeployDependsOn>
 | |
| 
 | |
|     <!-- Required for File System -->
 | |
|     <PipelinePreDeployCopyAllFilesToOneFolderDependsOn>
 | |
|       $(PipelinePreDeployCopyAllFilesToOneFolderDependsOn);
 | |
|       CopyTransformFilesWap;
 | |
|     </PipelinePreDeployCopyAllFilesToOneFolderDependsOn>
 | |
|     <!-- required for FS support from the VS publish dialog -->
 | |
|     <OnAfterCopyAllFilesToSingleFolderForPackage>
 | |
|       $(OnAfterCopyAllFilesToSingleFolderForPackage);
 | |
|       CopyTransformFilesWap;
 | |
|     </OnAfterCopyAllFilesToSingleFolderForPackage>
 | |
|   </PropertyGroup>
 | |
|   <Target Name="CopyTransformFilesWap" DependsOnTargets="$(CopyTransformFilesWapDependsOn)"/>
 | |
|   <Target Name="CoreCopyTransformFilesWap"
 | |
|           DependsOnTargets="$(CoreCopyTransformFilesWapDependsOn)">
 | |
|     <ItemGroup>
 | |
|       <_TmpLinkFiles Remove="@(_TmpLinkFiles)" />
 | |
|       <_TmpLinkFiles Include="@(_FilesToTransformNotAppConfig->'%(Link)')" />
 | |
|     </ItemGroup>
 | |
| 
 | |
|     <!-- This will ignore link files and the second one will handle them -->
 | |
|     <MakeDir Directories="@(_FilesToTransformNotAppConfig->'$(_PackageTempDir)\%(RelativeDir)')"
 | |
|          Condition="Exists('%(RelativeDir)%(Filename).$(Configuration)%(Extension)')
 | |
|                     and '%(Link)' == '' "/>
 | |
| 
 | |
|     <MakeDir Directories="@(_TmpLinkFiles->'$(OutDir)%(RelativeDir)')"
 | |
|                  Condition=" '%(Link)'!='' " />
 | |
| 
 | |
|     <!--Make sure that we do not do this for web.config-->
 | |
|     <!-- This usage will skip Link files, the task usage below will handle Link files -->
 | |
|     <SlowCheetah.Xdt.TransformXml Source="@(_FilesToTransformNotAppConfig->'%(FullPath)')"
 | |
|               Transform="%(RelativeDir)%(Filename).$(Configuration)%(Extension)"
 | |
|               Destination="@(_FilesToTransformNotAppConfig->'$(_PackageTempDir)\%(RelativeDir)%(Filename)%(Extension)')"
 | |
|               Condition=" '%(Filename)%(Extension)' != 'web.config' and
 | |
|                           Exists('%(RelativeDir)%(Filename).$(Configuration)%(Extension)')
 | |
|                           and '%(Link)'=='' " />
 | |
| 
 | |
|     <!-- Transform the Link files, they always go into the root directory -->
 | |
|     <SlowCheetah.Xdt.TransformXml Source="@(_FilesToTransformNotAppConfig->'%(FullPath)')"
 | |
|               Transform="%(RelativeDir)%(Filename).$(Configuration)%(Extension)"
 | |
|               Destination="@(_FilesToTransformNotAppConfig->'$(_PackageTempDir)\%(Link)')"
 | |
|               Condition=" '%(Filename)%(Extension)' != 'web.config' and
 | |
|                           Exists('%(RelativeDir)%(Filename).$(Configuration)%(Extension)')
 | |
|                           and '%(Link)'!='' " />
 | |
|   </Target>
 | |
| 
 | |
|   <Target Name="CopyTransformFileWapPublishProfile" DependsOnTargets="CoreCopyTransformFilesWap">
 | |
|     <ItemGroup>
 | |
|       <_ScWapPubProfileFullPath Include="$(WebPublishProfileFile)"/>
 | |
|     </ItemGroup>
 | |
|     <PropertyGroup>
 | |
|       <_WapPubProfile Condition=" '$(_WapPubProfile)'=='' and '@(_ScWapPubProfileFullPath)'!='' ">%(_ScWapPubProfileFullPath.Filename)</_WapPubProfile>
 | |
|     </PropertyGroup>
 | |
| 
 | |
|     <!--Make sure that we do not do this for web.config-->
 | |
|     <!-- This usage will skip Link files, the task usage below will handle Link files -->
 | |
|     <SlowCheetah.Xdt.TransformXml Source="@(_FilesToTransformNotAppConfig->'$(_PackageTempDir)\%(RelativeDir)%(Filename)%(Extension)')"
 | |
|               Transform="%(RelativeDir)%(Filename).$(_WapPubProfile)%(Extension)"
 | |
|               Destination="@(_FilesToTransformNotAppConfig->'$(_PackageTempDir)\%(RelativeDir)%(Filename)%(Extension)')"
 | |
|               Condition=" '%(Filename)%(Extension)' != 'web.config' and
 | |
|                           Exists('%(RelativeDir)%(Filename).$(_WapPubProfile)%(Extension)')
 | |
|                           and '%(Link)'=='' and '$(_WapPubProfile)'!='' and '$(_WapPubProfile)'!='$(Configuration)' " />
 | |
| 
 | |
|     <!-- Transform the Link files, they always go into the root directory -->
 | |
|     <SlowCheetah.Xdt.TransformXml Source="@(_FilesToTransformNotAppConfig->'$(_PackageTempDir)\%(Link)')"
 | |
|               Transform="%(RelativeDir)%(Filename).$(_WapPubProfile)%(Extension)"
 | |
|               Destination="@(_FilesToTransformNotAppConfig->'$(_PackageTempDir)\%(Link)')"
 | |
|               Condition=" '%(Filename)%(Extension)' != 'web.config' and
 | |
|                           Exists('%(RelativeDir)%(Filename).$(_WapPubProfile)%(Extension)')
 | |
|                           and '%(Link)'!=''  and '$(_WapPubProfile)'!='' and '$(_WapPubProfile)'!='$(Configuration)' " />
 | |
|   </Target>
 | |
| 
 | |
|   <!-- ***********************************************************
 | |
|   ClickOnce related items below
 | |
|   ****************************************************************-->
 | |
| 
 | |
|   <!-- Target was named: SlowCheetah_ClickOnceUpdate -->
 | |
|   <Target Name="ScReplaceAppConfigItem"
 | |
|           BeforeTargets="_DeploymentComputeClickOnceManifestInfo;BuiltProjectOutputGroup"
 | |
|           DependsOnTargets="TransformAllFiles">
 | |
|     <!--<Message Text="ScReplaceAppConfigItem" Importance="low"/>
 | |
|     <PropertyGroup>
 | |
|       <_SlowCheetahAppConfigTransformExists Condition="Exists(@(_AppConfigToTransform->'%(RelativeDir)%(Filename).$(Configuration)%(Extension)'))">true</_SlowCheetahAppConfigTransformExists>
 | |
|     </PropertyGroup>
 | |
|     <PropertyGroup>
 | |
|       <_OldAppConfigWithTargetPath>%(AppConfigWithTargetPath.TargetPath)</_OldAppConfigWithTargetPath>
 | |
|       <_SCNewAppConfigFile>@(AppConfigWithTargetPath->'$(IntermediateOutputPath)SlowCheetah\%(Filename)%(Extension)')</_SCNewAppConfigFile>
 | |
|       <_TmpFileExist>false</_TmpFileExist>
 | |
|       <_TmpFileExist Condition="Exists('@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')')">true</_TmpFileExist>
 | |
|     </PropertyGroup>
 | |
|     <Message Text="****_TmpFileExis: [$(_TmpFileExist)]" Importance="high"/>
 | |
|     <Copy SourceFiles="@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')" 
 | |
|           DestinationFiles="$(_SCNewAppConfigFile)" 
 | |
|           Condition="'$(_SlowCheetahAppConfigTransformExists)'=='true' and Exists('@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')')" />
 | |
|     
 | |
|     <ItemGroup Condition="'$(_SlowCheetahAppConfigTransformExists)'=='true'">
 | |
|       <AppConfigWithTargetPath Remove="@(AppConfigWithTargetPath)" />
 | |
|       <AppConfigWithTargetPath Include="$(_SCNewAppConfigFile)">
 | |
|         <TargetPath>$(_OldAppConfigWithTargetPath)</TargetPath>
 | |
|       </AppConfigWithTargetPath>
 | |
|     </ItemGroup>
 | |
| 
 | |
|     <Message Text="Updated app.config to point to transformed file" />
 | |
|     <Message Text="    AppConfigWithTargetPath: @(AppConfigWithTargetPath)"/>
 | |
|     <Message Text="    AppConfigWithTargetPath.TargetPath: @(AppConfigWithTargetPath->'%(TargetPath)')"/>-->
 | |
| 
 | |
|   </Target>
 | |
| 
 | |
|   <Target Name="SlowCheetah_ClickOnceLooseFileUpdate" AfterTargets="_DeploymentComputeClickOnceManifestInfo" DependsOnTargets="DiscoverFilesToTransform">
 | |
|     <!-- For non app.config files which are being transformed we need to remove the original item and replace it with the transformed one -->
 | |
|     <ItemGroup>
 | |
|       <_DeploymentManifestFiles Remove="%(_FilesToTransformNotAppConfig.OriginalItemSpec)" />
 | |
|       <!-- Implementation for non-Link files -->
 | |
|       <_DeploymentManifestFiles Include="@(_FilesToTransformNotAppConfig->'$(OutDir)%(RelativeDir)%(Filename)%(Extension)')"
 | |
|                                 Condition=" '%(_FilesToTransformNotAppConfig.Link)'=='' ">
 | |
|         <TargetPath Condition=" '%(_FilesToTransformNotAppConfig.Link)'=='' ">%(RelativeDir)%(Filename)%(Extension)</TargetPath>
 | |
|       </_DeploymentManifestFiles>
 | |
| 
 | |
|       <!-- Implementation for Linked files -->
 | |
|       <_DeploymentManifestFiles Include="@(_FilesToTransformNotAppConfig->'$(OutDir)%(Link)')"
 | |
|                                 Condition=" '%(_FilesToTransformNotAppConfig.Link)'!='' ">
 | |
|         <TargetPath>%(_FilesToTransformNotAppConfig.Link)</TargetPath>
 | |
|       </_DeploymentManifestFiles>
 | |
|     </ItemGroup>
 | |
|   </Target>
 | |
| 
 | |
| 
 | |
|   <!-- ***********************************************************
 | |
|   Setup project related items below
 | |
|   ****************************************************************-->
 | |
|   <PropertyGroup>
 | |
|     <SlowCheetahEnableSetupProjects Condition=" '$(SlowCheetahEnableSetupProjects)'=='' ">true</SlowCheetahEnableSetupProjects>
 | |
|   </PropertyGroup>
 | |
| 
 | |
|   <PropertyGroup Condition=" '$(SlowCheetahEnableSetupProjects)'=='true'">
 | |
|     <AddAppConfigToBuildOutputs>false</AddAppConfigToBuildOutputs>
 | |
| 
 | |
|     <BuiltProjectOutputGroupDependsOn>
 | |
|       $(BuiltProjectOutputGroupDependsOn);
 | |
|       AfterBuiltProjectOutputGroup
 | |
|     </BuiltProjectOutputGroupDependsOn>
 | |
|   </PropertyGroup>
 | |
| 
 | |
|   <Target Name="AfterBuiltProjectOutputGroup" DependsOnTargets="TransformAllFiles">
 | |
| 
 | |
|     <ItemGroup>
 | |
|       <_TmpAppConfig Include="@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')" />
 | |
|     </ItemGroup>
 | |
| 
 | |
|     <!-- We need to get the full path to the files included in the Identiy metadata.
 | |
|          This is required for Worker Roles. The target CopyWorkerRoleFiles attempts to copy but
 | |
|          does not use the FullPath so it will not locate the files otherwise.
 | |
|          See https://github.com/sayedihashimi/slow-cheetah/issues/44.
 | |
|     -->
 | |
|     <ItemGroup>
 | |
|       <_FilesToTransformNotAppConfig>
 | |
|         <FullPathToItem Condition=" '%(Link)'=='' ">$([System.IO.Path]::GetFullPath( $(OutDir)%(RelativeDir)%(Filename)%(Extension) ))</FullPathToItem>
 | |
|         <FullPathToItem Condition=" '%(Link)'!='' ">$([System.IO.Path]::GetFullPath( $(OutDir)%(Link) ))</FullPathToItem>
 | |
|       </_FilesToTransformNotAppConfig>
 | |
|     </ItemGroup>
 | |
| 
 | |
|     <ItemGroup>
 | |
|       <BuiltProjectOutputGroupOutput Include="@(_TmpAppConfig->'%(FullPath)')">
 | |
|         <!-- For compatibility with 2.0 -->
 | |
|         <OriginalItemSpec>$(AppConfig)</OriginalItemSpec>
 | |
|       </BuiltProjectOutputGroupOutput>
 | |
| 
 | |
|       <BuiltProjectOutputGroupOutput Include="@(_FilesToTransformNotAppConfig->'%(FullPathToItem)')"
 | |
|                                      Condition=" '%(_FilesToTransformNotAppConfig.Link)'==''">
 | |
|         <OriginalItemSpec>@(_FilesToTransformNotAppConfig->'$(OutDir)%(RelativeDir)%(Filename)%(Extension)')</OriginalItemSpec>
 | |
|         <TargetPath>@(_FilesToTransformNotAppConfig->'%(RelativeDir)%(Filename)%(Extension)')</TargetPath>
 | |
|       </BuiltProjectOutputGroupOutput>
 | |
| 
 | |
|       <BuiltProjectOutputGroupOutput Include="@(_FilesToTransformNotAppConfig->'%(FullPathToItem)')"
 | |
|                                      Condition=" '%(_FilesToTransformNotAppConfig.Link)'!=''">
 | |
|         <OriginalItemSpec>@(_FilesToTransformNotAppConfig->'$(OutDir)%(Link)')</OriginalItemSpec>
 | |
|         <TargetPath>@(_FilesToTransformNotAppConfig->'%(Link)')</TargetPath>
 | |
|       </BuiltProjectOutputGroupOutput>
 | |
|     </ItemGroup>
 | |
| 
 | |
|     <!--<Message Text="OutDir: $(Outdir)" Importance="high"/>
 | |
|     <Message Text="BuiltProjectOutputGroupOutput: [%(BuiltProjectOutputGroupOutput.Identity),%(BuiltProjectOutputGroupOutput.TargetPath)]" Importance="high"/>-->
 | |
|   </Target>
 | |
| </Project>
 | 
