dev.mccue.jvm.module
Schema Diff
+30 -21
Compatibility Analysis
Breaking Changes Detected
7 breaking changes, 11 non-breaking changes.
Breaking Changes (7)
- RemovedVertex RemovedVertex { vertex_id: "dev.mccue.jvm.module#variant.billOfMaterials" }
- RemovedVertex RemovedVertex { vertex_id: "dev.mccue.jvm.module#variant.cpuArchitecture" }
- RemovedVertex RemovedVertex { vertex_id: "dev.mccue.jvm.module#variant.operatingSystem" }
- RemovedEdge RemovedEdge { src: "dev.mccue.jvm.module#variant", tgt: "dev.mccue.jvm.module#variant.billOfMaterials", kind: "prop", name: Some("billOfMaterials") }
- RemovedEdge RemovedEdge { src: "dev.mccue.jvm.module#variant", tgt: "dev.mccue.jvm.module#variant.cpuArchitecture", kind: "prop", name: Some("cpuArchitecture") }
- RemovedEdge RemovedEdge { src: "dev.mccue.jvm.module#variant", tgt: "dev.mccue.jvm.module#variant.operatingSystem", kind: "prop", name: Some("operatingSystem") }
- KindChanged KindChanged { vertex_id: "dev.mccue.jvm.module#url", old_kind: "string", new_kind: "object" }
Non-Breaking Changes (11)
- AddedVertex AddedVertex { vertex_id: "dev.mccue.jvm.module#attribute" }
- AddedVertex AddedVertex { vertex_id: "dev.mccue.jvm.module#attribute.name" }
- AddedVertex AddedVertex { vertex_id: "dev.mccue.jvm.module#attribute.value" }
- AddedVertex AddedVertex { vertex_id: "dev.mccue.jvm.module#url.url" }
- AddedVertex AddedVertex { vertex_id: "dev.mccue.jvm.module#variant.attributes" }
- AddedVertex AddedVertex { vertex_id: "dev.mccue.jvm.module#variant.attributes:items" }
- AddedEdge AddedEdge { src: "dev.mccue.jvm.module#attribute", tgt: "dev.mccue.jvm.module#attribute.name", kind: "prop", name: Some("name") }
- AddedEdge AddedEdge { src: "dev.mccue.jvm.module#attribute", tgt: "dev.mccue.jvm.module#attribute.value", kind: "prop", name: Some("value") }
- AddedEdge AddedEdge { src: "dev.mccue.jvm.module#url", tgt: "dev.mccue.jvm.module#url.url", kind: "prop", name: Some("url") }
- AddedEdge AddedEdge { src: "dev.mccue.jvm.module#variant", tgt: "dev.mccue.jvm.module#variant.attributes", kind: "prop", name: Some("attributes") }
- AddedEdge AddedEdge { src: "dev.mccue.jvm.module#variant.attributes", tgt: "dev.mccue.jvm.module#variant.attributes:items", kind: "items", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "dev.mccue.jvm.module#variant.billOfMaterials" }RemovedVertex { vertex_id: "dev.mccue.jvm.module#variant.cpuArchitecture" }RemovedVertex { vertex_id: "dev.mccue.jvm.module#variant.operatingSystem" }
Added Elements
AddedVertex { vertex_id: "dev.mccue.jvm.module#attribute" }AddedVertex { vertex_id: "dev.mccue.jvm.module#attribute.name" }AddedVertex { vertex_id: "dev.mccue.jvm.module#attribute.value" }AddedVertex { vertex_id: "dev.mccue.jvm.module#url.url" }AddedVertex { vertex_id: "dev.mccue.jvm.module#variant.attributes" }AddedVertex { vertex_id: "dev.mccue.jvm.module#variant.attributes:items" }
Additional Notes
- Breaking: RemovedEdge { src: "dev.mccue.jvm.module#variant", tgt: "dev.mccue.jvm.module#variant.billOfMaterials", kind: "prop", name: Some("billOfMaterials") }
- Breaking: RemovedEdge { src: "dev.mccue.jvm.module#variant", tgt: "dev.mccue.jvm.module#variant.cpuArchitecture", kind: "prop", name: Some("cpuArchitecture") }
- Breaking: RemovedEdge { src: "dev.mccue.jvm.module#variant", tgt: "dev.mccue.jvm.module#variant.operatingSystem", kind: "prop", name: Some("operatingSystem") }
- Breaking: KindChanged { vertex_id: "dev.mccue.jvm.module#url", old_kind: "string", new_kind: "object" }
- Non-breaking: AddedEdge { src: "dev.mccue.jvm.module#attribute", tgt: "dev.mccue.jvm.module#attribute.name", kind: "prop", name: Some("name") }
- Non-breaking: AddedEdge { src: "dev.mccue.jvm.module#attribute", tgt: "dev.mccue.jvm.module#attribute.value", kind: "prop", name: Some("value") }
- Non-breaking: AddedEdge { src: "dev.mccue.jvm.module#url", tgt: "dev.mccue.jvm.module#url.url", kind: "prop", name: Some("url") }
- Non-breaking: AddedEdge { src: "dev.mccue.jvm.module#variant", tgt: "dev.mccue.jvm.module#variant.attributes", kind: "prop", name: Some("attributes") }
- Non-breaking: AddedEdge { src: "dev.mccue.jvm.module#variant.attributes", tgt: "dev.mccue.jvm.module#variant.attributes:items", kind: "items", name: None }
1
1
{
2
2
"id": "dev.mccue.jvm.module",
3
3
"defs": {
4
4
"url": {
5
-
"type": "string",
5
+
"type": "object",
6
+
"required": [
7
+
"url"
8
+
],
9
+
"properties": {
10
+
"url": {
11
+
"type": "string"
12
+
}
13
+
},
6
14
"description": "Url where a module was sourced from. May be a package url such as pkg:maven/org.slf4j/slf4j-api@2.0.18 or a \"normal\" url like https://download.oracle.com/java/25/latest/jdk-25_windows-x64_bin.zip."
7
15
},
8
16
"main": {
9
17
"key": "any",
10
18
"type": "record",
11
19
"record": {
12
20
"type": "object",
13
21
"required": [
14
22
"variants",
15
23
"createdAt"
16
24
],
17
25
"properties": {
18
26
"indexMe": {
19
27
"type": "boolean",
20
28
"default": false
21
29
},
22
30
"variants": {
23
31
"type": "array",
24
32
"items": {
25
33
"ref": "dev.mccue.jvm.module#variant",
26
34
"type": "ref"
27
35
},
28
36
"minLength": 1,
29
37
"description": "Variants of the same module at the same 'version'"
30
38
},
31
39
"createdAt": {
32
40
"type": "string",
33
41
"format": "datetime"
34
42
}
35
43
}
36
44
},
37
45
"description": "A JVM Module published for wider consumption."
38
46
},
39
47
"variant": {
40
48
"type": "object",
41
49
"required": [
42
50
"artifact"
43
51
],
44
52
"properties": {
45
53
"license": {
46
54
"type": "string",
47
55
"description": "SPDX License String"
48
56
},
49
57
"artifact": {
50
58
"type": "blob",
51
59
"accept": [
52
60
"application/zip",
53
61
"application/java-archive"
54
62
],
55
63
"maxSize": 10000000
56
64
},
65
+
"attributes": {
66
+
"type": "array",
67
+
"items": {
68
+
"ref": "dev.mccue.module#attribute",
69
+
"type": "ref"
70
+
}
71
+
},
57
72
"sourcedFrom": {
58
73
"refs": [
59
74
"com.atproto.repo.strongRef",
60
75
"dev.mccue.jvm.module#url"
61
76
],
62
77
"type": "union",
63
78
"description": "A reference to where this module was copied from."
64
-
},
65
-
"billOfMaterials": {
66
-
"type": "string",
67
-
"description": "SBOM in CycloneDX format"
68
-
},
69
-
"cpuArchitecture": {
70
-
"type": "string",
71
-
"description": "The cpu architecture that the module is specific to.",
72
-
"knownValues": [
73
-
"amd64",
74
-
"aarch64"
75
-
]
79
+
}
80
+
}
81
+
},
82
+
"attribute": {
83
+
"type": "object",
84
+
"required": [
85
+
"name",
86
+
"value"
87
+
],
88
+
"properties": {
89
+
"name": {
90
+
"type": "string"
76
91
},
77
-
"operatingSystem": {
78
-
"type": "string",
79
-
"description": "The operating system that the module is specific to.",
80
-
"knownValues": [
81
-
"windows",
82
-
"macos",
83
-
"linux"
84
-
]
92
+
"value": {
93
+
"type": "string"
85
94
}
86
95
}
87
96
}
88
97
},
89
98
"$type": "com.atproto.lexicon.schema",
90
99
"lexicon": 1
91
100
}