306 Commits (ba94445bb9401528ca048213252a514d6aab800d)

Author SHA1 Message Date
Jordi Boggiano 1fe690f810 Autoload generator cleanups 9 years ago
Jordi Boggiano 3748c11709 Simplify files autoload include function, and make sure files are included once per package even if exactly the same, refs #4186 9 years ago
Jordi Boggiano 9710b26d3f Merge remote-tracking branch 'jeskew/feature/require_files_but_once' 9 years ago
Jordi Boggiano c0b49d09f3 Merge remote-tracking branch 'cw-ozaki/no-script-dump-autoload'
Conflicts:
	src/Composer/Autoload/AutoloadGenerator.php
	src/Composer/Command/DumpAutoloadCommand.php
9 years ago
Jordi Boggiano 6f29df01d2 Fix updir regex matching, refs #4607 9 years ago
Omer Karadagli 4046ae042d Up-level relative paths in exclude-from-classmap 9 years ago
Rob Bast 991d25115f fixes #4562 9 years ago
annesosensio 2e4157145b Made wildcard expansion consistent with bash 9 years ago
Jordi Boggiano 6c16510743 Add support for wildcards in exclude-from-classmap, refs #1607 9 years ago
Jordi Boggiano f1b0c073ad Tweaked exclude-from-classmap: windows support, normalize paths and make sure they are all package-relative and do not leak to other packages, refs #1607 9 years ago
Jordi Boggiano 084f6de24e Merge remote-tracking branch 'trivago/add_exclude'
Conflicts:
	doc/04-schema.md
	src/Composer/Autoload/AutoloadGenerator.php
9 years ago
David Walker e0a6419992 When classmap authoratative is enabled, there should be no reason to load 3 files, and process them when autoloader will return false 9 years ago
Jordi Boggiano 6582c337d0 Fix typo 9 years ago
Jordi Boggiano 1160b782c8 Deduplicate classmap creation and add support for loading classmaps on the fly for plugins & co 9 years ago
Jordi Boggiano ce08582671 Fix CS 9 years ago
Bryan Davis cc2b9cfca5 Add cli argument for classmap-authoritative
Add a `--classmap-authoritative (-a)` argument to `composer install`,
`composer update` and `composer dumpautoload`. This enables the same
authoritative classmap behavior as the existing `classmap-authoritative`
configuration setting. The option can be used for creating highly
optimized production autoloaders via `composer install --no-dev
--optimize-autoloader --classmap-authoritative` for projects where
multiple autoloaders are present and unnecessary `file_exists` calls
introduce performance issues.

