1
0
Fork 0
Commit Graph

243 Commits (fec5eeef8dec4ef872f7f0ccfeb8f0a8dc94c95d)

Author SHA1 Message Date
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
Pierre du Plessis 84b34b70e0 Add config option to set if the PHP include path should automatically be used when generating the autoloader 2013-01-14 11:15:06 +02:00
Ronny López e5cbf83185 Added post-autoload-dump script event. 2013-01-10 15:04:20 +01:00
Jordi Boggiano c80cb76b9b Always prepend autoloaders to avoid tools (i.e. phpunit) taking precedence over the project autoloader 2013-01-08 17:34:37 +01:00
Jordi Boggiano 78290945b8 Make sure there is a class to find in the file that must be ignored 2013-01-05 23:40:06 +01:00
Jordi Boggiano 514a3cde77 CS fixes 2013-01-05 20:01:58 +01:00
Jordi Boggiano 1beccf9f0f Fix access of the static loader property 2012-12-25 16:08:36 +01:00
Martin Hasoň 45d7eb5b53 Fixed generating packageMap in AutoloaderGenerater (fixes generating include_paths.php file) 2012-12-17 11:13:07 +01:00
Martin Hasoň 03e355f063 Fixed topological sorting of packages in AutoloadGenerator 2012-12-14 15:21:40 +01:00
Jordi Boggiano 51eca2cdfc Fix matching of classes in trailing non-php text, fixes #1409 2012-12-13 17:39:17 +01:00
Jordi Boggiano aefe3a0b11 Add support for .inc files in classmap, fixes #1396 2012-12-08 21:54:51 +01:00
Jordi Boggiano c5f3a6febd Fix optimized autoloader generation for PSR-0 configs that include non-existent dirs, fixes #1286 2012-11-27 14:23:10 +01:00
Jordi Boggiano de3235a2a4 Add tests to prevent regressions on strings/nowdoc/comment stripping 2012-11-25 14:10:58 +01:00
Jordi Boggiano 5a01ada383 Restrict unicode chars allowed to what php core allows, refs #1361 2012-11-25 14:07:06 +01:00
Jordi Boggiano 2d7c3c9d27 Tweak #1361 to re-enable support for unicode classnames 2012-11-25 13:52:42 +01:00
Igor Wiedler 530991217b Support classmap generation for classes without space after class name
Class names with multi-byte characters are not supported.

