CompletePackageInterface.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?php
  2. /*
  3. * This file is part of Composer.
  4. *
  5. * (c) Nils Adermann <naderman@naderman.de>
  6. * Jordi Boggiano <j.boggiano@seld.be>
  7. *
  8. * For the full copyright and license information, please view the LICENSE
  9. * file that was distributed with this source code.
  10. */
  11. namespace Composer\Package;
  12. /**
  13. * Defines package metadata that is not necessarily needed for solving and installing packages
  14. *
  15. * @author Nils Adermann <naderman@naderman.de>
  16. */
  17. interface CompletePackageInterface extends PackageInterface
  18. {
  19. /**
  20. * Returns the scripts of this package
  21. *
  22. * @return array array('script name' => array('listeners'))
  23. */
  24. public function getScripts();
  25. /**
  26. * Returns an array of repositories
  27. *
  28. * {"<type>": {<config key/values>}}
  29. *
  30. * @return array Repositories
  31. */
  32. public function getRepositories();
  33. /**
  34. * Returns the package license, e.g. MIT, BSD, GPL
  35. *
  36. * @return array The package licenses
  37. */
  38. public function getLicense();
  39. /**
  40. * Returns an array of keywords relating to the package
  41. *
  42. * @return array
  43. */
  44. public function getKeywords();
  45. /**
  46. * Returns the package description
  47. *
  48. * @return string
  49. */
  50. public function getDescription();
  51. /**
  52. * Returns the package homepage
  53. *
  54. * @return string
  55. */
  56. public function getHomepage();
  57. /**
  58. * Returns an array of authors of the package
  59. *
  60. * Each item can contain name/homepage/email keys
  61. *
  62. * @return array
  63. */
  64. public function getAuthors();
  65. /**
  66. * Returns the support information
  67. *
  68. * @return array
  69. */
  70. public function getSupport();
  71. /**
  72. * Returns an array of funding options for the package
  73. *
  74. * Each item will contain type and url keys
  75. *
  76. * @return array
  77. */
  78. public function getFunding();
  79. /**
  80. * Returns if the package is abandoned or not
  81. *
  82. * @return bool
  83. */
  84. public function isAbandoned();
  85. /**
  86. * If the package is abandoned and has a suggested replacement, this method returns it
  87. *
  88. * @return string
  89. */
  90. public function getReplacementPackage();
  91. }