1
0
Fork 0
Commit Graph

8230 Commits (37d722e73c847fb74fb9fd542e350cd77997a72d)

Author SHA1 Message Date
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