From 9828892a888fe2fe5a0d696317ee7e8bc9065ac7 Mon Sep 17 00:00:00 2001 From: ya7010 <47286750+ya7010@users.noreply.github.com> Date: Thu, 6 Nov 2025 23:29:39 +0900 Subject: [PATCH 1/3] feat: update cargo. (#5107) Co-authored-by: ya7010 --- src/schemas/json/cargo.json | 212 +++++++++++++++++++++++------------- 1 file changed, 134 insertions(+), 78 deletions(-) diff --git a/src/schemas/json/cargo.json b/src/schemas/json/cargo.json index 9829d52e602..d60fe230162 100644 --- a/src/schemas/json/cargo.json +++ b/src/schemas/json/cargo.json @@ -87,6 +87,15 @@ "title": "Detailed Dependency", "type": "object", "properties": { + "package": { + "description": "Specify the name of the package.\n\nWhen writing a `[dependencies]` section in `Cargo.toml` the key you write for a\ndependency typically matches up to the name of the crate you import from in the\ncode. For some projects, though, you may wish to reference the crate with a\ndifferent name in the code regardless of how it's published on crates.io. For\nexample you may wish to:\n\n* Avoid the need to `use foo as bar` in Rust source.\n* Depend on multiple versions of a crate.\n* Depend on crates with the same name from different registries.\n\nTo support this Cargo supports a `package` key in the `[dependencies]` section\nof which package should be depended on:\n\n```toml\n[package]\nname = \"mypackage\"\nversion = \"0.0.1\"\n\n[dependencies]\nfoo = \"0.1\"\nbar = { git = \"https://github.com/example/project\", package = \"foo\" }\nbaz = { version = \"0.1\", registry = \"custom\", package = \"foo\" }\n```\n\nIn this example, three crates are now available in your Rust code:\n\n```rust\nextern crate foo; // crates.io\nextern crate bar; // git repository\nextern crate baz; // registry `custom`\n```\n\nAll three of these crates have the package name of `foo` in their own\n`Cargo.toml`, so we're explicitly using the `package` key to inform Cargo that\nwe want the `foo` package even though we're calling it something else locally.\nThe `package` key, if not specified, defaults to the name of the dependency\nbeing requested.\n", + "type": "string", + "x-taplo": { + "links": { + "key": "https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#renaming-dependencies-in-cargotoml" + } + } + }, "workspace": { "description": "Inherit this dependency from the workspace manifest.", "type": "boolean", @@ -167,7 +176,6 @@ "uniqueItems": true, "items": { "description": "List of features to activate in the dependency.", - "type": "string", "x-taplo": { "links": { "key": "https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#choosing-features" @@ -176,9 +184,20 @@ "crates": { "schemas": "feature" } - } + }, + "anyOf": [ + { + "type": "string", + "pattern": "default" + }, + { + "type": "string" + } + ] + }, + "x-tombi-array-values-order": { + "anyOf": ["ascending", "version-sort"] }, - "x-tombi-array-values-order": "version-sort", "x-taplo": { "links": { "key": "https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#choosing-features" @@ -194,15 +213,6 @@ } } }, - "package": { - "description": "Specify the name of the package.\n\nWhen writing a `[dependencies]` section in `Cargo.toml` the key you write for a\ndependency typically matches up to the name of the crate you import from in the\ncode. For some projects, though, you may wish to reference the crate with a\ndifferent name in the code regardless of how it's published on crates.io. For\nexample you may wish to:\n\n* Avoid the need to `use foo as bar` in Rust source.\n* Depend on multiple versions of a crate.\n* Depend on crates with the same name from different registries.\n\nTo support this Cargo supports a `package` key in the `[dependencies]` section\nof which package should be depended on:\n\n```toml\n[package]\nname = \"mypackage\"\nversion = \"0.0.1\"\n\n[dependencies]\nfoo = \"0.1\"\nbar = { git = \"https://github.com/example/project\", package = \"foo\" }\nbaz = { version = \"0.1\", registry = \"custom\", package = \"foo\" }\n```\n\nIn this example, three crates are now available in your Rust code:\n\n```rust\nextern crate foo; // crates.io\nextern crate bar; // git repository\nextern crate baz; // registry `custom`\n```\n\nAll three of these crates have the package name of `foo` in their own\n`Cargo.toml`, so we're explicitly using the `package` key to inform Cargo that\nwe want the `foo` package even though we're calling it something else locally.\nThe `package` key, if not specified, defaults to the name of the dependency\nbeing requested.\n", - "type": "string", - "x-taplo": { - "links": { - "key": "https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#renaming-dependencies-in-cargotoml" - } - } - }, "public": { "type": "boolean", "x-taplo": { @@ -247,9 +257,17 @@ "key": "https://doc.rust-lang.org/stable/cargo/reference/manifest.html#the-lints-section" } } + }, + "check-cfg": { + "description": "A list of `cfg` expressions that this lint should check for.", + "type": "array", + "items": { + "type": "string" + }, + "examples": ["cfg(foo)"] } }, - "x-tombi-table-keys-order": "version-sort" + "x-tombi-table-keys-order": "schema" }, "Edition": { "title": "Edition", @@ -270,7 +288,9 @@ "type": "string", "enum": ["dev", "test", "bench", "release"] }, - { "type": "string" } + { + "type": "string" + } ], "x-taplo": { "links": { @@ -317,6 +337,7 @@ "additionalProperties": { "$ref": "#/definitions/Lint" }, + "x-tombi-additional-key-label": "lint_name", "x-tombi-table-keys-order": "version-sort" }, "rustdoc": { @@ -325,6 +346,7 @@ "additionalProperties": { "$ref": "#/definitions/Lint" }, + "x-tombi-additional-key-label": "lint_name", "x-tombi-table-keys-order": "version-sort" }, "clippy": { @@ -333,6 +355,7 @@ "additionalProperties": { "$ref": "#/definitions/Lint" }, + "x-tombi-additional-key-label": "lint_name", "x-tombi-table-keys-order": "version-sort" } }, @@ -767,6 +790,7 @@ "additionalProperties": { "$ref": "#/definitions/Dependency" }, + "x-tombi-additional-key-label": "crate_name", "x-tombi-table-keys-order": "version-sort", "x-taplo": { "links": { @@ -780,6 +804,7 @@ "additionalProperties": { "$ref": "#/definitions/Dependency" }, + "x-tombi-additional-key-label": "crate_name", "x-tombi-table-keys-order": "version-sort", "x-taplo": { "links": { @@ -807,6 +832,7 @@ "additionalProperties": { "$ref": "#/definitions/Dependency" }, + "x-tombi-additional-key-label": "crate_name", "x-tombi-table-keys-order": "version-sort", "x-taplo": { "links": { @@ -1003,6 +1029,7 @@ "additionalProperties": { "$ref": "#/definitions/Profile" }, + "x-tombi-additional-key-label": "profile_name", "x-tombi-table-keys-order": "version-sort", "x-taplo": { "links": { @@ -1083,6 +1110,11 @@ "additionalProperties": { "$ref": "#/definitions/ProfileWithBuildOverride" }, + "x-tombi-additional-key-label": "profile_name", + "x-tombi-table-keys-order": { + "properties": "schema", + "additionalProperties": "ascending" + }, "x-taplo": { "links": { "key": "https://doc.rust-lang.org/cargo/reference/profiles.html" @@ -1353,6 +1385,66 @@ "description": "The `[workspace]` table in `Cargo.toml` defines which packages are members of\nthe workspace:\n\n```toml\n[workspace]\nmembers = [\"member1\", \"path/to/member2\", \"crates/*\"]\nexclude = [\"crates/foo\", \"path/to/other\"]\n```\n\nAn empty `[workspace]` table can be used with a `[package]` to conveniently\ncreate a workspace with the package and all of its path dependencies.\n\nAll [`path` dependencies](https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-path-dependencies) residing in the workspace directory automatically\nbecome members. Additional members can be listed with the `members` key, which\nshould be an array of strings containing directories with `Cargo.toml` files.\n\nThe `members` list also supports [globs](https://docs.rs/glob/0.3.0/glob/struct.Pattern.html) to match multiple paths, using\ntypical filename glob patterns like `*` and `?`.\n\nThe `exclude` key can be used to prevent paths from being included in a\nworkspace. This can be useful if some path dependencies aren't desired to be\nin the workspace at all, or using a glob pattern and you want to remove a\ndirectory.\n\nAn empty `[workspace]` table can be used with a `[package]` to conveniently\ncreate a workspace with the package and all of its path dependencies.", "type": "object", "properties": { + "package": { + "description": "The `workspace.package` table is where you define keys that can be\ninherited by members of a workspace. These keys can be inherited by\ndefining them in the member package with `{key}.workspace = true`.\n\nKeys that are supported:\n\n| | |\n|----------------|-----------------|\n| `authors` | `categories` |\n| `description` | `documentation` |\n| `edition` | `exclude` |\n| `homepage` | `include` |\n| `keywords` | `license` |\n| `license-file` | `publish` |\n| `readme` | `repository` |\n| `rust-version` | `version` |\n\n- `license-file` and `readme` are relative to the workspace root\n- `include` and `exclude` are relative to your package root\n\nExample:\n```toml\n# [PROJECT_DIR]/Cargo.toml\n[workspace]\nmembers = [\"bar\"]\n\n[workspace.package]\nversion = \"1.2.3\"\nauthors = [\"Nice Folks\"]\ndescription = \"A short description of my package\"\ndocumentation = \"https://example.com/bar\"\n```\n\n```toml\n# [PROJECT_DIR]/bar/Cargo.toml\n[package]\nname = \"bar\"\nversion.workspace = true\nauthors.workspace = true\ndescription.workspace = true\ndocumentation.workspace = true\n```", + "type": "object", + "properties": { + "version": { + "$ref": "#/definitions/SemVer" + }, + "authors": { + "$ref": "#/definitions/Authors" + }, + "edition": { + "$ref": "#/definitions/Edition" + }, + "rust-version": { + "$ref": "#/definitions/RustVersion" + }, + "description": { + "$ref": "#/definitions/Description" + }, + "documentation": { + "$ref": "#/definitions/Documentation" + }, + "readme": { + "$ref": "#/definitions/Readme" + }, + "homepage": { + "$ref": "#/definitions/Homepage" + }, + "repository": { + "$ref": "#/definitions/Repository" + }, + "license": { + "$ref": "#/definitions/License" + }, + "license-file": { + "$ref": "#/definitions/LicenseFile" + }, + "keywords": { + "$ref": "#/definitions/Keywords" + }, + "categories": { + "$ref": "#/definitions/Categories" + }, + "exclude": { + "$ref": "#/definitions/Exclude" + }, + "include": { + "$ref": "#/definitions/Include" + }, + "publish": { + "$ref": "#/definitions/Publish" + } + }, + "x-tombi-table-keys-order": "schema", + "x-taplo": { + "links": { + "key": "https://doc.rust-lang.org/cargo/reference/workspaces.html#the-package-table" + } + } + }, "resolver": { "$ref": "#/definitions/Resolver" }, @@ -1416,72 +1508,13 @@ } } }, - "package": { - "description": "The `workspace.package` table is where you define keys that can be\ninherited by members of a workspace. These keys can be inherited by\ndefining them in the member package with `{key}.workspace = true`.\n\nKeys that are supported:\n\n| | |\n|----------------|-----------------|\n| `authors` | `categories` |\n| `description` | `documentation` |\n| `edition` | `exclude` |\n| `homepage` | `include` |\n| `keywords` | `license` |\n| `license-file` | `publish` |\n| `readme` | `repository` |\n| `rust-version` | `version` |\n\n- `license-file` and `readme` are relative to the workspace root\n- `include` and `exclude` are relative to your package root\n\nExample:\n```toml\n# [PROJECT_DIR]/Cargo.toml\n[workspace]\nmembers = [\"bar\"]\n\n[workspace.package]\nversion = \"1.2.3\"\nauthors = [\"Nice Folks\"]\ndescription = \"A short description of my package\"\ndocumentation = \"https://example.com/bar\"\n```\n\n```toml\n# [PROJECT_DIR]/bar/Cargo.toml\n[package]\nname = \"bar\"\nversion.workspace = true\nauthors.workspace = true\ndescription.workspace = true\ndocumentation.workspace = true\n```", - "type": "object", - "properties": { - "version": { - "$ref": "#/definitions/SemVer" - }, - "authors": { - "$ref": "#/definitions/Authors" - }, - "edition": { - "$ref": "#/definitions/Edition" - }, - "rust-version": { - "$ref": "#/definitions/RustVersion" - }, - "description": { - "$ref": "#/definitions/Description" - }, - "documentation": { - "$ref": "#/definitions/Documentation" - }, - "readme": { - "$ref": "#/definitions/Readme" - }, - "homepage": { - "$ref": "#/definitions/Homepage" - }, - "repository": { - "$ref": "#/definitions/Repository" - }, - "license": { - "$ref": "#/definitions/License" - }, - "license-file": { - "$ref": "#/definitions/LicenseFile" - }, - "keywords": { - "$ref": "#/definitions/Keywords" - }, - "categories": { - "$ref": "#/definitions/Categories" - }, - "exclude": { - "$ref": "#/definitions/Exclude" - }, - "include": { - "$ref": "#/definitions/Include" - }, - "publish": { - "$ref": "#/definitions/Publish" - } - }, - "x-tombi-table-keys-order": "schema", - "x-taplo": { - "links": { - "key": "https://doc.rust-lang.org/cargo/reference/workspaces.html#the-package-table" - } - } - }, "dependencies": { "description": "The `workspace.dependencies` table is where you define dependencies to be\ninherited by members of a workspace.\n\nSpecifying a workspace dependency is similar to [package dependencies](https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html) except:\n- Dependencies from this table cannot be declared as `optional`\n- [`features`][features] declared in this table are additive with the `features` from `[dependencies]`\n\nYou can then [inherit the workspace dependency as a package dependency](https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#inheriting-a-dependency-from-a-workspace)\n\nExample:\n```toml\n# [PROJECT_DIR]/Cargo.toml\n[workspace]\nmembers = [\"bar\"]\n\n[workspace.dependencies]\ncc = \"1.0.73\"\nrand = \"0.8.5\"\nregex = { version = \"1.6.0\", default-features = false, features = [\"std\"] }\n```\n\n```toml\n# [PROJECT_DIR]/bar/Cargo.toml\n[package]\nname = \"bar\"\nversion = \"0.2.0\"\n\n[dependencies]\nregex = { workspace = true, features = [\"unicode\"] }\n\n[build-dependencies]\ncc.workspace = true\n\n[dev-dependencies]\nrand.workspace = true\n```", "type": "object", "additionalProperties": { "$ref": "#/definitions/Dependency" }, + "x-tombi-additional-key-label": "crate_name", "x-tombi-table-keys-order": "version-sort", "x-taplo": { "links": { @@ -1518,11 +1551,12 @@ }, "Authors": { "title": "Authors", - "description": "The `authors` field lists people or organizations that are considered the\n\"authors\" of the package. The exact meaning is open to interpretation — it may\nlist the original or primary authors, current maintainers, or owners of the\npackage. These names will be listed on the crate's page on\n[crates.io](https://crates.io). An optional email address may be included within angled\nbrackets at the end of each author.\n\n> **Note**: [crates.io](https://crates.io) requires at least one author to be listed.", + "description": "The optional `authors` field lists in an array the people or organizations that are considered\nthe \"authors\" of the package. An optional email address may be included within angled brackets at\nthe end of each author entry.\n\n```toml\n[package]\n# ...\nauthors = [\"Graydon Hoare\", \"Fnu Lnu \"]\n```\n\nThis field is surfaced in package metadata and in the `CARGO_PKG_AUTHORS`\nenvironment variable within `build.rs` for backwards compatibility.", "type": "array", "uniqueItems": true, + "deprecated": true, "items": { - "description": "The `authors` field lists people or organizations that are considered the\n\"authors\" of the package. The exact meaning is open to interpretation — it may\nlist the original or primary authors, current maintainers, or owners of the\npackage. These names will be listed on the crate's page on\n[crates.io](https://crates.io). An optional email address may be included within angled\nbrackets at the end of each author.\n\n> **Note**: [crates.io](https://crates.io) requires at least one author to be listed.", + "description": "The optional `authors` field lists in an array the people or organizations that are considered\nthe \"authors\" of the package. An optional email address may be included within angled brackets at\nthe end of each author entry.\n\n```toml\n[package]\n# ...\nauthors = [\"Graydon Hoare\", \"Fnu Lnu \"]\n```\n\nThis field is surfaced in package metadata and in the `CARGO_PKG_AUTHORS`\nenvironment variable within `build.rs` for backwards compatibility.", "type": "string", "x-taplo": { "links": { @@ -1530,7 +1564,6 @@ } } }, - "x-tombi-array-values-order": "version-sort", "x-taplo": { "links": { "key": "https://doc.rust-lang.org/cargo/reference/manifest.html#the-authors-field" @@ -1886,6 +1919,7 @@ } ] }, + "x-tombi-additional-key-label": "asset_path", "x-tombi-table-keys-order": "schema", "x-taplo": { "links": { @@ -2057,6 +2091,7 @@ "additionalProperties": { "$ref": "#/definitions/Dependency" }, + "x-tombi-additional-key-label": "crate_name", "x-tombi-table-keys-order": "version-sort", "x-taplo": { "links": { @@ -2070,6 +2105,7 @@ "additionalProperties": { "$ref": "#/definitions/Dependency" }, + "x-tombi-additional-key-label": "crate_name", "x-tombi-table-keys-order": "version-sort", "x-taplo": { "links": { @@ -2099,6 +2135,7 @@ "additionalProperties": { "$ref": "#/definitions/Dependency" }, + "x-tombi-additional-key-label": "crate_name", "x-tombi-table-keys-order": "version-sort", "x-taplo": { "links": { @@ -2124,6 +2161,7 @@ }, "target": { "type": "object", + "x-tombi-additional-key-label": "target_name", "x-tombi-table-keys-order": "version-sort", "additionalProperties": { "$ref": "#/definitions/Platform" @@ -2139,6 +2177,7 @@ }, "x-tombi-table-keys-order": "version-sort" }, + "x-tombi-additional-key-label": "badge_name", "x-tombi-table-keys-order": "version-sort", "x-taplo": { "links": { @@ -2174,6 +2213,7 @@ }, "x-tombi-array-values-order": "version-sort" }, + "x-tombi-additional-key-label": "feature_name", "x-tombi-table-keys-order": { "properties": "schema", "additionalProperties": "version-sort" @@ -2212,14 +2252,30 @@ "patch": { "description": "The `[patch]` section of `Cargo.toml` can be used to override dependencies\nwith other copies. The syntax is similar to the\n[`[dependencies]`](https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html) section.\n\n", "type": "object", + "properties": { + "crates-io": { + "title": "Override the dependency on crates.io", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Dependency" + }, + "x-tombi-additional-key-label": "crate_name", + "x-tombi-table-keys-order": "version-sort" + } + }, "additionalProperties": { "type": "object", "additionalProperties": { "$ref": "#/definitions/Dependency" }, + "x-tombi-additional-key-label": "crate_name", "x-tombi-table-keys-order": "version-sort" }, - "x-tombi-table-keys-order": "version-sort", + "x-tombi-additional-key-label": "source_url_or_registry_name", + "x-tombi-table-keys-order": { + "properties": "schema", + "additionalProperties": "version-sort" + }, "x-taplo": { "links": { "key": "https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html#the-patch-section" From 615f847bffa65eb7730e44110a3c99c2c1906374 Mon Sep 17 00:00:00 2001 From: Sriman <136729116+teneplaysofficial@users.noreply.github.com> Date: Thu, 6 Nov 2025 22:24:33 +0530 Subject: [PATCH 2/3] Add Release Hub schema to catalog.json (#5103) Added schema for Release Hub configuration files. --- src/api/json/catalog.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/api/json/catalog.json b/src/api/json/catalog.json index a311219a32f..b04f9dae3be 100644 --- a/src/api/json/catalog.json +++ b/src/api/json/catalog.json @@ -2,6 +2,17 @@ "$schema": "https://json.schemastore.org/schema-catalog.json", "version": 1, "schemas": [ + { + "name": "release-hub.json", + "description": "Configuration file for Release Hub", + "fileMatch": [ + ".release-hub.json", + ".release-hub.config.json", + "release-hub.json", + "release-hub.config.json" + ], + "url": "https://raw.githubusercontent.com/teneplaysofficial/release-hub/main/schema/release-hub.schema.json" + }, { "name": "Bacon config", "description": "Bacon configuration file", From b832c2c15607b9277681f2acd1887d4989386a00 Mon Sep 17 00:00:00 2001 From: Artur Date: Thu, 6 Nov 2025 17:54:53 +0100 Subject: [PATCH 3/3] update gitversion schema to 6.5 (#5104) --- src/api/json/catalog.json | 3 ++- src/schemas/json/gitversion.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/api/json/catalog.json b/src/api/json/catalog.json index b04f9dae3be..bcbbfafaae6 100644 --- a/src/api/json/catalog.json +++ b/src/api/json/catalog.json @@ -2677,7 +2677,8 @@ "6.1": "https://gitversion.net/schemas/6.1/GitVersion.configuration.json", "6.2": "https://gitversion.net/schemas/6.2/GitVersion.configuration.json", "6.3": "https://gitversion.net/schemas/6.3/GitVersion.configuration.json", - "6.4": "https://gitversion.net/schemas/6.4/GitVersion.configuration.json" + "6.4": "https://gitversion.net/schemas/6.4/GitVersion.configuration.json", + "6.5": "https://gitversion.net/schemas/6.5/GitVersion.configuration.json" } }, { diff --git a/src/schemas/json/gitversion.json b/src/schemas/json/gitversion.json index 62350f0625d..ce15954717c 100644 --- a/src/schemas/json/gitversion.json +++ b/src/schemas/json/gitversion.json @@ -1,5 +1,5 @@ { "$schema": "http://json-schema.org/draft-07/schema#", - "$ref": "https://gitversion.net/schemas/6.4/GitVersion.configuration.json", + "$ref": "https://gitversion.net/schemas/6.5/GitVersion.configuration.json", "title": "GitVersion configuration schema" }