Browse Source

changes based on feedback from @stof in #5739

Rob Bast 8 years ago
parent
commit
585773a3cc
1 changed files with 27 additions and 22 deletions
  1. 27 22
      res/composer-repository-schema.json

+ 27 - 22
res/composer-repository-schema.json

@@ -49,11 +49,11 @@
         "version": {
             "type": "object",
             "oneOf": [
-                { "$ref": "#/definitions/package-generic" },
-                { "$ref": "#/definitions/package-metapackage" }
+                { "$ref": "#/definitions/package" },
+                { "$ref": "#/definitions/metapackage" }
             ]
         },
-        "package-generic": {
+        "package-base": {
             "properties": {
                 "name": { "type": "string" },
                 "type": { "type": "string" },
@@ -62,29 +62,34 @@
                     "type": "string",
                     "description": "Normalized version, optional but can save computational time on client side."
                 },
-                "source": { "type": "object" },
-                "dist": { "type": "object" },
+                "autoload": { "type": "object" },
+                "require": { "type": "object" },
+                "replace": { "type": "object" },
+                "conflict": { "type": "object" },
+                "provide": { "type": "object" },
                 "time": { "type": "string" }
             },
-            "oneOf": [
-                { "required": [ "name", "version", "source" ] },
-                { "required": [ "name", "version", "dist" ] }
-            ],
             "additionalProperties": true
         },
-        "package-metapackage": {
-            "properties": {
-                "name": { "type": "string" },
-                "type": { "type": "string", "enum": [ "metapackage" ] },
-                "version": { "type": "string" },
-                "version_normalized": {
-                    "type": "string",
-                    "description": "Normalized version, optional but can save computational time on client side."
-                },
-                "time": { "type": "string" }
-            },
-            "required": [ "name", "version" ],
-            "additionalProperties": true
+        "package": {
+            "allOf": [
+                { "$ref": "#/definitions/package-base" },
+                { "oneOf": [
+                    { "required": [ "name", "version", "source" ] },
+                    { "required": [ "name", "version", "dist" ] }
+                ] }
+            ]
+        },
+        "metapackage": {
+            "allOf": [
+                { "$ref": "#/definitions/package-base" },
+                {
+                    "properties": {
+                        "type": { "type": "string", "enum": [ "metapackage" ] }
+                    },
+                    "required": [ "name", "version", "type" ]
+                }
+            ]
         },
         "provider": {
             "type": "object",