1
0
Fork 0
Go to file
Igor Wiedler ee73b332e5 Merge remote-tracking branch 'upstream/master' into docs
* upstream/master: (42 commits)
  Correct the parent path in the watch tree, after moving a rule out of the path
  Add config in composer json schema
  Add scripts to json schema
  Use updateAll request method in upddate mode in install command
  Readd update-all jobs and make them available through the request
  Fix local git repo handling in GitDriver
  Add getVersionConstraint test case to avoid version normalization issues
  Fix line endings of Composer TestCase
  Correct placing of braces
  Clean up the incomplete marker like suggested in https://github.com/composer/composer/pull/324#r465391
  When changing watched literals of a rule, update the parent's next pointer
  Fix TODO tags to confirm with the projects standard
  Display undecided literals as undecided with a ?, when printing the decision map
  Add a debug print method for the entire watch tree to the solver
  Support both require and requires as depends link-type arg
  Create an impossible rule when trying to install something that doesn't exist.
  Add todos to explain why try/catch is inside the test
  Add SolverProblemsException and test basic solver failures
  Deciding to install a package and wanting to install it, is not a conflict
  Restore realpath behavior
  ...

Conflicts:
	Resources/composer-schema.json
2012-02-19 21:09:06 +01:00
Resources Merge remote-tracking branch 'upstream/master' into docs 2012-02-19 21:09:06 +01:00
bin Restore the original file mode 2012-02-17 10:28:33 +01:00
doc [docs] schema chapter describing composer.json 2012-02-19 21:07:30 +01:00
src/Composer Merge pull request #331 from naderman/fix-rule-parent-path 2012-02-19 10:22:15 -08:00
tests Readd update-all jobs and make them available through the request 2012-02-19 16:59:04 +01:00
.gitignore Added "nbproject" folder to the .gitignore list. 2012-02-11 15:58:23 -02:00
.travis.yml Add 5.3.2 to travis runs 2012-01-05 15:55:30 +01:00
LICENSE Fix author/copyright 2011-04-17 21:39:53 +02:00
PORTING_INFO Import initial partial port of the libzypp satsolver. 2011-04-05 17:37:19 +02:00
README.md Formatting for the README.md install command. 2012-02-14 15:31:05 +01:00
composer.json Update console to 2.1.0 2012-01-18 10:41:53 +01:00
composer.lock Merge remote branch 'composer/master' 2012-02-16 18:11:01 +01:00
phpunit.xml.dist Fix code coverage report, fixes #205 2012-01-15 13:50:29 +01:00

README.md

Composer - Package Management for PHP

Composer is a package manager tracking local dependencies of your projects and libraries.

See the about page on packagist.org for more information.

Build Status

Installation / Usage

  1. Download the composer.phar executable or use the installer.

    $ curl -s http://getcomposer.org/installer | php
    
  2. Create a composer.json defining your dependencies. Note that this example is a short version for applications that are not meant to be published as packages themselves. To create libraries/packages please read the guidelines.

    {
        "require": {
            "monolog/monolog": ">=1.0.0"
        }
    }
    
  3. Run Composer: php composer.phar install

  4. Browse for more packages on Packagist.

Installation from Source

To run tests, or develop Composer itself, you must use the sources and not the phar file as described above.

  1. Run git clone https://github.com/composer/composer.git
  2. Download the composer.phar executable
  3. Run Composer to get the dependencies: php composer.phar install

Global installation of composer (manual)

Since composer works with the current working directory it is possible to install it in a system wide way.

  1. Change into a directory in your path like cd /usr/local/bin
  2. Get composer curl -s http://getcomposer.org/installer | php
  3. Make the phar executeable chmod a+x composer.phar
  4. Change into a project directory cd /path/to/my/project
  5. Use composer as you normally would composer.phar install
  6. Optionally you can rename the composer.phar to composer to make it easier

Global installation of composer (via homebrew)

Installing via this homebrew formula will always get you the latest composer version.

  1. run brew uninstall composer ; brew install --HEAD https://raw.github.com/gist/1574469/composer.rb
  2. Change into a project directory cd /path/to/my/project
  3. Use composer as you normally would composer.phar install

You will see a warning "Warning: Cannot verify package integrity"; however, this is benign and expected.

Updating composer

Running php composer.phar self-update or equivalent will update a phar install with the latest version.

Configuration

Additional options for composer can be configured in composer.json by using the config section.

{
    "config": {
        "vendor-dir": "custom/path/for/vendor"
    }
}
  • vendor-dir: The location to install vendor packages. The location can be supplied as an absolute or relative path but must be within the current working directory.

Contributing

All code contributions - including those of people having commit access - must go through a pull request and approved by a core developer before being merged. This is to ensure proper review of all the code.

Fork the project, create a feature branch, and send us a pull request.

If you would like to help take a look at the list of issues.

Community

The developer mailing list is on google groups IRC channels are available for discussion as well, on irc.freenode.org #composer for users and #composer-dev for development.

Requirements

PHP 5.3+

Authors

Nils Adermann - naderman@naderman.de - http://twitter.com/naderman - http://www.naderman.de
Jordi Boggiano - j.boggiano@seld.be - http://twitter.com/seldaek - http://seld.be

See also the list of contributors who participated in this project.

License

Composer is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

This project's Solver started out as a PHP port of openSUSE's Libzypp satsolver.