OpenTAP 9.24
API Reference
Classes | Enumerations
OpenTap.Package Namespace Reference

Package name space. More...

Classes

class  ActionStep
 Represents an action/step that can be executed during or after installation of a package. More...
 
class  ArchitectureHelper
 Helper methods used to determine CpuArchitecture and compatibility between them. More...
 
class  CacheAction
 Hidden CLI sub command tap package cache that allows clearing the package cache. More...
 
class  CustomPackageActionArgs
 Argument for ICustomPackageAction.Execute. More...
 
class  DependencyAnalyzer
 Algorithm for calculate nth degree dependency issues. More...
 
struct  DependencyIssue
 Model object for a dependency issue. More...
 
class  DependencyResolver
 Finds dependencies for specified packages in Package Repositories More...
 
class  FilePackageDefSource
 The package definition is sourced from a .TapPackage file. More...
 
class  FilePackageRepository
 Implements a IPackageRepository that queries a local directory for OpenTAP packages. More...
 
class  FileRepositoryPackageDefSource
 The package definition is sourced from a local or remote file system storage. This can be a local folder or a remove shared file system drive. More...
 
class  GitVersionAction
 CLI sub command tap sdk gitversion that can calculate a version number based on the git history and a .gitversion file. More...
 
class  HttpPackageRepository
 Implements a IPackageRepository that queries a server for OpenTAP packages via http/https. More...
 
class  HttpRepositoryPackageDefSource
 The package definition is sourced from a remote package repository server. More...
 
interface  ICustomPackageAction
 Custom actions for ICustomPackageData inside File element in package.xml files, to be executed at predefined stages (PackageActionStage) More...
 
interface  ICustomPackageData
 Custom data elements in package.xml inside File elements, to be used for custom actions by ICustomPackageAction at predefined stages (PackageActionStage) More...
 
interface  IFilePackageDefSource
 The package definition is sourced from a .TapPackage file. More...
 
class  ImageIdentifier
 Image that specifies a list of PackageSpecifier to install and a list of repositories to get the packages from. More...
 
class  ImageResolveException
 Exception thrown when ImageSpecifier.Resolve fails. The exception contains a dependency graph specified Dot notation. More...
 
class  ImageResolver
 Resolves packages dependencies for an image.This should be able to resolve any set of package dependencies, but it may take a long time in some edge cases. In most cases however it seems to settle quite quickly. More...
 
class  ImageSpecifier
 An ImageSpecifier defines an OpenTAP installation. The specifier can be resolved to an ImageIdentifier which can be deployed to an actual OpenTAP installation. More...
 
class  Installation
 Represents an OpenTAP installation in a specific directory. More...
 
class  InstalledPackageDefSource
 The package definition is sourced from an OpenTAP installation. More...
 
interface  IPackageDefSource
 Interface for determining where a package definition is sourced. More...
 
interface  IPackageIdentifier
 Uniquely identifies a package in the OpenTAP package system. More...
 
class  IPackageIdentifierExtensions
 Extensions to IPackageIdentifier. More...
 
interface  IPackageRepository
 A client interface for a package repository. Implementations include FilePackageRepository and HttpPackageRepository. More...
 
interface  IRepositoryPackageDefSource
 The package definition is sourced from a package repository. More...
 
class  IsolatedPackageAction
 Base class for ICliActions that makes a copy of the installation to a temp dir before executing. Useful for making changes to the installation. More...
 
interface  IVersionConverter
 This interface specifies how to convert from a version string to a SemanticVersion. More...
 
interface  IVersionTryConverter
 Plugin type like IVersionConverter, that can TryConvert, which does will not throw an exception. More...
 
class  LockingPackageAction
 Base class for ICliActions that use a mutex to lock the Target directory for the duration of the command. More...
 
class  MissingPackageData
 Placeholder object that represents an unrecognized XML element under the File element in a package definition xml file (package.xml). More...
 
class  PackageAction
 Indicates a well defined action to be performed on a package. A number of common actions are PackageInstallAction, PackageUninstallAction, and PackageDownloadAction. Deriving from this, and annotating the class and any public properties with CommandLineArgumentAttribute and UnnamedCommandLineArgument attributes will allow it to be called from the OpenTAP.Package CLI. More...
 
class  PackageCreateAction
 CLI sub command tap sdk create that can create a *.TapPackage from a definition in a package.xml file. More...
 
class  PackageDef
 Definition of a package file. Contains basic structural information relating to packages. More...
 
class  PackageDependency
 Represents a dependency on a package. More...
 
class  PackageDependencyGraph
 This graph describes every version of every package in a memory-efficient way. Each unique name version and version specifier is represented by one value, connections between them are some dictionaries. The graph can be merged from multiple different sources - both file repositories and http repositories, but the source of each becomes lost when building the graph. When the source is needed a new lookup will be needed from a different place, this code is not really concerned with that. More...
 
