Skip to content

TechSheet

Title: TechSheet

Type object
Required No
Additional properties [Any type: allowed]

Description: This is the schema definition for common-deps v1, a metadata model to describe software dependencies. Use this schema to produce a single file, normally called techsheet.yml or techsheet.json which are normally generated by supported build tools.

Example:

version: https://techsheet.org/spec/v1
timestamp: '2018-11-13T20:20:39+00:00'
generator: Gradle Plugin
build-tool:
  name: Gradle
  version: '8.7'
  flavor: Kotlin DSL
plugins:
- name: org.jetbrains.kotlin.jvm
  version: 2.0.0
- name: org.springframework.boot
  version: 3.3.0
dependencies:
- name: org.jetbrains.kotlin:kotlin-test-junit5
  version: 5.6.3
- name: org.jetbrains.platform:junit-platform-commons
  version: 1.6.3
Property Pattern Type Deprecated Definition Title/Description
+ version No string No - The version of the specification.
- timestamp No string No - The timestamp when the file was generated.
- generator No string No - The name of the generator used to create this file.
- build-tool No object No - The build-tool that manages the dependencies.
- plugins No array of object No - A list of installed / used plugins within the build tools. Often, plugins come with their own dependencies or are able to alter them in a certain way.
+ dependencies No array of object No - A list of all used dependencies, including transitive. This list can be very long, but should be complete. The list has no particular order or semantics beyond identifying dependencies.

Property TechSheet > version

Type string
Required Yes
Format uri

Description: The version of the specification.

Example:

https://techsheet.org/spec/v1/schema.json

Property TechSheet > timestamp

Type string
Required No
Format date-time

Description: The timestamp when the file was generated.

Example:

2018-11-13T20:20:39+00:00

Property TechSheet > generator

Type string
Required No

Description: The name of the generator used to create this file.

Examples:

Gradle Plugin
NPM Task

Property TechSheet > build-tool

Type object
Required No
Additional properties [Any type: allowed]

Description: The build-tool that manages the dependencies.

Property Pattern Type Deprecated Definition Title/Description
+ name No string No - The name of the build tool. This should be a well-known name, see examples. Tu specify build-tool characteristics further, use `build-tool.flavor`.
- version No string No - The version of the build tool. While most build tools known to use use semver, this can be any string.
- flavor No string No - The flavor of the build tool (e.g., DSL used).

Property TechSheet > build-tool > name

Type string
Required Yes

Description: The name of the build tool. This should be a well-known name, see examples. Tu specify build-tool characteristics further, use build-tool.flavor.

Examples:

Gradle
Maven
NPM
YARN
Composer

Property TechSheet > build-tool > version

Type string
Required No

Description: The version of the build tool. While most build tools known to use use semver, this can be any string.

Examples:

8.7
1.0-alpha
2024.06
1.0.0[release]

Property TechSheet > build-tool > flavor

Type string
Required No

Description: The flavor of the build tool (e.g., DSL used).

Examples:

Kotlin DSL
Groovy DSL

Property TechSheet > plugins

Type array of object
Required No

Description: A list of installed / used plugins within the build tools. Often, plugins come with their own dependencies or are able to alter them in a certain way.

Each item of this array must be Description
plugins items -

TechSheet > plugins > plugins items

Type object
Required No
Additional properties [Any type: allowed]
Property Pattern Type Deprecated Definition Title/Description
+ name No string No - The name of the plugin.
- version No string No - The version of the plugin.

Property TechSheet > plugins > plugins items > name

Type string
Required Yes

Description: The name of the plugin.

Examples:

org.jetbrains.kotlin.jvm
org.springframework.boot

Property TechSheet > plugins > plugins items > version

Type string
Required No

Description: The version of the plugin.

Examples:

2.0.0
3.3.0

Property TechSheet > dependencies

Type array of object
Required Yes

Description: A list of all used dependencies, including transitive. This list can be very long, but should be complete. The list has no particular order or semantics beyond identifying dependencies.

Each item of this array must be Description
dependencies items -

TechSheet > dependencies > dependencies items

Type object
Required No
Additional properties [Any type: allowed]
Property Pattern Type Deprecated Definition Title/Description
+ name No string No - The name of the dependency.
- version No string No - The version of the dependency.

Property TechSheet > dependencies > dependencies items > name

Type string
Required Yes

Description: The name of the dependency.

Examples:

org.jetbrains.kotlin:kotlin-test-junit5
org.jetbrains.platform:junit-platform-commons

Property TechSheet > dependencies > dependencies items > version

Type string
Required No

Description: The version of the dependency.

Examples:

5.6.3
1.6.3

Generated using json-schema-for-humans on 2024-06-07 at 11:48:35 +0000