purl 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitmodules +3 -0
- data/CHANGELOG.md +75 -0
- data/README.md +23 -0
- data/Rakefile +237 -0
- data/lib/purl/package_url.rb +16 -15
- data/lib/purl/registry_url.rb +6 -24
- data/lib/purl/version.rb +1 -1
- data/purl-types.json +155 -117
- metadata +3 -4
- data/schemas/purl-types.schema.json +0 -154
- data/schemas/test-suite-data.schema.json +0 -134
- data/test-suite-data.json +0 -710
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
3
|
-
"$id": "./schemas/test-suite-data.schema.json",
|
|
4
|
-
"title": "PURL Test Suite Data Schema",
|
|
5
|
-
"description": "JSON schema for PURL specification test suite data",
|
|
6
|
-
"type": "array",
|
|
7
|
-
"items": {
|
|
8
|
-
"$ref": "#/definitions/testCase"
|
|
9
|
-
},
|
|
10
|
-
"definitions": {
|
|
11
|
-
"testCase": {
|
|
12
|
-
"type": "object",
|
|
13
|
-
"required": [
|
|
14
|
-
"description",
|
|
15
|
-
"purl",
|
|
16
|
-
"canonical_purl",
|
|
17
|
-
"type",
|
|
18
|
-
"namespace",
|
|
19
|
-
"name",
|
|
20
|
-
"version",
|
|
21
|
-
"qualifiers",
|
|
22
|
-
"subpath",
|
|
23
|
-
"is_invalid"
|
|
24
|
-
],
|
|
25
|
-
"properties": {
|
|
26
|
-
"description": {
|
|
27
|
-
"type": "string",
|
|
28
|
-
"description": "Human-readable description of the test case"
|
|
29
|
-
},
|
|
30
|
-
"purl": {
|
|
31
|
-
"type": "string",
|
|
32
|
-
"description": "The PURL string to be parsed and tested"
|
|
33
|
-
},
|
|
34
|
-
"canonical_purl": {
|
|
35
|
-
"oneOf": [
|
|
36
|
-
{
|
|
37
|
-
"type": "string",
|
|
38
|
-
"description": "The canonical (normalized) form of the PURL"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"type": "null",
|
|
42
|
-
"description": "No canonical form (for invalid PURLs)"
|
|
43
|
-
}
|
|
44
|
-
]
|
|
45
|
-
},
|
|
46
|
-
"type": {
|
|
47
|
-
"oneOf": [
|
|
48
|
-
{
|
|
49
|
-
"type": "string",
|
|
50
|
-
"pattern": "^[a-z][a-z0-9]*$",
|
|
51
|
-
"description": "The package type (ecosystem)"
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"type": "null",
|
|
55
|
-
"description": "No type specified (for invalid PURLs)"
|
|
56
|
-
}
|
|
57
|
-
]
|
|
58
|
-
},
|
|
59
|
-
"namespace": {
|
|
60
|
-
"oneOf": [
|
|
61
|
-
{
|
|
62
|
-
"type": "string",
|
|
63
|
-
"description": "The package namespace (e.g., org.apache.commons for Maven)"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"type": "null",
|
|
67
|
-
"description": "No namespace for this package"
|
|
68
|
-
}
|
|
69
|
-
]
|
|
70
|
-
},
|
|
71
|
-
"name": {
|
|
72
|
-
"oneOf": [
|
|
73
|
-
{
|
|
74
|
-
"type": "string",
|
|
75
|
-
"minLength": 1,
|
|
76
|
-
"description": "The package name"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"type": "null",
|
|
80
|
-
"description": "No name specified (for invalid PURLs)"
|
|
81
|
-
}
|
|
82
|
-
]
|
|
83
|
-
},
|
|
84
|
-
"version": {
|
|
85
|
-
"oneOf": [
|
|
86
|
-
{
|
|
87
|
-
"type": "string",
|
|
88
|
-
"description": "The package version"
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
"type": "null",
|
|
92
|
-
"description": "No version specified"
|
|
93
|
-
}
|
|
94
|
-
]
|
|
95
|
-
},
|
|
96
|
-
"qualifiers": {
|
|
97
|
-
"oneOf": [
|
|
98
|
-
{
|
|
99
|
-
"type": "object",
|
|
100
|
-
"description": "Key-value pairs for additional package metadata",
|
|
101
|
-
"patternProperties": {
|
|
102
|
-
".*": {
|
|
103
|
-
"type": "string"
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
|
-
"additionalProperties": false
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
"type": "null",
|
|
110
|
-
"description": "No qualifiers for this package"
|
|
111
|
-
}
|
|
112
|
-
]
|
|
113
|
-
},
|
|
114
|
-
"subpath": {
|
|
115
|
-
"oneOf": [
|
|
116
|
-
{
|
|
117
|
-
"type": "string",
|
|
118
|
-
"description": "Sub-path within the package"
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
"type": "null",
|
|
122
|
-
"description": "No subpath specified"
|
|
123
|
-
}
|
|
124
|
-
]
|
|
125
|
-
},
|
|
126
|
-
"is_invalid": {
|
|
127
|
-
"type": "boolean",
|
|
128
|
-
"description": "Whether this PURL should be considered invalid and parsing should fail"
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
"additionalProperties": false
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|