1
0
Fork 0
Commit Graph

332 Commits (aacdcb1570a0a3796fe68fb3339e34df112a67e0)

Author SHA1 Message Date
Jordi Boggiano 8aaac35ca1 Make installer type case insensitive 2011-10-30 22:01:37 +01:00
Jordi Boggiano 6b6d6b6d82 Add --dev flag to InstallCommand to do source installs, fixes #26 2011-10-30 20:59:41 +01:00
Jordi Boggiano 36a724fa51 Search only for packages from the local repository in the locker 2011-10-30 20:29:52 +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
Jordi Boggiano b100df33d8 Make ArrayDumper and ArrayLoader reversible 2011-10-30 20:16:41 +01:00
Jordi Boggiano 4904e76185 Install every package in its own directory, fixes #73 2011-10-30 19:10:37 +01:00
Nils Adermann 56fab04c93 Merge pull request #71 from fabpot/filesystem-bug
Filesystem bug

Object of class Composer\Json\JsonFile could not be converted to string
2011-10-30 05:04:37 -07: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 1450ebd837 Fix bug in an exception, added unit tests 2011-10-30 09:09:46 +01:00
Nils Adermann e4f40272a3 Conflict handling: lastWeakWhy stores a rule, not a rule id 2011-10-29 20:05:06 +02:00
Nils Adermann 3e0e893f26 Correctly output decision map when debugging 2011-10-29 20:04:52 +02:00
Nils Adermann 85d38c653f Also detect updates resulting from feature rules rather than update rules 2011-10-29 19:39:18 +02:00
Nils Adermann 2056c4c732 Allow downgrades and uninstalls in the default policy 2011-10-29 19:23:52 +02:00
Jordi Boggiano d3aa8336dc Fix typo 2011-10-29 19:21:34 +02:00
Jordi Boggiano 1e0710b32f Move .composer into vendor (hardcoded for now) 2011-10-29 18:13:48 +02:00
Jordi Boggiano 305856f2f5 Merge pull request #68 from fabpot/small-opt
Move loader creation to avoid creating it more than once, unified the way
2011-10-29 07:12:14 -07:00
Nils Adermann 4827ea95e5 Merge pull request #69 from fabpot/added-exception
Add an exception when a Filesystem repository is corrupted
2011-10-29 03:36:03 -07:00
Fabien Potencier 5ffc349642 Add an exception when a Filesystem repository is corrupted 2011-10-29 07:48:23 +02:00
Fabien Potencier 527c711149 Move loader creation to avoid creating it more than once, unified the way packages are loading across repository classes 2011-10-29 07:43:26 +02:00
Fabien Potencier 9e7ebd9280 Fix autoload.php generator 2011-10-29 07:24:30 +02:00
Jordi Boggiano d16b928baf Add DebugPackagesCommand 2011-10-28 01:19:46 +02:00
Jordi Boggiano 220ab7f4ee Comments 2011-10-28 01:05:56 +02:00
Jordi Boggiano 23c1c40b3d Fix missing reference in local repository 2011-10-28 00:36:02 +02:00
Jordi Boggiano dcfe310cff Fix PEAR repository 2011-10-28 00:35:35 +02:00
Jordi Boggiano a263a3cb7d Dont enforce optional fields 2011-10-28 00:34:59 +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 8b0fee3f35 Fix platform packages not being added to the pool 2011-10-23 21:10:45 +02:00
Jordi Boggiano 5e52d5c1ad Fix tests 2011-10-23 19:55:43 +02:00
Jordi Boggiano b667cf98c2 Clone added packages in update 2011-10-23 19:40:42 +02:00
Jordi Boggiano 2b15c4321b Typo fix 2011-10-23 19:40:40 +02:00
Jordi Boggiano aeab3c16fd Add PackageRepository to define inline packages
Example:

