-
Notifications
You must be signed in to change notification settings - Fork 706
/
Uno.UI.Tasks.targets
90 lines (81 loc) · 4.03 KB
/
Uno.UI.Tasks.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
<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<UnoUIMSBuildTasksPath Condition="'$(UnoUIMSBuildTasksPath)'==''">..\Uno.UI.Tasks</UnoUIMSBuildTasksPath>
<UmbrellaMSBuildTasksImported>true</UmbrellaMSBuildTasksImported>
</PropertyGroup>
<ItemGroup>
<UnoSourceGeneratorBeforeTarget Condition="'$(XamarinProjectType)'=='android'" Include="UpdateAndroidAssets" />
</ItemGroup>
<UsingTask AssemblyFile="$(UnoUIMSBuildTasksPath)\Uno.UI.Tasks.v0.dll" TaskName="Uno.UI.Tasks.ResourcesGenerator.ResourcesGenerationTask_v0" />
<UsingTask AssemblyFile="$(UnoUIMSBuildTasksPath)\Uno.UI.Tasks.v0.dll" TaskName="Uno.UI.Tasks.Assets.RetargetAssets_v0" />
<Target Name="UnoResourcesGeneration"
BeforeTargets="_CheckForContent"
AfterTargets="ResolveReferences"
DependsOnTargets="AssignLinkMetadata"
Condition="'$(DesignTimeBuild)' != 'true' and '$(BuildingInsideUnoSourceGenerator)' == '' and ('$(XamarinProjectType)'!='' or '$(UnoForceProcessPRIResource)'!='')">
<CheckForDevenv />
<!-- String resources -->
<PropertyGroup>
<!-- LEGACY: Old projects define DefaultApplicationLanguage instead of DefaultLanguage -->
<DefaultLanguage Condition="'$(DefaultLanguage)'=='' and '$(DefaultApplicationLanguage)'!=''">$(DefaultApplicationLanguage)</DefaultLanguage>
<!-- Default to English if DefaultLanguage isn't set -->
<DefaultLanguage Condition="'$(DefaultLanguage)'==''">en</DefaultLanguage>
<XamarinProjectType Condition="'$(UnoForceProcessPRIResource)'!=''"></XamarinProjectType>
</PropertyGroup>
<ResourcesGenerationTask_v0 Resources="@(PRIResource)"
TargetProjectDirectory="$(ProjectDir)"
TargetPlatform="$(XamarinProjectType)"
IntermediateOutputPath="$(IntermediateOutputPath)"
DefaultLanguage="$(DefaultLanguage)">
<Output TaskParameter="GeneratedFiles"
ItemName="GeneratedFiles" />
</ResourcesGenerationTask_v0>
<ItemGroup>
<BundleResource Condition="'%(GeneratedFiles.UnoResourceTarget)' =='iOS'" Include="@(GeneratedFiles)" />
<AndroidResource Condition="'%(GeneratedFiles.UnoResourceTarget)' =='Android'" Include="@(GeneratedFiles)" />
<EmbeddedResource Condition="'%(GeneratedFiles.UnoResourceTarget)' =='Uno'" Include="@(GeneratedFiles)" />
</ItemGroup>
<!-- Assets -->
<PropertyGroup>
<UseHighDPIResources Condition="'$(UseHighDPIResources)'==''">True</UseHighDPIResources>
</PropertyGroup>
<RetargetAssets_v0 UseHighDPIResources="$(UseHighDPIResources)"
TargetPlatform="$(XamarinProjectType)"
DefaultLanguage="$(DefaultLanguage)"
ContentItems="@(Content)"
Condition="'$(XamarinProjectType)'!=''">
<Output TaskParameter="Assets"
ItemName="Assets" />
<Output TaskParameter="RetargetedAssets"
ItemName="RetargetedAssets" />
</RetargetAssets_v0>
<ItemGroup>
<Content Remove="@(Assets)" />
<BundleResource Condition="'$(XamarinProjectType)'=='ios'" Include="@(RetargetedAssets)" />
<AndroidResource Condition="'$(XamarinProjectType)'=='android'" Include="@(RetargetedAssets)" />
</ItemGroup>
</Target>
<!--
Warn when the task is executed in devenv.exe: https://github.com/dotnet/project-system/issues/4494
-->
<UsingTask
TaskName="CheckForDevenv"
TaskFactory="CodeTaskFactory"
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll" >
<ParameterGroup />
<Task>
<Reference Include="System.Xml"/>
<Using Namespace="System"/>
<Using Namespace="System.IO"/>
<Code Type="Fragment" Language="cs">
<![CDATA[
if (System.Diagnostics.Process.GetCurrentProcess().ProcessName.Equals("devenv", System.StringComparison.OrdinalIgnoreCase))
{
Log.LogWarning("The Uno.UI.Tasks build task is running under devenv.exe you will have to restart Visual Studio to rebuild it.");
}
]]>
</Code>
</Task>
</UsingTask>
</Project>