Closes #4361
9 years ago
voroks 154092ba1a Added removing file 'include_path.php' (if it is empty). 9 years ago
voroks 457bc20c34 Explicit comparison was removed. 9 years ago
voroks cca42ff0be Fixed indents: we should use spaces instead tabulation. 9 years ago
voroks 4fa1cb2e9c Removing file autoload_files.php was added (#4254) 9 years ago
Rob Bast 593af4b1bf add license file during autoload dumping
closes #4288
9 years ago
Jonathan Eskew 42b025776a Move file identifier calculation to compile time 9 years ago
Jordi Boggiano b17ccbfa0d Avoid invalid warnings when scanning the same file twice, fixes #4195, fixes #4197 9 years ago
Jonathan Eskew 24c4322672 Use 5.3 compatible array syntax 9 years ago
Jonathan Eskew 868a872df2 Push the hash to $GLOBALS 9 years ago
Jonathan Eskew 61ed7a9547 Explicitly check if a file has already been required before requiring it 9 years ago
Jordi Boggiano 943107cfe7 Load most specific namespaces always, and dependents before dependencies when building classmaps
This also adds notifications of duplicate classes
9 years ago
elazar 6c029a850c Resolves #4138: Removed *Test.php filtering from AutoloadGenerator->dump() 9 years ago
Jordi Boggiano 164dc2a097 Reuse prefix only if no prefix is defined 9 years ago
msiebeneicher 7522a33079 Merge branch 'master' of https://github.com/composer/composer into add_exclude
# By Jordi Boggiano (30) and others
# Via Jordi Boggiano (37) and Morgan Campbell (1)
* 'master' of https://github.com/composer/composer: (83 commits)
  Update 01-basic-usage.md
  Revert 331425bcb3 as well, fixes #3612
  Revert "Disable overwrites when no-ansi is present, fixes #3612"
  Update deps
  Use justinrainbow/json-schema 1.4
  Improved wording
  Fix docs basic-auth => http-basic
  Add test for Generics class
  Single variable for traits and enums
  Use HHVM_VERSION instead of HPHP_VERSION
  Add support for using classmap to autoload Hack enums
  Re-use existing autoloader suffix if available, fixes #3701
  Report Travis CI build success early
  Test on HHVM nightly releases. Allow to fail.
  Make parseJson safer
  Use get home from Config instead of factory
  Fix env override regression, fixes #3820
  [create-project] Used no progress value for dependencies
  Add docBlock and fix CS
  Fix output of first line of progress when output is not decorated, refs #3818
  ...
9 years ago
Jordi Boggiano b296e654eb Re-use existing autoloader suffix if available, fixes #3701 9 years ago
Jordi Boggiano 0b4a9235f4 CS fixes 9 years ago
msiebeneicher 3682a9f5a7 * Cleanup code comments 10 years ago
msiebeneicher dad6b05ca7 Merge branches 'add_exclude' and 'master' of https://github.com/trivago/composer into add_exclude
* Resolve conflicts and update unit test
10 years ago
msiebeneicher f28785a49d Merge branches 'add_exclude' and 'master' of https://github.com/trivago/composer into add_exclude
* 'add_exclude' of https://github.com/trivago/composer:

# By Jordi Boggiano (239) and others
# Via Jordi Boggiano (184) and others
* 'master' of https://github.com/trivago/composer: (638 commits)
  Simplified syntax
  github deprecation changes
  fix bug in GitDriver::supports for remote repo
  strict check, testcase(s)
  Fix regex matching and add more tests for addSubNode, refs #3721, fixes #3716
  solve edge case for `composer remove vendor/pkg`
  chmod 644 src/Composer/Command/RemoveCommand.php
  Avoid failing on composer show of lazy providers
  Show more info when a download fails
  Add notion of autoloader skipping autoload-dev rules
  Satis grammar fix.
  remove unused statements
  removed needless output param
  + limit git ls-remote to heads + escape repo url
  add check for remote Repository in GitDriver::supports
  suppress the prefix
  Improve notice about /usr/local/bin
  Reuse current file permissions
  Add the P character to the regex pattern
  Added deprecated warning for the dev option
  ...

Conflicts:
	src/Composer/Autoload/AutoloadGenerator.php
	src/Composer/Autoload/ClassMapGenerator.php
10 years ago
Bryan Davis ad1f8e6c5a Add classmap-authoritative config setting
Add a "classmap-authoritative" configuration setting that can be used to
disable searching the various prefix and fallback directories for
classes that have not been registered with the
Composer\Autoload\ClassLoader class map. This setting can be used to
optimize performance by avoiding a potentially large number of
`file_exists` calls when Composer is being used in a program with
additional autoloader facilities. Use of the setting implies
"optimize-autoloader" to ensure that the most complete class map
possible is generated.

Closes #3603
10 years ago
Jordi Boggiano 94926218e8 CS fixes 10 years ago
Jordi Boggiano 4ce9252255 Avoid passing args to CLI handlers when none are needed, fixes #3332 10 years ago
Artur Eshenbrener 56482cff0a Changed short array syntzx to long 10 years ago
Artur Eshenbrener ad1d0be420 Accessing to option 'optimize-autoloder' inside 'post-autoload-dump' script event. 10 years ago
cw-ozaki d649cfc6a1 Add --no-scripts argument for dump-autoload command 10 years ago
Jordi Boggiano ac497feaba CS fixes 10 years ago
jakoch a0e5ead9b0 removed unused variables $baseDir and $vendorDir from "autoloader_real.php" generated by AutoloadGenerator. adjusted tests accordingly. 10 years ago
Jordi Boggiano 05d9912f97 Ignore classes in ClassMapGenerator 10 years ago
Jordi Boggiano 781c97fa9b Refactor to avoid global static state 10 years ago
Jan Brecka b94838169d show warning only instead of throwing exception 10 years ago
Jordi Boggiano 5fb005631a Tweaking dispatchScript method to be in line with the rest, and add devMode to *_AUTOLOAD_DUMP events 10 years ago
Jordi Boggiano 023ff131aa Merge remote-tracking branch 'bamarni/autoload-dev' 10 years ago
Jordi Boggiano cea7c07cf2 Fix CS 10 years ago
Bilal Amarni db91454a13 added an autoload-dev section 10 years ago
Olivier Laviale 40e484ed38 Fixed an issue that would lead to scattered autoloading files 11 years ago
Nicolas Grekas 00a6f8e38d dedicated scope isolation function for autoload_real 11 years ago
Jordi Boggiano ed02997a7b Fix mode and add docblock, refs #2644 11 years ago
Jordi Boggiano d26dda5c95 Merge remote-tracking branch 'olvlvl/improved_package_sorting_alone' 11 years ago
Nils Adermann aef0483cc9 Merge pull request #2667 from nicolas-grekas/master
scope isolation for user includes
11 years ago
Nicolas Grekas 6d7b9afc4b scope isolation for user includes 11 years ago
Jérôme Macias 01cd990995 Fix PSR-4 autoload classmap generator 11 years ago
Olivier Laviale 17278999ba Coding style compliance 11 years ago
Olivier Laviale 46776c8e23 Improved package sorting 11 years ago
René Kerner b0ec8ee096 * added exclude-from-classmap feature
* updated to latest master version
11 years ago
Jordi Boggiano 3c5000ad7f CS tweaks and cleanups, allow "" to set fallback dirs, refs #2459 11 years ago
Jordi Boggiano b23742e30c Merge remote-tracking branch 'donquixote/feature/psr4-complete' 11 years ago
Stan Lemon 5fd3223aec Updates per @stof 11 years ago
Stan Lemon d6c46f2091 Allow the autoloader suffix to be configured from a project's composer.json 11 years ago
Andreas Hennings c0aad84d8b Validation to make the combination of target-dir with psr-4 illegal. 11 years ago
Andreas Hennings 39c09d5192 Add psr-4 stuff in a few more places. 11 years ago
Andreas Hennings bbf6278905 AutoloadGenerator to support PSR-4. Tests included. 11 years ago
Jordi Boggiano 50fbfe4d63 Filesystem/autoload fixes for windows, refs #2304, #2342, #2365 11 years ago
Jordi Boggiano 7682bc0d60 Merge remote-tracking branch 'Devolicious/feature/no-prepend' 11 years ago
Ruud Denivel c7bb3ad746 refactor prepend autoloader from cli option to config var (prepend-autoloader) in composer.json 11 years ago
Jordi Boggiano 11a0d16ccc CS fixes 11 years ago
Ruud Denivel 65c10daaf8 disable prepend option on install 11 years ago
Martin Hasoň 3c0a620ad5 Fixed path analysis 11 years ago
Nils Adermann 242c58c789 Merge pull request #2179 from naderman/plugins
Plugins
11 years ago
Jordi Boggiano 9b70b89b8f Merge pull request #2210 from Firehed/master
Change 'generated' notice to @phpdoc-style annotation
11 years ago
Nils Adermann 786ea2929b Merge remote-tracking branch 'github-composer/master' into plugins
* github-composer/master:
  Make sure directories we are downloading to are empty
  Fix parsing of trunk in SvnDriver, fixes composer/satis#88
  Fix file layout in unit tests
  Fix parse error thrown in PHP5.5+
11 years ago
Nils Adermann 3960edd64e Turn EventDispatcher into generic solution handling plugins as well 11 years ago
Alan Hollis ede2b37ae2 Fix parse error thrown in PHP5.5+
When running composer update the file generated by AutoloadGenerator was
not able to be parsed by php due to a require statement inside the foreach
loop.

The fix is to make the statement work the same as the
autoload_namespaces.php require is done.

Issue occured using the following php versions

PHP 5.5.1-2+debphp.org~precise+2
PHP 5.5.3-1+debphp.org~precise+2
11 years ago
Firehed 046d55e886 Change 'generated' notice to @phpdoc-style annotation
While it isn't an official part of the syntax, it integrates better with other
tools that ignore diffs on generated code.
11 years ago
Benji Schwartz-Gilbert f5048059d8 Fixes the autoload_namespaces generator for packages in the root of the vendor directory 11 years ago
Andreas Hennings ce8a9aae5b Slightly nicer heredoc in AutoloadGenerator::getIncludePathsFile() 11 years ago
Andreas Hennings 5369904dd3 autoload_files.php should return an array of files, instead of directly including them. 11 years ago
Andreas Hennings 8e9bdfb4da Factor the filesCode generation into a separate method. 11 years ago
Andreas Hennings f98a8f472e Generate an autoload_files.php next to autoload_namespaces.php and autoload_classes.php 11 years ago
Jordi Boggiano 8d0b7f278e CS fixes 11 years ago
Taylor Otwell 60cd875cc2 Added "pre-autoload-dump" event.
This event is fired before the autoload file is generated, for either
an install or update command.
11 years ago
Jordi Boggiano 5ba147663d Use ClassLoader::set to initialize the class loader paths 11 years ago
Jordi Boggiano dc71ba557b Consistently use arrays as paths for a given namespace prefix 11 years ago
John Boehr caad88c047 Update AutoloadGenerator.php
This should fix an issue with this commit:
87a42c2f01

This commit is causing a parse error in autoload_namespaces.php:
return array(
    'zsql' => 'phar://' . '$vendorDir . '/jbboehr/zsql/build/zsql.phar',

A similar problem happens when using autoload.files as well.
11 years ago
Jordi Boggiano 5264d0637b Fix regression added in 33af9eea95, fixes #1841 11 years ago
Jordi Boggiano 566313834a Add workaround for php bug 64634 in copy 11 years ago
Jordi Boggiano 33af9eea95 Always dump packages, even if only an alias is added, fixes #1809 11 years ago
Jordi Boggiano 3ce71466f1 Treat empty paths in autoloader as ".", fixes #1727 11 years ago
Martin Hasoň 07d2f17afe [Autoload] Make all paths relative for file portability 11 years ago
Martin Hasoň 48444a028c Added support for vendor dir excluded from working dir 11 years ago
Sander Marechal 132f2a9d5d Cache getcwd() result 11 years ago
Sander Marechal c10e25a945 Use cross-platform absolute path check 11 years ago
Sander Marechal d7697574ff Fix shortest absolute paths from cwd to classmap path 11 years ago
Jordi Boggiano 3cc5698e7b Allow PHP 5.2 autoloaders to consume namespace, classmap and include path files, fixes #1730 11 years ago
Jordi Boggiano d929a0813a Prepend the ClassLoader autoloader to avoid calling other previously registered autoloaders, fixes #1699 11 years ago
Jordi Boggiano 87a42c2f01 Fix CS 11 years ago
Jordi Boggiano 95a6be2396 Merge remote-tracking branch 'mnishihan/master' 11 years ago
Jordi Boggiano 8d55b9cced Merge remote-tracking branch 'ronnylt/script-event-post-dump-autoload'
Conflicts:
	tests/Composer/Test/Autoload/AutoloadGeneratorTest.php
12 years ago
Jordi Boggiano 5a484cb3a9 Make sure target-dir plays well with classmap and files autoload, for root and deps, refs #1550 12 years ago
Jordi Boggiano ab1256e135 Merge remote-tracking branch 'cmodijk/master' 12 years ago
Cliff Odijk 5127fe8359 added type check to autoloader fixes #1504 12 years ago
M N Islam Shihan 41e91f3064 Fixed an issue when a phar file is used in "files" option in composer.json 12 years ago
Pierre du Plessis 84b34b70e0 Add config option to set if the PHP include path should automatically be used when generating the autoloader 12 years ago
Ronny López f627c3c603 Make Event devMode argument optional (false by default). 12 years ago
Ronny López e5cbf83185 Added post-autoload-dump script event. 12 years ago
Jordi Boggiano c80cb76b9b Always prepend autoloaders to avoid tools (i.e. phpunit) taking precedence over the project autoloader 12 years ago
Jordi Boggiano 1beccf9f0f Fix access of the static loader property 12 years ago
Martin Hasoň 45d7eb5b53 Fixed generating packageMap in AutoloaderGenerater (fixes generating include_paths.php file) 12 years ago
Martin Hasoň 03e355f063 Fixed topological sorting of packages in AutoloadGenerator 12 years ago
Jordi Boggiano c5f3a6febd Fix optimized autoloader generation for PSR-0 configs that include non-existent dirs, fixes #1286 12 years ago
Jordi Boggiano de3188ca7d Remove target dir for classmap autoloads of the root package, fixes #1308 12 years ago
Jordi Boggiano 487e66d0a9 Allow loading of multiple composer autoloaders concurrently, fixes #1248 12 years ago
Martin Hasoň 9582a8abfa Added tests for consistency of data in AutoloadGenerator::sortPackageMap 12 years ago
Martin Hasoň 1ff1b8ac1f Sorted generated classmap 12 years ago
Martin Hasoň c63f0d9642 Preserved original position of package if required packages are before this 12 years ago
Martin Hasoň e75abcbb41 Fixed order of packages in the classmap autoloader 12 years ago
Martin Hasoň b7f96d5dc3 Fixed autoloader generator 12 years ago
Adrien Brault fd58c24a9f ComposerAutoloaderInitXXX::getLoader behaves like a ClassLoader singleton
Calling ComposerAutoloaderInit::getLoader twice when a package requires a .php file containing functions, lead to the functions to be declared twice, and cause an error.

In my case, using behat + symfony2extension + assetic, the error that occured:

PHP Fatal error:  Cannot redeclare assetic_init() (previously declared in vendor/kriswallsmith/assetic/src/functions.php:20) in /vendor/kriswallsmith/assetic/src/functions.php on line 26

Fatal error: Cannot redeclare assetic_init() (previously declared in /vendor/kriswallsmith/assetic/src/functions.php:20) in /vendor/kriswallsmith/assetic/src/functions.php on line 26
12 years ago
Filip Procházka 80e9999d1c typo 12 years ago
Filip Procházka 9d8db4e148 AutoloadGenerator: respect dependencies, when requiring files 12 years ago
Christophe Coevoet 66b83a39d2 Removed a PHP notice when dumping the autoloader
This occured when the root package has a target-dir but does not have
configure a PSR-0 autoloader.
Fixes #1028
12 years ago
Jordi Boggiano 521bbe6556 CS fixes 12 years ago
Jordi Boggiano ef637c8f1a CS fixes 12 years ago
Jordi Boggiano dbd44d6bcf Handle empty namespaces 12 years ago
Jordi Boggiano 44d7d4a38e Make PSR0 scanning optional 12 years ago
Jordi Boggiano ee14950972 Add whitelist to the classmap generator to allow skipping of Test files 12 years ago
Jordi Boggiano 48c46ce3b6 Automatically generate classmaps for all PSR-0 packages to speed things up, fixes #541, fixes #127 12 years ago
Jordi Boggiano 4f0ad98905 Always include the ClassLoader since autoload_real is included only once, refs #963 12 years ago
Jordi Boggiano 30fdf379aa Minor consistency tweaks 12 years ago
Victor Berchet d2dc73e361 [Autoload] Set $vendorDir et $baseDir in ComposerAutoloaderInitTargetDir::getLoader() 12 years ago
Victor Berchet 4c82c35dbc [Autoload] Generate the autoloader_real file in the target directory 12 years ago
Victor Berchet 2c065416eb [Autoload] generate an autoload_real.php file 12 years ago
Victor Berchet 963fedc9a5 [Autoload] remove closures because of a bug in APC
https://bugs.php.net/bug.php?id=52144
https://bugs.php.net/bug.php?id=61576
12 years ago
Taylor Otwell a834efe7c9 Fix directory handling when auto-loading files. 12 years ago
Nils Adermann 4e9e66a957 Make sure custom vendor paths don't break file autoloading 12 years ago
Johannes M. Schmitt 9f150b1c1e fixes a bug when root package has a 'files' autoload entry 12 years ago
Jordi Boggiano defe5766a4 Revert "Merge remote-tracking branch 'till/bugfix-broken-classmap'"
This reverts commit d837b8a657, reversing
changes made to 520d915860.
12 years ago
Jordi Boggiano 6fb5d26474 Revert "Add test and some fixes to allow absolute paths, refs #869"
This reverts commit a2a2f4af59.
12 years ago
Jordi Boggiano a2a2f4af59 Add test and some fixes to allow absolute paths, refs #869 12 years ago
Jordi Boggiano d837b8a657 Merge remote-tracking branch 'till/bugfix-broken-classmap' 12 years ago
Sylvain Filteau 51404659ef Change the order of the include paths
Composer installed libraries should have precedence over other libraries in the
system (like PEAR installed libraries).

Made composer prepend it's include_path configuration instead of appending it.
12 years ago
till 2823c78856 Allow absolute paths in composer.json and don't prepend them with a funny $baseDir variable. 12 years ago
Nils Adermann d84273ee34 Merge pull request #833 from Seldaek/installmgr_cleanup
Use the config object to define the vendor dir and not the installation manager
12 years ago
Jordi Boggiano adaa788955 Require file autoloads after the autoloader is registered 12 years ago
Jordi Boggiano b876dcbafb Use the config object to define the vendor dir and not the installation manager 12 years ago