{
    "repositories": {
        "Monolog": {
            "package": {
                "source": {
                    "url": "git://github.com/Seldaek/monolog.git",
                    "type": "git",
                    "reference": "1.0.1"
                },
                "version": "1.0.1",
                "name": "monolog/monolog"
            }
        }
    }
}
2011-10-23 19:40:36 +02:00
Jordi Boggiano 9b24734c9d Add parsing and on-the-fly loading of repositories defined in packages 2011-10-23 19:40:34 +02:00
Jordi Boggiano 17286e993c Add exception when json files can not be read 2011-10-23 19:40:32 +02:00
Jordi Boggiano 450095e61d Adjust RepositoryManager to handle multiple repositories of one type 2011-10-23 19:40:30 +02:00
Jordi Boggiano 33e7001d7e Fix typo 2011-10-23 19:40:26 +02:00
Jordi Boggiano c33fc80d23 Add supports() to the InstallerInterface 2011-10-23 19:40:24 +02:00
Jordi Boggiano 8a571c05db Fix issues in new autoloader code 2011-10-23 19:40:22 +02:00
Jordi Boggiano c8cfa15f52 Use wrapped PlatformRepository only in the Solver 2011-10-23 19:40:20 +02:00
Jordi Boggiano 28369ea623 Add missing docblock 2011-10-23 19:40:18 +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
Igor Wiedler 72a1f66b7a rename installAs to target-dir 2011-10-23 19:40:10 +02:00
Igor Wiedler 409b2e47ae return early (this is very important) 2011-10-23 19:40:08 +02:00
Igor Wiedler ea31039556 [autoload] autoloading prototype 2011-10-23 19:40:06 +02:00
Nils Adermann 571c14adf9 Prefer original packages over replaced packages of same repository priority 2011-10-22 17:20:45 +02:00
Nils Adermann 44369472be Define the calculation of package priorities in a single method 2011-10-22 16:48:23 +02:00
Nils Adermann 1b6f57e651 Correctly implement priorities and version numbers in the default policy 2011-10-22 16:44:10 +02:00
Nils Adermann b52d6d881a Pool repository index represents priority, highest index = highest priority 2011-10-22 16:39:49 +02:00
Nils Adermann e4c94dd415 Adding tests for the default policy specifying its desired behaviour 2011-10-21 14:44:24 +02:00
Jordi Boggiano e09f6900da Fix up version parsing 2011-10-11 11:49:32 +02:00
Jordi Boggiano 19f89069a4 Add some more version normalization and support for branch names 2011-10-11 09:30:10 +02:00
Jordi Boggiano b3fe30200b Remove validation for now since it's doing more harm than good 2011-10-02 23:54:13 +02:00
Jordi Boggiano 7d4e67b335 Fix phar compiler 2011-10-02 23:38:54 +02:00
Jordi Boggiano be769ea1ac Add user-agent header to json fetches, fixes #39 2011-10-02 22:44:10 +02:00
Jordi Boggiano 2ebc795754 Error out when a package can not be found, refs #30 2011-10-02 21:24:09 +02:00
Jordi Boggiano 1a9de17a88 Detect and report common mistakes in json syntax, refs #36 2011-10-02 21:14:00 +02:00
Jordi Boggiano cad0967788 json_decode returns null on error, not false 2011-10-02 21:04:37 +02:00
Jordi Boggiano 9210500714 Handle false and empty decoded json values as valid 2011-10-02 20:49:26 +02:00
Jordi Boggiano 18e28a2a9f Make sure .composer dir is created before writing in it 2011-10-02 20:46:33 +02:00
Jordi Boggiano 806c5f200a Fix var name 2011-10-02 20:18:46 +02:00
Jordi Boggiano e109213dfa Merge remote-tracking branch 'everzet/json-abstraction' 2011-10-02 19:57:25 +02:00
Jordi Boggiano 9e3c2a7e22 Skip platform packages from the lock file
This should maybe be done in a better way, but it'll do for now.
2011-10-02 19:55:45 +02:00
Jordi Boggiano cc769af923 Reuse normal installer logic for locked installs 2011-10-02 19:54:53 +02:00
everzet d5ba884f8b fixed potential error 2011-10-01 17:06:14 +03:00
everzet 1cca62dc97 move json parsing instructions into single class object 2011-10-01 16:01:33 +03:00
everzet 96122aada8 refactored install command to use new Locker 2011-10-01 15:34:10 +03:00
everzet cc2f2b79ca added findPackage() method to the RepositoryManager and RepositoryInterface 2011-10-01 15:34:09 +03:00
everzet 21191ffa00 refactored PackageLock to Locker and stabilized it 2011-10-01 15:34:09 +03:00
everzet 1fcb833902 added Json parsing abstraction 2011-10-01 15:34:09 +03:00
Kirill chEbba Chebunin 6c4440d0e9 Add todo for signed phars 2011-09-30 22:58:58 +04:00
Kirill chEbba Chebunin 7527d0af43 Add throws declaration for FileDownloader::extract() 2011-09-30 22:46:09 +04:00
Igor Wiedler 2c1605925b ArrayLoader should not use require content for all other properties 2011-09-30 18:05:28 +02:00
Kirill chEbba Chebunin 43631ccd5b Add Tar and Phar downloaders 2011-09-30 01:07:17 +04:00
Jordi Boggiano 9cbd74bf90 Merge remote-tracking branch 'everzet/downloader-interface-refactoring' 2011-09-29 20:50:41 +02:00
everzet 195272da09 refactored DownloaderInterface to be mono-installation-type 2011-09-29 04:11:51 +03:00
everzet cc740249ff don't return useless info 2011-09-29 02:01:06 +03:00
Jordi Boggiano ebe2a25ec6 Merge remote-tracking branch 'wilmoore/feature/memory-package-test-refactor'
Conflicts:
	src/Composer/Package/MemoryPackage.php