Closes #1360.
2012-11-25 12:08:50 +01:00
Jordi Boggiano de3188ca7d Remove target dir for classmap autoloads of the root package, fixes #1308 2012-11-13 17:09:22 +01:00
Jordi Boggiano 75da832cd3 Fix parsing of large files that go over the PCRE limits 2012-11-12 12:33:46 +01:00
Victor Berchet 86bb1be61f [ClassMapGeneratot] Filter out non php code
Otherwise files like https://github.com/propelorm/Propel/blob/master/generator/lib/behavior/i18n/templates/queryUseI18nQuery.php
would fail ("class" keyword would not be filtered out by php_strip_whitespace())
2012-11-12 09:15:35 +01:00
Victor Berchet ab48114531 [ClassMapGenerator] Improve error message when the path does not exist
i.e. the composer.json has a typo
2012-11-12 07:33:15 +01:00
Victor Berchet ff5c428d60 [ClassMapGenerator] Refine the findClasses method
The code could not throw
2012-11-12 07:32:47 +01:00
Jordi Boggiano 5a763cf010 Fix scanning of empty namespace{} blocks 2012-11-11 16:29:49 +01:00
Jordi Boggiano 487e66d0a9 Allow loading of multiple composer autoloaders concurrently, fixes #1248 2012-11-10 21:54:23 +01:00
Martin Hasoň 1ff1b8ac1f Sorted generated classmap 2012-10-17 12:00:45 +02:00
Martin Hasoň c63f0d9642 Preserved original position of package if required packages are before this 2012-10-17 10:50:53 +02:00
Martin Hasoň e75abcbb41 Fixed order of packages in the classmap autoloader 2012-10-17 01:40:15 +02:00
Martin Hasoň b683aeb586 Fix expected values in tests for autoloader generator 2012-10-17 01:00:11 +02:00
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
2012-09-14 11:21:34 +02:00
Filip Procházka 9d8db4e148 AutoloadGenerator: respect dependencies, when requiring files 2012-09-06 15:07:07 +02:00
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
2012-08-24 23:25:14 +02:00
Jordi Boggiano d6de4a0036 Rename Package interfaces to reduce BC issues 2012-08-24 02:29:31 +02:00
Jordi Boggiano 521bbe6556 CS fixes 2012-08-18 16:22:15 +02:00
Jordi Boggiano 2af2c27168 Add regression test for files autoload in root package, fixes #880 2012-08-18 14:58:55 +02:00
Jordi Boggiano 44d7d4a38e Make PSR0 scanning optional 2012-08-14 20:28:49 +02:00
Jordi Boggiano 48c46ce3b6 Automatically generate classmaps for all PSR-0 packages to speed things up, fixes #541, fixes #127 2012-08-14 19:55:30 +02:00
Jordi Boggiano 4f0ad98905 Always include the ClassLoader since autoload_real is included only once, refs #963 2012-08-14 19:13:39 +02:00
Jordi Boggiano 30fdf379aa Minor consistency tweaks 2012-08-14 19:05:34 +02:00
Victor Berchet d2dc73e361 [Autoload] Set $vendorDir et $baseDir in ComposerAutoloaderInitTargetDir::getLoader() 2012-08-06 11:33:17 +02:00
Victor Berchet 4c82c35dbc [Autoload] Generate the autoloader_real file in the target directory 2012-08-06 10:56:57 +02:00
Victor Berchet 2c065416eb [Autoload] generate an autoload_real.php file 2012-08-01 10:12:46 +02:00
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
2012-07-31 20:17:39 +02:00
Taylor Otwell 8cf43868da update tests for new expectations. 2012-07-27 09:13:39 -05:00
Jordi Boggiano 6fb5d26474 Revert "Add test and some fixes to allow absolute paths, refs #869"
This reverts commit a2a2f4af59.
2012-07-18 18:40:17 +02:00
Jordi Boggiano a2a2f4af59 Add test and some fixes to allow absolute paths, refs #869 2012-07-18 18:31:22 +02:00
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.
2012-07-06 14:17:27 -04:00
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
2012-07-01 10:04:09 -07:00
Jordi Boggiano adaa788955 Require file autoloads after the autoloader is registered 2012-06-25 11:39:51 +02:00
Jordi Boggiano b876dcbafb Use the config object to define the vendor dir and not the installation manager 2012-06-24 21:58:51 +02:00
Grégoire Pineau f4e9dd4fb8 Fixed PSR rules 2012-06-14 12:10:01 +02:00
Jordi Boggiano 1df9c62583 Cosmetic fixes to autoload generation 2012-06-11 14:15:08 +02:00
Benjamin Eberlei 5c5e962b5a Add Files Autoloading key. This is a necessary feature to allow purely or partly functional libraries to be "autoloadable" by composer by calling require_once on every file in the "autoload"."files" list. 2012-06-02 18:18:33 +02:00
Jordi Boggiano 1bd4ccbd54 php-cs-fixer magic 2012-05-22 12:07:08 +02:00
Jordi Boggiano 1a255420b0 Ignore aliases in autoload generator 2012-05-14 14:02:02 +02:00
Jordi Boggiano aff7745231 Fix target-dir autoloader 2012-04-23 10:56:46 +02:00
Jordi Boggiano 15ab5868a3 Move composer metafiles back in a composer dir, except autoload.php 2012-04-22 22:18:19 +02:00
Jordi Boggiano 51711c2f73 Fix multi-prefix handling 2012-04-19 22:08:24 +02:00
Jordi Boggiano 66135538c1 Allow root packages packages with target-dir to be autoloaded, fixes #139 2012-04-19 22:06:38 +02:00
Jordi Boggiano 244a7fd37b Add missing test fixture 2012-04-19 20:04:38 +02:00
Jordi Boggiano b999d18365 Improve include_paths generation, fixes #596 2012-04-19 10:51:57 +02:00
Jordi Boggiano 3c07b4338a Rename include-paths to include-path, add deprecated warnings, only generate file if it is needed 2012-04-08 17:42:57 +02:00
Christoph Hochstrasser af52c8118e Some tests for include path setting 2012-04-04 15:27:12 +02:00
Jordi Boggiano 2d9739bd05 Add support for files in classmap autoload config, fixes #463 2012-04-01 20:23:47 +02:00
Jordi Boggiano 30cfb69739 Add support for mapping a namespace prefix onto many dirs in the autoload config 2012-03-28 17:09:33 +02:00
Martin Hasoň fde38dacec Added test for generated classmap files 2012-03-21 13:58:35 +01:00
Martin Hasoň 81e8261692 Added tests for traits 2012-03-21 12:57:50 +01:00
Jordi Boggiano edf93f1fcc Fix test & behavior 2012-03-10 02:14:40 +01:00
Jordi Boggiano f8a09eaa3f Make classmaps relative instead of absolute for file portability 2012-03-10 01:59:59 +01:00
Jordi Boggiano 27eb249aab Merge remote-tracking branch 'beberlei/ClassMaps' 2012-03-10 01:22:40 +01:00
till 23902023e5 fix namespace 2012-03-08 14:17:22 +01:00
Benjamin Eberlei 671cd5ee08 Add tests for ClassMapGenerator 2012-03-05 14:10:01 +01:00
Wookieb f93135b3bd Cosmetic tests fix - remove test directories 2012-02-24 12:28:41 +01:00
Wookieb 8d3b40ff8e Tests should remove created directories after testing process 2012-02-24 10:40:47 +01:00
Jordi Boggiano 5da021ffa7 Moved Filesystem to base Util namespace 2012-02-09 18:45:28 +01:00
Jordi Boggiano d18e749f85 Test fix, fixes #274 2012-02-03 20:33:57 +01:00
Jordi Boggiano 15d78e6ad1 Fix autoload generator with vendor-dir = working-dir 2012-02-02 16:38:48 +01:00
Martin Hasoň d27989c808 Fixed obscure code 2012-02-02 15:36:38 +01:00
Beau Simensen fd5124a632 Standards fixes per @stof (continued, my bad) 2012-01-12 21:48:35 -06:00
Beau Simensen e8fcf281fa Autoload Generator handles multiple PSR-0 paths
The Autoload Generator was not behaving exactly as expected.
This PR is an alternate version of #203 based on some of
@stof's input on that PR.

The main differences are:

 * The main package is added first instead of last
 * parseAutoloads returns a different structure:
     array('psr-0' => array('Ns\\Foo' => array('installDir')))
 * dump and createLoader updated to account for new structure
2012-01-12 21:14:30 -06:00
Jordi Boggiano 116b17dfc0 Fix test suite for OSX 2011-12-21 16:43:38 +01:00
Jordi Boggiano 21d74328e3 Cosmetic fixes 2011-12-04 22:00:55 +01:00
Jordi Boggiano abb926a60c Add tests for autoloader 2011-12-04 18:35:43 +01:00