Skip to content

Unification build Properties #843

@DocSvartz

Description

@DocSvartz

@DocSvartz @andrerav Seeing all the repeating of Properties here I would like to suggest to:

  • use Directory.Packages.props -> introduce CPM

    • only one place we need to update
    • Configurable along with the Variables of Directory.Build.props if you want to ensure to use specific versions of packages for projects like Source Generators or Test Projects (which by the way are missing the common IsTestProject Tag, which I added as suggestion to this PR directly)
  • use Directory.Build.props

    • Define NuGet Package Information Centrally - e.g. I found this here and copied it to my own Repo + adjusted the Properties (Name, License etc.) I dont use it by now, so adding some other references:

    • source regular Project Props we need repentantly using Variables for example:

      • Directory.Build.props

        <Project>
          <PropertyGroup>
            <ImplicitUsings>enable</ImplicitUsings>
            <Nullable>enable</Nullable>
            <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
            <DefaultTargetFrameworks>net10.0;net9.0;net8.0</DefaultTargetFrameworks>
            <Authors>Some Name;Some OtherName</Authors>
          </PropertyGroup>
        </Project>
      • Regular *.csproj

        <Project Sdk="Microsoft.NET.Sdk">
           <PropertyGroup>
             <TargetFrameworks>$(DefaultTargetFrameworks)</TargetFrameworks>
             <RootNamespace>Mapster</RootNamespace>
             <AssemblyName>Mapster</AssemblyName>
             <Authors>$(Authors)</Authors>
             <OutputType>Library</OutputType>
           </PropertyGroup>
         </Project>
  • Update the Authors Entries?

    Never seen those Names recently and @andrerav mentioned in the discussion, he is the only Maintainer except from @DocSvartz and @stagep (potentially missed one 😄 but you get what I mean hopefully) which I did not see in one of those Lists.

Originally posted by @DevTKSS in #841 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions