package_ORM.php 3.08 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
<?php

require_once('PEAR/PackageFileManager2.php');
PEAR::setErrorHandling(PEAR_ERROR_DIE);

$packagexml = new PEAR_PackageFileManager2;

$version_release = '0.9';
$version_api = $version_release;
$state = 'beta';

$notes = <<<EOT
barfoo
EOT;

$summary = 'PHP5 Database ORM';

$description =<<<EOT
Doctrine_ORM is an ORM (object relational mapper) for PHP 5.2.x+. One of its key
features is the ability to optionally write database queries in an OO
(object oriented) SQL-dialect called DQL inspired by Hibernates HQL. This
provides developers with a powerful alternative to SQL that maintains a maximum
of flexibility without requiring needless code duplication.
EOT;

$packagefile = './package.xml';

$options = array(
    'filelistgenerator' => 'svn',
    'changelogoldtonew' => false,
    'simpleoutput'      => true,
    'baseinstalldir'    => '/',
    'packagedirectory'  => './',
    'packagefile'       => $packagefile,
    'clearcontents'     => false,
    'ignore'            => array(
        'vendor/',
        'tools/',
        'package*.php',
        'package*.xml',
        'manual/',
        'tests/',
        'README',
        'CHANGELOG',
        'LICENSE',
        'COPYRIGHT',
        'Builder.php',
        'Builder/',
        'Cli.php',
        'Cli/',
        'Compiler.php',
        'Compiler/',
        'Configurable.php',
        'Connection.php',
        'Connection/',
        'Data.php',
        'Data/',
        'Event.php',
        'Event/',
        'EventListener.php',
        'EventListener/',
        'Exception.php',
        'Export.php',
        'Export/',
        'File.php',
        'File/',
        'FileFinder.php',
        'FileFinder/',
        'Formatter.php',
        'Import.php',
        'Import/',
        'Inflector.php',
        'Lib.php',
        'Locator.php',
        'Locator/',
        'Log.php',
        'Log/',
        'Mapper/',
        'Manager.php',
        'Manager/',
        'Null.php',
        'Parser.php',
        'Parser/',
        'Sequence.php',
        'Sequence/',
        'Task.php',
        'Task/',
        'Transaction.php',
        'Transaction/',
        'Util.php',
    ),
    'dir_roles'         => array(
        'lib'           => 'php',
        'models'        => 'doc',
    ),
    'exceptions' => array(
    )
);

$package = &PEAR_PackageFileManager2::importOptions($packagefile, $options);
$package->setPackageType('php');

$package->clearDeps();
$package->setPhpDep('5.2.3');
$package->setPearInstallerDep('1.4.0b1');
$package->addPackageDepWithChannel('required', 'PEAR', 'pear.php.net', '1.3.6');

$package->addRelease();
$package->generateContents();
$package->setReleaseVersion($version_release);
$package->setAPIVersion($version_api);
$package->setReleaseStability($state);
$package->setAPIStability($state);
$package->setNotes($notes);
$package->setSummary($summary);
$package->setDescription($description);
$package->addGlobalReplacement('package-info', '@package_version@', 'version');

if (isset($_GET['make']) || (isset($_SERVER['argv']) && @$_SERVER['argv'][1] == 'make')) {
    $package->writePackageFile();
} else {
    $package->debugPackageFile();
}