class  PackageDependencyQuery
 This class takes care of making the right package query queries to the repository server. More...
 
class  PackageFile
 Information about a file in a package. More...
 
class  PackageFileExtensions
 Extension methods to help manage ICustomPackageData on PackageFile objects. More...
 
class  PackageIconData
 Used for adding icons to a TapPackage. Add this element to the package.xml inside File (PackageFile). More...
 
class  PackageIdentifier
 Uniquely identifies a package in the OpenTAP package system. More...
 
class  PackageManagerSettings
 Settings class containing plugin package manager settings More...
 
class  PackageSpecifier
 Holds search parameters that specifies a range of packages in the OpenTAP package system. More...
 
class  PackageVersion
 Represents a version of a package. Objects of this type is returned byIPackageRepository.GetPackageVersions. More...
 
class  PluginFile
 Represents a plugin (type that derives from ITapPlugin) in a payload file of an OpenTAP package. More...
 
class  RepositorySettingEntry
 Structure used by PackageRepositories setting More...
 
class  UseVersionData
 Defines the UseVersion XML element that can be used as a child element to the File element in package.xml to indicate that a package should take its version from the AssemblyInfo in that file. More...
 
class  VerifyPackageHashes
 CLI Action to verify the installed packages by checking their hashes. More...
 
class  VersionSpecifier
 Specifies parts of a semantic version. This is used in PackageSpecifier to represent the part of a SemanticVersion to search for. E.g. the VersionSpecifier "9.0" may match the semantic version "9.0.4+abcdef" and also "9.1.x" if MatchBehavior is set to "Compatible". More...
 
class  XmlPackageDefSource
 The package definition is loaded from an package XML file. More...
 

Enumerations

enum  DependencyIssueType { None , Missing , IncompatibleVersion , DependencyMissing }
 Type of dependency issue. More...
 
enum  PackageActionStage { Install , Uninstall , Create }
 Defined stages of a package. Used by ICustomPackageAction to implement actions to a stage. More...
 
enum  PackageExitCodes {
  PackageCreateError = 30 , InvalidPackageDefinition = 31 , InvalidPackageName = 32 , PackageDependencyError = 33 ,
  AssemblyDependencyError = 34 , PackageInstallError = 35 , PackageUninstallError = 36 , InvalidPackageArchive = 37
}
 ExitCodes relevant to Package CLI actions. Uses integer range 30 to 59 More...
 
enum  CpuArchitecture {
  Unspecified , AnyCPU , x86 , x64 ,
  arm , arm64
}
 CPU architectures that a package can support. More...
 
enum  VersionMatchBehavior { Exact = 1 , Compatible = 2 , AnyPrerelease = 4 }
 Describes the behavior of VersionSpecifier.IsCompatible(SemanticVersion). More...
 

Detailed Description

Package name space.

Enumeration Type Documentation

◆ CpuArchitecture

CPU architectures that a package can support.

Enumerator
Unspecified 

Unspecified processor architecture.

AnyCPU 

Any processor architecture.

x86 

An Intel-based 32-bit processor architecture.

x64 

An Intel-based 64-bit processor architecture.

arm 

A 32-bit ARM processor architecture.

arm64 

A 64-bit ARM processor architecture.

◆ DependencyIssueType

Type of dependency issue.

Enumerator
None 

No issue noted (Usually notes an installed package).

Missing 

The dependency is missing.

IncompatibleVersion 

Incompatible version installed.

DependencyMissing 

One of the dependencies has a issue.

◆ PackageActionStage

Defined stages of a package. Used by ICustomPackageAction to implement actions to a stage.

Enumerator
Install 

Package install stage (e.g. running tap package install)

Uninstall 

Package uninstall stage (e.g. running tap package uninstall)

Create 

Package create stage (e.g. running tap package create)

◆ PackageExitCodes

ExitCodes relevant to Package CLI actions. Uses integer range 30 to 59

Enumerator
PackageCreateError 

Errors occured while creating package

InvalidPackageDefinition 

Invalid data in package definition

InvalidPackageName 

Package name is invalid

PackageDependencyError 

Package dependency error occurred

AssemblyDependencyError 

Assembly dependencies conflict

PackageInstallError 

Error occurred while installing package

PackageUninstallError 

Error occurred while uninstalling package

InvalidPackageArchive 

Error occurred while creating package

◆ VersionMatchBehavior

Describes the behavior of VersionSpecifier.IsCompatible(SemanticVersion).

Enumerator
Exact 

The SemanticVersion must match all (non-null) fields in the specified in a VersionSpecifier for VersionSpecifier.IsCompatible(SemanticVersion) to return true.

Compatible 

The SemanticVersion must be compatible with the version specified in a VersionSpecifier for VersionSpecifier.IsCompatible(SemanticVersion) to return true.

AnyPrerelease 

Prerelease property of VersionSpecifier is ignored when looking for matching packages.

OpenTAP 9.24 API built Tue Apr 30 2024 13:44:42