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
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