Example #1
0
/**
 * Create a dependency tree like so:
 *
 * P1 -> P2
 *
 * P2 -> P3
 *
 * P3 -> P4
 *
 * P4-1.0.0 -> P1 <= 1.2.0
 * P4-1.1.0 -> P1
 *
 * and P1 1.3.0 exists
 */
require __DIR__ . '/../InternetMaker.php';
$maker = new InternetMaker(__DIR__);
$pf = $maker->getPassablePf('P1', '1.2.0');
$pf->dependencies['required']->package['pear2.php.net/P2']->save();
$pf->files['glooby1'] = array('role' => 'php');
$maker->makePackage($pf);
$pf->version['release'] = '1.3.0';
$maker->makePackage($pf);
$pf = $maker->getPassablePf('P2', '1.0.0');
$pf->dependencies['required']->package['pear2.php.net/P3']->save();
$pf->files['glooby2'] = array('role' => 'php');
$maker->makePackage($pf);
$pf = $maker->getPassablePf('P3', '1.0.0');
$pf->dependencies['required']->package['pear2.php.net/P4']->save();
$pf->files['glooby3'] = array('role' => 'php');
$maker->makePackage($pf);
$pf = $maker->getPassablePf('P4', '1.0.0');
Example #2
0
<?php

/**
 * Create a dependency tree like so:
 *
 * P1-1.0.0
 * P1-1.1.0RC1
 *
 * P2 -> P3
 *
 * P3 -> P1
 */
require __DIR__ . '/../InternetMaker.php';
$maker = new InternetMaker(__DIR__);
$pf = $maker->getPassablePf('P1', '1.0.0');
$pf->files['glooby1'] = array('role' => 'php');
$maker->makePackage($pf);
$pf = $maker->getPassablePf('P1', '1.1.0RC1', 'beta');
$pf->files['glooby1'] = array('role' => 'php');
$maker->makePackage($pf);
$pf = $maker->getPassablePf('P2', '1.0.0');
$pf->dependencies['required']->package['pear2.php.net/P3']->save();
$pf->files['glooby2'] = array('role' => 'php');
$maker->makePackage($pf);
$pf = $maker->getPassablePf('P3', '1.0.0');
$pf->dependencies['required']->package['pear2.php.net/P1']->save();
$pf->files['glooby3'] = array('role' => 'php');
$maker->makePackage($pf);
Example #3
0
 *
 * P3
 *
 * P4 -> P2 != 1.2.3
 *
 * P5
 *
 * This causes a conflict when P1 and P4 are installed that must resolve to installing:
 *
 * P1
 * P2 1.2.2
 * P3
 * P4
 */
require __DIR__ . '/../InternetMaker.php';
$maker = new InternetMaker(__DIR__);
$cat = PEAR2\SimpleChannelServer\Categories::create('Category 1', 'First Category')->create('Category 2', 'Second Category');
$cat->link('P1', 'Category 1');
$cat->link('P2', 'Category 2');
$cat->link('P3', 'Category 1');
$cat->link('P4', 'Category 2');
$cat->link('P5', 'Category 1');
$pf = $maker->getPassablePf('P1', '1.0.0');
$pf->dependencies['required']->package['pear2.php.net/P2']->min('1.2.0');
$pf->files['glooby1'] = array('role' => 'php');
$maker->makePackage($pf);
$pf = $maker->getPassablePf('P2', '0.9.0', 'beta');
$pf->files['glooby2'] = array('role' => 'php');
$maker->makePackage($pf);
$pf = $maker->getPassablePf('P2', '1.2.2');
$pf->dependencies['required']->package['pear2.php.net/P3']->save();