2011-09-29 00:55:28 +02:00
Jordi Boggiano fda206400a Fix constraint parsing 2011-09-29 00:50:01 +02:00
Jordi Boggiano f48634d074 Add source/dist reference information to package 2011-09-29 00:49:23 +02:00
Jordi Boggiano 00a4fe2a14 Refactor downloaders, git installs actually work well now 2011-09-29 00:48:52 +02:00
Wil Moore III b70bb1a9bc memory-package-test-refactor: refactored the memory package test to be a bit more DRY and "hopefully" re-usable in anticipation of more package types being adding in the future. 2011-09-26 22:05:57 -06:00
Jordi Boggiano c863c31881 Rename platform packages so they avoid conflicts with any vendor 2011-09-27 01:10:21 +02:00
Jordi Boggiano da6566b343 Minor improvements to VersionParser 2011-09-26 20:34:58 +02:00
Jordi Boggiano 2e10b5c17e Expand normalization feature and adjust tests 2011-09-26 00:59:32 +02:00
Jordi Boggiano 46a67733f8 Adjust codebase to the new VersionParser 2011-09-26 00:01:22 +02:00
Jordi Boggiano f761cfe525 Refactored VersionParser 2011-09-26 00:01:14 +02:00
Jordi Boggiano d455eef82c Fix pear & zip downloaders 2011-09-25 23:43:49 +02:00
Jordi Boggiano 544067ced9 Packages can't be added to two repos at once 2011-09-25 23:43:21 +02:00
Jordi Boggiano e5907a3431 Remove WrapperRepository in favor of PlatformRepository wrapping the local repo 2011-09-25 23:42:40 +02:00
Jordi Boggiano b9114e16be Fix typos, short var names etc 2011-09-25 23:20:31 +02:00
Jordi Boggiano c6d7760145 Merge branch 'refactoring' 2011-09-25 23:09:07 +02:00
Jordi Boggiano 5623f3e69c Fix refactoring bugs 2011-09-25 23:07:42 +02:00
Jordi Boggiano 4fe80d7abb Add WrapperRepository class 2011-09-25 23:05:29 +02:00
Jordi Boggiano c7af918caa Fix git downloader 2011-09-25 22:19:27 +02:00
everzet c9ecb0d1ad Remove unused methods from downloaders 2011-09-25 21:00:59 +03:00
everzet 05ddfde868 Reflect latest refactoring changes in commands 2011-09-25 21:00:44 +03:00
everzet ef71836f30 Refactored Composer class to be service container 2011-09-25 21:00:26 +03:00
everzet 0694f5217a Implemented RepositoryManager 2011-09-25 21:00:05 +03:00
everzet 3c439ce41c Added "type" field validator to ArrayLoader 2011-09-25 20:59:54 +03:00
everzet 5890b05eb0 Implemented ArrayDumper 2011-09-25 20:59:40 +03:00
everzet 20318f77a0 Refactored FilesystemRegistry to FilesystemRepository 2011-09-25 20:59:10 +03:00
everzet 5c841187fd Fixed RepositoryInterface 2011-09-25 20:58:35 +03:00
everzet 28d9df7da6 Added hasPackage and removePackage methods to the ArrayRepository 2011-09-25 20:57:58 +03:00
everzet 2fc0699492 Moved operations evaluation into new InstallationManager class 2011-09-25 19:31:51 +03:00
everzet 50aa7ac607 Provide $useSource argument to the DownloaderInterface methods 2011-09-25 18:56:05 +03:00
everzet 17d1abcec0 Refactored DownloadManager 2011-09-25 18:30:54 +03:00
everzet 6133108710 Refactored LibraryInstaller to use WritableRepository instead of Registry 2011-09-25 15:44:41 +03:00
everzet 9f98ee25ea Enhanced repository interface 2011-09-25 15:44:05 +03:00
everzet 123f5fef77 Refactored Operations in order to fulfill naderman requests 2011-09-25 14:40:12 +03:00
Jordi Boggiano 751f506080 Add info to docblocks 2011-09-25 12:42:32 +02:00
Jordi Boggiano 8533a65061 Remove unused methods from RepositoryInterface 2011-09-24 16:55:46 +02:00
Jordi Boggiano e700e6fcd9 Use new version parser in PlatformRepository 2011-09-24 16:55:45 +02:00
Jordi Boggiano cd80f22781 Type is not mandatory 2011-09-24 16:55:43 +02:00
Jordi Boggiano d27691a67f Fix namespace/use/typo issues 2011-09-24 16:55:39 +02:00
everzet 0a1e7320b0 Refactored solver result array. Now it returns array of operation objects which are much nicer to work with 2011-09-24 02:29:22 +03:00
everzet 5b0d17cc13 DownloaderInterface refactored 2011-09-24 02:18:41 +03:00
everzet 69f1de9986 Enhanced PackageInterface and BasePackage with getUniqueName() method, which provides name-version-releaseType string (used in installer registry) 2011-09-24 02:11:32 +03:00
everzet cde9531e4d DownloadManager implemented 2011-09-24 02:09:51 +03:00
everzet 0a2f4e7e32 Installer now provides full download path to the downloader 2011-09-24 01:30:17 +03:00
everzet 45cab9fe8c Installers FilesystemRegistry implemented 2011-09-24 00:24:19 +03:00
everzet 067007656b LibraryInstaller refactored and tested 2011-09-24 00:23:16 +03:00
everzet 6ce0132259 fixed installer interface 2011-09-21 00:46:19 +03:00
everzet 9deb10361f second batch of refactoring 2011-09-21 00:43:53 +03:00
everzet d2150a3c2e installer and downloaders update 2011-09-21 00:42:13 +03:00
everzet d7fe0dfda4 added missing interfaces 2011-09-21 00:42:13 +03:00
everzet 6caa77fbbf installer refactoring 2011-09-21 00:41:16 +03:00
everzet 5f4d46f7ae repository factoring refactoring 2011-09-21 00:39:15 +03:00
everzet 1e1ecb80b7 initial refactoring 2011-09-21 00:38:23 +03:00
Joseph Bielawski 62bce6b9ed [Request] Be more DRY 2011-09-17 17:18:49 +03:00
Jordi Boggiano 6b5f61943a Lowercase package names in Request (fixes tests) 2011-09-17 13:23:17 +02:00
Jordi Boggiano aeebd02ee5 Cleanup for last merged commit 2011-09-17 13:18:34 +02:00
Jordi Boggiano 89f49e0e14 Merge pull request #17 from chEbba/interfaces
Add Dowloader and Installer interfaces
2011-09-17 04:16:28 -07:00
Jordi Boggiano 9b70b06bc8 Merge remote-tracking branch 'ryan/use_symfony_command'
Conflicts:
	bin/composer
	src/Composer/Command/InstallCommand.php
