1 # NuGet package creation process
3 This directory contains NuGet specification files (.nuspec).
5 Creating nuget packages:
7 1. Set `PackageVersion` environment variable that defines the package version.
10 set PackageVersion=0.2.0
13 If environment variable is not set, then the version is automatically obtained from git tag:
19 2. Run `tools/build-nuget.cmd` script to create the package(s). Packages are copied to `.\packages` directory.
21 3. Push selected package to nuget feed.
23 Learn more about native code NuGet packages [here](https://docs.microsoft.com/en-us/nuget/guides/native-packages).
25 ## Proposed NuGet package flavors
27 This section is a `DRAFT` - Work-in-Progress. The following packages MAY be created and published at nuget.org :
29 | Package Name | Desription | Notes |
30 |------------------------------|-------------------------------------------------------------|-------|
31 | OpenTelemetry.Cpp.Source | Complete recursive source code snapshot with dependencies. | |
32 | OpenTelemetry.Cpp.Dev | Source code snapshot excluding 3rd party dependencies. | |
33 | OpenTelemetry.Cpp.Api | API headers package. | |
34 | OpenTelemetry.Cpp.Sdk | SDK headers and source package. | |
35 | OpenTelemetry.Cpp.Ext | Extended functionality. | |
36 | OpenTelemetry.Cpp.Exporters | Exporters. | |
38 Prebuilt libraries MAY be provided in future in `OpenTelemetry.Cpp.${CompilerABI}` package for each compiler.
40 Refer to [Boost library](https://www.nuget.org/packages?q=boost) nuget packages for example how to create
41 a nuget package for a given compiler and runtime, using [Fuget Package Explorer](https://www.fuget.org/)
42 that allows to see the original nuget spec for each package.