Documentation
¶
Index ¶
- Constants
- func AcceptLicenseReviews(lock *Lock)
- func Generate(ctx context.Context, root string) error
- func RenderNoticesInventory(lock Lock) string
- func RenderSPDX(lock Lock) ([]byte, error)
- func ReplaceNoticesInventory(document string, lock Lock) (string, error)
- func TreeSHA256(root string) (string, error)
- func Verify(root string) error
- func VerifyGenerated(root string) error
- func VerifyLicenseReviews(lock Lock) error
- func WriteLock(path string, lock Lock) error
- type AppleArtifact
- type Ghostty
- type GoDependency
- type Highway
- type Lock
- type SPDXTools
- type Simdutf
- type Uucode
- type Zig
Constants ¶
const ( LockFilename = "libghostty-native.lock.json" SPDXFilename = "libghostty-native.spdx.json" NoticesFilename = "THIRD_PARTY_NOTICES.libghostty.md" )
const ( NoticesBeginMarker = "<!-- BEGIN GENERATED LIBGHOSTTY DEPENDENCY INVENTORY -->" NoticesEndMarker = "<!-- END GENERATED LIBGHOSTTY DEPENDENCY INVENTORY -->" )
Variables ¶
This section is empty.
Functions ¶
func AcceptLicenseReviews ¶
func AcceptLicenseReviews(lock *Lock)
AcceptLicenseReviews binds the current license conclusions to the exact license and embedded-notice hashes in the lock. It is deliberately separate from generation: a dependency update that changes legal evidence stays red until a reviewer inspects the new material and explicitly accepts it.
func RenderNoticesInventory ¶
func RenderSPDX ¶
func ReplaceNoticesInventory ¶
func TreeSHA256 ¶
TreeSHA256 binds a generated header tree to both relative paths and bytes. Paths are sorted and separated with NUL bytes to make the digest independent of filesystem enumeration and impossible to confuse by concatenation.
func VerifyGenerated ¶
VerifyGenerated checks every mechanical projection without accepting new license evidence. Generation uses this mode so it can produce a reviewable, deliberately red PR when a license or required notice changed; the normal Verify path remains the merge gate and requires explicit review bindings.
func VerifyLicenseReviews ¶
Types ¶
type AppleArtifact ¶
type Ghostty ¶
type Ghostty struct {
Repository string `json:"repository"`
RenovateRef string `json:"renovateRef"`
Commit string `json:"commit"`
Version string `json:"version"`
HeadersSHA256 string `json:"headersSHA256"`
LicenseSHA256 string `json:"licenseSHA256"`
LicenseConclusion string `json:"licenseConclusion"`
LicenseReview string `json:"licenseReview"`
AppleArtifact AppleArtifact `json:"appleArtifact"`
}
type GoDependency ¶
type GoDependency struct {
Repository string `json:"repository"`
RenovateRef string `json:"renovateRef"`
Commit string `json:"commit"`
Version string `json:"version"`
ModuleSum string `json:"moduleSum"`
TestedGhosttyCommit string `json:"testedGhosttyCommit"`
LicenseSHA256 string `json:"licenseSHA256"`
LicenseConclusion string `json:"licenseConclusion"`
LicenseReview string `json:"licenseReview"`
}
type Highway ¶
type Highway struct {
Repository string `json:"repository"`
Version string `json:"version"`
Commit string `json:"commit"`
SourceURL string `json:"sourceURL"`
ZigHash string `json:"zigHash"`
ArchiveSHA256 string `json:"archiveSHA256"`
LicenseSHA256 string `json:"licenseSHA256"`
LicenseConclusion string `json:"licenseConclusion"`
LicenseDeclared string `json:"licenseDeclared"`
LicenseReview string `json:"licenseReview"`
}
type Lock ¶
type Lock struct {
SchemaVersion int `json:"schemaVersion"`
GoLibghostty GoDependency `json:"goLibghostty"`
Ghostty Ghostty `json:"ghostty"`
Zig Zig `json:"zig"`
Uucode Uucode `json:"uucode"`
Highway Highway `json:"highway"`
Simdutf Simdutf `json:"simdutf"`
SPDXTools SPDXTools `json:"spdxTools"`
}
func DecodeLock ¶
type Simdutf ¶
type Simdutf struct {
Repository string `json:"repository"`
Version string `json:"version"`
ManifestVersion string `json:"manifestVersion"`
Commit string `json:"commit"`
CppSHA256 string `json:"cppSHA256"`
HeaderSHA256 string `json:"headerSHA256"`
LicenseSHA256 string `json:"licenseSHA256"`
LicenseConclusion string `json:"licenseConclusion"`
LicenseDeclared string `json:"licenseDeclared"`
LicenseReview string `json:"licenseReview"`
}
type Uucode ¶
type Uucode struct {
Repository string `json:"repository"`
Version string `json:"version"`
SourceURL string `json:"sourceURL"`
ZigHash string `json:"zigHash"`
ArchiveSHA256 string `json:"archiveSHA256"`
LicenseSHA256 string `json:"licenseSHA256"`
DecoderNoticeSHA256 string `json:"decoderNoticeSHA256"`
UnicodeNoticeSHA256 string `json:"unicodeNoticeSHA256"`
LicenseConclusion string `json:"licenseConclusion"`
LicenseReview string `json:"licenseReview"`
}
type Zig ¶
type Zig struct {
Repository string `json:"repository"`
Version string `json:"version"`
SourceURL string `json:"sourceURL"`
SourceSHA256 string `json:"sourceSHA256"`
LinuxX8664URL string `json:"linuxX8664URL"`
LinuxX8664SHA256 string `json:"linuxX8664SHA256"`
LicenseSHA256 string `json:"licenseSHA256"`
LicenseConclusion string `json:"licenseConclusion"`
LicenseReview string `json:"licenseReview"`
}