mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 04:18:43 +00:00
Build targets.
This commit is contained in:
parent
482ef83d3c
commit
1a8a398840
5 changed files with 95 additions and 12 deletions
|
|
@ -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" />
|
||||
|
|
|
|||
8
Build/Targets/MSBuildExtension.targets
Normal file
8
Build/Targets/MSBuildExtension.targets
Normal 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>
|
||||
|
|
@ -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)" />
|
||||
|
|
|
|||
74
Build/Targets/Tool.targets
Normal file
74
Build/Targets/Tool.targets
Normal 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>
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Reference in a new issue