pub struct PackageSpec {Show 19 fields
pub package_name: String,
pub package_number: isize,
pub name: String,
pub description: String,
pub host: String,
pub version: String,
pub build_id: isize,
pub build_id_namespace: String,
pub confidentiality: String,
pub files: Vec<(String, String)>,
pub typ: String,
pub disabled: bool,
pub doc_title: String,
pub make_targets: Vec<String>,
pub include_release_notes: bool,
pub ip_plans: Vec<String>,
pub legacy_doc_make_targets: Vec<String>,
pub release_notes: Vec<String>,
pub access_labels: Vec<String>,
}
Expand description
Implements the Schema for package-specs.json
{ “$schema”: “https://json-schema.org/draft/2020-12/schema”, “type”: “array”, “title”: “Simics Package Specification file”, “items”: { “type”: “object”, “required”: [ “package-name”, “package-number”, “name”, “description”, “host”, “version”, “build-id”, “build-id-namespace”, “confidentiality”, “files” ], “properties”: { “package-name”: { “type”: “string” }, “package-number”: { “anyOf”: [{“type”: “integer”}, {“type”: “null”}] }, “name”: { “type”: “string” }, “description”: { “type”: “string” }, “host”: { “type”: “string” }, “version”: { “type”: “string” }, “build-id”: { “type”: “integer” }, “build-id-namespace”: { “type”: “string” }, “confidentiality”: { “type”: “string” }, “files”: { “type”: “object”, “patternProperties”: { “^[^\:]/$”: { “type”: “object”, “properties”: { “source-directory”: { “type”: “string” }, “file-list”: { “type”: “string” }, “suffixes”: { “type”: “array”, “items”: { “type”: “string” } } } }, “^[^\:][^/]$”: { “type”: “string” } } }, “type”: { “enum”: [“addon”, “base”] }, “disabled”: { “type”: “boolean” }, “doc-title”: { “anyOf”: [{“type”: “string”}, {“type”: “null”}] }, “make-targets”: { “type”: “array”, “items”: { “type”: “string” } } } } }
Fields§
§package_name: String
The one-word alphanumeric package name, e.g. ‘TSFFS-Fuzzer’ in Camel-Kebab-Case
package_number: isize
The package number. This is the only field that must be included in the crate metadata. It must be globally unique.
name: String
The human-readable name of the package e.g. ‘TSFFS Fuzzer’, the package name with dashes replaced with spaces.
description: String
A description of the package, e.g. ‘TSFFS: The Target Software Fuzzer for SIMICS’
host: String
The host this package is built for, either ‘win64’ or ‘linux64’
version: String
The version number for this package, e.g. ‘6.0.2’ or ‘6.0.pre6’
build_id: isize
The build ID for this package, later versions should have later IDs. This number should
monotonically increase and only has meaning between two packages with the same
build_id_namespace
build_id_namespace: String
An identifier for the build ID, e.g. ‘tsffs’
confidentiality: String
The confidentiality of the package, e.g. ‘Public’, but can be any string value based on the authors confidentiality requirements.
files: Vec<(String, String)>
A mapping from the path in the package to the full path on disk of the file.
typ: String
Either “addon” or “base”, all packages should be ‘addon’
disabled: bool
Whether the package is disabled, default is not disabled
doc_title: String
The title used in documentation for the package
make_targets: Vec<String>
The list of targets to build for this package
include_release_notes: bool
Whether release notes should be included in the package, not included by default
ip_plans: Vec<String>
Plans for the IP of this package. Typically empty.
legacy_doc_make_targets: Vec<String>
Legacy support for doc make targets. Typically empty.
release_notes: Vec<String>
Release notes. Typically empty.
access_labels: Vec<String>
Labels for managing package access, e.g. ‘external-intel’
Implementations§
Source§impl PackageSpec
impl PackageSpec
Sourcepub fn from_subcommand(subcommand: &Subcommand) -> Result<Self>
pub fn from_subcommand(subcommand: &Subcommand) -> Result<Self>
Create a package spec by reading the manifest specified by a subcommand
Sourcepub fn with_artifacts(self, artifacts: &PackageArtifacts) -> Self
pub fn with_artifacts(self, artifacts: &PackageArtifacts) -> Self
Add a set of artifacts (not specified in the manifest) to the specification
Trait Implementations§
Source§impl Clone for PackageSpec
impl Clone for PackageSpec
Source§fn clone(&self) -> PackageSpec
fn clone(&self) -> PackageSpec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more