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
Jordi Boggiano
c0b49d09f3
Merge remote-tracking branch 'cw-ozaki/no-script-dump-autoload'
...
Conflicts:
src/Composer/Autoload/AutoloadGenerator.php
src/Composer/Command/DumpAutoloadCommand.php
2015-11-21 17:14:33 +00:00
Jordi Boggiano
6f29df01d2
Fix updir regex matching, refs #4607
2015-11-14 15:44:30 +00:00
Omer Karadagli
4046ae042d
Up-level relative paths in exclude-from-classmap
2015-11-12 15:53:47 +00:00
Rob Bast
991d25115f
fixes #4562
2015-11-05 18:47:30 +01:00
annesosensio
2e4157145b
Made wildcard expansion consistent with bash
2015-10-30 21:30:50 +01:00
Jordi Boggiano
6c16510743
Add support for wildcards in exclude-from-classmap, refs #1607
2015-10-30 19:12:30 +00:00
Jordi Boggiano
f1b0c073ad
Tweaked exclude-from-classmap: windows support, normalize paths and make sure they are all package-relative and do not leak to other packages, refs #1607
2015-10-30 00:22:04 +00:00
Jordi Boggiano
084f6de24e
Merge remote-tracking branch 'trivago/add_exclude'
...
Conflicts:
doc/04-schema.md
src/Composer/Autoload/AutoloadGenerator.php
2015-10-30 00:00:44 +00:00
David Walker
e0a6419992
When classmap authoratative is enabled, there should be no reason to load 3 files, and process them when autoloader will return false
2015-10-28 14:29:36 -06:00
Jordi Boggiano
6582c337d0
Fix typo
2015-10-28 00:06:21 +00:00
Jordi Boggiano
1160b782c8
Deduplicate classmap creation and add support for loading classmaps on the fly for plugins & co
2015-10-27 17:47:25 +00:00
Rob Bast
b523fc0b7b
ran fixers
2015-10-13 11:35:51 +02:00
Jordi Boggiano
ce08582671
Fix CS
2015-09-28 10:53:24 +01: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
457bc20c34
Explicit comparison was removed.
2015-08-18 16:10:59 +08:00
voroks
cca42ff0be
Fixed indents: we should use spaces instead tabulation.
2015-08-18 15:29:22 +08:00
voroks
4fa1cb2e9c
Removing file autoload_files.php was added ( #4254 )
2015-08-15 16:12:16 +08:00
Rob Bast
593af4b1bf
add license file during autoload dumping
...
closes #4288
2015-08-14 12:00:21 +02: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
Jordi Boggiano
b17ccbfa0d
Avoid invalid warnings when scanning the same file twice, fixes #4195 , fixes #4197
2015-06-30 13:27:28 +01: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
943107cfe7
Load most specific namespaces always, and dependents before dependencies when building classmaps
...
This also adds notifications of duplicate classes
2015-06-26 14:40:26 +01: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
Possum
29ca21f30e
PHP version checks tweaking
2015-05-05 20:18:24 +02:00
Jordi Boggiano
164dc2a097
Reuse prefix only if no prefix is defined
2015-05-01 14:23:20 +01:00
Marc Bennewitz
9455c49053
fixes #3974 : Autoloader have to distinguish between files and directories
2015-04-30 19:17:19 +02:00
Jordi Boggiano
dbfd47eeca
CS fixes
2015-04-15 01:22:19 +01:00
msiebeneicher
7522a33079
Merge branch 'master' of https://github.com/composer/composer into add_exclude
...
# By Jordi Boggiano (30) and others
# Via Jordi Boggiano (37) and Morgan Campbell (1)
* 'master' of https://github.com/composer/composer : (83 commits)
Update 01-basic-usage.md
Revert 331425bcb3
as well, fixes #3612
Revert "Disable overwrites when no-ansi is present, fixes #3612"
Update deps
Use justinrainbow/json-schema 1.4
Improved wording
Fix docs basic-auth => http-basic
Add test for Generics class
Single variable for traits and enums
Use HHVM_VERSION instead of HPHP_VERSION
Add support for using classmap to autoload Hack enums
Re-use existing autoloader suffix if available, fixes #3701
Report Travis CI build success early
Test on HHVM nightly releases. Allow to fail.
Make parseJson safer
Use get home from Config instead of factory
Fix env override regression, fixes #3820
[create-project] Used no progress value for dependencies
Add docBlock and fix CS
Fix output of first line of progress when output is not decorated, refs #3818
...
2015-03-25 16:27:23 +01:00
Fred Emmott
bdf51ab16d
Single variable for traits and enums
2015-03-09 10:05:12 -07:00
Fred Emmott
cb1ea889d6
Use HHVM_VERSION instead of HPHP_VERSION
2015-03-09 10:02:10 -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
Jordi Boggiano
b296e654eb
Re-use existing autoloader suffix if available, fixes #3701
2015-03-09 11:13:01 +00:00
Rob Bast
cb336a5416
Implement writeError throughout Composer
2015-02-25 11:00:35 +01:00
Jordi Boggiano
0b4a9235f4
CS fixes
2015-02-24 14:22:54 +00:00
msiebeneicher
3682a9f5a7
* Cleanup code comments
2015-02-12 10:18:00 +01:00
msiebeneicher
dad6b05ca7
Merge branches 'add_exclude' and 'master' of https://github.com/trivago/composer into add_exclude
...
* Resolve conflicts and update unit test
2015-02-11 18:04:57 +01:00
msiebeneicher
f28785a49d
Merge branches 'add_exclude' and 'master' of https://github.com/trivago/composer into add_exclude
...
* 'add_exclude' of https://github.com/trivago/composer :
# By Jordi Boggiano (239) and others
# Via Jordi Boggiano (184) and others
* 'master' of https://github.com/trivago/composer : (638 commits)
Simplified syntax
github deprecation changes
fix bug in GitDriver::supports for remote repo
strict check, testcase(s)
Fix regex matching and add more tests for addSubNode, refs #3721 , fixes #3716
solve edge case for `composer remove vendor/pkg`
chmod 644 src/Composer/Command/RemoveCommand.php
Avoid failing on composer show of lazy providers
Show more info when a download fails
Add notion of autoloader skipping autoload-dev rules
Satis grammar fix.
remove unused statements
removed needless output param
+ limit git ls-remote to heads + escape repo url
add check for remote Repository in GitDriver::supports
suppress the prefix
Improve notice about /usr/local/bin
Reuse current file permissions
Add the P character to the regex pattern
Added deprecated warning for the dev option
...
Conflicts:
src/Composer/Autoload/AutoloadGenerator.php
src/Composer/Autoload/ClassMapGenerator.php
2015-02-11 17:54:35 +01:00
Bryan Davis
8ceb5714a4
Fix spelling of "Authoritative"
...
- classMapAuthoratative -> classMapAuthoritative
- getClassMapAuthoratative -> isClassMapAuthoritative
- Don't use elseif since if block returns
2015-01-05 11:48:34 -07:00
Bryan Davis
ad1f8e6c5a
Add classmap-authoritative config setting
...
Add a "classmap-authoritative" configuration setting that can be used to
disable searching the various prefix and fallback directories for
classes that have not been registered with the
Composer\Autoload\ClassLoader class map. This setting can be used to
optimize performance by avoiding a potentially large number of
`file_exists` calls when Composer is being used in a program with
additional autoloader facilities. Use of the setting implies
"optimize-autoloader" to ensure that the most complete class map
possible is generated.
Closes #3603
2015-01-03 17:35:25 -07:00
Jordi Boggiano
fc3c7838b2
CS fixes
2014-12-07 13:54:29 +00:00
Michael Gusev
a531594a4a
Issue #3422
...
https://github.com/composer/composer/issues/3422
2014-11-17 11:05:23 +01:00
Jordi Boggiano
94926218e8
CS fixes
2014-10-17 18:57:27 +01:00
Jordi Boggiano
4ce9252255
Avoid passing args to CLI handlers when none are needed, fixes #3332
2014-10-07 11:27:24 +01:00
Artur Eshenbrener
56482cff0a
Changed short array syntzx to long
2014-10-03 18:31:02 +04:00
Artur Eshenbrener
ad1d0be420
Accessing to option 'optimize-autoloder' inside 'post-autoload-dump' script event.
2014-10-03 18:28:16 +04:00
cw-ozaki
d649cfc6a1
Add --no-scripts argument for dump-autoload command
2014-08-08 16:27:19 +09:00
Jordi Boggiano
0ce0cf42e8
Merge remote-tracking branch 'francoispluchino/fix-phpdoc'
...
Conflicts:
src/Composer/EventDispatcher/EventDispatcher.php
2014-07-23 19:19:39 +02:00
Jordi Boggiano
4dfa3c469e
Fix class map generator handling of missing files
2014-07-20 19:07:31 +02:00
Jordi Boggiano
a227523c4f
Fix php_strip_whitespace bugginess, fixes #3030
2014-07-20 00:07:58 +02:00
Jordi Boggiano
799876dd55
Allow dashes in class names for HHVM support, fixes #2967
2014-07-19 19:19:13 +02:00
François Pluchino
8b5c00bff0
Fix phpdoc
2014-07-16 15:17:38 +02:00
Jordi Boggiano
ac497feaba
CS fixes
2014-06-10 16:13:12 +02: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
Jordi Boggiano
05d9912f97
Ignore classes in ClassMapGenerator
2014-04-29 14:36:19 +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
14f35e812c
Merge pull request #2912 from ckwalsh/master
...
Support generating class map for XHP classes
2014-04-14 14:11:15 +02:00
Jordi Boggiano
49d4054e51
Handle files with no php at all, fixes #2910
2014-04-14 12:47:47 +02:00
Cullen Walsh
57d9e9852d
Support generating class map for XHP classes
2014-04-14 00:21:53 -04:00
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
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
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
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