2011-09-17 12:04:33 +02:00
Kirill chEbba Chebunin 74a45cfb8c Remove public keyword from Downloader and Installer interface methods 2011-09-16 01:26:32 +04:00
Kirill chEbba Chebunin e317b4f8ef Add Dowloader and Installer interfaces 2011-09-15 23:58:00 +04:00
Ryan Weaver b1fcbe9dde Simplifying how composer initializes its commands 2011-09-15 06:58:57 -05:00
Jordi Boggiano 07e181c6eb Fix lowercase behavior 2011-09-15 11:50:50 +02:00
pborreli f7735c396f [Composer] Fixed typos 2011-09-15 01:22:33 +00:00
Ryan Weaver cf11b48306 Making several tweaks per @stof 2011-09-14 10:34:53 -05:00
Nils Adermann b6ec172997 Merge pull request #13 from igorw/case-insensitive-package
Make package names and downloader/installer/repository types case insensitive
2011-09-14 07:06:57 -07:00
Igor Wiedler 9e8fc71870 Make package names and downloader/installer/repository types case insensitive 2011-09-14 16:01:54 +02:00
Ryan Weaver f5b054985a Integrating the command system with Symfony's command system
Parts are still a WIP, as there are some embedded echo statements that should eventually be run through some sort of output interface.
2011-09-14 07:57:40 -05:00
Ryan Weaver 96b51c59d8 Adding some basic PHPDoc 2011-09-14 06:52:21 -05:00
Ryan Weaver d13a2e928e Removing reference to Silex, replacing with Composer 2011-09-13 19:34:48 -05:00
Jordi Boggiano 900bed1c32 Normalize package names 2011-09-13 02:24:44 +02:00
Igor Wiedler 1e5aaefaf5 Force empty lock files to contain a JSON object
By default it will make it an array, since PHP does not distinguish between
arrays and hash(map)s.
2011-09-12 16:59:05 +02:00
Jordi Boggiano 2b77710515 RC versions don't need a number 2011-08-21 13:33:42 +02:00