-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathafter.lambdajection.sln.targets
151 lines (132 loc) · 6.83 KB
/
after.lambdajection.sln.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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<RunFormatter Condition="$(RunFormatter) == ''">true</RunFormatter>
<BuildChildProjects Condition="$(BuildChildProjects) == ''">true</BuildChildProjects>
<SkipLayer Condition="$(SkipLayer) == ''">false</SkipLayer>
<ToolsAvailable>false</ToolsAvailable>
</PropertyGroup>
<ItemGroup>
<ChildSolution Include="$(MSBuildThisFileDirectory)examples\examples.sln" Key="examples" />
<ChildSolution Include="$(MSBuildThisFileDirectory)templates\templates.sln" Key="templates" />
<AnySolution Include="$(MSBuildThisFileDirectory)lambdajection.sln" />
<AnySolution Include="@(ChildSolution)" />
<ChildSolutionProp Include="Configuration=$(Configuration)" />
<ChildSolutionProp Include="Architecture=$(Architecture)" />
</ItemGroup>
<Target Name="RestoreTools" AfterTargets="Restore">
<Exec
Command="dotnet json --help"
ConsoleToMsBuild="true"
StandardOutputImportance="Low"
StandardErrorImportance="Low"
IgnoreExitCode="true"
>
<Output TaskParameter="ExitCode" PropertyName="Tool_JSON_ExitCode" />
</Exec>
<Exec
Command="dotnet nbgv --help"
ConsoleToMsBuild="true"
StandardOutputImportance="Low"
StandardErrorImportance="Low"
IgnoreExitCode="true"
>
<Output TaskParameter="ExitCode" PropertyName="Tool_NBGV_ExitCode" />
</Exec>
<Exec
Command="dotnet tool restore"
ConsoleToMsBuild="true"
Condition="$(Tool_JSON_ExitCode) != '0' or $(Tool_NBGV_ExitCode) != '0'"
/>
</Target>
<Target Name="RetrievePackageVersionFromTool" DependsOnTargets="RestoreTools">
<Exec Command="dotnet nbgv get-version -v NuGetPackageVersion" ConsoleToMsBuild="true" StandardOutputImportance="Low">
<Output TaskParameter="ConsoleOutput" PropertyName="PackageVersion" />
</Exec>
<ItemGroup>
<ChildSolutionProp Include="LambdajectionVersion=$(PackageVersion)" />
</ItemGroup>
</Target>
<Target
Name="GetReleaseNotes"
BeforeTargets="Build"
DependsOnTargets="RetrievePackageVersionFromTool"
Condition="'$(DesignTimeBuild)' != 'true'"
>
<Exec Command="dotnet json get $(MSBuildThisFileDirectory)version.json version" ConsoleToMsBuild="true" StandardOutputImportance="Low">
<Output TaskParameter="ConsoleOutput" PropertyName="SimpleVersion" />
</Exec>
<PropertyGroup>
<ReleaseNotesFile>$(MSBuildThisFileDirectory).github/releases/v$(SimpleVersion).md</ReleaseNotesFile>
</PropertyGroup>
<Error
Condition="!Exists('$(ReleaseNotesFile)')"
File="$(ReleaseNotesFile)"
Text="Release notes file missing."
/>
<PropertyGroup>
<PackageReleaseNotes>$([System.IO.File]::ReadAllText('$(ReleaseNotesFile)'))</PackageReleaseNotes>
</PropertyGroup>
<Message Importance="High" Text="Version: $(PackageVersion)" />
<Message Importance="High" Text="Release Notes:%0A$(PackageReleaseNotes)%0A" />
</Target>
<Target
Name="CleanExamplesAndTemplates"
AfterTargets="Clean"
DependsOnTargets="Restore;RetrievePackageVersionFromTool"
Condition="'$(DesignTimeBuild)' != 'true'"
>
<MSBuild Projects="@(ChildSolution)" Targets="Clean" Properties="@(ChildSolutionProp)" />
</Target>
<Target
Name="BuildChildProjects"
AfterTargets="Build"
DependsOnTargets="Build;RetrievePackageVersionFromTool"
Condition="'$(BuildChildProjects)' == 'true' and '$(DesignTimeBuild)' != 'true'"
>
<ItemGroup>
<PackagesToRemove Include="$(MSBuildThisFileDirectory).nuget\%(ChildSolution.Key)\lambdajection/" />
<PackagesToRemove Include="$(MSBuildThisFileDirectory).nuget\%(ChildSolution.Key)\lambdajection.attributes/" />
<PackagesToRemove Include="$(MSBuildThisFileDirectory).nuget\%(ChildSolution.Key)\lambdajection.core/" />
<PackagesToRemove Include="$(MSBuildThisFileDirectory).nuget\%(ChildSolution.Key)\lambdajection.encryption/" />
<PackagesToRemove Include="$(MSBuildThisFileDirectory).nuget\%(ChildSolution.Key)\lambdajection.generator/" />
<PackagesToRemove Include="$(MSBuildThisFileDirectory).nuget\%(ChildSolution.Key)\lambdajection.runtime/" />
<PackagesToRemove Include="$(MSBuildThisFileDirectory).nuget\%(ChildSolution.Key)\lambdajection.templates/" />
<PackagesToRemove Include="$(MSBuildThisFileDirectory).nuget\%(ChildSolution.Key)\lambdajection.framework/" />
<PackagesToRemove Include="$(MSBuildThisFileDirectory).nuget\%(ChildSolution.Key)\lambdajection.framework.buildtime/" />
<PackagesToRemove Include="$(MSBuildThisFileDirectory).nuget\%(ChildSolution.Key)\lambdajection.customresource/" />
<PackagesToRemove Include="$(MSBuildThisFileDirectory).nuget\%(ChildSolution.Key)\lambdajection.customresource.buildtime/" />
<PackagesToRemove Include="$(MSBuildThisFileDirectory).nuget\%(ChildSolution.Key)\lambdajection.tracing/" />
</ItemGroup>
<Message Importance="High" Text="%0A%0ABuilding Examples, Templates and Layer%0A---------------------------------%0A" />
<RemoveDir Directories="@(PackagesToRemove)" />
<MSBuild
Projects="$(MSBuildThisFileDirectory)\src\Layer\Layer.csproj"
Targets="Restore;Build;Pack"
Properties="@(ChildSolutionProp)"
Condition="$(SkipLayer) != 'true'"
/>
<MSBuild
Projects="%(ChildSolution.Identity)"
Targets="Restore;Build"
Properties="@(ChildSolutionProp)"
/>
</Target>
<Target
Name="EndToEndTests"
DependsOnTargets="RetrievePackageVersionFromTool"
Condition="$(Configuration) == 'Release'"
>
<ItemGroup>
<EndToEndTestProp Include="LambdajectionVersion=$(PackageVersion)" />
<EndToEndTestProp Include="Configuration=$(Configuration)" />
<EndToEndTestProp Include="Architecture=$(Architecture)" />
<EndToEndTestProp Include="PackageBucket=$(PackageBucket)" />
<EndToEndTestProp Include="RoleArn=$(RoleArn)" />
</ItemGroup>
<MSBuild Projects="$(MSBuildThisFileDirectory)examples\examples.sln" Targets="Restore;Build;EndToEndTest" Properties="@(EndToEndTestProp)" />
</Target>
<Target Name="Format" DependsOnTargets="RestoreTools">
<Exec Command="dotnet format %(AnySolution.Identity) --fix-analyzers --fix-style info" />
</Target>
</Project>