<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <SdkDebugLayoutOutputDirectory>$(LayoutDirectory)/$(ArtifactNameSdkDebug)</SdkDebugLayoutOutputDirectory> <CombinedHostHostFxrFrameworkSdkOutputDirectory>$(LayoutDirectory)/$(ArtifactNameCombinedHostHostFxrFrameworkSdk)</CombinedHostHostFxrFrameworkSdkOutputDirectory> <SdkLanguagePackOutputDirectory>$(LayoutDirectory)/$(ArtifactNameSdkLanguagePack)</SdkLanguagePackOutputDirectory> <SatelliteAssemblies>*.resources.dll</SatelliteAssemblies> <WindowsSatelliteAssembliesRegEx>.*.resources.dll</WindowsSatelliteAssembliesRegEx> </PropertyGroup> <Target DependsOnTargets="Init" Name="SetupLayoutInputsOutputs" > <!-- Set up Items with Layout Input Files --> <ItemGroup> <SdkLayoutInput Include="$(OutputDirectory)/sdk/**/*" /> <SdkDebugLayoutInput Include="$(SymbolsDirectory)/sdk/**/*" /> <CombinedHostHostFxrFrameworkSdkInput Include="$(OutputDirectory)/**/*" /> <SdkLanguagePackInput Include="$(OutputDirectory)/sdk/**/$(SatelliteAssemblies)" /> <AspNetRuntimeFilesInput Include="$(AspNetRuntimePackageStorePublishDirectory)/**/*" /> <MSBuildExtensionsInput Include="$(MSBuildExtensionsLayoutDirectory)/msbuildExtensions/**/*" /> <MSBuildExtensionsVerInput Include="$(MSBuildExtensionsLayoutDirectory)/msbuildExtensions-ver/**/*" /> <CombinedMSBuildExtensionsInput Include="@(MSBuildExtensionsInput)" /> <CombinedMSBuildExtensionsInput Include="@(MSBuildExtensionsVerInput)" /> </ItemGroup> <MakeRelative Path1="$(OutputDirectory)/" Path2="%(SdkLayoutInput.Identity)" > <Output TaskParameter="RelativePath" ItemName="SdkRelativeOutputFiles" /> </MakeRelative> <MakeRelative Path1="$(SymbolsDirectory)" Path2="%(SdkDebugLayoutInput.Identity)" > <Output TaskParameter="RelativePath" ItemName="SdkDebugRelativeOutputFiles" /> </MakeRelative> <MakeRelative Path1="$(OutputDirectory)/" Path2="%(CombinedHostHostFxrFrameworkSdkInput.Identity)" > <Output TaskParameter="RelativePath" ItemName="CombinedHostHostFxrFrameworkSdkRelativeOutputFiles" /> </MakeRelative> <MakeRelative Path1="$(OutputDirectory)/" Path2="%(SdkLanguagePackInput.Identity)" > <Output TaskParameter="RelativePath" ItemName="SdkLanguagePackRelativeOutputFiles" /> </MakeRelative> <MakeRelative Path1="$(MSBuildExtensionsLayoutDirectory)/msbuildExtensions/" Path2="%(MSBuildExtensionsInput.Identity)" > <Output TaskParameter="RelativePath" ItemName="MSBuildExtensionsRelativeOutputFiles" /> </MakeRelative> <MakeRelative Path1="$(MSBuildExtensionsLayoutDirectory)/msbuildExtensions-ver/" Path2="%(MSBuildExtensionsVerInput.Identity)" > <Output TaskParameter="RelativePath" ItemName="MSBuildExtensionsVerRelativeOutputFiles" /> </MakeRelative> <ItemGroup> <CombinedMSBuildExtensionsRelativeOutputFiles Include="@(MSBuildExtensionsRelativeOutputFiles)" /> <CombinedMSBuildExtensionsRelativeOutputFiles Include="@(MSBuildExtensionsVerRelativeOutputFiles -> '14.0/%(Identity)')" /> </ItemGroup> <!-- Set up Items Defining Layouts for easy change --> <ItemGroup> <LayoutDefinition Include="Sdk"> <InputFiles>@(SdkLayoutInput)</InputFiles> <OutputFiles>@(SdkRelativeOutputFiles -> '$(SdkLayoutOutputDirectory)/%(Identity)')</OutputFiles> <NameWithVersion>$(ArtifactNameWithVersionSdk)</NameWithVersion> <Name>$(ArtifactNameSdk)</Name> </LayoutDefinition> <LayoutDefinition Include="Debug"> <InputFiles>@(SdkDebugLayoutInput)</InputFiles> <OutputFiles>@(SdkDebugRelativeOutputFiles -> '$(SdkDebugLayoutOutputDirectory)/%(Identity)')</OutputFiles> <NameWithVersion>$(ArtifactNameWithVersionSdkDebug)</NameWithVersion> <Name>$(ArtifactNameSdkDebug)</Name> </LayoutDefinition> <LayoutDefinition Include="CombinedHostHostFxrFrameworkSdk"> <InputFiles>@(CombinedHostHostFxrFrameworkSdkInput)</InputFiles> <OutputFiles>@(CombinedHostHostFxrFrameworkSdkRelativeOutputFiles -> '$(CombinedHostHostFxrFrameworkSdkOutputDirectory)/%(Identity)')</OutputFiles> <NameWithVersion>$(ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)</NameWithVersion> <Name>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)</Name> <ExcludePatterns Condition=" '$(OSName)' == 'win' ">$(WindowsSatelliteAssembliesRegEx)</ExcludePatterns> <ExcludePatterns Condition=" '$(OSName)' != 'win' ">$(SatelliteAssemblies)</ExcludePatterns> </LayoutDefinition> <LayoutDefinition Include="SdkLanguagePack"> <InputFiles>@(SdkLanguagePackInput)</InputFiles> <OutputFiles>@(SdkLanguagePackRelativeOutputFiles -> '$(SdkLanguagePackOutputDirectory)/%(Identity)')</OutputFiles> <NameWithVersion>$(ArtifactNameWithVersionSdkLanguagePack)</NameWithVersion> <Name>$(ArtifactNameSdkLanguagePack)</Name> </LayoutDefinition> </ItemGroup> <ItemGroup Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x86' "> <LayoutDefinition Include="MSBuildExtensions"> <InputFiles>@(CombinedMSBuildExtensionsInput)</InputFiles> <OutputFiles>@(CombinedMSBuildExtensionsRelativeOutputFiles -> '$(MSBuildExtensionsOutputDirectory)/%(Identity)')</OutputFiles> </LayoutDefinition> </ItemGroup> </Target> <Target Name="Layout" DependsOnTargets="Init;SetupLayoutInputsOutputs" Inputs="@(LayoutDefinition -> '%(InputFiles)')" Outputs="@(LayoutDefinition -> '%(OutputFiles)')" > <!-- Copy Files to layout directories based on defintiions --> <Copy SourceFiles="%(LayoutDefinition.InputFiles)" DestinationFiles="%(LayoutDefinition.OutputFiles)" SkipUnchangedFiles="true" /> </Target> </Project>