• API Documentation

Package of project

One project can generate multiple packages, each of which can be created in its own way and deployed to its respective binary file repository.

The list of packages is specified in the packages key as a JsonArray, for example:

"packages": [
    {
        // information about first package
    },
    {
        // information about second package
    }
]

The build system will generate as many packages as there are JsonObject entries under the packages key.

In the JsonObject describing the package, there must be a mandatory class key, which determines the packaging mechanism based on its value. Currently, there are two packaging mechanisms.

Nuget package

The packager can be used in all cases without restrictions. However, for C# projects, it is more convenient to use the dotnet package, as it includes checks at the .csproj level.

Mandatory keys:

  • id - unique package identifier;
  • version - version of the package being created. The version with which the package will be uploaded may differ from the specified version, because versioning is managed by the versioning manager. Therefore, it is more appropriate to specify a version mask.
  • title - title displayed as the name of the package.
  • authors - list of authors of the package.
  • owners - list of owners of the package.
  • language - language of the package.
  • description - description of the package.

Available keys:

  • dependencies - list of package dependencies;
  • variant_files - additional files to be included into package, while packing;
  • tags - list of values that will be included in the package tag (service tags will be added additionally);
  • copyright - copyright information;
  • project_url - URL of the project;
  • license - MIT or the license file of the package (see licenses.nuget.org | Microsoft Learn):
    • type - (optional) specified only for MIT licenses;
    • file_path - relative path to the license file that will be included in the package;
    • file_name - (optional) sets the name of the license file that will be included in the package.

Dotnet package

Settings can only be applied to C# projects of type DLL. All information should be contained within the .csproj file, and the JSON file should only specify the class.

Example:

{
    "class": "dotnet"
}

Available other keys (from NuGet package), but it is preferable to specify it in the .csproj file.

In This Article
Back to top Generated by DocFX