1
0
Fork 0
Commit Graph

230 Commits (12e683e2ee74ace0d3843307843762f4a8186d5c)

Author SHA1 Message Date
Jordi Boggiano ce08582671 Fix CS 2015-09-28 10:53:24 +01:00
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
2015-08-19 22:18:54 -06:00
voroks 154092ba1a Added removing file 'include_path.php' (if it is empty). 2015-08-19 15:08:27 +08:00
voroks 85de450fe9 Removed some extra assertions. 2015-08-15 16:41:35 +08:00
voroks 4fa1cb2e9c Removing file autoload_files.php was added (#4254) 2015-08-15 16:12:16 +08:00
Nicolas Grekas fbae6b1589 Revert "Merge pull request #3975 from marc-mabe/hotfix/3974"
This reverts commit bdb6ecb29e, reversing
changes made to 8a12e50a16.
2015-08-04 10:34:54 +02:00
Jonathan Eskew 42b025776a Move file identifier calculation to compile time 2015-06-30 09:22:51 -07:00
Jonathan Eskew 24c4322672 Use 5.3 compatible array syntax 2015-06-28 13:47:00 -07:00
Jonathan Eskew 868a872df2 Push the hash to $GLOBALS 2015-06-28 13:44:43 -07:00
Jonathan Eskew 61ed7a9547 Explicitly check if a file has already been required before requiring it 2015-06-27 14:05:59 -07:00
Jordi Boggiano b2173d28fc Fix 5.3.3 build 2015-06-16 11:43:55 +01:00
Jordi Boggiano e73448ae1e Add possessive quantifiers to avoid backtracking and fix segfault on large files, fixes #4153 2015-06-16 11:22:45 +01:00
elazar 6c029a850c Resolves #4138: Removed *Test.php filtering from AutoloadGenerator->dump() 2015-06-12 10:52:55 -05:00
Jordi Boggiano 27aac31970 Fix tests for autocrlf=true checkouts, fixes #4049 2015-05-28 14:43:52 +01:00
Possum 29ca21f30e PHP version checks tweaking 2015-05-05 20:18:24 +02:00
Marc Bennewitz 9455c49053 fixes #3974: Autoloader have to distinguish between files and directories 2015-04-30 19:17:19 +02:00
Andrew Berry 5b7c5cf41e Fix missing semicolons. 2015-04-23 12:56:11 -04:00
Andrew Berry 59e14ff098 Fix test classes with invalid PHP. 2015-04-23 12:45:27 -04:00
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
  ...
2015-03-25 16:27:23 +01:00
Fred Emmott 23d5e30fbc Add test for Generics class
Already worked, just adding a test.
2015-03-09 11:29:04 -07:00
Fred Emmott cb1ea889d6 Use HHVM_VERSION instead of HPHP_VERSION 2015-03-09 10:02:10 -07:00
Fred Emmott 33ea86573e Add support for using classmap to autoload Hack enums
fixes composer/composer#3823

Ran tests with both PHP5.5.9-1ubuntu4.5 and HHVM 3.6. Test fails on HHVM only
if I back out the ClassMapGenerator.php change.
2015-03-09 09:38:02 -07:00
Rob Bast cb336a5416 Implement writeError throughout Composer 2015-02-25 11:00:35 +01:00
Jordi Boggiano 0b4a9235f4 CS fixes 2015-02-24 14:22:54 +00:00
msiebeneicher 98de300878 * Small improvement of the testExcludeFromClassmap unit test 2015-02-12 09:49:42 +01:00
msiebeneicher dad6b05ca7 Merge branches 'add_exclude' and 'master' of https://github.com/trivago/composer into add_exclude
* Resolve conflicts and update unit test
2015-02-11 18:04:57 +01:00
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
2015-02-11 17:54:35 +01:00
Bryan Davis 0f2558dab3 Use assertContains in ClassMapAuthoritative checks
Use assertContains instead of assertRegExp when checking for
ClassMapAuthoritative settings.
2015-01-05 12:05:17 -07:00
Bryan Davis 92455759fc Fix AutoloadGeneratorTest for PHP 5.3.x 2015-01-03 18:01:18 -07:00
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
2015-01-03 17:35:25 -07:00
Michael Gusev a531594a4a Issue #3422
https://github.com/composer/composer/issues/3422
2014-11-17 11:05:23 +01:00
Jordi Boggiano 94926218e8 CS fixes 2014-10-17 18:57:27 +01:00
cw-ozaki d649cfc6a1 Add --no-scripts argument for dump-autoload command 2014-08-08 16:27:19 +09:00
Jordi Boggiano ac497feaba CS fixes 2014-06-10 16:13:12 +02:00
jakoch a0e5ead9b0 removed unused variables $baseDir and $vendorDir from "autoloader_real.php" generated by AutoloadGenerator. adjusted tests accordingly. 2014-05-02 17:42:31 +02:00
Fabien Potencier 12421dd6b7 fixed class map generator when using a heredoc with spaces 2014-04-28 15:21:22 +02:00
Jordi Boggiano 49d4054e51 Handle files with no php at all, fixes #2910 2014-04-14 12:47:47 +02:00
Denis Sokolov 836534067b Avoid ambiguity warning for example directories as well
In particular, PEAR repositories use a classmap and example directories trigger
multiple false positive warnings.
2014-04-10 21:03:35 +09:00
Denis Sokolov 65b9cca7b5 Fix ClassMapGenerator unambiguousReference test coverage
Without this fix the test only covers having files in "test", the "fixture"
portion it is not covered at all, because all fixtures in phpunit tests
are already in "test" directory
2014-04-10 21:03:26 +09:00
Jordi Boggiano 0902305196 Fix classmap generator warnings and tests 2014-04-01 14:38:31 +02:00
Jordi Boggiano 8974a1ac92 Ignore ambiguous classes in tests/fixtures dirs, fixes #2858 2014-03-31 21:36:48 +02:00
Daniel Karp e3be04c443 Don't show Ambiguous class resolution warning if class when not ambiguous
if a class or interface is defined twice in the same class, this should not produce a warning
2014-03-30 12:53:15 -04:00
Jordi Boggiano 7daf876d70 Fix test because the order of filesystem iteration is non deterministic 2014-03-29 18:10:32 +01:00
Jordi Boggiano 781c97fa9b Refactor to avoid global static state 2014-03-29 17:46:55 +01:00
Jan Brecka b94838169d show warning only instead of throwing exception 2014-03-24 14:34:02 +01:00
Jan Brecka de09c5e371 remove duplicity 2014-03-24 10:35:44 +01:00
Jan Brecka 5763685e69 use statement 2014-03-24 10:30:50 +01:00
Jan Brecka ea7717c8e5 improve exception message 2014-03-20 14:24:42 +01:00
Jan Brecka 13b57112a9 Throw RuntimeException when ambiguous reference was found. 2014-03-20 13:37:05 +01:00
Jordi Boggiano 790a25c348 Adjust dump command, add another test, update docs, refs #1344 2014-03-01 21:21:00 +01:00
Jordi Boggiano 023ff131aa Merge remote-tracking branch 'bamarni/autoload-dev' 2014-03-01 20:28:31 +01:00
Bilal Amarni db91454a13 added an autoload-dev section 2014-02-28 00:27:03 +01:00
Olivier Laviale 40e484ed38 Fixed an issue that would lead to scattered autoloading files 2014-02-20 23:18:48 +01:00
Nicolas Grekas 00a6f8e38d dedicated scope isolation function for autoload_real 2014-02-06 11:53:42 +01:00
Nils Adermann aef0483cc9 Merge pull request #2667 from nicolas-grekas/master
scope isolation for user includes
2014-02-05 18:24:55 +01:00
Nicolas Grekas 6d7b9afc4b scope isolation for user includes 2014-02-05 17:33:06 +01:00
Jordi Boggiano 75cd91657a Merge remote-tracking branch 'jeromemacias/fix_psr4_classmap_generator' 2014-02-05 09:53:49 +01:00
Andreas Hennings fcf8e7f515 Random docblock improvements in AutoloadGeneratorTest. 2014-02-04 12:35:50 +01:00
Andreas Hennings 6a9fd1dd60 rename \$package to \$mainPackage in AutoloadGeneratorTest::testOverrideVendorsAutoloading() for clarity. 2014-02-04 12:35:50 +01:00
Andreas Hennings bb26152de2 docblock comments on properties in AutoloadGeneratorTest 2014-02-04 12:35:50 +01:00
Andreas Hennings cab6943df0 AutoloadGeneratorTest::testOverrideVendorsAutoloading() - break autoload definitions to multiple lines. 2014-02-04 12:35:50 +01:00
Andreas Hennings 084c11ef51 AutoloadGeneratorTest::testMainPackageAutoloadingWithTargetDir() - Remove PSR-4 from the package in target-dir test, since it is incompatible with target-dir. 2014-02-04 12:35:50 +01:00
Jérôme Macias 01cd990995 Fix PSR-4 autoload classmap generator 2014-02-03 16:53:56 +01:00
René Kerner b0ec8ee096 * added exclude-from-classmap feature
* updated to latest master version
2014-01-27 11:42:54 +01:00
Jordi Boggiano 3c5000ad7f CS tweaks and cleanups, allow "" to set fallback dirs, refs #2459 2014-01-03 16:31:23 +01:00
Andreas Hennings 0a4b18ce86 More interesting generator tests for PSR-4. 2013-12-22 19:58:27 +01:00
Andreas Hennings bda2bcac13 Fix indentation of assignment in AutoloadGeneratorTest 2013-12-22 19:39:09 +01:00
Andreas Hennings 8966376f40 Verify generation of autoload_psr4.php even if empty. 2013-12-22 19:38:11 +01:00
Andreas Hennings bbf6278905 AutoloadGenerator to support PSR-4. Tests included. 2013-11-26 02:53:44 +01:00
Andreas Hennings 2c98813431 Add unit tests for ClassLoader, covering PSR-0 and PSR-4. 2013-11-25 23:22:31 +01:00
Jordi Boggiano 11a0d16ccc CS fixes 2013-10-11 20:12:45 -03:00
Martin Hasoň 3c0a620ad5 Fixed path analysis 2013-09-26 14:34:41 +02:00
Jordi Boggiano 38917c2047 Add parallel build to travis script 2013-09-25 10:23:48 +02:00
Nils Adermann 242c58c789 Merge pull request #2179 from naderman/plugins
Plugins
2013-09-06 04:42:27 -07:00
Jordi Boggiano 9b70b89b8f Merge pull request #2210 from Firehed/master
Change 'generated' notice to @phpdoc-style annotation
2013-09-02 03:12:29 -07:00
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+
2013-08-31 15:43:25 +02:00
Alan Hollis 1892f57e47 Fix file layout in unit tests
Changes made in previious commit made the output of the file change,
which in turn broke the unit tests. This commit updates the fixtures to
match the new output.
2013-08-30 12:09:17 +00:00
Nils Adermann 3960edd64e Turn EventDispatcher into generic solution handling plugins as well 2013-08-30 12:51:41 +02:00
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.
2013-08-27 16:08:38 -07:00
Andreas Hennings 5369904dd3 autoload_files.php should return an array of files, instead of directly including them. 2013-08-01 15:53:54 +02:00
Andreas Hennings 8e9bdfb4da Factor the filesCode generation into a separate method. 2013-08-01 15:53:54 +02:00
Andreas Hennings f98a8f472e Generate an autoload_files.php next to autoload_namespaces.php and autoload_classes.php 2013-08-01 15:53:54 +02:00
Jordi Boggiano 8d0b7f278e CS fixes 2013-06-13 13:28:24 +02:00
David Simon 2665c60b2f Test for bug parsing multiline strings with 'escaped' newlines 2013-05-21 16:29:11 -04:00
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.
2013-05-06 09:37:21 -05:00
Jordi Boggiano 5ba147663d Use ClassLoader::set to initialize the class loader paths 2013-05-05 10:57:21 +02:00
Jordi Boggiano dc71ba557b Consistently use arrays as paths for a given namespace prefix 2013-05-05 10:56:46 +02:00
Jordi Boggiano 5264d0637b Fix regression added in 33af9eea95, fixes #1841 2013-04-28 22:50:24 +02:00
Jordi Boggiano 3ce71466f1 Treat empty paths in autoloader as ".", fixes #1727 2013-04-07 11:34:58 +02:00
Martin Hasoň 07d2f17afe [Autoload] Make all paths relative for file portability 2013-04-05 15:01:51 +02:00
Martin Hasoň 3499610631 Fixed tests for autoloader generator 2013-04-01 09:28:02 +02:00
Martin Hasoň 48444a028c Added support for vendor dir excluded from working dir 2013-04-01 09:27:50 +02:00
Jordi Boggiano 3cc5698e7b Allow PHP 5.2 autoloaders to consume namespace, classmap and include path files, fixes #1730 2013-03-27 18:45:33 +01:00
Jordi Boggiano d929a0813a Prepend the ClassLoader autoloader to avoid calling other previously registered autoloaders, fixes #1699 2013-03-16 16:14:55 +01:00
Jordi Boggiano 8d55b9cced Merge remote-tracking branch 'ronnylt/script-event-post-dump-autoload'
Conflicts:
	tests/Composer/Test/Autoload/AutoloadGeneratorTest.php
2013-02-22 18:42:29 +01:00
Jordi Boggiano b4c2347b24 Test fixes 2013-02-20 16:50:26 +01:00
Jordi Boggiano 5a484cb3a9 Make sure target-dir plays well with classmap and files autoload, for root and deps, refs #1550 2013-02-19 15:23:43 +01:00
Jordi Boggiano ab1256e135 Merge remote-tracking branch 'cmodijk/master' 2013-02-19 14:21:31 +01:00
Cliff Odijk 5127fe8359 added type check to autoloader fixes #1504 2013-02-14 00:10:18 +01:00
Pierre du Plessis 255c0be7fc Added tests for include path flag 2013-02-04 10:12:41 +02:00