Changeset 49 for trunk/package.php

Show
Ignore:
Timestamp:
09/05/06 23:00:01 (2 years ago)
Author:
gerd
Message:

- support for autopackage
- added feature: custom driver

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/package.php

    r47 r49  
    11<?php 
    22/** 
    3  * package.xml generation file for patTemplate 
     3 * package.xml generation file for patSession 
    44 * 
    55 * This file is executed by createSnaps.php to 
     
    2121require_once 'PEAR/PackageFileManager/Svn.php'; 
    2222 
    23 /** 
    24  * current version 
    25  */ 
    26 $version = '2.0.0'; 
    27  
    28 /** 
    29  * Current API version 
    30  */ 
    31 $apiVersion = '2.0.0'; 
    32  
    33 /** 
    34  * current state 
    35  */ 
    36 $state = 'beta'; 
    37  
    38 /** 
    39  * current API stability 
    40  */ 
    41 $apiStability = 'stable'; 
    42  
    43 /** 
    44  * release notes 
    45  */ 
    46 $notes = <<<EOT 
    47 Changes V 2.0.0: 
    48 - migration to PHP 5 
    49 - code cleanup 
    50 - allows id-prefix  
    51  
    52 Changes since v1.1.1: 
    53 - Fixed a reference issue for compatibility with PHP5.1 (argh) 
    54 - Added public functions getContainerId (ticket #109) and getTimer  
    55 - added new examples: Restart, namespace 
    56 - moved internal session values to namespace patSession 
    57 - fixed restart-session-bug 
    58 - fixed: order of initCounter and checkSecurity 
    59 EOT; 
    60  
    61 /** 
    62  * package description 
    63  */ 
    64 $description = <<<EOT 
    65 patSession is a OO-style abstraction to PHP's session features. It adds some more features, like 
    66 session forking or fixation. Drivers that are not based on PHP's built-in session functions 
    67 are possible, but not implemented yet. 
    68 EOT; 
     23include dirname( __FILE__ ) . '/package-config.php'; 
    6924 
    7025$package = new PEAR_PackageFileManager2(); 
    7126 
    72 $result = $package->setOptions(array( 
    73     'packagefile'       => 'package2.xml', 
    74     'license'           => 'LGPL', 
    75     'filelistgenerator' => 'svn', 
    76     'ignore'            => array( 'autopackage.php', 'package.php', 'package.xml', 'package2.xml', 'patsession.webprj', 'patsession.session' ), 
    77     'simpleoutput'      => true, 
    78     'baseinstalldir'    => 'pat', 
    79     'packagedirectory'  => './', 
    80     'dir_roles'         => array( 
    81                                                                  'docs' => 'doc', 
    82                                  'examples' => 'doc', 
    83                                  'tests' => 'test', 
    84                                  ) 
    85         )  
    86     ); 
    87  
     27$result = $package->setOptions( $options ); 
    8828if( PEAR::isError( $result ) ) { 
    8929    echo $result->getMessage(); 
     
    9131} 
    9232 
     33$package->setPackage($name); 
     34$package->setSummary($summary); 
     35$package->setDescription($description); 
    9336 
    94 $package->setPackage( 'patSession' ); 
    95 $package->setSummary( 'Session management abstraction.' ); 
    96 $package->setDescription( $description ); 
     37$package->setChannel($channel); 
     38$package->setAPIVersion($apiVersion); 
     39$package->setReleaseVersion($version); 
     40$package->setReleaseStability($state); 
     41$package->setAPIStability($apiStability); 
     42$package->setNotes($notes); 
     43$package->setPackageType('php'); // this is a PEAR-style php script package 
     44$package->setLicense('LGPL', 'http://www.gnu.org/copyleft/lesser.txt'); 
    9745 
    98 $package->setChannel( 'pear.php-tools.net' ); 
    99 $package->setAPIVersion( $apiVersion ); 
    100 $package->setReleaseVersion( $version ); 
    101 $package->setReleaseStability( $state ); 
    102 $package->setAPIStability( $apiStability ); 
    103 $package->setNotes( $notes ); 
    104 $package->setPackageType( 'php' ); // this is a PEAR-style php script package 
    105 $package->setLicense( 'LGPL', 'http://www.gnu.org/copyleft/lesser.txt' ); 
     46foreach($maintainer as $m) { 
     47    $package->addMaintainer($m['role'], $m['handle'], $m['name'], $m['email'], $m['active']); 
     48
    10649 
    107 $package->addMaintainer('lead', 'gerd', 'gERD Schaufelberger', 'gerd@php-tools.net', 'yes'); 
    108  
    109 $package->setPhpDep( '5.0.1' ); 
    110 $package->setPearinstallerDep( '1.4.0a12' ); 
    111  
    112 $package->addPackageDepWithChannel('required', 'patError', 'pear.php-tools.net', '1.1.0'); 
     50foreach($dependency as $d) { 
     51    $package->addPackageDepWithChannel($d['type'], $d['package'], $d['channel'], $d['version']); 
     52
     53$package->setPhpDep( $require['php'] ); 
     54$package->setPearinstallerDep($require['pear_installer']); 
    11355 
    11456$package->generateContents(); 
    11557 
    116 $pkg = &$package->exportCompatiblePackageFile1(); 
    117  
    118 if( isset( $_GET['make'] ) || ( isset( $_SERVER['argv'][1] ) && $_SERVER['argv'][1] == 'make' ) ) { 
    119     $result = $package->writePackageFile(); 
    120     $pkg->writePackageFile(); 
     58if( isset($_GET['make']) || isset( $_SERVER['argv'][1] ) && $_SERVER['argv'][1] == 'make' ) { 
     59    $package->writePackageFile(); 
    12160} else { 
    122     $result = $package->debugPackageFile(); 
    123     $pkg->debugPackageFile(); 
    124 
    125  
    126 if( PEAR::isError( $result ) ) { 
    127     echo $result->getMessage(); 
    128     die( __LINE__ . "\n" ); 
     61    $package->debugPackageFile(); 
    12962} 
    13063?>