forked from dotnet/msbuild
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CreateSetupPackageLayout.proj
102 lines (87 loc) · 5.26 KB
/
CreateSetupPackageLayout.proj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="dir.props" />
<Import Project="$(MicroBuildDir)MicroBuild.Core.props" />
<PropertyGroup>
<X86OutputPath>$(BaseOutputPath)X86\$(OS)\$(Configuration)\</X86OutputPath>
<X64OutputPath>$(BaseOutputPath)X64\$(OS)\$(Configuration)\</X64OutputPath>
<SetupPackageRoot>$(BinDir)Setup\</SetupPackageRoot>
<SetupPackageLayoutDir>$(SetupPackageRoot)layout\</SetupPackageLayoutDir>
<SetupPackageOutputFile>$(SetupPackageRoot)MSBuild.fopx</SetupPackageOutputFile>
</PropertyGroup>
<ItemGroup>
<BinX86Output Include="$(X86OutputPath)Microsoft.Build.dll" />
<BinX86Output Include="$(X86OutputPath)Microsoft.Build.Framework.dll" />
<BinX86Output Include="$(X86OutputPath)Microsoft.Build.Tasks.Core.dll" />
<BinX86Output Include="$(X86OutputPath)Microsoft.Build.Utilities.Core.dll" />
<BinX86Output Include="$(X86OutputPath)MSBuild.exe" />
<BinX86Output Include="$(X86OutputPath)MSBuild.exe.config" />
<BinX86Output Include="$(X86OutputPath)MSBuildTaskHost.exe" />
<BinX86Output Include="$(X86OutputPath)MSBuildTaskHost.exe.config" />
<BinX86Output Include="$(X86OutputPath)System.Threading.Tasks.Dataflow.dll" />
<BinX64Output Include="$(X64OutputPath)Microsoft.Build.dll" />
<BinX64Output Include="$(X64OutputPath)Microsoft.Build.Framework.dll" />
<BinX64Output Include="$(X64OutputPath)Microsoft.Build.Tasks.Core.dll" />
<BinX64Output Include="$(X64OutputPath)Microsoft.Build.Utilities.Core.dll" />
<BinX64Output Include="$(X64OutputPath)MSBuild.exe" />
<BinX64Output Include="$(X64OutputPath)MSBuild.exe.config" />
<BinX64Output Include="$(X64OutputPath)MSBuildTaskHost.exe" />
<BinX64Output Include="$(X64OutputPath)MSBuildTaskHost.exe.config" />
<BinX64Output Include="$(X64OutputPath)System.Threading.Tasks.Dataflow.dll" />
<CommonOutput Include="$(X86OutputPath)Microsoft.Common.CurrentVersion.targets" />
<CommonOutput Include="$(X86OutputPath)Microsoft.Common.overridetasks" />
<CommonOutput Include="$(X86OutputPath)Microsoft.Common.targets" />
<CommonOutput Include="$(X86OutputPath)Microsoft.Common.tasks" />
<CommonOutput Include="$(X86OutputPath)Microsoft.CSharp.Core.targets" />
<CommonOutput Include="$(X86OutputPath)Microsoft.CSharp.CurrentVersion.targets" />
<CommonOutput Include="$(X86OutputPath)Microsoft.CSharp.targets" />
<CommonOutput Include="$(X86OutputPath)Microsoft.NetFramework.CurrentVersion.props" />
<CommonOutput Include="$(X86OutputPath)Microsoft.NetFramework.CurrentVersion.targets" />
<CommonOutput Include="$(X86OutputPath)Microsoft.NetFramework.props" />
<CommonOutput Include="$(X86OutputPath)Microsoft.NetFramework.targets" />
<CommonOutput Include="$(X86OutputPath)Microsoft.VisualBasic.CurrentVersion.targets" />
<CommonOutput Include="$(X86OutputPath)Microsoft.VisualBasic.targets" />
</ItemGroup>
<ItemGroup>
<PkgDef Include="$(SourceDir)Framework\Microsoft.Build.Framework.pkgdef" />
<PkgDef Include="$(SourceDir)XMakeBuildEngine\Microsoft.Build.pkgdef" />
<PkgDef Include="$(SourceDir)XmakeTasks\Microsoft.Build.Tasks.Core.pkgdef" />
<PkgDef Include="$(SourceDir)Utilities\Microsoft.Build.Utilities.Core.pkgdef" />
</ItemGroup>
<!-- Needed for the MicroBuild signing plugin -->
<ItemGroup>
<SigningTarget Include="$(SetupPackageOutputFile)"/>
<FilesToSign Include="@(SigningTarget)">
<Authenticode>Vsix</Authenticode>
</FilesToSign>
</ItemGroup>
<PropertyGroup>
<OutDir>$(SetupPackageRoot)</OutDir>
</PropertyGroup>
<Target Name="Build">
<Error Text="FopCreator.exe not found (MS internal only tool)."
Condition="!Exists('$(PackagesDir)\VS.Tools.Setup.FopCreator.1.0.16022601\FopCreator.exe')" />
<Error Text="X86 output folder not found."
Condition="!Exists('$(X86OutputPath)')" />
<Error Text="X64 output folder not found."
Condition="!Exists('$(X64OutputPath)')" />
<!-- Delete the output if exists -->
<RemoveDir Directories="$(SetupPackageRoot)" />
<!-- Copy our binaries to Bin and Bin\amd64 -->
<Copy SourceFiles="@(BinX86Output)"
DestinationFolder="$(SetupPackageLayoutDir)MSBuild\$(TargetMSBuildToolsVersion)\Bin" />
<Copy SourceFiles="@(CommonOutput)"
DestinationFolder="$(SetupPackageLayoutDir)MSBuild\$(TargetMSBuildToolsVersion)\Bin" />
<Copy SourceFiles="@(BinX64Output)"
DestinationFolder="$(SetupPackageLayoutDir)MSBuild\$(TargetMSBuildToolsVersion)\Bin\amd64" />
<Copy SourceFiles="@(CommonOutput)"
DestinationFolder="$(SetupPackageLayoutDir)MSBuild\$(TargetMSBuildToolsVersion)\Bin\amd64" />
<Copy SourceFiles="@(PkgDef)"
DestinationFolder="$(SetupPackageLayoutDir)Common7\IDE\CommonExtensions\MSBuild" />
<Exec Command="$(PackagesDir)\VS.Tools.Setup.FopCreator.1.0.16022601\FopCreator.exe /layoutdir $(SetupPackageLayoutDir) /outputfopx $(SetupPackageOutputFile)" />
<CallTarget Targets="AfterBuild" />
</Target>
<!-- MicroBuild signing plugin needs an AfterBuild target to run -->
<Target Name="AfterBuild" />
<Import Project="$(MicroBuildDir)MicroBuild.Core.targets" />
</Project>