Jordi Boggiano
1fe690f810
Autoload generator cleanups
2015-11-21 18:33:17 +00:00
Jordi Boggiano
3748c11709
Simplify files autoload include function, and make sure files are included once per package even if exactly the same, refs #4186
2015-11-21 18:30:44 +00:00
Jordi Boggiano
9710b26d3f
Merge remote-tracking branch 'jeskew/feature/require_files_but_once'
2015-11-21 17:31:05 +00: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
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
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
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
Fred Emmott
23d5e30fbc
Add test for Generics class
...
Already worked, just adding a test.
2015-03-09 11:29:04 -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
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
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
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
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
Jérôme Macias
01cd990995
Fix PSR-4 autoload classmap generator
2014-02-03 16:53:56 +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
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
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
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
David Simon
2665c60b2f
Test for bug parsing multiline strings with 'escaped' newlines
2013-05-21 16:29:11 -04: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
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
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
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
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ň
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
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
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
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ň
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
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
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
Jordi Boggiano
adaa788955
Require file autoloads after the autoloader is registered
2012-06-25 11:39: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
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
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