CompletePackageInterface.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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 if the package is abandoned or not
  73. *
  74. * @return boolean
  75. */
  76. public function isAbandoned();
  77. /**
  78. * If the package is abandoned and has a suggested replacement, this method returns it
  79. *
  80. * @return string
  81. */
  82. public function getReplacementPackage();
  83. }