Versions in this module Expand all Collapse all v0 v0.1.0 Nov 4, 2025 Changes in this version + const AnalyzersFolder + const BuildFolder + const BuildTransitiveFolder + const ContentFilesFolder + const ContentFolder + const ContentTypesFile + const CorePropertiesContentType + const DCNamespace + const DCTermsNamespace + const DefaultContentType + const DefaultLockTimeout + const ERROR_LOCK_VIOLATION — windows/amd64 + const EmbedFolder + const LOCKFILE_EXCLUSIVE_LOCK — windows/amd64 + const LOCKFILE_FAIL_IMMEDIATELY — windows/amd64 + const LibFolder + const LockFileExtension + const LockRetryDelay + const ManifestExtension + const MaxPackageIDLength + const NativeFolder + const NuspecNamespaceV1 + const NuspecNamespaceV2 + const NuspecNamespaceV3 + const NuspecNamespaceV4 + const NuspecNamespaceV5 + const NuspecNamespaceV6 + const OPCContentTypesNamespace + const OPCContentTypesPath + const OPCCorePropertiesNamespace + const OPCCorePropertiesPath + const OPCManifestRelType + const OPCRelationshipsNamespace + const OPCRelationshipsPath + const PSMDCPFile + const PackageRelationshipFile + const RefFolder + const RelationshipContentType + const RuntimesFolder + const SignatureFile + const SignaturePath + const ToolsFolder + const XSINamespace + var ErrInvalidPackage = errors.New("invalid package structure") + var ErrInvalidPath = errors.New("invalid file path") + var ErrMultipleNuspecs = errors.New("multiple nuspec files found") + var ErrNuspecNotFound = errors.New("nuspec file not found") + var ErrPackageNotSigned = errors.New("package is not signed") + func CopySatelliteFilesIfApplicableV2(packageReader *PackageReader, identity *PackageIdentity, ...) (bool, error) + func CopySatelliteFilesIfApplicableV3(packageReader *PackageReader, identity *PackageIdentity, ...) (bool, error) + func CopyToFile(stream io.Reader, fileFullPath string) (string, error) + func CreateFile(path string) (*os.File, error) + func ExtractPackageV2(ctx context.Context, source string, packageStream io.ReadSeeker, ...) ([]string, error) + func GenerateNuspecXML(metadata PackageMetadata) ([]byte, error) + func GenerateRelationshipID() string + func GetFileExtension(filePath string) string + func InstallFromSourceV3(ctx context.Context, source string, packageIdentity *PackageIdentity, ...) (bool, error) + func IsAnalyzerFile(filePath string) bool + func IsAssembly(filePath string) bool + func IsBuildFile(filePath string) bool + func IsContentFile(filePath string) bool + func IsDllOrExe(filePath string) bool + func IsLibFile(filePath string) bool + func IsManifestFile(filePath string) bool + func IsPackageMetadataFile(filePath string) bool + func IsRefFile(filePath string) bool + func IsRuntimesFile(filePath string) bool + func IsToolsFile(filePath string) bool + func UpdateFileTimeFromEntry(fileFullPath string, modTime time.Time, logger Logger) error + func ValidateDependencies(packageID string, packageVersion *version.NuGetVersion, ...) error + func ValidateFiles(files []PackageFile) error + func ValidateFrameworkReferences(groups []PackageFrameworkReferenceGroup) error + func ValidateIcon(metadata PackageMetadata, files []PackageFile) error + func ValidateLicense(metadata PackageMetadata, files []PackageFile) error + func ValidatePackageID(id string) error + func ValidatePackagePath(filePath string) error + func ValidateReadme(metadata PackageMetadata, files []PackageFile) error + func WithFileLock(ctx context.Context, targetPath string, fn func() error) error + func WriteContentTypes(zipWriter *zip.Writer, files []PackageFile) error + func WriteCoreProperties(zipWriter *zip.Writer, metadata PackageMetadata) (string, error) + func WriteRelationships(zipWriter *zip.Writer, nuspecFileName string, corePropertiesPath string) error + type ContentFilesEntry struct + BuildAction string + CopyToOutput string + Exclude string + Flatten string + Include string + type ContentTypeDefault struct + ContentType string + Extension string + type ContentTypeOverride struct + ContentType string + PartName string + type ContentTypesXML struct + Defaults []ContentTypeDefault + Overrides []ContentTypeOverride + XMLName xml.Name + Xmlns string + func GenerateContentTypes(files []PackageFile) (*ContentTypesXML, error) + type CorePropertiesXML struct + Creator string + Description string + Identifier string + Keywords string + LastModifiedBy string + Version string + XMLName xml.Name + XmlnsDC string + XmlnsDCTerms string + XmlnsXSI string + func GenerateCoreProperties(metadata PackageMetadata) *CorePropertiesXML + type DependenciesElement struct + Dependencies []Dependency + Groups []DependencyGroup + type Dependency struct + Exclude string + ID string + Include string + Version string + type DependencyGroup struct + Dependencies []Dependency + TargetFramework string + type FileIOMode uint32 + const UnixFileMode + type FileLock struct + type FrameworkAssembly struct + AssemblyName string + TargetFramework string + type FrameworkReference struct + Name string + type FrameworkReferenceGroup struct + References []FrameworkReference + TargetFramework string + type FrameworkReferencesElement struct + Groups []FrameworkReferenceGroup + type LicenseMetadata struct + Text string + Type string + Version string + type Logger interface + Error func(format string, args ...any) + Info func(format string, args ...any) + Warning func(format string, args ...any) + type NupkgMetadataFile struct + ContentHash string + Source string + Version int + func NewNupkgMetadataFile(contentHash, source string) *NupkgMetadataFile + func ReadNupkgMetadataFile(path string) (*NupkgMetadataFile, error) + func (m *NupkgMetadataFile) WriteToFile(path string) error + type Nuspec struct + Files []NuspecFile + Metadata NuspecMetadata + XMLName xml.Name + Xmlns string + func ParseNuspec(r io.Reader) (*Nuspec, error) + func ParseNuspecFile(path string) (*Nuspec, error) + func (n *Nuspec) GetAuthors() []string + func (n *Nuspec) GetDependencyGroups() ([]ParsedDependencyGroup, error) + func (n *Nuspec) GetFrameworkReferenceGroups() ([]ParsedFrameworkReferenceGroup, error) + func (n *Nuspec) GetOwners() []string + func (n *Nuspec) GetParsedIdentity() (*PackageIdentity, error) + func (n *Nuspec) GetTags() []string + type NuspecFile struct + Exclude string + Source string + Target string + type NuspecMetadata struct + Authors string + ContentFiles []ContentFilesEntry + Copyright string + Dependencies *DependenciesElement + Description string + DevelopmentDependency bool + FrameworkAssemblies []FrameworkAssembly + FrameworkReferences *FrameworkReferencesElement + ID string + Icon string + IconURL string + Language string + License *LicenseMetadata + LicenseURL string + MinClientVersion string + Owners string + PackageTypes []PackageType + ProjectURL string + Readme string + References *ReferencesElement + ReleaseNotes string + Repository *RepositoryMetadata + RequireLicenseAcceptance bool + Serviceable bool + Summary string + Tags string + Title string + Version string + type PackageBuilder struct + func NewPackageBuilder() *PackageBuilder + func NewPackageBuilderFromNuspec(nuspecPath string) (*PackageBuilder, error) + func (b *PackageBuilder) AddDependency(fw *frameworks.NuGetFramework, id string, versionRange *version.Range) *PackageBuilder + func (b *PackageBuilder) AddDependencyGroup(group PackageDependencyGroup) *PackageBuilder + func (b *PackageBuilder) AddFile(sourcePath, targetPath string) error + func (b *PackageBuilder) AddFileFromBytes(targetPath string, content []byte) error + func (b *PackageBuilder) AddFileFromReader(targetPath string, reader io.Reader) error + func (b *PackageBuilder) AddFrameworkReferenceGroup(group PackageFrameworkReferenceGroup) *PackageBuilder + func (b *PackageBuilder) AddPackageType(packageType PackageTypeInfo) *PackageBuilder + func (b *PackageBuilder) GetFiles() []PackageFile + func (b *PackageBuilder) GetMetadata() PackageMetadata + func (b *PackageBuilder) PopulateFromNuspec(nuspec *Nuspec) error + func (b *PackageBuilder) Save(writer io.Writer) error + func (b *PackageBuilder) SaveToFile(path string) error + func (b *PackageBuilder) SetAuthors(authors ...string) *PackageBuilder + func (b *PackageBuilder) SetCopyright(copyright string) *PackageBuilder + func (b *PackageBuilder) SetDescription(description string) *PackageBuilder + func (b *PackageBuilder) SetDevelopmentDependency(isDev bool) *PackageBuilder + func (b *PackageBuilder) SetID(id string) *PackageBuilder + func (b *PackageBuilder) SetIcon(icon string) *PackageBuilder + func (b *PackageBuilder) SetIconURL(urlStr string) error + func (b *PackageBuilder) SetLanguage(language string) *PackageBuilder + func (b *PackageBuilder) SetLicenseMetadata(license *LicenseMetadata) *PackageBuilder + func (b *PackageBuilder) SetLicenseURL(urlStr string) error + func (b *PackageBuilder) SetMinClientVersion(ver *version.NuGetVersion) *PackageBuilder + func (b *PackageBuilder) SetOwners(owners ...string) *PackageBuilder + func (b *PackageBuilder) SetProjectURL(urlStr string) error + func (b *PackageBuilder) SetReadme(readme string) *PackageBuilder + func (b *PackageBuilder) SetReleaseNotes(releaseNotes string) *PackageBuilder + func (b *PackageBuilder) SetRepository(repo *PackageRepositoryMetadata) *PackageBuilder + func (b *PackageBuilder) SetRequireLicenseAcceptance(required bool) *PackageBuilder + func (b *PackageBuilder) SetServiceable(serviceable bool) *PackageBuilder + func (b *PackageBuilder) SetSummary(summary string) *PackageBuilder + func (b *PackageBuilder) SetTags(tags ...string) *PackageBuilder + func (b *PackageBuilder) SetTitle(title string) *PackageBuilder + func (b *PackageBuilder) SetVersion(ver *version.NuGetVersion) *PackageBuilder + func (b *PackageBuilder) Validate() error + type PackageDependency struct + Exclude []string + ID string + Include []string + VersionRange *version.Range + type PackageDependencyGroup struct + Dependencies []PackageDependency + TargetFramework *frameworks.NuGetFramework + type PackageExtractionContext struct + CopySatelliteFiles bool + Logger Logger + PackageSaveMode PackageSaveMode + ParentID string + SignatureVerifier SignatureVerifier + XMLDocFileSaveMode XMLDocFileSaveMode + func DefaultExtractionContext() *PackageExtractionContext + type PackageFile struct + Content []byte + Reader io.Reader + SourcePath string + TargetPath string + type PackageFileExtractor struct + func NewPackageFileExtractor(packageFiles []string, saveMode XMLDocFileSaveMode) *PackageFileExtractor + func (e *PackageFileExtractor) ExtractPackageFile(source string, target string, stream io.Reader) (string, error) + type PackageFrameworkAssembly struct + AssemblyName string + TargetFrameworks []*frameworks.NuGetFramework + type PackageFrameworkReferenceGroup struct + References []string + TargetFramework *frameworks.NuGetFramework + type PackageIdentity struct + ID string + Version *version.NuGetVersion + func IsSatellitePackage(reader *PackageReader, identity *PackageIdentity) (bool, *PackageIdentity, error) + func (p *PackageIdentity) String() string + type PackageMetadata struct + Authors []string + Copyright string + DependencyGroups []PackageDependencyGroup + Description string + DevelopmentDependency bool + FrameworkAssemblies []PackageFrameworkAssembly + FrameworkReferenceGroups []PackageFrameworkReferenceGroup + ID string + Icon string + IconURL *url.URL + Language string + LicenseMetadata *LicenseMetadata + LicenseURL *url.URL + MinClientVersion *version.NuGetVersion + Owners []string + PackageTypes []PackageTypeInfo + ProjectURL *url.URL + Readme string + ReleaseNotes string + Repository *PackageRepositoryMetadata + RequireLicenseAcceptance bool + Serviceable bool + Summary string + Tags []string + Title string + Version *version.NuGetVersion + type PackagePathResolver struct + func NewPackagePathResolver(rootDirectory string, useSideBySidePaths bool) *PackagePathResolver + func (r *PackagePathResolver) GetInstallPath(identity *PackageIdentity) string + func (r *PackagePathResolver) GetManifestFileName(identity *PackageIdentity) string + func (r *PackagePathResolver) GetPackageDirectoryName(identity *PackageIdentity) string + func (r *PackagePathResolver) GetPackageDownloadMarkerFileName(identity *PackageIdentity) string + func (r *PackagePathResolver) GetPackageFileName(identity *PackageIdentity) string + func (r *PackagePathResolver) GetPackageFilePath(identity *PackageIdentity) string + type PackageReader struct + func OpenPackage(path string) (*PackageReader, error) + func OpenPackageFromReaderAt(r io.ReaderAt, size int64) (*PackageReader, error) + func (r *PackageReader) Close() error + func (r *PackageReader) CopyFileTo(zipPath string, writer io.Writer) error + func (r *PackageReader) ExtractFile(zipPath, destPath string) error + func (r *PackageReader) ExtractFiles(files []*zip.File, destDir string) error + func (r *PackageReader) Files() []*zip.File + func (r *PackageReader) GetBuildFiles() []*zip.File + func (r *PackageReader) GetContentFiles() []*zip.File + func (r *PackageReader) GetFile(filePath string) (*zip.File, error) + func (r *PackageReader) GetFiles(prefix string) []*zip.File + func (r *PackageReader) GetIdentity() (*PackageIdentity, error) + func (r *PackageReader) GetLibFiles() []*zip.File + func (r *PackageReader) GetNuspec() (*Nuspec, error) + func (r *PackageReader) GetNuspecFile() (*zip.File, error) + func (r *PackageReader) GetPackageFiles() []*zip.File + func (r *PackageReader) GetPrimarySignature() (*signatures.PrimarySignature, error) + func (r *PackageReader) GetRefFiles() []*zip.File + func (r *PackageReader) GetSignatureFile() (*zip.File, error) + func (r *PackageReader) GetToolsFiles() []*zip.File + func (r *PackageReader) HasFile(filePath string) bool + func (r *PackageReader) IsAuthorSigned() (bool, error) + func (r *PackageReader) IsRepositorySigned() (bool, error) + func (r *PackageReader) IsSigned() bool + func (r *PackageReader) OpenNuspec() (io.ReadCloser, error) + type PackageRepositoryMetadata struct + Branch string + Commit string + Type string + URL string + type PackageSaveMode int + const PackageSaveModeDefaultV2 + const PackageSaveModeDefaultV3 + const PackageSaveModeFiles + const PackageSaveModeNone + const PackageSaveModeNupkg + const PackageSaveModeNuspec + func (m PackageSaveMode) HasFlag(flag PackageSaveMode) bool + type PackageType struct + Name string + Version string + type PackageTypeInfo struct + Name string + Version *version.NuGetVersion + type ParsedDependency struct + Exclude []string + ID string + Include []string + VersionRange *version.Range + func (d *ParsedDependency) ToPackageDependency() PackageDependency + type ParsedDependencyGroup struct + Dependencies []ParsedDependency + TargetFramework *frameworks.NuGetFramework + func (g *ParsedDependencyGroup) ToPackageDependencyGroup() PackageDependencyGroup + type ParsedFrameworkReferenceGroup struct + References []string + TargetFramework *frameworks.NuGetFramework + func (g *ParsedFrameworkReferenceGroup) ToPackageFrameworkReferenceGroup() PackageFrameworkReferenceGroup + type PathResolver interface + GetInstallPath func(packageID string, ver *version.NuGetVersion) string + type Reference struct + File string + type ReferenceGroup struct + References []Reference + TargetFramework string + type ReferencesElement struct + Groups []ReferenceGroup + type Relationship struct + ID string + Target string + Type string + type RelationshipsXML struct + Relationships []Relationship + XMLName xml.Name + Xmlns string + func GenerateRelationships(nuspecFileName string, corePropertiesPath string) *RelationshipsXML + type RepositoryMetadata struct + Branch string + Commit string + Type string + URL string + type SignatureVerifier interface + VerifySignatureAsync func(ctx context.Context, reader *PackageReader) error + type VersionFolderPathResolver struct + func NewVersionFolderPathResolver(rootPath string, isLowercase bool) *VersionFolderPathResolver + func (r *VersionFolderPathResolver) GetHashPath(packageID string, ver *version.NuGetVersion) string + func (r *VersionFolderPathResolver) GetInstallPath(packageID string, ver *version.NuGetVersion) string + func (r *VersionFolderPathResolver) GetManifestFilePath(packageID string, ver *version.NuGetVersion) string + func (r *VersionFolderPathResolver) GetNupkgMetadataPath(packageID string, ver *version.NuGetVersion) string + func (r *VersionFolderPathResolver) GetPackageDirectory(packageID string, ver *version.NuGetVersion) string + func (r *VersionFolderPathResolver) GetPackageFilePath(packageID string, ver *version.NuGetVersion) string + func (r *VersionFolderPathResolver) GetVersionListDirectory(packageID string) string + type XMLDocFileSaveMode int + const XMLDocFileSaveModeCompress + const XMLDocFileSaveModeNone + const XMLDocFileSaveModeSkip