Skip to content

Commit 5e0954e

Browse files
authored
Merge pull request #98 from DataObjects-NET/directory-build-props
Directory.build.props file improvements: - Package and libraries algorithm changed - General structure improvements
2 parents 37a338e + 5933acd commit 5e0954e

File tree

1 file changed

+34
-30
lines changed

1 file changed

+34
-30
lines changed

Directory.Build.props

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,43 @@
55

66
<!-- Compute intermediate values. To avoid conflicts name all custom variables with Do prefix. -->
77
<PropertyGroup>
8-
<DoBuildNumber>$(BUILD_NUMBER)</DoBuildNumber>
9-
<DoBuildNumber Condition="'$(DoBuildNumber)'==''">0</DoBuildNumber>
108
<DoBuildYear>$([System.DateTime]::Today.Year)</DoBuildYear>
119
<DoProductName>DataObjects.Net</DoProductName>
1210
<DoProductAuthors>Xtensive LLC and contributors</DoProductAuthors>
1311
<DoProductCopyright>2003-$(DoBuildYear) $(DoProductAuthors)</DoProductCopyright>
14-
<DoVersionSuffix Condition="'$(DoVersionSuffix)'=='dev'">dev-$(DoBuildNumber)</DoVersionSuffix>
12+
1513
<DoMajor>$([System.Version]::new($(DoVersion)).Major)</DoMajor>
1614
<DoMinor>$([System.Version]::new($(DoVersion)).Minor)</DoMinor>
17-
<DoPatch>$([System.Version]::new($(DoVersion)).Build)</DoPatch>
18-
<DoVersionName>$(DoMajor).$(DoMinor).$(DoPatch)</DoVersionName>
19-
<DoVersionName Condition="'$(DoVersionSuffix)'!=''">$(DoVersionName)-$(DoVersionSuffix)</DoVersionName>
15+
<DoBuild>$([System.Version]::new($(DoVersion)).Build)</DoBuild>
16+
<DoRevision>$([System.Version]::new($(DoVersion)).Revision)</DoRevision>
17+
18+
<DoFileRevision>$(BUILD_NUMBER)</DoFileRevision>
19+
<DoFileRevision Condition="'$(DoFileRevision)' == '' AND '$(DoRevision)' != '-1'">$(DoRevision)</DoFileRevision>
20+
<DoFileRevision Condition="'$(DoFileRevision)' == ''">0</DoFileRevision>
21+
22+
<DoVersionSuffix Condition="'$(DoVersionSuffix)' == 'dev'">dev-$(DoFileRevision)</DoVersionSuffix>
23+
24+
<DoVersionName>$(DoMajor).$(DoMinor).$(DoBuild)</DoVersionName>
25+
<DoVersionName Condition="'$(DoRevision)' != '-1'">$(DoVersionName).$(DoRevision)</DoVersionName>
26+
<DoVersionName Condition="'$(DoVersionSuffix)' != ''">$(DoVersionName)-$(DoVersionSuffix)</DoVersionName>
27+
2028
<DoPackageIcon>$(MSBuildThisFileDirectory)do-nuget.png</DoPackageIcon>
29+
30+
<DoGeneratePackage>true</DoGeneratePackage>
31+
<DoGeneratePackage Condition="$(MSBuildProjectName) == 'Xtensive.Orm.Weaver'">false</DoGeneratePackage>
32+
<DoGeneratePackage Condition="$(MSBuildProjectName) == 'Xtensive.Orm.Manual'">false</DoGeneratePackage>
33+
<DoGeneratePackage Condition="$(MSBuildProjectName) == 'TestCommon'">false</DoGeneratePackage>
34+
<DoGeneratePackage Condition="$(MSBuildProjectName.Contains('Tests')) == 'true'">false</DoGeneratePackage>
2135
</PropertyGroup>
2236

