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
61917cb7f7
Adding Symfony's Console component as a submodule
2011-09-14 07:55:06 -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
Jordi Boggiano
071fa7a4d7
Merge Solver logic into the install command
2011-08-21 13:33:39 +02:00
Jordi Boggiano
ba9f12a517
Add extra and type info to packages
2011-08-21 13:33:37 +02:00
Nils Adermann
4dbb73daba
Use an SplFixedArray for the solver's decision map
2011-08-21 07:30:10 -04:00
Nils Adermann
b1d16a88b7
Test a replace link with a null constraint between packages
2011-08-21 07:08:34 -04:00
Nils Adermann
69ebbf0eac
Correct handling of rules with more than 2 literals.
2011-08-21 06:30:06 -04:00
Nils Adermann
6cf8d3888c
Use version contraints in the default policy rather than hardcoded version_compare
2011-08-20 23:05:39 -04:00
Nils Adermann
03642a40b4
Handle the = comparison operator for versions the same as ==
2011-08-20 23:04:16 -04:00
Nils Adermann
6118c00086
Implement minimization of branches
2011-08-20 23:03:52 -04:00
Nils Adermann
0f6fb9b692
Separate transaction generation from solving and properly identify updates
2011-08-20 18:38:31 -04:00
Nils Adermann
f46aa495da
Turn obsolete relationships and replaced packages into conflict rules
2011-08-20 18:19:47 -04:00
Nils Adermann
52565a5935
Implement handling of conflicts with learned rules
2011-08-20 13:45:20 -04:00
Nils Adermann
b0c685176b
Correct branch handling and implement reverting of decisions at a particular level
2011-08-20 13:36:18 -04:00
Nils Adermann
37e676cedd
Implement analysis of conflicting rules
2011-08-20 13:21:24 -04:00
Nils Adermann
6d157b325d
Package ids are always positive, so use absolute literal value for package id
2011-08-20 13:21:24 -04:00
Nils Adermann
ad25618bdd
Add install job and update rule conflict handling and reenable installation
2011-08-19 06:15:51 -04:00
Nils Adermann
1125de6bf2
Added disablePolicyRules to solve conflicts between remove jobs & update rules
...
This temporarily breaks installation of packages
2011-08-19 06:06:00 -04:00
Nils Adermann
0d30bc469b
In the default policy compare object ids to avoid recursion.
2011-08-05 04:14:11 -04:00
Nils Adermann
61ad71b624
Reverse the transaction instruction order.
...
Early decisions cause later ones through dependencies. So in order to
perform the earlier decisions the later ones must be fulfilled first.
2011-08-05 04:14:11 -04:00
Jordi Boggiano
6fc243cbd6
Remove useless file
2011-08-03 23:59:36 +02:00
xaav
1607ac2404
Added phar compiler
2011-08-03 23:57:27 +02:00
Jordi Boggiano
256955f0f7
Minor code cleanup
2011-07-21 13:53:39 +02:00
Nils Adermann
825deff09f
Completed analysis of unsolvable situations and main decision process
2011-07-08 07:11:04 -04:00
Jordi Boggiano
49c3446ac1
Make use of new dist properties, refactored ZipDownloader
2011-07-06 21:06:52 +02:00
Jordi Boggiano
64978d40ba
Add dist properties to the Packages
2011-07-06 21:05:05 +02:00
Jordi Boggiano
d6ae5ddf35
Add 'dev' flag to version parser
2011-07-06 21:04:37 +02:00
Jordi Boggiano
10486d8505
Better error reporting for incorrect repo specs
2011-06-28 20:43:01 +02:00
Jordi Boggiano
f272f66324
Fixes and improvements to the PEAR implementation
2011-06-28 20:42:59 +02:00
Jordi Boggiano
75428d9ad1
Slightly improve reporting when json config files can't be parsed
2011-06-28 20:42:57 +02:00
Jordi Boggiano
75410d13b7
Bugfix
2011-06-28 20:42:55 +02:00
Jordi Boggiano
5b061b8ddb
Remove TODO
2011-06-28 20:42:53 +02:00
xaav
74332da349
Using copy function.
2011-06-28 20:42:51 +02:00
Benjamin Eberlei
fa613cad19
Rewrite PearRepository to implement PEAR Client/Server protocol itself, taking longer then pear remote-list, but at least showing ALL available versions, making arbitrary dependencies possible.
2011-06-28 20:42:50 +02:00
Benjamin Eberlei
8afc2ca694
Add support for PEAR repository and downloading, example composer.json would look like {"repositories":{"doctrine": {"pear":" http://pear.doctrine-project.org "},"requires":{"DoctrineORM":"2.0.5"}}. You can use pear repositories this way for now. PEAR packages are not downloaded via pear, only via their .tgz packages in the PEAR repository. Automatically detecting dependencies will require reverse-engineering the PEAR protocol a little bit more, however from looking at a pirum output it looks simple.
2011-06-28 20:42:48 +02:00
Nils Adermann
c225b4c689
Correctly match platform specific PHP version numbers
2011-06-27 00:12:51 +02:00
Nils Adermann
bc672deb32
Moving rule iteration logic to a separate RuleSet and RuleSetIterator class
2011-06-27 00:11:57 +02:00
xaav
e1e7bb03be
Edited src/Composer/Downloader/ZipDownloader.php via GitHub
2011-06-14 14:25:29 -07:00
Jordi Boggiano
52888f193d
Fix version parsing of PHP on some linux distros
2011-06-08 17:47:34 +02:00
Jordi Boggiano
ae922eaf4c
Use ReflectionExtension to read ext versions
2011-06-08 11:41:52 +02:00
Jordi Boggiano
3524d0388a
Fixed use statement
2011-06-08 11:32:41 +02:00
Nils Adermann
498125adbe
Assertions are now properly decided before running the main solver.
...
Updating does not work yet. The test case works fine for installing/removing
the correct packages however. Weak (update/feature) rules are entirely ignored
so far.
Watches are on literal ids rather than literals to save on function calls
and memory usage. So a few methods for literals now have an id counter part.
This should probably be refactored to have the literal versions call the
id ones instead.
2011-06-07 22:43:26 +02:00
Jordi Boggiano
bb52105c37
Add GitRepository class
2011-06-06 11:07:12 +02:00
Jordi Boggiano
1eb2a46308
Don't chdir() while cloning git repos
2011-06-06 11:01:06 +02:00
Jordi Boggiano
14fdd4384a
Better reporting during installation
2011-06-06 11:01:04 +02:00
Jordi Boggiano
04783d5c30
CI match on package names
2011-06-06 11:01:02 +02:00
Nils Adermann
2e41993822
Update solver to use PackageInterface and store pool package ids inside of packages
2011-06-03 18:27:44 +02:00
Nils Adermann
8cbf3f4d75
No need to unify rules, we already check for duplication on insertion
2011-06-03 18:03:12 +02:00
Jordi Boggiano
92d443d07e
Fix arg order
2011-05-23 02:04:17 +02:00
Jordi Boggiano
48774ee6ca
Fix Literal id generation
2011-05-23 02:00:21 +02:00
Jordi Boggiano
56da52d38f
PlatformRepository now adds packages for every loaded php extension as well
2011-05-23 02:00:18 +02:00
Jordi Boggiano
05d527446b
addPackage needs to trigger initialization too
2011-05-23 02:00:15 +02:00
Jordi Boggiano
575e520931
Fix MultiConstraint::__toString
2011-05-23 02:00:12 +02:00
Jordi Boggiano
1edb22034d
Fix CS
2011-05-23 02:00:09 +02:00
Jordi Boggiano
b620405ab0
Adjusted BasePackage::__toString()
2011-05-23 02:00:07 +02:00
Jordi Boggiano
27f02aba7d
Fix version check in BasePackage
2011-05-23 02:00:05 +02:00
Jordi Boggiano
a67a1637e1
Print more human-readable info
2011-05-23 02:00:03 +02:00
Jordi Boggiano
831f5219b6
Use spl_object_hash() instead of the package id which doesn't exist anymore
2011-05-23 02:00:00 +02:00
Jordi Boggiano
b85c1a2780
Fix interfaces use statements/use interfaces for type hints
2011-05-23 01:59:57 +02:00
Nils Adermann
4dad9fa6ef
Adding support for LinkConstraints to the solver requests.
...
Constraints are directly passed on to the pool's whatProvides method
which returns a set of packages that satisfy name and constraint conditions.
2011-05-22 23:54:48 +02:00
Nils Adermann
273e12e386
Rule unification
2011-05-22 19:40:52 +02:00
Nils Adermann
f3d9c8701a
Generate transaction from solver's final decision queue.
2011-05-22 19:40:41 +02:00
Jordi Boggiano
ea71abb3fd
Fixed line endings
2011-05-06 19:55:49 +02:00
Jordi Boggiano
e43060eb72
Added exceptions and fixed CS of the ZipDownloader
2011-05-06 19:54:47 +02:00
Geoff
99d55792f6
Added ZipDownloader.
2011-05-01 21:31:06 -05:00
Jordi Boggiano
14b3325347
Fix version parsing
2011-04-23 22:25:10 +02:00
Jordi Boggiano
d185194d1a
Create links/constraints between packages
2011-04-23 20:52:37 +02:00
Jordi Boggiano
b53a3086b6
Minor refactorings and changes
2011-04-21 21:13:14 +02:00
Nils Adermann
f0af6b7d57
It's called a repository, not a registry
2011-04-18 22:48:51 +02:00
Nils Adermann
9b8ab7d710
Fix SpecificConstraint which only handles matching of instances of same constraint
2011-04-18 22:47:33 +02:00
Nils Adermann
d5dd86cd75
Correct version contraint matching and add tests for various cases
2011-04-18 22:45:11 +02:00
Nils Adermann
8c9f8fb86f
Rename RelationConstraints to Links in the Package namespace.
...
Constraints have been generalised to allow matching requiring and providing
constraints against each other.
2011-04-18 00:27:31 +02:00
Jordi Boggiano
e03983697a
Add base installer/downloader and ComposerRepository
2011-04-18 00:15:05 +02:00
Jordi Boggiano
2475ce47e4
Make ArrayRepository more extensible
2011-04-18 00:12:40 +02:00
Jordi Boggiano
c6321e7277
Fix tests and invalid use statements
2011-04-17 23:45:37 +02:00
Jordi Boggiano
3da43e751d
Update naming of repositories
2011-04-17 23:32:53 +02:00
Jordi Boggiano
6dbec8718d
Remove contains() from RepositoryInterface
2011-04-17 22:59:23 +02:00
Jordi Boggiano
f0e709ad09
Minor cleanups, add license property to the PackageInterface
2011-04-17 22:13:08 +02:00
Jordi Boggiano
8ab98a8b5d
Fix class name
2011-04-17 21:49:05 +02:00
Jordi Boggiano
bb5e59e30f
Add type/repositoryType and repositoryUrl package properties
2011-04-17 21:48:20 +02:00
Jordi Boggiano
1d5f5885bc
Remove useless abstract methods, interface is enough
2011-04-17 21:47:46 +02:00
Jordi Boggiano
7ea2fd6c93
Fix author/copyright
2011-04-17 21:39:53 +02:00
Nils Adermann
3a851b4059
Define an interface for packages and move package code to separate namespace.
...
Ids are no longer needed, they are internal to the solver and not a part of
packages.
2011-04-17 21:36:05 +02:00
Nils Adermann
933cc6179b
Import initial partial port of the libzypp satsolver.
2011-04-05 17:37:19 +02:00