|
@@ -736,4 +736,94 @@ override packages from it.
|
|
A set of configuration options. It is only used for projects. See
|
|
A set of configuration options. It is only used for projects. See
|
|
[Config](06-config.md) for a description of each individual option.
|
|
[Config](06-config.md) for a description of each individual option.
|
|
|
|
|
|
|
|
+### scripts <span>([root-only](04-schema.md#root-package))</span>
|
|
|
|
+
|
|
|
|
+Composer allows you to hook into various parts of the installation process
|
|
|
|
+through the use of scripts.
|
|
|
|
+
|
|
|
|
+See [Scripts](articles/scripts.md) for events details and examples.
|
|
|
|
+
|
|
|
|
+### extra
|
|
|
|
+
|
|
|
|
+Arbitrary extra data for consumption by `scripts`.
|
|
|
|
+
|
|
|
|
+This can be virtually anything. To access it from within a script event
|
|
|
|
+handler, you can do:
|
|
|
|
+
|
|
|
|
+```php
|
|
|
|
+$extra = $event->getComposer()->getPackage()->getExtra();
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+Optional.
|
|
|
|
+
|
|
|
|
+### bin
|
|
|
|
+
|
|
|
|
+A set of files that should be treated as binaries and symlinked into the `bin-dir`
|
|
|
|
+(from config).
|
|
|
|
+
|
|
|
|
+See [Vendor Binaries](articles/vendor-binaries.md) for more details.
|
|
|
|
+
|
|
|
|
+Optional.
|
|
|
|
+
|
|
|
|
+### archive
|
|
|
|
+
|
|
|
|
+A set of options for creating package archives.
|
|
|
|
+
|
|
|
|
+The following options are supported:
|
|
|
|
+
|
|
|
|
+* **exclude:** Allows configuring a list of patterns for excluded paths. The
|
|
|
|
+ pattern syntax matches .gitignore files. A leading exclamation mark (!) will
|
|
|
|
+ result in any matching files to be included even if a previous pattern
|
|
|
|
+ excluded them. A leading slash will only match at the beginning of the project
|
|
|
|
+ relative path. An asterisk will not expand to a directory separator.
|
|
|
|
+
|
|
|
|
+Example:
|
|
|
|
+
|
|
|
|
+```json
|
|
|
|
+{
|
|
|
|
+ "archive": {
|
|
|
|
+ "exclude": ["/foo/bar", "baz", "/*.test", "!/foo/bar/baz"]
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+The example will include `/dir/foo/bar/file`, `/foo/bar/baz`, `/file.php`,
|
|
|
|
+`/foo/my.test` but it will exclude `/foo/bar/any`, `/foo/baz`, and `/my.test`.
|
|
|
|
+
|
|
|
|
+Optional.
|
|
|
|
+
|
|
|
|
+### non-feature-branches
|
|
|
|
+
|
|
|
|
+A list of regex patterns of branch names that are non-numeric (e.g. "latest" or something), that will NOT be handled as feature branches. This is an array of strings.
|
|
|
|
+
|
|
|
|
+If you have non-numeric branch names, for example like "latest", "current", "latest-stable"
|
|
|
|
+or something, that do not look like a version number, then composer handles such branches
|
|
|
|
+as feature branches. This means it searches for parent branches, that look like a version
|
|
|
|
+or ends at special branches (like master) and the root package version number becomes the
|
|
|
|
+version of the parent branch or at least master or something.
|
|
|
|
+
|
|
|
|
+To handle non-numeric named branches as versions instead of searching for a parent branch
|
|
|
|
+with a valid version or special branch name like master, you can set patterns for branch
|
|
|
|
+names, that should be handled as dev version branches.
|
|
|
|
+
|
|
|
|
+This is really helpful when you have dependencies using "self.version", so that not dev-master,
|
|
|
|
+but the same branch is installed (in the example: latest-testing).
|
|
|
|
+
|
|
|
|
+An example:
|
|
|
|
+
|
|
|
|
+If you have a testing branch, that is heavily maintained during a testing phase and is
|
|
|
|
+deployed to your staging environment, normally "composer show -s" will give you `versions : * dev-master`.
|
|
|
|
+
|
|
|
|
+If you configure `latest-.*` as a pattern for non-feature-branches like this:
|
|
|
|
+
|
|
|
|
+```json
|
|
|
|
+{
|
|
|
|
+ "non-feature-branches": ["latest-.*"]
|
|
|
|
+}
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+Then "composer show -s" will give you `versions : * dev-latest-testing`.
|
|
|
|
+
|
|
|
|
+Optional.
|
|
|
|
+
|
|
← [Command-line interface](03-cli.md) | [Repositories](05-repositories.md) →
|
|
← [Command-line interface](03-cli.md) | [Repositories](05-repositories.md) →
|