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
781c97fa9b
Refactor to avoid global static state
2014-03-29 17:46:55 +01:00
Jordi Boggiano
c3ab09750d
Merge remote-tracking branch 'johnikx/ambiguous-reference-warning'
2014-03-29 17:29:55 +01:00
Jan Brecka
b94838169d
show warning only instead of throwing exception
2014-03-24 14:34:02 +01:00
Jordi Boggiano
fc9e1d0cff
CS fixes, refs #2823
2014-03-24 00:31:08 +01:00
Jan Brecka
a41370b021
fix plural in exception message
2014-03-21 14:26:54 +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
Fred Emmott
7d3274224a
Only look for .hh files at runtime if using HHVM
...
The ClassMap generator will look regardless, but that's not a runtime
cost, so seems desirable (in case composer install/update needs to be
called with php5 for some resaon)
2014-03-18 16:21:45 -07:00
Fred Emmott
734e5e2f2b
Add autoload support for .hh files (HHVM)
...
HHVM is adding support for an alternative extension for files using
HHVM-specific features. Support them in the Class Map and PSR4
autoloaders.
Trivial example: https://github.com/fredemmott/hh_extension_toolset
2014-03-18 14:37:44 -07:00
Jordi Boggiano
5fb005631a
Tweaking dispatchScript method to be in line with the rest, and add devMode to *_AUTOLOAD_DUMP events
2014-03-01 21:22:01 +01:00
Jordi Boggiano
023ff131aa
Merge remote-tracking branch 'bamarni/autoload-dev'
2014-03-01 20:28:31 +01:00
Jordi Boggiano
cea7c07cf2
Fix CS
2014-03-01 19:58:37 +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
Dave Hulbert
81aa3a850c
Fix some PHP doc blocks
2014-02-11 10:09:30 +00:00
Nicolas Grekas
00a6f8e38d
dedicated scope isolation function for autoload_real
2014-02-06 11:53:42 +01:00
Jordi Boggiano
ed02997a7b
Fix mode and add docblock, refs #2644
2014-02-06 09:44:14 +01:00
Jordi Boggiano
d26dda5c95
Merge remote-tracking branch 'olvlvl/improved_package_sorting_alone'
2014-02-06 09:41:50 +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
Jérôme Macias
01cd990995
Fix PSR-4 autoload classmap generator
2014-02-03 16:53:56 +01:00
Olivier Laviale
17278999ba
Coding style compliance
2014-01-29 14:36:34 +01:00
Olivier Laviale
46776c8e23
Improved package sorting
2014-01-29 14:15:32 +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
Jordi Boggiano
b23742e30c
Merge remote-tracking branch 'donquixote/feature/psr4-complete'
2014-01-03 14:56:36 +01:00
Stan Lemon
5fd3223aec
Updates per @stof
2013-12-23 11:27:33 -05:00
Stan Lemon
d6c46f2091
Allow the autoloader suffix to be configured from a project's composer.json
2013-12-22 22:01:42 -05:00
Andreas Hennings
c0aad84d8b
Validation to make the combination of target-dir with psr-4 illegal.
2013-12-14 16:33:59 +01:00
Andreas Hennings
39c09d5192
Add psr-4 stuff in a few more places.
2013-12-14 16:28:27 +01:00
Andreas Hennings
bbf6278905
AutoloadGenerator to support PSR-4. Tests included.
2013-11-26 02:53:44 +01:00
Andreas Hennings
b08179e399
PSR-4 ClassLoader: Bug fix: PEAR-like path needs ".php" appended.
2013-11-25 23:22:31 +01:00
Andreas Hennings
5dd3c12d3d
Further improve comments.
2013-11-25 23:22:31 +01:00
Andreas Hennings
2e80d148f8
PSR-4 loader: Fix comments: PSR-0 related methods should have comments refering to PSR-0 and prefixes. PSR-4 related methods should have comments refering to PSR-4 and namespaces.
2013-11-25 23:22:30 +01:00
Andreas Hennings
c49a651d81
PSR-4 class loader: Add getters for PSR-4 prefixes. Rename PSR-0 related attributes by appending *Psr0. Add more comments.
2013-11-25 23:22:30 +01:00
Andreas Hennings
8142126b16
Add PSR-4 class loader. (tests needed)
2013-11-25 23:22:30 +01:00
Jordi Boggiano
50fbfe4d63
Filesystem/autoload fixes for windows, refs #2304 , #2342 , #2365
2013-10-28 11:01:17 +01:00
Jordi Boggiano
7682bc0d60
Merge remote-tracking branch 'Devolicious/feature/no-prepend'
2013-10-16 12:15:36 +02:00
Ruud Denivel
c7bb3ad746
refactor prepend autoloader from cli option to config var (prepend-autoloader) in composer.json
2013-10-14 18:38:30 +02:00
Jordi Boggiano
11a0d16ccc
CS fixes
2013-10-11 20:12:45 -03:00
Ruud Denivel
65c10daaf8
disable prepend option on install
2013-10-09 18:18:34 +02:00
Martin Hasoň
3c0a620ad5
Fixed path analysis
2013-09-26 14:34:41 +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
Nils Adermann
3960edd64e
Turn EventDispatcher into generic solution handling plugins as well
2013-08-30 12:51:41 +02:00
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
2013-08-30 11:46:39 +01: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
Benji Schwartz-Gilbert
f5048059d8
Fixes the autoload_namespaces generator for packages in the root of the vendor directory
2013-08-18 10:57:48 -07:00
Jordi Boggiano
e3a10b31ab
Abort quickly if the only match is class= in a file
2013-08-13 17:37:41 +02:00
Jordi Boggiano
3346609c5d
Skip best adapter since it can create issues on some platforms, fixes #2168
2013-08-12 15:58:13 +02:00
Jordi Boggiano
7b81d51a38
Merge remote-tracking branch 'digitalkaoz/classmap_generator_finder'
2013-08-12 02:04:15 +02:00
Andreas Hennings
ce8a9aae5b
Slightly nicer heredoc in AutoloadGenerator::getIncludePathsFile()
2013-08-01 17:03:32 +02: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
Robert Schönthal
860483e97e
reverted simplification cause of php < 5.3.6
2013-07-09 15:53:27 +02:00
Robert Schönthal
f75dda759d
simplified extension check in classmap generation
2013-07-09 15:33:04 +02:00
Robert Schönthal
963f189fb2
bumped finder version, reverted warning suppression
2013-07-05 12:27:48 +02:00
Robert Schönthal
1a4a104df0
use best finder adapter
2013-07-05 09:24:54 +02:00
Robert Schönthal
4af410e1b9
using finder for classmap generator
2013-06-29 22:46:04 +02:00
Jordi Boggiano
8d0b7f278e
CS fixes
2013-06-13 13:28:24 +02:00
Pavel Savinov
831bd844bd
Almost PHPDoc problems fixed
2013-06-13 11:05:44 +11:00
David Simon
2acb02cda9
Fixed bug parsing multiline strings with 'escaped' newlines
2013-05-21 16:29:25 -04:00
Jordi Boggiano
2e25a9298d
Document a hack
2013-05-12 23:43:54 +02: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
976fe48a72
Optimize grabbing of first char
2013-05-06 10:16:30 +02:00
Jordi Boggiano
94175ce432
Make performance of the class loader more constant across classes
2013-05-05 10:58:52 +02: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
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.
2013-05-02 16:04:39 -07:00
Jordi Boggiano
5264d0637b
Fix regression added in 33af9eea95
, fixes #1841
2013-04-28 22:50:24 +02:00
Jordi Boggiano
566313834a
Add workaround for php bug 64634 in copy
2013-04-28 17:03:05 +02:00
Jordi Boggiano
33af9eea95
Always dump packages, even if only an alias is added, fixes #1809
2013-04-28 15:33:01 +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ň
48444a028c
Added support for vendor dir excluded from working dir
2013-04-01 09:27:50 +02:00
Jordi Boggiano
e1eb35455f
Merge pull request #1743 from sandermarechal/abs-path
...
Fix shortest absolute paths from cwd to classmap path
2013-03-31 05:18:56 -07:00
Sander Marechal
132f2a9d5d
Cache getcwd() result
2013-03-31 13:23:51 +02:00
Sander Marechal
c10e25a945
Use cross-platform absolute path check
2013-03-31 13:20:01 +02:00
Jordi Boggiano
bb95a0a788
Fix docblocks
2013-03-30 19:49:59 +01:00
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