1
0
Fork 0
Commit Graph

557 Commits (2fe3244ddb68aa5260844a57c18ff027e279b83d)

Author SHA1 Message Date
Sander Marechal d7697574ff Fix shortest absolute paths from cwd to classmap path 2013-03-29 17:09:39 +01: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 87a42c2f01 Fix CS 2013-03-06 23:10:03 +01:00
Jordi Boggiano 95a6be2396 Merge remote-tracking branch 'mnishihan/master' 2013-03-06 23:08:36 +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 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
Jordi Boggiano 5165008be7 Merge remote-tracking branch 'pierredup/master' 2013-02-12 10:17:49 +01:00
Jordi Boggiano e33aebc75d Fix cs 2013-01-17 17:15:22 +01:00
Jordi Boggiano 1bd01a8b0b Merge remote-tracking branch 'joeholdcroft/autoload-namespace-prepend' 2013-01-17 17:14:27 +01:00
Joe Holdcroft 7d5e4f76fb Bug fix & changing loop + array_unshift to array_merge 2013-01-17 14:12:03 +00:00
M N Islam Shihan 41e91f3064 Fixed an issue when a phar file is used in "files" option in composer.json 2013-01-16 00:29:02 +06: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 f627c3c603 Make Event devMode argument optional (false by default). 2013-01-10 18:12:46 +01: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 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 cd4d569540 Use old-style named subpattern syntax to avoid problems with antiquated PCRE 2012-11-26 13:21:03 +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
Joe Holdcroft 538cdc914b Making prepend work with fallbacks & coding standards 2012-11-14 11:46:49 +00:00
Joe Holdcroft 6510ee5c4c Refactoring ClassLoader::add() to return early 2012-11-14 11:41:08 +00:00
Joe Holdcroft e74223470a - Adding prefix option to ClassLoader::add()
- Adding set method to ClassLoader for overwriting
2012-11-14 10:34:19 +00: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
Jordi Boggiano bd72e3765b Restore early return to happen as early as possible 2012-11-12 10:46:14 +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 2368185774 Merge branch 'classmap-optim' 2012-11-11 15:56:13 +01:00
Jordi Boggiano 487e66d0a9 Allow loading of multiple composer autoloaders concurrently, fixes #1248 2012-11-10 21:54:23 +01:00
Jordi Boggiano 4c3e7802a4 Fix traits on 5.3 and handling of empty namespace blocks 2012-11-10 17:58:18 +01:00
Jordi Boggiano 8e9678a5ba Optimize classmap generation by avoiding the use of token_get_all()
First of all this seems way faster than iterating over all tokens, but
especially it reduces memory usage drastically for very large files
2012-11-10 17:50:20 +01:00
Jordi Boggiano 348ec26c91 Always return false or a class name, fixes #1231 2012-10-18 18:55:49 +02:00
Jordi Boggiano e79e7dcd8d Merge remote-tracking branch 'hason/classgenerator' 2012-10-17 17:19:23 +02:00
Martin Hasoň 9582a8abfa Added tests for consistency of data in AutoloadGenerator::sortPackageMap 2012-10-17 12:03:52 +02: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ň b7f96d5dc3 Fixed autoloader generator 2012-10-17 01:18:22 +02:00
hinikato 1989479634 Fixed class normalization for class map case. 2012-10-16 13:59:33 +03: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 80e9999d1c typo 2012-09-06 17:26:42 +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 521bbe6556 CS fixes 2012-08-18 16:22:15 +02:00
Jordi Boggiano ef637c8f1a CS fixes 2012-08-18 16:18:41 +02:00
Jordi Boggiano dbd44d6bcf Handle empty namespaces 2012-08-15 13:10:56 +02:00
Jordi Boggiano 44d7d4a38e Make PSR0 scanning optional 2012-08-14 20:28:49 +02:00
Jordi Boggiano ee14950972 Add whitelist to the classmap generator to allow skipping of Test files 2012-08-14 19:55:31 +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 289d23b5cc Optimization for autoload misses, refs #964 2012-08-14 19:50:19 +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 a834efe7c9 Fix directory handling when auto-loading files. 2012-07-27 09:03:25 -05:00
Nils Adermann 4e9e66a957 Make sure custom vendor paths don't break file autoloading 2012-07-23 23:53:44 +02:00
Johannes M. Schmitt 9f150b1c1e fixes a bug when root package has a 'files' autoload entry 2012-07-23 22:02:08 +02:00
Jordi Boggiano defe5766a4 Revert "Merge remote-tracking branch 'till/bugfix-broken-classmap'"
This reverts commit d837b8a657, reversing
changes made to 520d915860.
2012-07-18 18:41:07 +02: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
Jordi Boggiano d837b8a657 Merge remote-tracking branch 'till/bugfix-broken-classmap' 2012-07-18 18:20:14 +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
till 2823c78856 Allow absolute paths in composer.json and don't prepend them with a funny $baseDir variable. 2012-07-03 17:50:41 +02: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
Jordi Boggiano 66e9dcddf4 CS fixes 2012-06-23 11:58:18 +02:00
Jordi Boggiano 383c3f0153 Avoid tokenizing files for nothing 2012-06-22 18:59:15 +02:00
Jordi Boggiano 4bbb168d44 Remove BC code 2012-06-19 23:06:40 +02:00
Jordi Boggiano 67cf46546d Merge pull request #791 from liuggio/patch-1
just added a \ before RuntimeException
2012-06-12 09:20:33 -07:00
Giulio De Donato 5c08b5b215 fixed #790 2012-06-12 17:57:11 +02:00
Giulio De Donato 3a53b06f00 just added a \ before RuntimeException (sorry I didn't run the test) 2012-06-12 18:08:22 +03: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 c440b4594a More PSR-2 goodness 2012-05-22 17:13:15 +02:00
Jordi Boggiano 1bd4ccbd54 php-cs-fixer magic 2012-05-22 12:07:08 +02:00
Jordi Boggiano 5c0c101327 Wrap token_get_all for better debuggability 2012-05-21 12:51:21 +02:00
Adán Lobato 61eb0119f1 Fixed some mistakes at PHPDoc 2012-05-15 16:18:18 +02:00
Jordi Boggiano 1a255420b0 Ignore aliases in autoload generator 2012-05-14 14:02:02 +02:00
Jordi Boggiano 11edea8aee Add deprecation warning to old .composer files 2012-05-13 11:35:50 +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
Nils Adermann e74e218bdb Merge pull request #602 from Seldaek/target_dir_autoload
Target dir autoloading for root packages, fixes #139
2012-04-19 14:04:16 -07:00
Jordi Boggiano ab0ced493c Make sure BC dir exists 2012-04-19 22:26:09 +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 22fe296ad0 Move .composer files out into the vendor dir, fixes #497 2012-04-19 21:55:35 +02:00
Jordi Boggiano b999d18365 Improve include_paths generation, fixes #596 2012-04-19 10:51:57 +02:00
Jordi Boggiano 83b52b5b7f Avoid blowing up on misconfigured autoload entries 2012-04-17 14:01:24 +02:00
Jordi Boggiano 8f24a04a1d Make sure vendor dir exists before dumping autoloader 2012-04-15 17:48:30 +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 68c12c3516 Do set_include_path only if any package define include paths. 2012-04-04 09:48:49 +02:00
Christoph Hochstrasser f369104bb1 Packages can define include paths. 2012-04-04 09:46:31 +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
Jordi Boggiano 5f30206c69 Merge remote-tracking branch 'hason/classloader' 2012-03-24 18:06:49 +01:00
Baptiste "Talus" Clavie 15b70e2096 [ClassLoader] Removing trailing whitespaces 2012-03-22 11:45:44 +01:00
Baptiste "Talus" Clavie 6957743aee [ClassLoader] Corrected indentation 2012-03-22 11:19:01 +01:00
Baptiste "Talus" Clavie 6782287091 [ClassLoader] Got an if-condition out of a unnecessary loop 2012-03-22 11:12:30 +01:00
Martin Hasoň 1f8c9eeb6c Added parameter $inDirectory to method Filesystem::findShortestPath 2012-03-22 10:11:48 +01:00
Martin Hasoň afc04c9e53 Fixed creating shortest paths in AutoloadGenerator 2012-03-21 14:29:24 +01:00
Jordi Boggiano 744f4b7c9a Backport trait support in ClassMapGenerator from symfony 2012-03-10 02:00:29 +01:00
Jordi Boggiano f8a09eaa3f Make classmaps relative instead of absolute for file portability 2012-03-10 01:59:59 +01:00
Benjamin Eberlei 671cd5ee08 Add tests for ClassMapGenerator 2012-03-05 14:10:01 +01:00
Benjamin Eberlei 1af3604303 Add support for class-map generation. 2012-03-05 13:26:46 +01:00
Andrew Cobby 2451336284 Fixed syntax error in example code in header comment 2012-03-04 16:38:11 +11:00
Jordi Boggiano 5d414436ba Avoid phpunit process-isolation errors with the autoload closure 2012-02-29 17:24:17 +01:00
Jordi Boggiano 5da021ffa7 Moved Filesystem to base Util namespace 2012-02-09 18:45:28 +01:00
Jordi Boggiano ec352b1e84 Add support for adding more than one fallback dir 2012-02-09 18:18:43 +01:00
Jordi Boggiano 0e7c0d918f Add useIncludePath support to ClassLoader 2012-02-09 15:42:47 +01:00
Jordi Boggiano 5daaba9e62 Extract some code in a AutoloadGenerator::buildPackageMap method 2012-02-07 11:12:03 +01:00
Jordi Boggiano 8c535b1961 Allow the Composer ClassLoader to be unregistered easily 2012-02-07 11:11:39 +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
Jordi Boggiano e90a8dc4c9 Fix feedback from 7222c1 2012-01-23 10:28:15 +01:00
Jordi Boggiano 7222c111ed Make sure multiple autoload files can be used together, fixes #207 2012-01-22 22:40:04 +01:00
Beau Simensen 2d721f5792 Standards fixes per @stof 2012-01-12 21:40:53 -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 2c367e7f39 Allow multiple fallback dirs 2011-12-21 16:56:18 +01:00
Pierre Minnieur 3b1843827a removed the `return false` as we only need a positive return information 2011-12-21 13:30:25 +01:00
Pierre Minnieur 4242a05a0e added Boolean return values for loadClass() method 2011-12-21 11:50:24 +01:00
Jordi Boggiano d22b80d13b Allow "" as autoload prefix for fallback dir 2011-12-18 21:09:40 +01:00
Jordi Boggiano 304ce3b375 Fix relative target dirs 2011-12-04 22:13:11 +01:00
Jordi Boggiano bc88d86983 Make use of Filesystem class in AutoloadGenerator 2011-12-04 18:35:44 +01:00
Jordi Boggiano cb44ba8325 Fix autoload handling of main project 2011-11-21 11:33:30 +01:00
Jordi Boggiano f5b7e968b2 Minor adjustments to merged PR 2011-11-20 22:03:11 +01:00
Ant Cunningham e0400773f7 Adding support for configurable vendor path in composer.json. 2011-11-18 13:31:50 -05:00
Henrik Bjørnskov 8180117584 AutoloadGenerator.php miscalculates the path
Add tenary check to make sure relative specified paths arent seen as
absolute.

Fixises #94
2011-11-07 09:29:37 +01:00
Jordi Boggiano 1a7bf8a7f8 Bugfixes 2011-11-06 01:09:48 +01:00
Jordi Boggiano b7f6cf69ab Add tests and fixes some issues 2011-11-05 23:54:05 +01:00
Jordi Boggiano c8859240d2 Add InstallerInstaller, refactored AutoloadGenerator, fixes #59 2011-11-05 23:54:01 +01:00
Jordi Boggiano 5e3c55f171 Add support for multiple packages defining the same namespace prefix 2011-11-03 21:10:39 +01:00
Jordi Boggiano bd712db727 Reverse-orders namespaces by specificity 2011-11-03 21:05:01 +01:00
Jordi Boggiano 1ca3e5e5e2 Generate a map separated from the autoloader, fixes #74
Also the loader is now returned by the autoload.php
2011-10-30 20:29:06 +01:00
Fabien Potencier 03b06ebbca Fix path for autoloaded libs as the .composer/ dir is now under the vendor/ one. 2011-10-30 09:51:16 +01:00
Fabien Potencier 9e7ebd9280 Fix autoload.php generator 2011-10-29 07:24:30 +02:00
Jordi Boggiano 89caa9b117 Rewrite autoloader to use only PSR-0, remove splitting of PEAR path 2011-10-27 22:09:01 +02:00
Jordi Boggiano c03a739548 Use psr-0 instead of psr0 2011-10-24 12:03:11 +02:00
Jordi Boggiano be47991b36 Build a standalone autoload file 2011-10-23 21:23:37 +02:00
Jordi Boggiano 8a571c05db Fix issues in new autoloader code 2011-10-23 19:40:22 +02:00
Igor Wiedler 808a2c9448 [composer] wrap UniversalClassLoader require in if class_exists 2011-10-23 19:40:16 +02:00
Igor Wiedler aa7c4b8ef7 [autoload] refactor getFullPackage into populateAutoloadInformation 2011-10-23 19:40:14 +02:00
Igor Wiedler 9d238330b3 [autoload] refactor autoload generation code into a AutoloadGenerator 2011-10-23 19:40:12 +02:00