2337
<PropertyGroup>
38+
<NoLogo>true</NoLogo>
39+
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
2440
<TargetFramework>netcoreapp3.1</TargetFramework>
2541
<SolutionDir Condition="$(SolutionDir) == ''">$([MSBuild]::EnsureTrailingSlash(
2642
$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildThisFileDirectory)', 'Orm.sln'))))</SolutionDir>
2743
<Configuration Condition="$(Configuration) == ''">Debug</Configuration>
28-
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
29-
<NoLogo>true</NoLogo>
30-
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
31-
<ArtifactsDir Condition="'$(ArtifactsDir)'==''">$(SolutionDir)_Build\</ArtifactsDir>
44+
<ArtifactsDir Condition="'$(ArtifactsDir)' == ''">$(SolutionDir)_Build\</ArtifactsDir>
3245
<BaseIntermediateOutputPath>$([System.IO.Path]::GetFullPath('$(ArtifactsDir)obj\$(Configuration)\$(MSBuildProjectName)'))\</BaseIntermediateOutputPath>
3346
<BaseOutputPath >$([System.IO.Path]::GetFullPath('$(ArtifactsDir)bin\$(Configuration)'))\</BaseOutputPath>
3447
<BaseOutputPath Condition="$(MSBuildProjectName.Contains('Tests'))">$([System.IO.Path]::GetFullPath('$(ArtifactsDir)tests'))\</BaseOutputPath>
@@ -39,33 +52,14 @@
3952
<OrmKeyFile>$(SolutionDir)Orm\Orm.snk</OrmKeyFile>
4053
</PropertyGroup>
4154

42-
<PropertyGroup>
43-
<GeneratePackageOnBuild Condition="$(MSBuildProjectName) == 'Xtensive.Orm.Weaver'">false</GeneratePackageOnBuild>
44-
<GeneratePackageOnBuild Condition="$(MSBuildProjectName) == 'Xtensive.Orm.Manual'">false</GeneratePackageOnBuild>
45-
<GeneratePackageOnBuild Condition="$(MSBuildProjectName) == 'TestCommon'">false</GeneratePackageOnBuild>
46-
<GeneratePackageOnBuild Condition="$(MSBuildProjectName.Contains('Tests')) == 'true'">false</GeneratePackageOnBuild>
47-
<GeneratePackageOnBuild Condition="$(GeneratePackageOnBuild)=='' AND '$(Configuration)' == 'Release'">true</GeneratePackageOnBuild>
48-
49-
<IncludeSymbols Condition="$(GeneratePackageOnBuild) == 'true'">true</IncludeSymbols>
50-
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
51-
<EmbedUntrackedSources>true</EmbedUntrackedSources>
52-
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
53-
</PropertyGroup>
54-
55-
<ItemGroup>
56-
<SourceRoot Include="$(MSBuildThisFileDirectory)/"/>
57-
<PackageReference Condition="$(GeneratePackageOnBuild) == 'true'"
58-
Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All"/>
59-
</ItemGroup>
60-
6155
<!-- Populate standard properties. -->
6256
<PropertyGroup>
6357
<Product>$(DoProductName)</Product>
6458
<Company>$(DoProductAuthors)</Company>
6559
<Authors>$(DoProductAuthors)</Authors>
6660
<Version>$(DoVersionName)</Version>
6761
<AssemblyVersion>$(DoMajor).$(DoMinor).0.0</AssemblyVersion>
68-
<FileVersion>$(DoMajor).$(DoMinor).$(DoPatch).$(DoBuildNumber)</FileVersion>
62+
<FileVersion>$(DoMajor).$(DoMinor).$(DoBuild).$(DoFileRevision)</FileVersion>
6963
<Copyright>$(DoProductCopyright)</Copyright>
7064
<PackageProjectUrl>https://dataobjects.net/</PackageProjectUrl>
7165
<PackageIcon>do-nuget.png</PackageIcon>
@@ -74,9 +68,19 @@
7468
<PackageOutputPath>$(MSBuildThisFileDirectory)_Build\$(Configuration)\packages\</PackageOutputPath>
7569
<RepositoryUrl>https://github.com/DataObjects-NET/dataobjects-net</RepositoryUrl>
7670
<RepositoryType>git</RepositoryType>
71+
72+
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
73+
<GeneratePackageOnBuild Condition="$(DoGeneratePackage) == 'true' AND '$(Configuration)' == 'Release'">true</GeneratePackageOnBuild>
74+
<IncludeSymbols Condition="$(GeneratePackageOnBuild) == 'true'">true</IncludeSymbols>
75+
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
76+
<EmbedUntrackedSources>true</EmbedUntrackedSources>
77+
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
7778
</PropertyGroup>
7879

7980
<ItemGroup>
81+
<SourceRoot Include="$(SolutionDir)"/>
82+
<PackageReference Condition="$(DoGeneratePackage) == 'true'"
83+
Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All"/>
8084
<None Include="$(DoPackageIcon)" Visible="false" >
8185
<PackagePath>.</PackagePath>
8286
<Pack>true</Pack>

0 commit comments

Comments
 (0)