Bläddra i källkod

Add docs for metapackages

Jordi Boggiano 13 år sedan
förälder
incheckning
f0a0d7ffa7
2 ändrade filer med 11 tillägg och 7 borttagningar
  1. 10 6
      doc/04-schema.md
  2. 1 1
      res/composer-schema.json

+ 10 - 6
doc/04-schema.md

@@ -66,12 +66,16 @@ installer capable of installing packages of that type.
 
 Out of the box, composer supports two types:
 
-* **library:** This is the default. It will simply copy the files to `vendor`.
-* **composer-installer:** A package of type `composer-installer` provides an
-installer for other packages that have a custom type. Symfony could supply a
-`symfony/bundle-installer` package, which every bundle would depend on.
-Whenever you install a bundle, it will fetch the installer and register it, in
-order to be able to install the bundle.
+- **library:** This is the default. It will simply copy the files to `vendor`.
+- **metapackage:** An empty package that contains requirements and will trigger
+  their installation, but contains no files and will not write anything to the
+  filesystem. As such, it does not require a dist or source key to be
+  installable.
+- **composer-installer:** A package of type `composer-installer` provides an
+  installer for other packages that have a custom type. Symfony could supply a
+  `symfony/bundle-installer` package, which every bundle would depend on.
+  Whenever you install a bundle, it will fetch the installer and register it, in
+  order to be able to install the bundle.
 
 Only use a custom type if you need custom logic during installation. It is
 recommended to omit this field and have it just default to `library`.

+ 1 - 1
res/composer-schema.json

@@ -9,7 +9,7 @@
             "required": true
         },
         "type": {
-            "description": "Package type, either 'library' for common packages, 'composer-installer' for custom installers, or a custom type defined by whatever project this package applies to.",
+            "description": "Package type, either 'library' for common packages, 'composer-installer' for custom installers, 'metapackage' for empty packages, or a custom type defined by whatever project this package applies to.",
             "type": "string"
         },
         "target-dir": {