forked from ikvmnet/ikvm-maven
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDirectory.Build.targets
121 lines (106 loc) · 8.61 KB
/
Directory.Build.targets
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<Project>
<Target Name="GetLibProjectReferences">
<MSBuild Projects="@(LibProjectReference->'%(ProjectFile)')" Targets="GetTargetPath" Properties="Platform=%(LibProjectReference.Platform);Configuration=%(LibProjectReference.Configuration)">
<Output TaskParameter="TargetOutputs" ItemName="_LibProjectReferenceWithOutputPath" />
</MSBuild>
<ItemGroup>
<LibProjectReferenceWithOutputPath Include="@(_LibProjectReferenceWithOutputPath)">
<OutputPath>%(Identity)</OutputPath>
</LibProjectReferenceWithOutputPath>
</ItemGroup>
</Target>
<Target Name="GetItemsForLibProjectReferences" BeforeTargets="Build;AssignTargetPaths" DependsOnTargets="GetLibProjectReferences" Condition="'$(DesignTimeBuild)' != 'true'">
<ItemGroup>
<None Include="@(LibProjectReferenceWithOutputPath->'%(OutputPath)')">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Link>%(LibProjectReferenceWithOutputPath.OutputDir)\%(LibProjectReferenceWithOutputPath.Filename)%(LibProjectReferenceWithOutputPath.Extension)</Link>
<Pack>true</Pack>
<PackagePath>%(LibProjectReferenceWithOutputPath.OutputDir)</PackagePath>
<PackageCopyToOutput>true</PackageCopyToOutput>
</None>
</ItemGroup>
</Target>
<Target Name="BuildLibProjectReferences" BeforeTargets="Compile" DependsOnTargets="GetLibProjectReferences" Condition="'$(DesignTimeBuild)' != 'true'">
<MSBuild Projects="%(LibProjectReferenceWithOutputPath.ProjectFile)" Targets="Build" Properties="Platform=%(LibProjectReferenceWithOutputPath.Platform);Configuration=%(LibProjectReferenceWithOutputPath.Configuration)">
<Output TaskParameter="TargetOutputs" ItemName="LibProjectReferencesCompileOutput" />
</MSBuild>
</Target>
<Target Name="AssignPublishProjectConfiguration" Condition=" '@(PublishProjectReference)' != '' " Inputs="@(PublishProjectReference)" Outputs="dummy">
<PropertyGroup>
<OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration Condition="'$(OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration)' == ''">true</OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration>
<ShouldUnsetParentConfigurationAndPlatform Condition="'$(ShouldUnsetParentConfigurationAndPlatform)' == '' and ('$(BuildingInsideVisualStudio)' == 'true' or '$(BuildingSolutionFile)' == 'true')">true</ShouldUnsetParentConfigurationAndPlatform>
<ShouldUnsetParentConfigurationAndPlatform Condition="'$(ShouldUnsetParentConfigurationAndPlatform)' == ''">false</ShouldUnsetParentConfigurationAndPlatform>
<AddSyntheticProjectReferencesForSolutionDependencies Condition="'$(AddSyntheticProjectReferencesForSolutionDependencies)' == '' and '$(TargetFrameworkIdentifier)' == 'Silverlight'">false</AddSyntheticProjectReferencesForSolutionDependencies>
<AddSyntheticProjectReferencesForSolutionDependencies Condition="'$(AddSyntheticProjectReferencesForSolutionDependencies)' == '' and '$(BuildingInsideVisualStudio)' != 'true'">true</AddSyntheticProjectReferencesForSolutionDependencies>
</PropertyGroup>
<AssignProjectConfiguration
ProjectReferences="@(PublishProjectReference)"
CurrentProject="$(MSBuildProjectFullPath)"
CurrentProjectConfiguration="$(Configuration)"
CurrentProjectPlatform="$(Platform)"
DefaultToVcxPlatformMapping="$(DefaultToVcxPlatformMapping)"
VcxToDefaultPlatformMapping="$(VcxToDefaultPlatformMapping)"
OutputType="$(OutputType)"
ResolveConfigurationPlatformUsingMappings="false"
SolutionConfigurationContents="$(CurrentSolutionConfigurationContents)"
AddSyntheticProjectReferencesForSolutionDependencies="$(AddSyntheticProjectReferencesForSolutionDependencies)"
OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration = "$(OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration)"
ShouldUnsetParentConfigurationAndPlatform = "$(ShouldUnsetParentConfigurationAndPlatform)" >
<Output TaskParameter="AssignedProjects" ItemName="_PublishProjectReferenceWithConfiguration"/>
<Output TaskParameter="UnassignedProjects" ItemName="_PublishProjectReferenceWithConfiguration"/>
</AssignProjectConfiguration>
</Target>
<Target Name="GetPublishProjectReferences" DependsOnTargets="AssignPublishProjectConfiguration" Inputs="@(_PublishProjectReferenceWithConfiguration)" Outputs="dummy">
<ItemGroup>
<_PublishProjectReference Include="@(_PublishProjectReferenceWithConfiguration)">
<ProjectName>$([System.IO.Path]::GetFileNameWithoutExtension('%(Identity)'))</ProjectName>
<PublishTargetPath Condition=" '%(_PublishProjectReferenceWithConfiguration.PublishTargetPath)' != '' ">$([MSBuild]::EnsureTrailingSlash('%(_PublishProjectReferenceWithConfiguration.PublishTargetPath)'))</PublishTargetPath>
<PublishPackagePath Condition=" '%(_PublishProjectReferenceWithConfiguration.PublishPackagePath)' != '' ">$([MSBuild]::EnsureTrailingSlash('%(_PublishProjectReferenceWithConfiguration.PublishPackagePath)'))</PublishPackagePath>
</_PublishProjectReference>
</ItemGroup>
</Target>
<Target Name="GetPublishProjectReferenceItems" DependsOnTargets="GetPublishProjectReferences" Inputs="@(_PublishProjectReference)" Outputs="dummy">
<MSBuild Projects="@(_PublishProjectReference)" Targets="Publish;PublishItemsOutputGroup" BuildInParallel="$(BuildInParallel)" Properties="%(_PublishProjectReference.SetConfiguration);%(_PublishProjectReference.SetPlatform);%(_PublishProjectReference.SetTargetFramework);%(_PublishProjectReference.PublishProperties)" RemoveProperties="%(_PublishProjectReference.GlobalPropertiesToRemove);%(_PublishProjectReference.PublishPropertiesToRemove);" RebaseOutputs="true">
<Output TaskParameter="TargetOutputs" ItemName="_PublishProjectReferenceItems" />
</MSBuild>
</Target>
<Target Name="GetPublishProjectReferenceCopyToOutputDirectoryItems" DependsOnTargets="GetPublishProjectReferenceItems">
<ItemGroup>
<ContentWithTargetPath Include="@(_PublishProjectReferenceItems)" Condition=" '%(_PublishProjectReferenceItems.PublishTargetPath)' != '' ">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<TargetPath>%(_PublishProjectReferenceItems.PublishTargetPath)%(_PublishProjectReferenceItems.TargetPath)</TargetPath>
<Pack Condition=" '%(_PublishProjectReferenceItems.PublishPackagePath)' != '' ">true</Pack>
<PackagePath Condition=" '%(_PublishProjectReferenceItems.PublishPackagePath)' != '' ">%(_PublishProjectReferenceItems.PublishPackagePath)%(_PublishProjectReferenceOutputItems.TargetPath)</PackagePath>
</ContentWithTargetPath>
</ItemGroup>
</Target>
<PropertyGroup>
<GetCopyToOutputDirectoryItemsDependsOn>
AssignPublishProjectConfiguration;
GetPublishProjectReferences;
GetPublishProjectReferenceItems;
GetPublishProjectReferenceCopyToOutputDirectoryItems;
$(GetCopyToOutputDirectoryItemsDependsOn);
</GetCopyToOutputDirectoryItemsDependsOn>
</PropertyGroup>
<Target Name="GetPublishProjectReferencePackageItems" DependsOnTargets="GetPublishProjectReferenceItems">
<ItemGroup>
<_PackageFiles Include="@(_PublishProjectReferenceItems->Distinct())" Condition=" '%(_PublishProjectReferenceItems.PublishPackagePath)' != '' ">
<PackagePath>%(_PublishProjectReferenceItems.PublishPackagePath)%(_PublishProjectReferenceItems.TargetPath)</PackagePath>
</_PackageFiles>
</ItemGroup>
</Target>
<PropertyGroup>
<GetPublishProjectReferenceItemsBeforePackageFilesDependsOn>
AssignPublishProjectConfiguration;
GetPublishProjectReferences;
GetPublishProjectReferenceItems;
GetPublishProjectReferencePackageItems;
$(GetPublishProjectReferenceItemsBeforePackageFilesDependsOn);
</GetPublishProjectReferenceItemsBeforePackageFilesDependsOn>
</PropertyGroup>
<Target Name="GetPublishProjectReferencePackageItemsBeforeGetPackageFiles" DependsOnTargets="$(GetPublishProjectReferenceItemsBeforePackageFilesDependsOn)" BeforeTargets="_GetPackageFiles">
</Target>
<Target Name="GetPackageOutputPath" DependsOnTargets="_GetAbsoluteOutputPathsForPack" Returns="$(PackageOutputAbsolutePath)">
</Target>
</Project>