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