Skip to content

Package

PdfAPI.Client is packaged from Scripts\PdfAPI.Client\PdfAPI.Client.nuspec, ships both compiled assemblies and C# source, and is built and released by a dedicated AppType: nuget pipeline separate from the API's own pipeline.

Identity

Field Value
Package id PdfAPI.Client
Version 1.0.0.3
Authors andmil
Owners Not specified in the manifest
Description Not captured beyond the identity fields recorded above
Requires license acceptance Not specified in the manifest
nuspec file Scripts\PdfAPI.Client\PdfAPI.Client.nuspec
Project file PdfAPI.Client\PdfAPI.Client.csproj

Manifest selection

Candidate nuspec Kind Selected Reason
Scripts\PdfAPI.Client\PdfAPI.Client.nuspec Packaging manifest Yes Literal <id>PdfAPI.Client</id>, literal <version>1.0.0.3</version>, populated <dependencies> (3 entries), populated <files> (4 entries)
PdfAPI.Client\PdfApi.Client.nuspec Token template No <id>$id$</id>, <version>$version$</version>, <title>$title$</title>, <authors>$author$</authors>, <copyright>$copyright$</copyright>, and an empty <files/> element; included in the project only as <None Include="PdfApi.Client.nuspec" />

A casing trap is present and confirmed: the token template is PdfApi.Client.nuspec (lower-case pi) inside the PdfAPI.Client project folder, while the real manifest is PdfAPI.Client.nuspec (upper-case API) under Scripts\. The two manifests were not merged — all dependency and <files> facts on this page come solely from the selected manifest. No assembly-name fallback was needed: the selected manifest's literal <id> matches both the pipeline AppName and the project <AssemblyName>.

Dependencies

Dependency Version Purpose
SAIF.Framework.Common 1.0 (open lower bound); restored 2.0.22074.3 Shared framework types
SAIF.Web.API.Clients 1.0 (open lower bound); restored 2.0.22307.1 JsonHttpClient and ClientInfo transport surface
iTextSharp 5.5.11 Required by the in-process PdfClientService members shipped in PdfAPI.Core; a third-party dependency specific to this client

The nuspec's open version="1.0" lower bound for the two SAIF dependencies differs from the restored 2.0.x versions actually used by the project — recorded as a fact.

See Dependencies for the full dependency landscape including transitive and build-time references.

Shipped content

This package ships source alongside the compiled assembly. In addition to lib\net45\*.dll, the nuspec <files> element maps src\**\*.cs targets, so the complete C# source of the client and its PdfAPI.Core contracts assembly is installed into every consuming project. Consumers can read and copy internal implementation, the shipped source can drift from the shipped binary, and any embedded comment ships with the package. See Tech debt.

Source Target Content
..\..\bin\PdfAPI.Client.dll lib\net45\PdfAPI.Client.dll Compiled client
..\..\bin\PdfAPI.Core.dll lib\net45\PdfAPI.Core.dll Shared contracts assembly
..\..\PdfAPI.Client\**\*.cs src\PdfAPI.Client Client source code
..\..\PdfAPI.Core\**\*.cs src\PdfAPI.Core Contracts source code

No .pdb files are shipped. The packaged lib\net45 folder does not match the project's net462 compile target (<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>) — recorded as a packaging inconsistency.

Build and release pipeline

Attribute Value
AppType nuget
AppName PdfAPI.Client
SolutionPath PdfAPI.Client.sln
ProjectPath PdfAPI.Client\PdfAPI.Client.csproj
BuildConfiguration debug — the release pipeline packs a Debug-configuration build; BuildPlatform is empty
IncludeReferencedProjects true
Build pipeline Pipelines\build-client.yml
Build variables Pipelines\build-vars-client.yml
Release pipeline Pipelines\release-client.yml

Pipeline templates

Stage Template Purpose
Build Steps/build-steps-nuget.yml@templates Restore, build, and pack the package
Build Steps/build-version-dat.yml@templates Version stamping, preceding the nuget build step
Build Steps/build-steps-tag-repo.yml@templates Repository tagging, following the nuget build step
Release /Stages/deploy-stages-nuget.yml@templates Publishes the package to the SAIF NuGet feed

The template repository is SAIF/YAML_Templates (resource alias templates, ref unset, so the default branch is used) for both the build and release pipelines. AppType: nuget is the correct variable value for this pipeline, but it is not by itself evidence that a project is an API client — Pdf.Local.Client is also built by an AppType: nuget pipeline and performs no HTTP.

Artifacts

Artifact Variable Notes
Pre-release ArtifactNamePreRelease Prerelease suffix parameter default alpha
Release ArtifactNameRelease Product version parameter default 2.0

Build triggers are develop and master for the build pipeline; the release pipeline has trigger: none and instead consumes the IT.CoreServices.PDFAPI.Client.Build pipeline artifact. Build number format is 2.$(Year:yy)$(DayOfYear)$(rev:.r).

Feed

Field Value
Feed Not declared in repository files; the SAIF internal feed is the expected destination based on the shared /Stages/deploy-stages-nuget.yml@templates release template*
Publish trigger Not determined from source — the push target is defined inside the external SAIF/YAML_Templates repository, which this analysis does not follow**

nuget.config at the repository root sets repositoryPath = packages only and declares no custom package sources.

Manifest version 1.0.0.3 versus assembly version 1.0.0.0 (PdfAPI.Client\Properties\AssemblyInfo.cs lines 30–31) versus the pipeline-generated build number are three independent version sources — recorded on Tech debt.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • Scripts\PdfAPI.Client\PdfAPI.Client.nuspec
  • PdfAPI.Client\PdfApi.Client.nuspec
  • PdfAPI.Client\PdfAPI.Client.csproj
  • PdfAPI.Client\packages.config
  • PdfAPI.Client\Properties\AssemblyInfo.cs
  • Pipelines\build-vars-client.yml
  • Pipelines\build-client.yml
  • Pipelines\release-client.yml
  • nuget.config