2011-08-20 12:55:01 +00:00
{
"name" : "Package" ,
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"name" : {
"type" : "string" ,
2011-11-20 15:23:22 +00:00
"description" : "Package name, including 'vendor-name/' prefix." ,
2011-08-20 12:55:01 +00:00
"required" : true
} ,
"type" : {
2012-11-05 13:14:55 +00:00
"description" : "Package type, either 'library' for common packages, 'composer-installer' for custom installers, 'metapackage' for empty packages, or a custom type ([a-z0-9-]+) defined by whatever project this package applies to." ,
2011-11-20 15:23:22 +00:00
"type" : "string"
2011-08-20 12:55:01 +00:00
} ,
2011-10-16 16:52:08 +00:00
"target-dir" : {
2011-11-20 15:23:22 +00:00
"description" : "Forces the package to be installed into the given subdirectory path. This is used for autoloading PSR-0 packages that do not contain their full path. Use forward slashes for cross-platform compatibility." ,
2011-10-09 14:43:16 +00:00
"type" : "string"
} ,
2011-08-20 12:55:01 +00:00
"description" : {
"type" : "string" ,
2011-11-20 15:23:22 +00:00
"description" : "Short package description." ,
2011-08-20 12:55:01 +00:00
"required" : true
} ,
"keywords" : {
"type" : "array" ,
"items" : {
2011-11-20 15:23:22 +00:00
"type" : "string" ,
"description" : "A tag/keyword that this package relates to."
}
2011-08-20 12:55:01 +00:00
} ,
"homepage" : {
"type" : "string" ,
2011-11-20 15:23:22 +00:00
"description" : "Homepage URL for the project." ,
"format" : "uri"
2011-08-20 12:55:01 +00:00
} ,
"version" : {
"type" : "string" ,
2012-03-23 08:07:47 +00:00
"description" : "Package version, see http://getcomposer.org/doc/04-schema.md#version for more info on valid schemes."
2011-08-20 12:55:01 +00:00
} ,
2011-11-20 15:23:22 +00:00
"time" : {
"type" : "string" ,
"description" : "Package release date, in 'YYYY-MM-DD' or 'YYYY-MM-DD HH:MM:SS' format."
} ,
2011-08-20 12:55:01 +00:00
"license" : {
2011-09-26 23:09:48 +00:00
"type" : [ "string" , "array" ] ,
2011-11-20 15:23:22 +00:00
"description" : "License name. Or an array of license names."
2011-08-20 12:55:01 +00:00
} ,
"authors" : {
"type" : "array" ,
2011-11-20 15:23:22 +00:00
"description" : "List of authors that contributed to the package. This is typically the main maintainers, not the full list." ,
2011-08-20 12:55:01 +00:00
"items" : {
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"name" : {
"type" : "string" ,
2011-11-20 15:23:22 +00:00
"description" : "Full name of the author." ,
2011-08-20 12:55:01 +00:00
"required" : true
} ,
"email" : {
"type" : "string" ,
2011-11-20 15:23:22 +00:00
"description" : "Email address of the author." ,
"format" : "email"
2011-08-20 12:55:01 +00:00
} ,
"homepage" : {
"type" : "string" ,
2011-11-20 15:23:22 +00:00
"description" : "Homepage URL for the author." ,
"format" : "uri"
2012-04-28 14:26:47 +00:00
} ,
"role" : {
"type" : "string" ,
2012-05-01 14:01:55 +00:00
"description" : "Author's role in the project."
2011-08-20 12:55:01 +00:00
}
}
2011-11-20 15:23:22 +00:00
}
2011-08-20 12:55:01 +00:00
} ,
"require" : {
"type" : "object" ,
2011-11-20 15:23:22 +00:00
"description" : "This is a hash of package name (keys) and version constraints (values) that are required to run this package." ,
"additionalProperties" : true
2011-08-20 12:55:01 +00:00
} ,
2011-09-26 23:09:48 +00:00
"replace" : {
"type" : "object" ,
2011-11-20 15:23:22 +00:00
"description" : "This is a hash of package name (keys) and version constraints (values) that can be replaced by this package." ,
"additionalProperties" : true
2011-09-26 23:09:48 +00:00
} ,
"conflict" : {
"type" : "object" ,
2011-11-20 15:23:22 +00:00
"description" : "This is a hash of package name (keys) and version constraints (values) that conflict with this package." ,
"additionalProperties" : true
2011-09-26 23:09:48 +00:00
} ,
"provide" : {
"type" : "object" ,
2011-11-20 15:23:22 +00:00
"description" : "This is a hash of package name (keys) and version constraints (values) that this package provides in addition to this package's name." ,
"additionalProperties" : true
2011-09-26 23:09:48 +00:00
} ,
2012-04-14 10:00:01 +00:00
"require-dev" : {
2011-09-26 23:09:48 +00:00
"type" : "object" ,
2012-04-14 10:00:01 +00:00
"description" : "This is a hash of package name (keys) and version constraints (values) that this package requires for developing it (testing tools and such)." ,
2011-11-20 15:23:22 +00:00
"additionalProperties" : true
2011-09-26 23:09:48 +00:00
} ,
"suggest" : {
"type" : "object" ,
2012-04-14 10:00:01 +00:00
"description" : "This is a hash of package name (keys) and descriptions (values) that this package suggests work well with it (this will be suggested to the user during installation)." ,
2011-11-20 15:23:22 +00:00
"additionalProperties" : true
2011-09-26 23:09:48 +00:00
} ,
2012-02-19 17:24:27 +00:00
"config" : {
2013-02-12 10:16:52 +00:00
"type" : "object" ,
2012-02-19 17:24:27 +00:00
"description" : "Composer options." ,
"properties" : {
2012-09-07 22:44:19 +00:00
"process-timeout" : {
"type" : "integer" ,
"description" : "The timeout in seconds for process executions, defaults to 300 (5mins)."
} ,
2013-02-12 10:16:52 +00:00
"use-include-path" : {
"type" : "boolean" ,
"description" : "If true, the Composer autoloader will also look for classes in the PHP include path."
} ,
2013-03-05 11:56:09 +00:00
"preferred-install" : {
"type" : "string" ,
"description" : "The install method Composer will prefer to use, defaults to auto and can be any of source, dist or auto."
2013-03-04 19:23:55 +00:00
} ,
2012-09-07 22:44:19 +00:00
"notify-on-install" : {
"type" : "boolean" ,
"description" : "Composer allows repositories to define a notification URL, so that they get notified whenever a package from that repository is installed. This option allows you to disable that behaviour, defaults to true."
} ,
"github-protocols" : {
"type" : "array" ,
"description" : "A list of protocols to use for github.com clones, in priority order, defaults to [\"git\", \"https\", \"http\"]." ,
"items" : {
"type" : "string"
}
2013-02-12 10:16:52 +00:00
} ,
"github-oauth" : {
"type" : "object" ,
"description" : "A hash of domain name => github API oauth tokens, typically {\"github.com\":\"<token>\"}." ,
"additionalProperties" : true
} ,
"vendor-dir" : {
"type" : "string" ,
"description" : "The location where all packages are installed, defaults to \"vendor\"."
} ,
"bin-dir" : {
"type" : "string" ,
"description" : "The location where all binaries are linked, defaults to \"vendor/bin\"."
} ,
"cache-dir" : {
"type" : "string" ,
"description" : "The location where all caches are located, defaults to \"~/.composer/cache\" on *nix and \"%LOCALAPPDATA%\\Composer\" on windows."
} ,
"cache-files-dir" : {
"type" : "string" ,
"description" : "The location where files (zip downloads) are cached, defaults to \"{$cache-dir}/files\"."
} ,
"cache-repo-dir" : {
"type" : "string" ,
"description" : "The location where repo (git/hg repo clones) are cached, defaults to \"{$cache-dir}/repo\"."
} ,
"cache-vcs-dir" : {
"type" : "string" ,
"description" : "The location where vcs infos (git clones, github api calls, etc. when reading vcs repos) are cached, defaults to \"{$cache-dir}/vcs\"."
} ,
"cache-ttl" : {
"type" : "integer" ,
"description" : "The default cache time-to-live, defaults to 15552000 (6 months)."
} ,
"cache-files-ttl" : {
"type" : "integer" ,
"description" : "The cache time-to-live for files, defaults to the value of cache-ttl."
} ,
"cache-files-maxsize" : {
"type" : [ "string" , "integer" ] ,
"description" : "The cache max size for the files cache, defaults to \"300MiB\"."
2013-02-28 16:10:04 +00:00
} ,
"discard-changes" : {
2013-03-01 22:47:24 +00:00
"type" : [ "string" , "boolean" ] ,
"description" : "The default style of handling dirty updates, defaults to false and can be any of true, false or \"stash\"."
2012-02-19 17:24:27 +00:00
}
}
} ,
2011-08-20 12:55:01 +00:00
"extra" : {
"type" : [ "object" , "array" ] ,
2011-11-20 15:23:22 +00:00
"description" : "Arbitrary extra data that can be used by custom installers, for example, package of type composer-installer must have a 'class' key defining the installer class name." ,
"additionalProperties" : true
2011-10-09 14:43:16 +00:00
} ,
"autoload" : {
"type" : "object" ,
2011-11-20 15:23:22 +00:00
"description" : "Description of how the package can be autoloaded." ,
2011-10-22 19:44:19 +00:00
"properties" : {
"psr-0" : {
"type" : "object" ,
2012-03-28 15:09:07 +00:00
"description" : "This is a hash of namespaces (keys) and the directories they can be found into (values, can be arrays of paths) by the autoloader." ,
2011-10-22 19:44:19 +00:00
"additionalProperties" : true
2012-03-05 12:26:46 +00:00
} ,
"classmap" : {
"type" : "array" ,
"description" : "This is an array of directories that contain classes to be included in the class-map generation process."
2012-06-02 16:18:33 +00:00
} ,
"files" : {
"type" : "array" ,
"description" : "This is an array of files that are always required on every request."
2011-10-22 19:44:19 +00:00
}
}
} ,
"repositories" : {
"type" : [ "object" , "array" ] ,
2011-11-20 15:23:22 +00:00
"description" : "A set of additional repositories where packages can be found." ,
2011-10-09 14:43:16 +00:00
"additionalProperties" : true
2012-02-19 20:07:30 +00:00
} ,
2012-04-17 23:33:47 +00:00
"minimum-stability" : {
"type" : [ "string" ] ,
"description" : "The minimum stability the packages must have to be install-able. Possible values are: dev, alpha, beta, RC, stable."
} ,
2012-02-19 20:07:30 +00:00
"bin" : {
"type" : [ "array" ] ,
"description" : "A set of files that should be treated as binaries and symlinked into bin-dir (from config)." ,
"items" : {
"type" : "string"
}
2012-02-19 20:09:06 +00:00
} ,
2012-04-08 15:42:57 +00:00
"include-path" : {
2012-04-04 07:46:31 +00:00
"type" : [ "array" ] ,
2012-04-08 15:42:57 +00:00
"description" : "DEPRECATED: A list of directories which should get added to PHP's include path. This is only present to support legacy projects, and all new code should preferably use autoloading." ,
2012-04-04 07:46:31 +00:00
"items" : {
"type" : "string"
}
} ,
2012-02-19 17:11:21 +00:00
"scripts" : {
"type" : [ "object" ] ,
"description" : "Scripts listeners that will be executed before/after some events." ,
"properties" : {
"pre-install-cmd" : {
"type" : [ "array" , "string" ] ,
2013-02-22 17:44:50 +00:00
"description" : "Occurs before the install command is executed, contains one or more Class::method callables or shell commands."
2012-02-19 17:11:21 +00:00
} ,
"post-install-cmd" : {
"type" : [ "array" , "string" ] ,
2013-02-22 17:44:50 +00:00
"description" : "Occurs after the install command is executed, contains one or more Class::method callables or shell commands."
2012-02-19 17:11:21 +00:00
} ,
"pre-update-cmd" : {
"type" : [ "array" , "string" ] ,
2013-02-22 17:44:50 +00:00
"description" : "Occurs before the update command is executed, contains one or more Class::method callables or shell commands."
2012-02-19 17:11:21 +00:00
} ,
"post-update-cmd" : {
"type" : [ "array" , "string" ] ,
2013-02-22 17:44:50 +00:00
"description" : "Occurs after the update command is executed, contains one or more Class::method callables or shell commands."
2012-02-19 17:11:21 +00:00
} ,
"pre-package-install" : {
"type" : [ "array" , "string" ] ,
2013-02-22 17:44:50 +00:00
"description" : "Occurs before a package is installed, contains one or more Class::method callables or shell commands."
2012-02-19 17:11:21 +00:00
} ,
"post-package-install" : {
"type" : [ "array" , "string" ] ,
2013-02-22 17:44:50 +00:00
"description" : "Occurs after a package is installed, contains one or more Class::method callables or shell commands."
2012-02-19 17:11:21 +00:00
} ,
"pre-package-update" : {
"type" : [ "array" , "string" ] ,
2013-02-22 17:44:50 +00:00
"description" : "Occurs before a package is updated, contains one or more Class::method callables or shell commands."
2012-02-19 17:11:21 +00:00
} ,
"post-package-update" : {
"type" : [ "array" , "string" ] ,
2013-02-22 17:44:50 +00:00
"description" : "Occurs after a package is updated, contains one or more Class::method callables or shell commands."
2012-02-19 17:11:21 +00:00
} ,
"pre-package-uninstall" : {
"type" : [ "array" , "string" ] ,
2013-02-22 17:44:50 +00:00
"description" : "Occurs before a package has been uninstalled, contains one or more Class::method callables or shell commands."
2012-02-19 17:11:21 +00:00
} ,
"post-package-uninstall" : {
"type" : [ "array" , "string" ] ,
2013-02-22 17:44:50 +00:00
"description" : "Occurs after a package has been uninstalled, contains one or more Class::method callables or shell commands."
} ,
"post-autoload-dump" : {
"type" : [ "array" , "string" ] ,
"description" : "Occurs after a the autoloader is dumped, contains one or more Class::method callables or shell commands."
2012-02-19 17:11:21 +00:00
}
}
2012-03-10 09:24:14 +00:00
} ,
"support" : {
"type" : "object" ,
"properties" : {
"email" : {
"type" : "string" ,
2012-05-27 23:57:12 +00:00
"description" : "Email address for support." ,
2012-03-10 09:24:14 +00:00
"format" : "email"
} ,
"issues" : {
"type" : "string" ,
"description" : "URL to the Issue Tracker." ,
"format" : "uri"
} ,
"forum" : {
"type" : "string" ,
"description" : "URL to the Forum." ,
"format" : "uri"
} ,
"wiki" : {
"type" : "string" ,
"description" : "URL to the Wiki." ,
"format" : "uri"
} ,
"irc" : {
"type" : "string" ,
2012-05-27 23:57:12 +00:00
"description" : "IRC channel for support, as irc://server/channel." ,
"format" : "uri"
2012-03-16 07:44:36 +00:00
} ,
"source" : {
"type" : "string" ,
2012-05-27 23:57:12 +00:00
"description" : "URL to browse or download the sources." ,
2012-03-17 12:07:13 +00:00
"format" : "uri"
2012-03-10 09:24:14 +00:00
}
}
2011-08-20 12:55:01 +00:00
}
}
}