Build targets.

This commit is contained in:
José Pedro 2018-12-05 23:13:37 +00:00
parent 482ef83d3c
commit 1a8a398840
No known key found for this signature in database
GPG key ID: B8247B9301707B83
5 changed files with 95 additions and 12 deletions

View file

@ -1,5 +1,9 @@
<Project>
<PropertyGroup>
<IsToolProject Condition="'$(IsMSBuildExtensionProject)' == 'True'">True</IsToolProject>
</PropertyGroup>
<Import Project="InternalsVisibleTo.targets" />
<Import Project="PackageProperties.targets" />
@ -10,8 +14,11 @@
<Import Project="StrongName.targets" />
<!-- Project types -->
<Import Project="MSBuildExtension.targets" Condition="'$(IsMSBuildExtensionProject)' == 'True'" />
<Import Project="Templates.targets" Condition="'$(IsTemplatesProject)' == 'True'" />
<Import Project="Tests.targets" Condition="'$(IsTestProject)' == 'True'" />
<Import Project="Tool.targets" Condition="'$(IsToolProject)' == 'True'" />
<Import Project="VSIX.targets" Condition="'$(IsVsixProject)' == 'True'" />
<Import Project="Workarounds.targets" />

View file

@ -0,0 +1,8 @@
<Project>
<ItemGroup>
<PackageReference Include="Microsoft.Build.Framework" PrivateAssets="All" ExcludeAssets="Runtime" />
<PackageReference Include="Microsoft.Build.Utilities.Core" PrivateAssets="All" ExcludeAssets="Runtime" />
</ItemGroup>
</Project>

View file

@ -3,6 +3,7 @@
<PropertyGroup>
<ApprovalTestsVersion>3.0.18</ApprovalTestsVersion>
<AvaloniaVersion>0.7.0</AvaloniaVersion>
<MicrosoftBuildVersion>15.8.166</MicrosoftBuildVersion>
<MicrosoftNETFrameworkReferenceAssembliesVersion>1.0.0-alpha-004</MicrosoftNETFrameworkReferenceAssembliesVersion>
<MicrosoftNETTestSdkVersion>15.9.0</MicrosoftNETTestSdkVersion>
<MicrosoftVisualStudioSDKEmbedInteropTypesVersion>15.0.27</MicrosoftVisualStudioSDKEmbedInteropTypesVersion>
@ -20,6 +21,9 @@
<PackageReference Update="ApprovalUtilities" Version="$(ApprovalTestsVersion)" />
<PackageReference Update="Avalonia" Version="$(AvaloniaVersion)" />
<PackageReference Update="Avalonia.Desktop" Version="$(AvaloniaVersion)" />
<PackageReference Update="Microsoft.Build" Version="$(MicrosoftBuildVersion)" />
<PackageReference Update="Microsoft.Build.Framework" Version="$(MicrosoftBuildVersion)" />
<PackageReference Update="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildVersion)" />
<PackageReference Update="Microsoft.NETFramework.ReferenceAssemblies" Version="$(MicrosoftNETFrameworkReferenceAssembliesVersion)" />
<PackageReference Update="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkVersion)" />
<PackageReference Update="Microsoft.VisualStudio.SDK.EmbedInteropTypes" Version="$(MicrosoftVisualStudioSDKEmbedInteropTypesVersion)" />

View file

@ -0,0 +1,74 @@
<Project>
<PropertyGroup>
<DevelopmentDependency Condition="'$(DevelopmentDependency)' == ''">True</DevelopmentDependency>
</PropertyGroup>
<PropertyGroup>
<AppendTargetFrameworkToToolsPackageFolder Condition="'$(AppendTargetFrameworkToToolsPackageFolder)' == ''">True</AppendTargetFrameworkToToolsPackageFolder>
</PropertyGroup>
<PropertyGroup>
<IncludeBuildOutput>False</IncludeBuildOutput>
<SuppressDependenciesWhenPacking>True</SuppressDependenciesWhenPacking>
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);PackToolProject</TargetsForTfmSpecificContentInPackage>
</PropertyGroup>
<Target Name="PackToolProject"
DependsOnTargets="Publish">
<PropertyGroup>
<ToolPackagePath>$([MSBuild]::EnsureTrailingSlash($(ToolPackagePath)))</ToolPackagePath>
<ToolPackagePath Condition="'$(AppendTargetFrameworkToToolsPackageFolder)' == 'True'">$(ToolPackagePath)$(TargetFramework)\</ToolPackagePath>
</PropertyGroup>
<ItemGroup>
<GeneratedToolFiles Include="$(PublishDepsFilePath)" />
<GeneratedToolFiles Include="$(PublishRuntimeConfigFilePath)" Condition="'$(GenerateRuntimeConfigurationFiles)' == 'True'" />
</ItemGroup>
<ItemGroup>
<TfmSpecificPackageFile Include="@(GeneratedToolFiles)">
<PackagePath>tools\$(ToolPackagePath)%(GeneratedToolFiles.RecursiveDir)</PackagePath>
</TfmSpecificPackageFile>
<TfmSpecificPackageFile Include="@(ResolvedFileToPublish->'$([MSBuild]::NormalizeDirectory($(PublishDir)))%(RelativePath)')">
<PackagePath>tools\$(ToolPackagePath)%(ResolvedFileToPublish.RelativePath)</PackagePath>
</TfmSpecificPackageFile>
</ItemGroup>
</Target>
<PropertyGroup>
<GenerateNuspecDependsOn>$(GenerateNuspecDependsOn);_GetProjectReferencesContentToPack</GenerateNuspecDependsOn>
</PropertyGroup>
<Target Name="_GetProjectReferencesContentToPack"
Condition="'@(ProjectReference)' != ''">
<MSBuild Projects="@(ProjectReference)"
Targets="GetNupkgContent"
BuildInParallel="$(BuildInParallel)"
Properties="_NupkgContentPath=%(ProjectReference.PackagePath);Configuration=$(Configuration);Platform=$(Platform)"
Condition="'%(ProjectReference.Pack)' == 'True'"
RemoveProperties="TargetFramework;%(ProjectReference.GlobalPropertiesToRemove)">
<Output TaskParameter="TargetOutputs" ItemName="_PackageFiles" />
</MSBuild>
</Target>
<ItemGroup>
<ProjectReference Update="@(ProjectReference)">
<ReferenceOutputAssembly Condition="'%(ProjectReference.Pack)' == 'True'">False</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Target Name="GetNupkgContent"
Returns="@(_NupkgContent)"
DependsOnTargets="$(GenerateNuspecDependsOn)">
<ItemGroup>
<_NupkgContent Include="@(_PackageFiles->'%(FullPath)')"
PackagePath="$([MSBuild]::EnsureTrailingSlash($(_NupkgContentPath)))%(_PackageFiles.PackagePath)" />
</ItemGroup>
</Target>
</Project>

View file

@ -5,7 +5,8 @@
<RuntimeIdentifier>win</RuntimeIdentifier>
<PackageId>Cosmos.Build</PackageId>
<PackageDescription>Cosmos build system.</PackageDescription>
<IsTool>True</IsTool>
<IsMSBuildExtensionProject>True</IsMSBuildExtensionProject>
<AppendTargetFrameworkToToolsPackageFolder>False</AppendTargetFrameworkToToolsPackageFolder>
</PropertyGroup>
<ItemGroup>
@ -16,8 +17,6 @@
<ItemGroup>
<PackageReference Include="IL2CPU.Debug.Symbols" />
<PackageReference Include="Microsoft.Build.Framework" Version="15.8.166" PrivateAssets="All" ExcludeAssets="Runtime" />
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="15.8.166" PrivateAssets="All" ExcludeAssets="Runtime" />
<PackageReference Include="SQLitePCLRaw.bundle_green" Version="1.1.7" PrivateAssets="All" />
</ItemGroup>
@ -25,13 +24,4 @@
<ProjectReference Include="..\Cosmos.Debug.Hosts\Cosmos.Debug.Hosts.csproj" PrivateAssets="All" />
</ItemGroup>
<Target Name="IncludeDependencies" BeforeTargets="_GetPackageFiles" DependsOnTargets="PrepareForPublish;ComputeFilesToPublish">
<ItemGroup>
<Content Include="@(ResolvedAssembliesToPublish)" Pack="True" PackagePath="tools\%(ResolvedAssembliesToPublish.DestinationSubPath)" Condition="!$([System.String]::new('%(Filename)').StartsWith('Microsoft.Build'))" />
<Content Pack="True" PackagePath="tools\%(Content.Link)" Condition="'%(Filename)' == 'e_sqlite3'" />
</ItemGroup>
</Target>
</Project>